CentOS 7 上架設 WordPress
網上已有非常豐富的 WordPress 架設教學,本篇稍微不同的是用 MariaDB 取代原先的 MySQL。
MariaDB
安裝 MariaDB
1 | yum -y install mariadb-server mariadb |
開啟 MariaDB 且設定開機啟動
1 | systemctl start mariadb.service |
MariaDB 基本設定
1 | mysql_secure_installation |
登入 MariaDB
1 | mysql -u root -p |
建立 wp 資料庫
1 | CREATE DATABASE wp; |
建立使用者 wpuser
1 | CREATE USER wpuser@localhost; |
設定密碼
1 | SET PASSWORD FOR wpuser@localhost= PASSWORD(' 密碼 '); |
wpuser 具有 wp 資料庫的完整權限
1 | GRANT ALL PRIVILEGES ON wp.* TO wpuser@localhost IDENTIFIED BY 'password'; |
Apache HTTPd
安裝 Apache HTTPd
1 | yum -y install httpd |
開啟 Apache 且設為開機啟動
1 | systemctl start httpd.service |
防火牆打開 http 和 https 的 port
1 | firewall-cmd --permanent --zone=public --add-service=http |
此時可以試試看http://ip
,看到 Apache 預設畫面表示成功。
PHP
安裝 PHP
1 | yum -y install php |
重啟 Apache
1 | systemctl restart httpd.service |
寫一支 info 來看看 PHP 的狀況
1 | vi /var/www/html/info.php |
檔案內容如下
1 | <?php |
試試看http://ip/info.php
,看到畫面表示成功,從頁面上可以看到,並未安裝 MySQL 模組。
安裝 php 的 mysql 模組(mysql 模組跟 mariadb 相容)
1 | yum -y install php-mysql |
重啟 Apache
1 | systemctl restart httpd.service |
phpMyAdmin
安裝
1 | yum install phpMyAdmin |
編輯 phpMyAdmin 設定
1 | vi /etc/httpd/conf.d/phpMyAdmin.conf |
把設定改成以下
1 | [...] |
修改 phpMyAdmin 認證方式
1 | vi /etc/phpMyAdmin/config.inc.php |
將原本的 $cfg['Servers'][$i]['auth_type']='cookie';
改成$cfg['Servers'][$i]['auth_type']='http';
。
重啟 Apache
1 | systemctl restart httpd.service |
進入 http://ip/phpmyadmin
輸入帳號密碼,看到畫面表示成功,進入 wp 資料庫,把編碼改為utf8_unicode_ci
。
WordPress
下載及安裝
1 | cd /var/www/html |
設定擁有者與權限並重啟 Apache
1 | chown -R apache:apache /var/www/html/WordPress |
試試看 http://ip/WordPress
能否連入,如果可以就能開始設定你的 WordPress 了!
如果無法從網站寫入 wp_config.php,可以手動寫入
1 | cd /var/www/html/WordPress/ |
設定如下
1 | // ** MySQL settings - You can get this info from your web host ** // |
WordPress 安裝完後,可以將 phpMyAdmin.conf
改回預設值,這樣非本機就不能登入 phpMyAdmin,以提升安全性。
將 WordPress 資料夾給 Apache,並賦予權限
1 | chrown apache:apache /your/WordPress/folder/ |
若發生not found 404
,可參考Where to set AllowOverride All for .htacess?,應該是 Apache 沒有打開 override 功能。
其他安全相關設定,可參考 9 個提升 WordPress 網站安全性的方法 跟11 個強化 WordPress 網站安全的 .Htaccess 設定技巧。