Manjaro 安裝 Apache、Mysql、PHP 環境,也同樣沒有 Ubuntu 省心,Ubuntu 基本上通過 apt install 後就能滿足基本的使用了,無需做什麼設定,而 Manjaro 卻不行,安裝 Mysql 的過程沒有設定 root 使用者名和密碼靜悄悄的,安裝完後卻一直開不起來服務,找了許多地方最後在 Manjaro 官方論壇找到教程,最後 PHP 安裝後,本地安裝 WordPress 死活第二步 500 錯誤,最後看了 Apache 錯誤日志才知道原來 Mysql_connect() 錯誤,比較蛋疼。
安裝軟體前 update
sudo pacman -Syu
安裝 Apache
sudo pacman -S apache
#Apache配置檔案位置
/etc/httpd/conf/httpd.conf
#http 服務檔案夾
/srv/http/
#檢視 Apache 狀态和版本資訊
sudo systemctl status httpd
apachectl -v 或 httpd -v
#設定開機啟動和重新開機 Apache 服務
sudo systemctl enable httpd
sudo systemctl restart httpd
#如果 Apache 啟動提示 Could not reliably determine the server’s fully qualified domain name 錯誤
在 Apache 配置檔案 /etc/httpd/conf/httpd.conf 裡修改或加入一行
ServerName localhost:80
然後重新開機 Apache
安裝 Mysql
sudo pacman -S mysql
#初始化MariaDB資料目錄,沒有這步 mysql 就不能用
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
#檢視mysql狀态
sudo systemctl status mysqld
#開機啟動mysql服務
sudo systemctl enable mysqld
sudo systemctl start mysqld
#設定mysql root使用者密碼
sudo mysql_secure_installation
#預設密碼是空的,回車後設定root使用者密碼,後面就回車回車
安裝 PHP
sudo pacman -S php php-apache
#修改apache配置
sudo nano /etc/httpd/conf/httpd.conf
#注釋掉
LoadModule mpm_event_module modules/mod_mpm_event.so
#去掉下一行的注釋
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
#在配置檔案最後面添加
LoadModule php7_module modules/libphp7.so
AddHandler php7-script php
Include conf/extra/php7_module.conf
#重新開機apache
sudo systemctl restart httpd
以上設定來自 forum.manjaro.org 裡面還有 PhpMyAdmin 的安裝,我就沒裝了。
安裝 WordPress 填完資料庫資訊後下一步 500 錯誤問題
搭配了環境後當然要安裝 WordPress 可在第一步填寫了資料庫資訊後點下一步死活 500 錯誤,一直以為是檔案夾權限的問題,折騰了許久還是沒有效果,也修改了 apache 配置檔案裡的 AllowOverride 和 Require all,也是沒用,不過在看 apache 配置檔案的時候看到日志檔案位置 /var/log/httpd/error_log,打開 apache 錯誤日志一看,一溜的提示都是 PHP Fatal error: Uncaught Error: Call to undefined function mysql_connect(),原來是這麼個鬼。
于是找到 php.ini 檔案,把和資料庫有關的 extension 前面的分号 ; 全部删除,儲存後重新開機 apache 服務,500 錯誤問題立馬解決。