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”を独自ドメイン等に変更する。
9-2.公開サーバへの展開(WordPressの移行・複製)
ローカルサーバから公開サーバへ丸ごと移行・複製するには、プラグインを使いましょう。
私が使用したプラグインは、All-in-One WP Migration です。
当然ですが、公開サーバー上にもWordPressがインストールされていて、同じブラグインがインストールされていなければなりません。エクスポートしてインポートする段取りです。
10.あとがき
セキュリティに関しては、
・UFWを使用した簡単にファイアウォールの組込
・$ sudo mysql_secure_installationによる、MySQLDBのセキュリティ強化
を実施ていきたいと思っています。サーバを公開するには必須だと思うので。
以上