WordPressのローカル環境をWSLで構築してみた

WordPress

1.はじめに
 Windows11でのwordpressローカル環境は、XAMPP、LOCAL、MAMPなどのツールを使って簡単に構築できるのだが、今回は敢えてWSL(Ubuntu)上に環境を構築してみた。
 ※WSLのインストールは、他のサイトを参照されたい。

2.事前処理(最新化のおまじない)
 $ sudo apt update
 $ sudo apt upgrade

3.Webサーバーソフト(Apache)のインストール
・Apache2をインストール
 $ sudo apt install apache2
・以下のようにバージョンがを確認できれば、正常にインストールできています。
 $ apache2 -v
 Server version: Apache/2.4.52 (Ubuntu)
 Server built: 2023-03-01T22:43:5

必要に応じて

3-1.Apacheの動作確認
・Apacheの起動
 $ sudo service apache2 start
 Starting Apache httpd web server apache2
・WEBブラウザから「http://localhost/」にアクセスして、
以下の『Apache2 Ubuntu Default Page』が表示されれば、正常に動作しています。

4.WordPressの動作環境(PHP)をインストール
・PHPをインストール
 $ sudo apt install libapache2-mod-php8.1
 ※インストールすると、既にイネーブルになっている。
・以下のようにバージョンを確認できれば、正常にインストールできています。
 $ php -v
  PHP 8.1.2-1ubuntu2.11 (cli) (built: Feb 22 2023 22:56:18) (NTS)
  Copyright (c) The PHP Group
  Zend Engine v4.1.2, Copyright (c) Zend Technologies
  with Zend OPcache v8.1.2-1ubuntu2.11, Copyright (c), by Zend Technologies

必要に応じて

WordPressに必要なPHP拡張モジュール(推奨)は、以下リンクを参照してください
https://lifework-blog.com/install_php-module_for_wordpress/
※imagickモジュールは、オプションのようなので必要に応じてインストールしましょう。
【参考】
・phpが動いていないように感じたら、以下のコマンドを実行してみましょう。
 $ sudo a2enmod php8.1
 ERROR: Module php8.1 does not exist!
・エラーになったら、phpモジュールがインストールできていないので、
 以下のコマンドで再インストールしましょう!
 $ sudo apt install libapache2-mod-php8.1
・以下コマンドで、「…already enabled」が表示されれば、正常にインストールできています。
 $ sudo a2enmod php8.1
 Module php8.1 already enabled

5.WordPressのデータベース環境(MySQL)のインストール
・MySQLをインストール
 $ sudo apt install mysql-server
・以下のようにバージョンを確認できれば、正常にインストールできています。
 $ mysql ––version
 mysql Ver 8.0.30-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu))

5-1.MySQLのrootアカウントにパスワードを設定
・mysqlの起動
 $ sudo service mysql start
・MySQLのrootアカウントにログインし、パスワードを設定
 rootアカウントのパスワードは、セキュリティポリシー上必ず設定しましょう。
 (設定しないと後のPhpMyAdminでrootアカウントでのログインできない。)
 $ sudo mysql -u root ※インストール直後はパスワード無い
・「ALTER USER」コマンドでパスワードを設定。
 mysql>ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password by ‘password’;
passwordは任意のパスワードに設定
 mysql>exit

※今回はrootアカウントでDB操作を行うこととし、そのDBは6項のphpMyAdminツールで作成しますが、その手順は7項で紹介します。

【参考】

$ sudo service mysql startを打って以下のワーニングが出た時は
su: warning: cannot change directory to /nonexistent: No such file or directory
この時は、「/etc/passwd」ファイルのmysqlの行を以下のようにに変更しましょう。
mysql:x:112:120:MySQL Server,,,:/var/lib/mysql:/bin/false

必要に応じて

 スタンドアロン環境(シングルユーザ)では、他にユーザが居ないので問題ないですが、複数ユーザでDBを共有する場合はそれぞれのユーザに対応したアカウントを作成しましょう。以下にその手順を示します。
5-2.MySQLにWordPress用の「データベース」と「ユーザアカウント」を作成
・MySQLにrootでログイン
 $ sudo mysql -u root -p (-pオプションで先に設定したパスワードを入力しましょう。)
・「CREATE DATABASE」コマンドで、新しいデータベースを作成 ※データベース名は任意
 mysql>CREATE DATABASE データベース名 CHARACTER SET utf8mb4;
・「CREATE USER」コマンドで、
 データーベースを操作するユーザアカウントを作成し、かつパスワードを設定
 mysql>CREATE USER ‘ユーザアカウント‘@’localhost’ IDENTIFIED BY ‘localwpmaster‘;
 (ユーザアカウントは使用者名等:/ localwpmasterは任意の文字列に設定)

・作成した新しいユーザアカウントに、
 ✓作成したデータベースにフルアクセス権限を付与
 ✓権限テーブルを再読み込み
 ✓終了。
 mysql>GRANT ALL PRIVILEGES ON データベース名.* TO ‘ユーザアカウント‘@’localhost’;
 mysql>FLUSH PRIVILEGES;
 mysql>exit

