■ 学習メモ:CentOS WordPressをインストール

CentOS 7 にWordPressをインストールする。
データベースはMysQLでなくMariaDBを使用。


PHPインストール

# yum install php php-mysql php-mbstring php-gd
※php-gd - 画像変換モジュールらしい

PHP動作確認

# php --version

Apacheインストール

# yum install httpd

httpd起動

# systemctl start httpd.service
# systemctl status httpd

httpd自動起動設定

# systemctl enable httpd
# systemctl is-enabled httpd

Apache動作確認

ブラウザで表示してみる
http://localhost/

MariaDBインストール

# yum install mariadb mariadb-server

MariaDB自動起動設定

# systemctl start mariadb
# systemctl enable mariadb

MariaDBのrootパスワードを設定

# mysql -u root

MariaDB [(none)] > update mysql.user set password=password('パスワード') where user='root';
MariaDB [(none)] > flush privileges;
MariaDB [(none)] > exit;

設定したパスワードでMariaDBにログインしWordPress用データベースを作成

# mysql -u root -p

MariaDB [(none)] > create database wordpress;
MariaDB [(none)] > show databases;

WordPress用ユーザー(wpadmin)を作成
MariaDB [(none)] > create user 'wpadmin'@'localhost' identified by 'パスワード';
MariaDB [(none)] > grant all on wordpress.* to 'wpadmin'@'localhost';

WordPressダウンロード

https://ja.wordpress.org/releases/
※最新版は4.9.6

# wget https://ja.wordpress.org/wordpress-4.9.6-ja.tar.gz

/var/www/html/wordpress/へ展開

# mv wordpress-4.9.6-ja.tar.gz /var/www/html/
# cd /var/www/html/
# tar zxvf wordpress-4.9.6-ja.tar.gz

所有権変更
# chown -R apache wordpress

apache仮想ディレクトリ追加

http://localhost/wordpress/ でアクセスできるようにしたい。
/etc/httpd/conf/httpd.conf を編集し <IfModule alias_module> の箇所に設定を追加
Alias /wordpress/ /var/ww/html/wordpress/
※Apache再起動は不要? 再起動しなくても反映された

WordPress初期設定

http://localhost/wordpress/ へアクセス
データベース名: wordpress ※既定値のまま
ユーザー名: wpadmin
パスワード: 設定したパスワード
データベースのホスト名: localhost ※既定値のまま
テーブル接頭語: wp_ ※既定値のまま

[送信]をクリック
→ wp_config.phpに書き込めない、とのメッセージ
また、通知バーにSELinuxのメッセージが表示された。
SELinuxは問題を検出しました。
原因プロセス: /ser/sbin/httpd
試行したアクセス: write
対象directory: wordpress

セキュリティ設定(1)

他サイトを参考にSELinuxの設定を行う
SELinux設定確認
# getsebool -a | grep http

WEBサービス経由でDBにアクセスできるようにする (今回の書き込み出来ないとは別件と思われるが念のため実施)
# setsebool -P httpd_can_network_connect_db 1
# setsebool -P httpd_can_network_connect=on

semanageを導入
# yum provides */semanage
# yum install policycoreutils-python

アクセス許可設定
# semanage fcontext -a -t httpd_sys_content_t "/var/www/html/wordpress(/.*)?"
# restorecon -R -v /var/www/html/wordpress

# semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/wordpress/wp-content(/.*)?"
# restorecon -R -v /var/www/html/wordpress/wp-content
# setsebool -P allow_ftpd_full_access 1

しかし現象変わらず

セキュリティ設定(2)

ダメなので以下設定をしてみる。(参考)

# chmod 777 /var/www/html/wordpress
# chown -R test:apache /var/www/html/wordpress/
# chmod -R 777 /var/www/html/wordpress/wp-content

しかし現象変わらず

セキュリティ設定(3)

さらに以下設定をしてみる。 (参考)

chcon -R -t httpd_sys_content_t /var/www/html/wordpress
chcon -R -t httpd_sys_rw_content_t /var/www/html/wordpress

これで設定が登録できるようになった。


CentOS 7, WordPress

0 件のコメント:

その他の記事