RedHatLinux9.1にWordPressを立ててみる

スポンサーリンク
050-VBA

CentOSでWordPressをなんとか立てる事はできたのですが・・・

セキュリティを考えると最新のRedHatLinuxが良いかもという話になり、手戻りでげんなりな管理人です。

ということで、なんとかRedHatLinuxでWordPressを立ち上げる事にトライしたので、忘備録として掲載ます。

VMwarePlayerにRedHatLinuxを立ち上げる

まずは、仮想環境でテストです。

RedHatLinuxの公式HPからアカウントを適当に登録して、試用版をダウンロードしてください。

あとは、適当に仮想環境にインストールします。

VMwarePlayerにOSをインストールする方法はこちら

RedHatLinuxをアップデート

まずは、RedHatLinuxをアップデートします。

その前に試用版では、サブスクリプション登録が必要になりますので・・・

試用版のダウンロードで登録したアカウントで登録します。

subscription-manager register --username (アカウント) --password (パスワード)
yum -y update

次に、SSHで接続できることを確認します。

teratermとwinscpdで確認します。

teratermのダウンロードはこちら

winscpのダウンロードはこちら

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:無効。検知も拒絶もしない

ブログ開設に必要なドメイン取得、サーバーレンタル、ASPの登録等は、こちらのサイトから!

コメント

タイトルとURLをコピーしました