
以前ManjaroにXAMPPをインストールしてWordpressのローカル環境を作る方法を記事にしました。
しかし、最近XAMPPはアップデートが滞っており、Wordpressのサイトヘルスで「古いデータベース」などの改善点がいくつか挙がるようになっています。 XAMPPはApache、MariaDB、PHPが一つのパッケージになっており、データベースだけアップデートするというのは面倒な作業になると思われます。
そこで今回はApache、MariaDB、PHPを自分でインストールし、Wordpressのローカル環境を作る方法について書きたいと思います。
Manjaroのまとめページはこちらです。
Apacheのインストール
まずシステムのアップデートをします。
sudo pacman -Syu
次にApacheをインストールします。
sudo pacman -S apache
Apacheを起動します。
sudo systemctl start httpd
Apacheを自動起動するようにします。
sudo systemctl enable httpd
WordPressに投稿する時にエラーが出て公開できないことがないよう、httpd.confの中で該当行のコメントアウトを外す形で有効化します。
sudo gedit /etc/httpd/conf/httpd.conf
下の行を探してコメントアウトします
#LoadModule rewrite_module modules/mod_rewrite.so
LoadModule rewrite_module modules/mod_rewrite.so
以下の部分を探して変更します。
<Directory "/srv/http">
...
AllowOverride None
...
</Directory>
AllowOverride None を AllowOverride All に変更します。
<Directory "/srv/http">
...
AllowOverride All
...
</Directory>
.php ファイルを表示するよう以下の部分を書き換えます。
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
を
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
のように index.php を付け加えます。
httpd.conf を保存してから、確認のため以下のコマンドを実行します。
sudo apachectl configtest
これで Syntax OK と出力されれば設定は合っています。
Apacheを再起動します。
sudo systemctl restart httpd
MariaDBをインストールし、Wordpress用のデータベースを作成する
MariaDBのインストール
MariaDBをインストールします。
sudo pacman -S mariadb
初回インストールの時に以下のコマンドを実行し、初期化します。
sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
MariaDBを起動します。
sudo systemctl start mariadb
MariaDBの自動起動を有効化します。
sudo systemctl enable mariadb
セキュリティ設定のため、rootパスワードの設定、匿名ユーザーの削除をします。
sudo mariadb-secure-installation
画面に出る指示に従って設定してください。
以下のコマンドでログインできればインストールは成功しています。
sudo mariadb -u root -p
WordPress用のデータベースの作成
以下のコマンドでMariaDBにログインします。
sudo mariadb -u root -p
ログインできたら、SQLプロンプトで以下を実行します。
まずデータベースを作成します。
CREATE DATABASE データベース名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
「データベース名」の部分は書き換えてデータベースを作成してください。
次にデータベースのユーザーとパスワードを設定します。
CREATE USER 'ユーザー名'@'localhost' IDENTIFIED BY 'パスワード';
「ユーザー名」と「パスワード」は書き換えて実行してください。
次に以下のコマンドを実行します。
GRANT ALL PRIVILEGES ON データベース名.* TO 'ユーザー名'@'localhost';
「データベース名」の部分は作成したデータベース名、「ユーザー名」の部分は作成したユーザー名に置き換えてください。
データベースの保存をします。
FLUSH PRIVILEGES;
MariaDBからログアウトします。
EXIT;
PHPのインストール
PHPのインストールと拡張機能の有効化
PHPをインストールします。
sudo pacman -S php php-apache php-gd php-intl
次にWordpressに必要な拡張機能を有効にします。 PHPの設定ファイルを編集します。
sudo gedit /etc/php/php.ini
この設定ファイルの中の
;extension=intl
;extension=gd
を検索して「;」を削除してコメントアウトを外してください。
次に imagick をインストールします。
sudo pacman -S php-imagick
その後
sudo gedit /etc/php/conf.d/imagick.ini
で設定ファイルを開いて、「;」でコメントアウトされていたら、コメントアウトを外して有効化してください。
ApacheがPHPモジュールを読み込むようにする
以下のコマンドでApacheの設定ファイルを開きます
sudo gedit /etc/httpd/conf/httpd.conf
この中の
LoadModule mpm_event_module modules/mod_mpm_event.so
#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
の部分を
#LoadModule mpm_event_module modules/mod_mpm_event.so
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
に変更してください。
また
LoadModule dir_module modules/mod_dir.so
のの下に
LoadModule php_module modules/libphp.so AddHandler php-script .php
を付け加えてください。
httpd.conf を保存してから、確認のため以下のコマンドを実行します。
sudo apachectl configtest
これで Syntax OK と出力されれば設定は合っています。
確認したらApacheを再起動させます。
sudo systemctl restart httpd
WordPressのインストール
下のURLからWordpressをダウンロードしてください。
とりあえずダウンロードディレクトリにダウンロードすることにします。
ダウンロードしたZIPファイルを右クリックで展開します。
展開したフォルダの中にWordpressのフォルダが入っています。 そのフォルダの中で右クリックして「Consoleをここで開く」をクリックし、端末を起動してください。


