Linux Ubuntu Apache上的管理配置筆記



安裝apache2
sudo apt install apache2 或
sudo apt-get install apache2

預設所有Apache設定檔都在此處
/etc/apache2/

apache2執行檔案路徑預設在
/etc/init.d/

主要的設定檔
/etc/apache2/apache2.conf
可以修改以更改 Apache 全局設定,且該檔案負責加載設定目錄中的許多其他檔案。如果用 cat 開啟它,會發現有 /etc/apache2 的架構圖及相關說明在裏頭。
變更完.conf設定檔案都要做重新啟動變動才會生效
較新版Linux會用systemd作為預設系統服務管理,而較舊版的則是以sysvinit為主。

重啟apache2
Sysvinit指令:sudo service apache2 restart
Systemd指令:
sudo systemctl restart apache2
sudo systemctl restart apache2.service

重新載入apache2
Sysvinit指令:sudo service apache2 reload
Systemd指令:
sudo systemctl reload apache2
sudo systemctl reload apache2.service

停止apache2
Sysvinit指令:sudo service apache2 stop
Systemd指令:sudo systemctl stop apache2

Sysvinit指令:sudo service apache2 status
Systemd指令:sudo systemctl status apache2

指定Apache 將監聽的通訊埠設定檔
/etc/apache2/ports.conf
預設情況下,Apache 監聽通訊埠 80,當啟用提供 SSL 功能的模組時,Apache 監聽通訊埠 443。

儲存每個站點的虛擬主機目錄設定檔
/etc/apache2/sites-available
預設的網站是調用其中的 000-default.conf 設定檔。Apache不會使用在此目錄中找到的設定檔案,除非它們連結到啟用的站點目錄,通常所有服務器區塊設定都在此目錄中完成,它是透過使用 a2ensite 命令連接到另一個目錄來啟用(反過來說,a2dissite 命令是用來禁用)。

Apache 預設啟動了一個虛擬主機。所有域名都指向伺服器 IP 地址,匹配了預設的虛擬主機。如果只託管一個簡單的網站,只需要將網站內容上傳到/var/www/html,並且編輯虛擬主機配置,/etc/apache2/sites-enabled/000-default.conf檔案。
Apache虛擬主機配置檔案儲存在/etc/apache2/sites-available目錄。標準命名是使用域名來命名配置檔案。
使用 a2ensite來啟用兩個虛擬主機文件指令:
sudo a2ensite test1.ui-code.com
sudo a2ensite test2.ui-code.com

測試配置語法是否有錯誤指令:
apachectl configtest

/etc/apache2/sites-enabled/
sites-enabled中有用 a2ensite 指令啟用過的虛擬主機設定檔,此目錄中會有連回到 sites-available 目錄中設定檔的連結,來讓 Apache 知道有哪些設定檔是有啟用。

如果apache上配置了多個虛擬主機,每個虛擬主機的配置文件都放在sites-available下,這裡面才是真正的配置文件,而sites-enabled目錄存放的只是一些指向這裡的文件的符號鏈接。

對於虛擬主機的停用、啟用就非常方便了:當在sites-enabled下建立一個指向某個虛擬主機配置文件的鏈接時,就啟用了它;如果要關閉某個虛擬主機的話,只需刪除相應的鏈接即可,根本不用去改配置文件。

調整UFW防火牆設定以允許Apache進行遠端連線
以指令查看ufw application profile
sudo ufw app list
檢查當前的防火牆狀態
sudo ufw status
允許讓apache能用HTTP和HTTPS存取
sudo ufw allow in "Apache Full"
Apache 監聽了埠80(HTTP)和443(HTTPS)。需要在防火牆開啟這些port,以便網站伺服器於網際網路上是可以被訪問的。

啟用特定apache模組
sudo a2enmod 模組名稱

例如:
啟用ssl模組
sudo a2enmod ssl
啟用重新導向模組
sudo a2enmod rewrite


Ref:
https://kerker.website/apache-https%E5%95%9F%E7%94%A8%E5%8F%8A%E5%AE%89%E5%85%A8%E6%80%A7%E8%A8%AD%E5%AE%9Aubuntu/
https://www.chirue.com/ubuntu-wordpress-web/
https://ithelp.ithome.com.tw/articles/10205835
https://ithelp.ithome.com.tw/articles/10161375
https://ui-code.com/archives/271
https://weijutu.github.io/2018/06/28/web/ubuntu-apache-web/
https://mnya.tw/cc/word/1695.html
https://mnya.tw/cc/word/1696.html
https://blog.desdelinux.net/zh-TW/systemd-versus-sysvinit-systemd-shim/
https://www.configserverfirewall.com/ubuntu-linux/restart-apache-ubuntu-18/
https://www.gushiciku.cn/pl/pAcE/zh-tw
https://rommelhong.medium.com/ubuntu-18-04-lts-apache-mysql-php-lamp-%E5%AE%89%E8%A3%9D%E8%A8%AD%E5%AE%9A-c46e6f54f254

留言

這個網誌中的熱門文章

何謂淨重(Net Weight)、皮重(Tare Weight)與毛重(Gross Weight)

Architecture(架構) 和 Framework(框架) 有何不同?_軟體設計前的事前規劃的藍圖概念

經得起原始碼資安弱點掃描的程式設計習慣培養(五)_Missing HSTS Header