一、安裝apache2
sudo apt-get update
sudo apt-get install apache2
然後在位址列輸入公網IP看是否能訪問到如下頁面
此時網站的頁面在/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安全的了