ubuntu伺服器網站搭建

jeanhua發表於2024-07-20

一、安裝apache2

sudo apt-get update
sudo apt-get install apache2

然後在位址列輸入公網IP看是否能訪問到如下頁面

image

此時網站的頁面在/var/www/html/目錄下,修改即可

二、配置多網站

如果想要一個伺服器配置多個網站比如 jeanhua.cn 和 blog.jeanhua.cn(透過主機頭來區分)

在Apache的配置目錄中(通常是/etc/apache2/sites-available),為每個網站建立一個新的配置檔案。

對於blog.jeanhua.cn:

sudo nano /etc/apache2/sites-available/blog.jeanhua.cn.conf

新增以下內容:

<VirtualHost *:80>
    ServerAdmin **@qq.com # 這裡是你的郵箱
    ServerName blog.jeanhua.cn # 域名
    ServerAlias www.blog.jeanhua.cn # 別名
    DocumentRoot /var/www/blog # 網頁根目錄

    <Directory /var/www/blog>
        Options Indexes FollowSymLinks #這裡建議把 Indexes 去掉,避免網頁目錄結構暴露
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

對於jeanhua.cn:

sudo nano /etc/apache2/sites-available/jeanhua.cn.conf

新增以下內容:

<VirtualHost *:80>
    ServerAdmin # 這裡填郵箱
    ServerName jeanhua.cn # 域名
    ServerAlias www.jeanhua.cn # 別名
    DocumentRoot /var/www/html # 網頁根目錄

    <Directory /var/www/html>
        Options Indexes FollowSymLinks #這裡建議把 Indexes 去掉,避免網頁目錄結構暴露
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

接下來啟用配置

sudo a2ensite blog.jeanhua.cn.conf
sudo a2ensite jeanhua.cn.conf

注意:如果你的伺服器上已經有一個預設的虛擬主機配置(通常名為000-default.conf),並且你不想使用它,你可以透過執行下面的命令來禁用它

sudo a2dissite 000-default.conf

最後,過載Apache配置以應用更改:

sudo systemctl reload apache2

三、配置https

正常情況下到上面已經結束了,但是我們訪問時瀏覽器經常提示頁面不安全,於是我們要配置https,同時提升網站安全性。

1.安裝 Certbot

Certbot 是一個自動化的證書頒發和管理工具,可以用來獲取 Let’s Encrypt 的證書。

sudo apt-get update
sudo apt-get install certbot python3-certbot-apache

2.獲取 SSL 證書

使用 Certbot 獲取 SSL 證書,同時自動修改 Apache 配置檔案以啟用 HTTPS。

對於 blog.jeanhua.cn:

sudo certbot --apache -d blog.jeanhua.cn -d www.blog.jeanhua.cn

對於 jeanhua.cn:

sudo certbot --apache -d jeanhua.cn -d www.jeanhua.cn

在過程中,Certbot 可能會詢問你一些問題,比如你的電子郵件地址和是否需要自動重定向 HTTP 流量到 HTTPS,請輸入你的郵箱並稍後前往郵箱點選連結驗證

3.檢查 Apache 配置

Certbot 應該已經自動修改了 Apache 的配置檔案,為每個域名新增了 HTTPS 虛擬主機配置。你可以透過以下命令來檢查配置檔案:

sudo nano /etc/apache2/sites-available/blog.jeanhua.cn-le-ssl.conf
sudo nano /etc/apache2/sites-available/jeanhua.cn-le-ssl.conf

4.啟用 SSL 虛擬主機

如果 Certbot 沒有自動啟用新的 SSL 虛擬主機配置檔案,你可以手動啟用它們:

sudo a2ensite blog.jeanhua.cn-le-ssl.conf
sudo a2ensite jeanhua.cn-le-ssl.conf

5.重啟 Apache

sudo systemctl restart apache2

大功告成,現在訪問你的頁面應該可以看到是https安全的了

相關文章