とりあえずCentOS7にWEBサーバー構築する
んでMariaDBは別サーバーにして、負荷を分散!って構造
ServerWEB1[Apache+PHP]
|
ローカルネットワークーク ー ServerSQL[MariaDB Slave]
|
ServerSQL[MariaDB Master]
っていう構造でいく
ロードバランサーは見送りです(そんなに負担かからないだろうし24コアまで1分ぐらいで拡張できるから)
やったこと
ConohaでServerWEB1のサーバー作成
SSHでログイン
yum install httpd firewall-cmd --add-port=80/tcp --zone=public --permanent firewall-cmd --add-port=443/tcp --zone=public --permanent yum -y install php systemctl start httpd.service systemctl enable httpd.service
んでWordpressを
DocumentRoot “/var/www/html”
にコピー
すると
お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。
だと
yum -y install php-mysql
入れて
vi /etc/php.ini
に行って
extension=mysql.soの追加
systemctl restart httpd.service
で再起動したら動いてるはず
ここでMySQL(Maria)のサーバーのインストール!
MariaDB
yum -y install mariadb mariadb-server
systemctl enable mariadb.service
systemctl start mariadb.service
firewall-cmd --add-port=3306/tcp --zone=public --permanent
mysql_secure_installation
でセキュリティ設定
とりあえずLocalからのみだけどそれだとアクセスできないから
mysql -u root -p
でSQLのコマンドの画面に入って
grant all privileges on *.* to name@'%' identified by 'password' with grant option
でAdminユーザー作った。これでWordpressログインします
なんやかんやでそのままduplicatorのinstall.phpで復元もすんなり出来た(フォルダのアクセス権を777にする必要はあったけど)
その後Wordpressのトップページ動いたーってなったけど他のページ行くとNot Foundと言われる。
でパーマリンクをデフォルトに戻すと表示される
実はhttpd.confの設定に不備があった。
<Directory “/var/www/html”> ~ </Directory>の中でAllowOverrideがNoneのままだった。
このため、.htaccessの設定が無効になっていたのだ。
そこで以下のように変更したら正常に表示されるようになった。
AllowOverride None
↓
AllowOverride All
<Directory “path/to/your/document/root”>
# ….
AllowOverride None
# ….
</Directory>
パーマリンクもできたしWordpress動いたーってなったけどプラグインの有効ページに行くと何故か真っ白になる
デバッグモード有効にすると
PHP Fatal error: Call to undefined function mb_convert_kana() in …
だって
解決方法
yum -y install php-mbstring
さらにjetPackを使うとエラー
Fatal error: Class ‘DOMDocument’ not found in
yum -y install php-xml
でOK
なんか調子悪そうならデバッグモード有効にすると原因がわかる
wp-config.php
に
define(‘WP_DEBUG’, true);を追加すると良い
工事完了です!