CentOS 8 Apache 2.4, PHP7.3 安裝與設定
Apache 2.4 與 PHP7 已經是 CentOS 8 上面的標準配備,但我們要安裝的是更穩定的 PHP7.3,好處有很多,但不是本篇的重點就先略過吧。本文章除了會介紹該怎麼正確的安裝 PHP7.3 與 php-fpm 服務簡易操作,以及符合 SELinux 規則的網站根目錄權限設定方式。
There is another version wrote in English: Install & setup PHP 7.3 & Apache 2.4 on CentOS 8
在 CentOS 安裝 Apache 也是極其簡單~畢竟這是幾乎不會出差錯的軟體XD
你只要記得在 CentOS 中 Apache 被稱為 httpd 就好嚕~
至於站台根目錄(www)的 SELinux 權限設定本文末段會說明。
1 2 3 |
$ sudo dnf install httpd $ sudo systemctl start httpd $ sudo systemctl enable httpd |
記得,為HTTP、HTTPS允許通過防火牆。
1 2 3 |
$ sudo firewall-cmd --zone=public --add-service=http $ sudo firewall-cmd --zone=public --add-service=https $ sudo firewall-cmd --reload |
PHP7.3 對於 EPEL8 以及 CentOS 8 預設的 repository 來說是更新的套件,所以需要再安裝包含新版 PHP7.3 的 repository ,下列步驟是以 Remi-php7.3 作示範。
1 |
$ sudo dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm |
下列指令中的 php73-php 就是 PHP 7.3 主程式,後面則是順手安裝一些常用套件。
1 |
$ sudo dnf install php73-php php73-php-gd php73-php-mbstring php73-php-mysqlnd |
比較特別的是 PHP-FPM 這個程式可以控制諸多與 PHP 相關的參數設定,這會影響到伺服器的記憶體使用量與效能等重要因素,PHP-FPM 是個很重要的東西,但不會在這篇文章中說明。
需要在此提醒各位的是,如果改了 php.ini 的設定,強烈建議重啟 php-fpm 服務比較保險。
1 |
$ sudo systemctl restart php73-php-fpm |
假設網站根目錄是在『/var/www』,那你需要做下列這些設定:
1 2 3 |
[andy@www ~]$ cd /var/www [andy@www /var/www]$ sudo chown -R apache:apache . [andy@www /var/www]$ sudo chcon -R --type=httpd_sys_content_t . |
若你的網站有特殊需求,像是 WordPress 有許多機會需要直接修改網站目錄下的部份檔案內容,勢必要用這種方式的設定來給予寫入的權限:(先假設WP的網站根目錄就是『/var/www』。)
下列是官方給的建議設定
1 2 3 4 |
[andy@www /var/www]$ sudo find . -type f -exec chmod 0644 {} \; [andy@www /var/www]$ sudo find . -type d -exec chmod 0755 {} \; [andy@www /var/www]$ sudo chcon -R --type=httpd_sys_content_t . [andy@www /var/www]$ sudo chcon -R --type=httpd_sys_rw_content_t wp-content/ |
而小弟我建議可以這樣做,你的 WordPress 才能獲得足以升級的權限:
(因為升級WP等於是要覆蓋許多網站的檔案,權限給足才不會噴錯。)
1 |
[andy@www /var/www]$ sudo chcon -R --type=httpd_sys_rw_content_t . |
Pingback:CentOS 8 架站教學彙整 - BrilliantCode.net
請問有samba的教學嗎?
由於較少用到,因此目前沒有寫 samba 設定的規劃喔。
剛才順手找到這篇,推薦給你:https://dotblogs.com.tw/ricochen/2018/01/31/233943