WordPressのフォルダをApacheのドキュメントディレクトリにコピーします。
sudo cp -r wordpress/* /srv/http/
この時コピーするフォルダの名前がURLになるので、自分のサイトに合った名前にしたい場合は
sudo cp -r wordpress /srv/http/'名前'
のように、名前を変えてコピーしてください。 ただし、 /srv/http/ に同じ名前のディレクトリがないことを確認してください。
別の名前でもう一つ /srv/http/ にWordpressのフォルダをコピーすれば、複数のWordpressサイトを作成できます。
WordPressのフォルダに移動します。
cd /srv/http/'名前'
wp-config.php を wp-config-sample.php から名前を変えてコピーします。
sudo cp wp-config-sample.php wp-config.php
そして、中身にMariaDBに作成したデータベース名、ユーザー名、パスワードを書き込みます。
define( 'DB_NAME', 'データベース名' );
define( 'DB_USER', 'ユーザー名' );
define( 'DB_PASSWORD', 'パスワード' );
所有権を変更します。
sudo chown -R http:http /srv/http/'名前'
念のためApacheを再起動させます。
sudo systemctl restart httpd
終わったらブラウザで
localhost/'名前'
にアクセスしてください。
WordPressのサイト名、ユーザー名、パスワードを作成する画面が出たら成功です。
WordPressにログインしたら、Wordpressメニューの「設定」→「一般」の中の、「Wordpress アドレス」と「サイトアドレス (URL)」を「192.168.xxx.xxx/'名前'」のようにし(xxx の部分はお使いのローカルネットワークの数字に置き換えてください)、ファイアウォールで http を開けます。
「アプリ」から「ファイアウォール設定ツール」を起動し、「ルール」をクリックして左下の「+」をクリックしてください。
「ファイアウォールのルールを追加」の画面で方向は「両方」、Applicationは「http」を選択し、「追加」ボタンを押します。
Chromeなどではログイン画面をブックマークすれば同期され、ローカルネットワーク上のほかのPCからWordpressにログインしたり、閲覧できます。
ここまででManjaroにXAMPPを使わずにWordpressのローカル環境を作ることができました。
お疲れ様でした。
まとめ
XAMPPの更新停滞でサイトヘルスに警告が出るようになったため、ManjaroにApache・MariaDB・PHPを個別インストールしてWordPressのローカル環境を構築する方法について書きました。
まず、Apacheをインストールし、Wordpress投稿時にエラーが出ないよう設定します。
次にMariaDBをインストールし、データベース、ユーザー、パスワードを作成します。
次にPHPをインストールし、拡張機能を有効にし、ApacheがPHPを読み込むよう設定します。
WordPressをWebからダウンロードし、展開してApacheのドキュメントディレクトリにコピーします。
wp-config-sample.php から wp-config.php を名前を変えてコピーして作成し、エディタで開いてデータベース名、ユーザー名、パスワードを書き込みます。
WordPressにログインできたら設定から一般のWordpressのURLをローカルネットワークのアドレスに書き換えると、ローカルネットワーク上のほかのPCからログインしたり、閲覧ができるようになります。
よろしければ応援お願いします



