1. 程式人生 > >gentoo安裝apache、nginx、php、mariadb、openssl(https)

gentoo安裝apache、nginx、php、mariadb、openssl(https)

alt 現在 bubuko 都是 ria https協議 圖片 裝系統 cat

本文用於記錄用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)