CentOSでWordPressをなんとか立てる事はできたのですが・・・
セキュリティを考えると最新のRedHatLinuxが良いかもという話になり、手戻りでげんなりな管理人です。
ということで、なんとかRedHatLinuxでWordPressを立ち上げる事にトライしたので、忘備録として掲載ます。
VMwarePlayerにRedHatLinuxを立ち上げる
まずは、仮想環境でテストです。
RedHatLinuxの公式HPからアカウントを適当に登録して、試用版をダウンロードしてください。
あとは、適当に仮想環境にインストールします。
VMwarePlayerにOSをインストールする方法はこちら
RedHatLinuxをアップデート
まずは、RedHatLinuxをアップデートします。
その前に試用版では、サブスクリプション登録が必要になりますので・・・
試用版のダウンロードで登録したアカウントで登録します。
subscription-manager register --username (アカウント) --password (パスワード)
yum -y update
次に、SSHで接続できることを確認します。
teratermとwinscpdで確認します。
apacheのインストール
次にapacheをインストールします。
yum -y install httpd
FWのポートを空けます
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --add-service=https --permanent
firewall-cmd --zone=public --add-service=smtp --permanent
firewall-cmd --zone=public --add-port=25/tcp --permanent
とりえず、【http】【https】【smtp】を空けます。
上のコマンドでダメな場合は次のコマンドを試してください。
firewall-cmd --permanent --add-port={80/tcp,443/tcp,25/tcp}
FWをリロードします。
firewall-cmd --reload
FWのポートが空いたか確認します。
firewall-cmd --list-all
サービスの起動、自動起動、確認を行います。
systemctl start httpd.service
systemctl enable httpd.service
systemctl status httpd.service
PHPをインストール
次にPHPをインストールします。
最新版を入れるとWordPressとの相性問題が出るのでコナレタPHPを入れます。
まずは、リポジトリを追加します。
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
次にPHPをインストールします。
yum -y install php
yum -y install php-xml
yum -y install php-fpm
yum -y install php-pecl-apcu
yum -y install php-mbstring
yum -y install php-pear
yum -y install php-gd
yum -y install php-common
yum -y install php-pdo
yum -y install php-mysqlnd
yum -y install php-opcache
yum -y install php-pdo
yum -y install php-json
一括インストールの場合はこちら
yum -y install php php-xml php-fpm php-pecl-apcu php-mbstring php-pear php-gd php-common php-pdo php-mysqlnd php-opcache php-pdo php-json
シンボリックリンクを確認します。
まずは、パスを確認します。
which php
php -v
シンボリックリンクが【/usr/bin/php】であればOKです。
異なるバージョンのPHPをインストール場合はシンボリックリンクを作成します。
ln -sf /usr/bin/php** /usr/bin/php '**はバージョン番号
ちなみにシンボリックリンクを削除する場合は次のとおりです。
unlink /usr/bin/php
PHPの設定
PHPを設定します。
【PHP.ini】のパスを確認します。
find / -name php.ini
パスはおそらく次のとおりです。
/etc/php.ini
winscpを使って【php.ini】を編集します。
expose_php = On → expose_php = off
post_max_size = 8M → post_max_size = 20M
upload_max_filesize = 2M → upload_max_filesize = 20M
;date.timezone = → date.timezone = "Asia/Tokyo"
;mbstring.language = Japanese → 有効化
;mbstring.internal_encoding = → mbstring.internal_encoding = UTF-8
;mbstring.http_input = → mbstring.http_input = auto
;mbstring.http_output = → mbstring.http_output = UTF-8
;mbstring.encoding_translation = Off → mbstring.encoding_translation = On
;mbstring.detect_order = auto → 有効化
;mbstring.substitute_character = none → 有効化
apacheを再起動して確認します。
systemctl restart httpd
systemctl status httpd
エラーがでないか確認します。
エラーがでなければOKです。
【info.php】を作成して表示されるか確認します。
winscpで作成します。
/var/www/html/info.php
【info.php】の中身は次のとおりです。
<?php phpinfo(); ?>
ブラウザでアクセスして表示されるか確認します。
http://IPアドレス/info.php
MariaDBをインストールする
次にMariaDBをインストールします。
yum -y install mariadb
yum -y install mariadb-server
サービスの起動、自動起動、確認を行います。
systemctl start mariadb.service
systemctl enable mariadb.service
systemctl status mariadb.service
初期設定を行います。
mariadb-secure-installation
画面から指示されますので、次のとおり入力します。
Enter current password for root (enter for none): 何も入力しない
Switch to unix_socket authentication [Y/n] y
New password: 'パスワードを入力する
Re-enter new password: '確認入力
Remove anonymous users? [Y/n] y '匿名ユーザーのアクセス削除
Disallow root login remotely? [Y/n] y 'rootのリモートアクセス削除
Remove test database and access to it? [Y/n] y 'テストDBの削除
Reload privilege tables now? [Y/n] y '設定の即時適用
which mysqld
サービスを再起動します。
systemctl restart mariadb
WordPressをインストールする
次にワードプレスをインストールします。
var/www/htmlへ移動します。
cd /var/www/html
【wget】をインストールします。
yum -y install wget
【WordPress】をインストールします。
wget https://ja.wordpress.org/latest-ja.tar.gz
解凍します。
tar xvf latest-ja.tar.gz
パーミッションを変更します。
chown -R apache:apache .
【WordPress】のフォルダ名をwinscpで変更します。
/var/www/html/wordpress
/var/www/html/好きな名前
mysplでWordPressのDB作成
DBを作成します。
mysql
create database 好きなDB名 default character set utf8;
DB&WordPressのユーザーを作成します。
GRANT ALL ON 好きなDB名.* TO 好きなユーザー名@localhost IDENTIFIED BY '好きなパスワード';
権限を有効にします。
FLUSH PRIVILEGES;
【mysql】から抜けるには次のとおり入力します。
\q
WordPressの初期設定をする
画面に表示されるとおりWordPressの初期設定を実行します。
次の項目については【mysql】で設定したものを入力します。
データベース名:mysqlで設定したもの
ユーザー名:mysqlで設定したもの
パスワード:mysqlで設定したもの
初期設定画面で【wp-config.php】を作成する様に指示された場合は・・・
winscpでファイルを作成します。
/var/www/html/wordpressフォルダ名/wp-config.php
ファイルの中身は、画面に表示されたものをコピペします。
また・・・コンフィグファイルの【SELINUX】を変更することでも対応できます。
vi /etc/selinux/config
SELINUX=permissive
- Enforcing:検知して拒絶する
- Permissive:検知してログに書き込むが、拒絶まではしない
- Disabled:無効。検知も拒絶もしない
データベース名・ユーザー名・パスワードは、MariaDBで設定したものを入力します。
SELINUXの設定を先にしておけば、上記のアラートはでないはずです。
SELINUXでhttpdからメールを送れる設定が必要な様です。
getsebool httpd_can_sendmail
→ httpd_can_sendmail --> off '送れない
【Off】が表示された場合は次のとおりコマンドを入力し【OK】が表示されるようにする
setsebool -P httpd_can_sendmail 1
getsebool httpd_can_sendmail
→ httpd_can_sendmail --> On '送れる
下の方法は、誤るとカーネルパニックになって起動不可となるので注意すること(非推奨)
WordPressで【予期しないエラーが発生しました。WordPress.org かこのサーバーの設定に何か問題があるかもしれません。】と表示された場合は試してみる。
vi /etc/selinux/config
SELINUX=permissive
- Enforcing:検知して拒絶する
- Permissive:検知してログに書き込むが、拒絶まではしない
- Disabled:無効。検知も拒絶もしない
コメント