gentoo安裝apache、nginx、php、mariadb、openssl(https)
本文用於記錄用gentoo安裝apache、nginx、php、mariadb、openssl(https),之前安裝花費了幾天時間,現記錄以供以後查閱,歡迎指點。
由於安裝的時候沒有做筆記,現在的都是回想,可能有疏漏和錯誤之處,請海涵,同時也歡迎指出錯誤;同樣的,我不是專業人員,它不適合生產環境。
ssl證書是在https://freessl.org/免費申請的,你可以得到2個文件,證書full_chain.pem和私鑰private.key;註意要用域名不要用ip去申請,你可以修改你的/etc/hosts模擬域名的效果
請註意文件和目錄的訪問權限,比如你的用戶有沒有訪問網站目錄的權限,有沒有訪問證書的權限,如果你的配置文件是復制粘貼的你還要查看文件權限是否變動
1. 安裝
gentoo是在vmware上安裝的,內核版本為4.14.63(現已升級為4.14.65),gcc為7.3.0,glibc為2.26-r7,這些軟件都是當時的gentoo倉庫最新穩定版。
apache:2.4.34-r2
nginx:1.14.0-r3
php:7.2.10
mariadb:10.1.34
openssl:1.0.2p
下面貼出相關安裝軟件配置,其中openssl是安裝系統就已經存在了。
先更新軟件倉庫,然後emerge -avu apache nginx php mariadb openssl
2. 配置
所有的編輯請自行先備份
配置apache
編輯 /etc/apache2/httpd.conf
增加ServerName 選項,否則啟動apache會有警告
修改運行用戶和組,我專門創建了www用戶用來運行網站;註意:如果你的用戶ID等於大於1000,可能會出現在系統登錄界面,哪怕你設置了禁止登錄的nologin,增加用戶的時候我不想看到它的家目錄,所以指定參數不自動創建家目錄
讓apache支持php,如果你需要apache支持php,php會被apache啟動,無需自己啟動
在最下方增加
編輯 /etc/apache2/vhosts.d/00_default_vhost.conf 配置基本的http協議
修改監聽端口為你想監聽的,註意不要和nginx沖突了
編輯 /etc/apache2/vhosts.d/00_default_ssl_vhost.conf 配置https協議
修改監聽端口為你需要的數,同樣的不要和其它軟件有沖突
修改SSLCertificateFile為你的證書文件
修改SSLCertificateKeyFile為你的私鑰文件
修改SSLCertificateChainFile為你的證書文件
修改Directory指向你的web路徑並做相應的配置
編輯 /etc/apache2/vhosts.d/default_vhost.include 這是上面兩個文件的頭文件
設置好相關路徑為你的路徑,缺省訪問文件名等
配置nginx
編輯 /etc/nginx/nginx.conf
修改運行用戶和線程數為你的數據
修改默認文件,監聽端口,服務器名,根目錄,php處理,ssl設置(註意裏面的證書配置)
nginx需要手動啟動fpm-php,因為fpm-php沒有 systemctl 啟動方式,這裏創建一個 /etc/systemd/system/php-fpm.service ,這樣你就可以systemctl start fpm-php啟動了,註意你的fpm-php的路徑是否正確
配置php
修改php-fpm.conf 設置好socket和運行用戶
修改www.conf,設置好運行用戶
配置mariadb
mariadb我只修改了數據庫地址,你可以使用原有的路徑,之後運行emerge --config mariadb生成數據庫
配置openssl
openssl我沒有配置任何東西,只是在freessl申請了免費證書,當然它是有時間限制的
gentoo安裝apache、nginx、php、mariadb、openssl(https)