本文用於記錄用gentoo安裝apache、nginx、php、mariadb、openssl(https),以前安裝花費了幾天時間,現記錄以供之後查閱,歡迎指點。php
因爲安裝的時候沒有作筆記,如今的都是回想,可能有疏漏和錯誤之處,請海涵,同時也歡迎指出錯誤;一樣的,我不是專業人員,它不適合生產環境。nginx
ssl證書是在https://freessl.org/免費申請的,你能夠獲得2個文件,證書full_chain.pem和私鑰private.key;注意要用域名不要用ip去申請,你能夠修改你的/etc/hosts模擬域名的效果web
請注意文件和目錄的訪問權限,好比你的用戶有沒有訪問網站目錄的權限,有沒有訪問證書的權限,若是你的配置文件是複製粘貼的你還要查看文件權限是否變更數據庫
這裏安裝兩個web服務器只是爲了選其一,固然你能夠啓動2個web運行,只要你處理好了衝突便可;你也能夠用nginx處理靜態,apache處理動態。apache
gentoo是在vmware上安裝的,內核版本爲4.14.63(現已升級爲4.14.65),gcc爲7.3.0,glibc爲2.26-r7,這些軟件都是當時的gentoo倉庫最新穩定版。服務器
apache:2.4.34-r2socket
nginx:1.14.0-r3php-fpm
php:7.2.10網站
mariadb:10.1.34spa
openssl:1.0.2p
下面貼出相關安裝軟件配置,其中openssl是安裝系統就已經存在了。
先更新軟件倉庫,而後emerge -avu apache nginx php mariadb openssl
全部的編輯請自行先備份
編輯 /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 這是上面兩個文件的頭文件
設置好相關路徑爲你的路徑,缺省訪問文件名等
編輯 /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-fpm.conf 設置好socket和運行用戶
修改www.conf,設置好運行用戶
mariadb我只修改了數據庫地址,你可使用原有的路徑,以後運行emerge --config mariadb生成數據庫
openssl我沒有配置任何東西,只是在freessl申請了免費證書,固然它是有時間限制的