6.MySQL管理ツール(phpMyAdmin)のインストール
・phpMyAdminをインストール
 $ sudo apt install phpmyadmin
・Webサーバーの選択画面が出たら、apache2を選択

・dbconfig-commonを使用してデータベース構成するかは、Noを選択
 (後でphpMyAdminでDBを作成する)

・WEBブラウザから「http://localhost/phpmyadmin/」にアクセスして、phpiMyAdminのログイン画面が表示されれば、正常にインストールできています。

7.MySQLデータベースの作成
・WEBブラウザから「http://localhost/phpmyadmin/」にアクセスしてログインしてください。

  ✓ユーザ名:root
  ✓パスワード:5-1項で指定したpassword

・データベース(wp00DB)を作成。

  ✓データベース名:適宜(例は、wp00DB)
  ✓文字セット:utf8mb4_unicode_520_ci(デフォルト値でOK)

 以下のように、左サイドバー及びデータベース一覧にDB名が表示されればOKです。 

8.Wordpressのインストール
・作業ディレクトリをドキュメントルートへ移動。
 $ cd /var/www/html (このディレクトリは、apacheをインストールすると作成される)
・WordPressをダウンロード。
 $ sudo wget –no-check-certificate https://wordpress.org/latest.tar.gz
・ダウンロードしたWordPressの圧縮ファイルを解凍
 $ sudo tar xvf latest.tar.gz ※解凍するとwordpress」フォルダが生成される。
・chownコマンドで、Apacheにwordpressフォルダの所有権(ユーザーとグループ)を与える。これによりApacheからWordPressのディレクトリへ読み取り、書き込みを可能にする。
 $ sudo chown -R www-data:www-data wordpress
・WordPressをインストールし、初期設定します。
 ブラウザから「http://localhost/wordpress/wp-admin」へアクセス→言語(日本語)を選択して「次へ」をクリック。

・「さあ、始めましょう!」をクリック

・データベース接続情報を入力し、「送信」をクリック

  ✓データベース名:先に設定したデータベース名
  ✓ユーザー名:root
  ✓パスワード:先に設定したパスワード
  ✓データベースのホスト名:localhost
  ✓テーブルの接頭辞:wp_
※ここでのユーザー名は、パスワードは5-1項での設定値です。それぞれのユーザーアカウントを作成した場合は,5-2項での設定値です。

・この部分のインストールは無事完了しました。・・・・・で、「インストール実行」をクリック

・必要情報を入力し、「WordPressをインストール」をクリック

  ✓サイトのタイトル:任意
  ✓ユーザー名:ワードプレスを使用する人の名前など
  ✓パスワード:任意の文字列
  ✓メールアドレス:連絡先アドレス

・成功しました!の画面が出たらインストールOK。「ログイン」をクリック

・ログイン画面に以下を入力し「ログイン」をクリック

  ✓ユーザー名:先に入力したユーザー名
  ✓パスワード:先に入力したパスワード

・以上の入力で、「WordPressへようこそ」の画面が表示されれば、正常にインストール完了です。

9.おまけ
9-1.自宅のローカルLANに独立したサーバを立てた場合の注意事項
 自宅のローカルLANに独立したサーバを立てた場合は、PCに閉じたローカル環境とは異なるため、その立てたローカルサーバにアクセスできるようクライアントのブラウザにそのIPアドレス(URL)を指定する必要がある。ifconfigでそのサーバのIPアドレスを調べておきましょう。
◆サーバへのアクセス
・同一PCのローカル環境の場合
 http://localhost/
 https://digitalkobako.com/
 http://localhost/phpmyadmin/(localhostのIPアドレスは、一般的に:127.0.0.1)

・独立したローカルサーバーの場合(独立サーバアドレスを192.168.1.57に設定した場合)
 http://192.168.1.57/
 http://192.168.1.57/wordpress/
 http://192.168.1.57/phpmyadmin/ 等

【重要】
 ローカル環境で作成したデータを独立サーバへアップした場合、以下の変更をしないと繋がらない。
 (公開するレンタルサーバへアップした場合も同じ)

 データをアップロードしたサーバーのWordPress管理画面で、設定/一般の
 ・WordPressアドレス(URL)を、以下に変更
  http://192.168.1.57/wordpress
 ・サイトアドレス(URL)を、以下に変更
 http://192.168.1.57/wordpress
   (192.168.1.57は、独立したローカルサーバのIPアドレスです)
 ※ レンタルサーバの場合は、”192.168.1.57”を独自ドメイン等に変更する。

-2.公開サーバへの展開(WordPressの移行・複製)
 ローカルサーバから公開サーバへ丸ごと移行・複製するには、プラグインを使いましょう。
 私が使用したプラグインは、All-in-One WP Migration です。
 当然ですが、公開サーバー上にもWordPressがインストールされていて、同じブラグインがインストールされていなければなりません。エクスポートしてインポートする段取りです。

10.あとがき
 セキュリティに関しては、 
 ・UFWを使用した簡単にファイアウォールの組込
 ・$ sudo mysql_secure_installationによる、MySQLDBのセキュリティ強化
 を実施ていきたいと思っています。サーバを公開するには必須だと思うので。

以上

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