从一台Debian服务器初步搭建Hugo静态网页

  • 服务器SSH连接

  • 更新系统

    1
    apt-get update && apt-get upgrade -y 
  • 为了操作的安全,创建一个新的具有sudo的权限的用户

    1
    2
    3
    4
    5
    root@VM663:~# adduser mytestuser
    password:密码自定
    其他连按回车填入默认信息

    完成后输入usermod -aG sudo mytestuser
  • 登入新账户

    1
    su - mytestuser 
  • 安装相关工具

    1
    2
    3
    sudo apt-get install vim git zip unzip python-pip
    sudo pip install Pygments
    可能需要输入你的密码
  • 安装Apache并开启

    1
    2
    3
    sudo apt-get install apache2 
    systemctl status apache2(ACTIVE显示正在运行)
    使用自己服务器的IP查看是否显示APACHE界面
  • 安装Hugo

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    cd /usr/local/bin

    sudo apt-get install https://github.com/gohugoio/hugo/releases/download/v0.64.1/hugo_0.64.1_Linux-64bit.tar.gz

    sudo unzip hugo_0.64.1_Linux-64bit.tar.gz

    hugo version 查看是否已经安装hugo,显示对应版本号应该就没问题了
    ```bash

    * ### *去找自己喜欢的主题,不赘述了*
    ```bash
    git clone 自己喜欢的主题
    unzip ... etc
    ```bash

    * ### *应用自己的主题*
    * 先在hugo创建自己的网站

    ```bash
    sudo hugo new site **YOUR DOMAIN NAME**
    • 建立一个md文件,hugo可以自动将其转换为对应的HTML
    1
    sudo hugo new posts/first-post.md
    • 拷贝自己的主题的文件夹到网站下的themes目录下
    1
    sudo cp **YOUR THEME NAME**/ **YOUR DOMAIN NAME**/themes -r
    • 进入对应的hugo网站的目录进行设置
    1
    2
    3
    4
    5
    6
    7
    cd **YOUR DOMAIN NAME**
    sudo cp themes/**YOUR THEME NAME**/exampleSite/* . -r
    sudo vim config.yaml #修改对应的配置文件(结尾不一定是yaml)
    要修改自己的baseURL为自己主机的IP
    baseURL: "http://Your IP/"
    Yaml文件中有些主题的对应文字可能缺失,如果发现无这一行,加上去:
    theme: "**YOUR THEME NAME**" #对应的主题的文件夹名字
    • 修改完毕后测试
    1
    sudo hugo server --bind=0.0.0.0 --baseUrl=http://Your IP/ -D -F
    • 在浏览器输入自己的IP:1313查看是否能显示,可以的话继续
    1
    sudo hugo
    • 只显示以下基本上无问题,一般warning很少
    1
    2
    3
    4
    5
    6
    7
    8
    Pages            | 29  
    Paginator pages | 0
    Non-page files | 0
    Static files | 74
    Processed images | 0
    Aliases | 9
    Sitemaps | 1
    Cleaned | 0
  • 关联主机与域名,配置Apache2,发布网站

    • 自己通过主机服务商弄好解析,准备好Apache2的HTTPS两个证书(.crt)和一个密钥(.pem),放在/etc/ssl的对应文件夹里

    • 移动hugo网站文件夹到/var/www/html下

    1
    2
    3
    cd /var/www/html
    sudo mkdir oxox1.online
    sudo cp -r /usr/local/bin/**YOUR DOMAIN NAME**/* ./oxox1.online
    • 设置Apache2
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    sudo a2enmod ssl
    sudo a2enmod rewrite
    sudo systemctl restart apache2
    sudo vim /etc/apache2/apache2.conf

    在里面加入【ServerName localhost】

    退出vim

    sudo systemctl reload apache2

    sudo vim /etc/apache2/sites-enabled/000-default.conf

    修改里面的字段,配置域名和对应文件夹和HTTPS,保存退出

    sudo vim .htaccess
    加入字段
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

    sudo apache2ctl configtest

    OKAY表示通过

    sudo systemctl reload apache2