はじめに
VMwareを使用してLAMP環境とWordPress環境を構築している記事があまりなかったので、私が書きます。またLAMPが何か、WordPressとは何かといった解説はしておりません。あくまで構築のみになります。ご注意ください。
※作業は全てroot権限で行っております。
この記事の対象者
・VMware初心者の方
・LAMP、WordPress環境を構築したことがない人
・練習としてLAMP、WordPress環境を構築したい人
構築環境について
特にバージョンを指定したわけではありませんが、一応記述しております。
VMware Workstation Pro
CentOS Stream 9
Apache/2.4.57
MariaDB Server 10.5.22
PHP 8.0.30
VMware
・左上のアクティビティよりターミナルを選択し開きます。

・事前準備としてroot権限になります。またIPアドレスも把握しておきます。
sudo su -
hostname -I

●Apache
・Apacheをインストールします。
# yum -y install httpd
# httpd -v
・Apacheを起動し、自動起動設定を行います
事前に systemctl status httpd
を行うとより理解が深まります。
# systemctl start httpd
# systemctl enable httpd
・Apacheが起動していることを確認します。
# systemctl status httpd
・.htaccessファイルの設定が有効になるように内容を変更します。
※今回は行っておりませんが、confファイルを操作する場合はなるべくコピーを取った方が安全です。
# vi /etc/httpd/conf/httpd.conf
【Directory "/var/www/html"】内の
AllowOverride none
↓
AllowOverride All
に変更します。
・次にファイアウォールでhttp通信を許可後、永続化します。
# firewall-cmd --permanent --add-service=http
success
# firewall-cmd --reload
success
ファイアウォールで許可されているか確認します。
# firewall-cmd --list-service
cockpit dhcpv6-client http ssh
・この時点で自身のIPアドレスを叩くとApacheの画面が表示されるはずです。

●MariaDB
今回WordPress用で使用する内容は下記のものとします。
項目 | 内容 |
---|---|
DB名 | wordpress |
ユーザ名 | user |
パスワード | pass |
・インストール
# yum -y install mariadb-server mariadb
・Apache同様、MariaDBサーバーを起動し、自動起動を有効化します
# systemctl start mariadb
# systemctl enable mariadb
・セキュリティ強化のための初期設定を行います。
# mysql_secure_installation
●聞かれる項目
・Enter current password for root (enter for none):
・Switch to unix_socket authentication [Y/n]
・Change the root password? [Y/n]
・Remove anonymous users? [Y/n]
・Disallow root login remotely? [Y/n]
・Remove test database and access to it? [Y/n]
・Reload privilege tables now? [Y/n]
・MariaDBに接続します。
# mysql -u root -p
・接続後、上記で定義しているWordPress用のDBとユーザを作成します。
mysql> CREATE database wordpress;
mysql> GRANT ALL PRIVILEGES ON wordpress.* TO "user"@"localhost" IDENTIFIED BY "pass";
権限情報を更新し、終了します。
mysql> FLUSH PRIVILEGES;
mysql> exit;
●PHP
パッケージをダウンロードします。
# yum install php php-devel php-mysqlnd php-mbstring php-pdo php-gd
●パッケージ説明
php: PHPの実行環境を提供
php-devel: PHP拡張の開発に必要なツールを提供
php-mysqlnd: MySQLデータベース接続用の拡張機能
php-mbstring: マルチバイト文字列操作用の拡張機能
php-pdo: データベース接続用の抽象化インターフェース
php-gd: 画像処理用のGDライブラリ拡張
・バージョン確認により、インストールを確認できます。
# php -v
・ダウンロード後に一度Apache再起動します。
# systemctl restart httpd
・Apacheのドキュメントルート配下にphpファイルを記載して動作確認を行います。
# vim /var/www/html/test.php
<?php
echo phpinfo();
?>
自分のIPアドレス/test.php
でURLを叩くとPHPのページが表示されます。

●WordPress
・WordPressをtmpフォルダにダウンロードし、解凍
# cd /tmp
# wget https://ja.wordpress.org/latest-ja.tar.gz
# tar -xzvf latest-ja.tar.gz
・解凍したものをApacheのドキュメントルートに移動させ、移動します。
# mv wordpress /var/www/html/
# cd /var/www/html/wordpress
・wp-config-sample.phpからwp-config.phpを作成後、編集します。
# mv wp-config-sample.php wp-config.php
# vim wp-config.php
内容を下記のとおりに変更する。
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );
/** Database username */
define( 'DB_USER', 'user' );
/** Database password */
define( 'DB_PASSWORD', 'pass' );
SELinuxの状態を確認します。
# getenforce
Enforcing
色々と面倒なLinuxSEを切ります。
enforcingをdisabledにします。
# vi /etc/selinux/config
SELINUX=enforcing
↓
SELINUX=disabled
設定反映のためサーバを再起動します。
# reboot
無効化を確認
# getenforce
Disabled
自身のIPアドレス/wordpress
でURLを叩くとWordPressの設定画面に飛ぶはずです。

終わりに
私の専門がプログラミングのため、インフラ構築は至らない面がありますが、社内SEになってくるとそうも言ってられなくなってきたので、今回はいい勉強になりました。