見出し画像

AlmaLinux9.1にWordPressのインストールを行う(Apache+MariaDB編)

WordPressはホームページやブログなどで利用されている人気のCMS(コンテンツ・マネージメント・システム)の一種です。
WordPressは無料でダウンロードして利用する事ができます。

今回はAlmaLinuxにWordPressをインストールするまでの手順をまとめました。使用するソフトウェアはすべて無償のものを使用しています。
※注 CUI環境で構築していきます
※注 操作はすべてroot(管理者)で行います

以下の環境で構築していきます
OS:AlmaLinux 9.1 Minimal
Webサーバ:Apache
データベース:MariaDB

WordPressのインストール手順

WEBサーバのApacheをインストールします。
Apacheのインストール後、起動します。
スタートアップへの登録は任意です。

dnf -y install httpd //Apacheのインストール
systemctl start httpd //Apacheの起動
systemctl enable httpd //Apacheのスタートアップ登録

ファイアウォールの設定を行います。
設定でhttp通信を許可してあげます。これをしていないとWordPressのサーバを構築してもアクセスをすることができません。
設定後はファイアウォールの設定をリロードして適用します。

firewall-cmd --add-service=http --zone=public --permanent //HTTP通信の許可
firewall-cmd --reload //ファイアウォールのリロード

PHPと関連モジュールのインストールをします。
php-mysqlndはMariaDBの接続、php-jsonはjson形式のデータを扱う為に必要です。
PHP関連モジュールのインストール後にApacheを再起動します。

dnf -y install php php-mysqlnd php-json //PHP関連のインストール
systemctl restart httpd //Apacheの再起動

MariaDBのインストールを行います。
インストール後に起動します。
スタートアップ登録は任意です。

dnf -y install mariadb-server //MariaDBのインストール
systemctl start mariadb //MariaDBの起動
systemctl enable mariadb //MariaDBのスタートアップ登録(任意)

Apacheのドキュメントルートに移動して、WordPressの日本語最新版をダウンロードします。AlmaLinuxのMinimalの場合はwgetが入っていない為、インストールする必要があります。すでにインストール済みの場合は飛ばしてください。

cd /var/www/html //ドキュメントルートに移動する
dnf -y install wget //wgetがない場合はインストール
wget https://ja.wordpress.org/latest-ja.tar.gz //WordPressの最新版のダウンロード

ダウンロードしたWordPressのファイルを解凍します。ここでもAlmaLinuxのMinimalの場合はtarが入っていない為、インストールする必要があります。すでにインストール済みの場合は飛ばしてください。
解凍後、wordpressのフォルダの所有者、グループをapacheに変更します。

dnf -y install tar //tarがない場合はインストール
tar xvf latest-ja.tar.gz //WordPressのファイルの解凍
chown -R apache:apache wordpress/ //wordpressフォルダの所有者をapacheに変更

MariaDBに接続してデータベースの設定を行います。
wordpress用のデータベースを作成して文字コードにutf8を指定します。
またアクセス許可の設定しパスワードをwordpressに設定しました。
最後の;(セミコロン)を忘れないように注意してください。

mysql //MariaDBにログイン
create database wordpress default character set utf8; //データベースの作成とデフォルト文字コードの設定
grant all on wordpress.* to wordpress@localhost identified by 'wordpress'; //アクセス許可とパスワードの設定
exit //MariaDBの接続を切断

それではサーバにアクセスしてみます。
私の環境ではサーバのIPアドレスは192.168.0.50となっておりますが、それぞれのIPアドレスに置き換えてアクセスしてください。
ちなみにIPアドレスを調べるには以下のコマンドを実行します。

hostname -I

http://192.168.0.50/wordpressにアクセスしたところ
「さあ、始めましょう!」を押して次に進みます。

wordpressの初回アクセス画面

続いてはデータベースの設定を入力しますが、その前に設定が必要です。
WordPressではデータベースの情報をもとにwp-config.phpを作成しようとするのですが、SELinuxによって阻止されるため、以下のどちらかの方法で回避する必要があります。どちらでも構いません。

1.SELinuxを一時的に無効化する
2.SELinuxの設定で、wp-config.phpが書き込めるようにする

1.SELinuxを一時的に無効化する
ちなみに有効化するには最後の0を1にします。

setenfoce 0 //SELinuxを無効化する

2.SELinuxの設定で、wp-config.phpの書き込めるようにする

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

どちらかの対策が終わったら、データベース情報を入力して「送信」を押します。
データベース名:wordpress
ユーザ名:wordpress
パスワード:wordpress
データベースのホスト名:localhost
テーブル接頭辞:wp_

データベース情報の入力

設定がうまくできてない場合はwp-config.phpが作成することができず、以下の画面が表示されます。手動で入力してもよいですが、なにもせずに「インストール実行」すると最初の画面に戻ります。

SELinuxの設定を行っていない場合

wp-config.phpが問題なく作成できた場合以下の画面が表示されます。

wp-config.phpが作成できた場合

あとはページのタイトルやユーザ名を入力すれば完了です。

ワードプレスのページ情報入力画面

ログインすればワードプレスの管理画面が表示されます。
おつかれさまでした。

ワードプレスの管理画面


WordPressのテーマを追加できるようにする

せっかくWordPressのインストールが完了したのですが、そのままの設定ではテーマなどを追加することができません。

外観 > テーマ > 新規追加
と進むと予期しないエラーが発生してテーマを追加することができません。

テーマダウンロードのエラー画面

SELinuxによって、Apacheから外部への接続が制限されているためです。
そのため以下のコマンドを実行することで、外部への接続が可能となり、テーマのダウンロードが可能になります。

setsebool -P httpd_can_network_connect=1

これでテーマの追加ができるようになりました。

テーマのダウンロード画面


WordPressのサイズの大きなファイルをアップロードできるようにする

初期の状態ではアップロードサイズが非常に小さく制限(初期は2Mまで)されているため、テーマや画像をアップロードしようとしてもできない場合がほとんどです。

アップロードサイズは
メディア > 新規追加
で確認することができます。

最大アップロードサイズ

テーマをアップロードしても、2Mを超えていると以下のようなエラー画面が表示される。

テーマのアップロードに失敗した画面

PHPの設定を変更して、最大アップロードサイズを変更してあげると解決します。今回は最大サイズを50Mまで上げます。

vi /etc/php.ini //PHPの設定ファイルを開きます

upload_max_filesize = 2M //855行目付近
post_max_size = 8M //703行目付近

//以下の様に変更します
//これで最大50Mまでアップロード可能になります
upload_max_filesize = 50M
post_max_size = 50M

//変更を保存してphp-fpmをリスタートさせます
systemctl restart php-fpm

Apacheの再起動ではphp.ini設定の再読み込みがかからないので、php-fpmをリスタートさせてください。

最大アップロードサイズが50Mまで引き上がりました。
これでテーマや大きなファイルのアップロードも大丈夫そうです。

最大アップロードサイズの引き上げ

コメント

今回はWordPressのインストールを行いました。
エラーやうまくいかなかったことの回避方法を忘れないように書いていたらだいぶ長くなってしまいました。長文読んでいただき、ありがとうございます。

この記事が気に入ったらサポートをしてみませんか?