Ubuntu Server+LAMPスタック+Wordpress

*2022.1.25 Ubuntuサーバー上のWordpressについては、しばらく動作を停止させていた。
再度動作させてみる必要があり、下記の手順で再構築を実行した。ところが、Wordpressのインストール時に、設定したDatabaseに接続できないというエラーが……
2度ほど試みたが、同じエラー。原因が今一つわからない。
結局下記の手順はあきらめて、Databaseをmysql-serverからMariaDBに切り替えて構築した。(Ubuntuサーバー6 参照

参考資料:
Ubuntu 20.04にLAMPスタックでWordPressをインストールする方法
……https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-on-ubuntu-20-04-with-a-lamp-stack-ja
linux、Apache、MySQL、PHP(LAMP)スタックをUbuntu20.04にインストールする方法
……https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-20-04

実行結果:
1.Ubuntuサーバーの構築
・Ubuntu 20.04 LTS (Arm64用) 64bit を、microSDカードに書き込む…Raspberry Pi Imagerを使用
・Raspberry Pi4にセットし、起動する。
・ログインし、パスワードを変更する。…初期ログインは、user:ubuntu、pw:ubuntu、pwを変更してログイン完了。
・ホスト名を変更。…詳細は、”Ubuntu Server設定”参照
・OSのUpdate、Upgrade 実行
・サーバーのIPアドレスを固定する…詳細は、”Ubuntu Server設定”参照

2.Apache2インストールとファイアウォールの更新
・Apache2インストール
$ sudo apt install apache2
・ファイアウォールの確認と更新
現状の設定の表示(例)
$ sudo ufw app list

ポート80でのトラフィックのみを許可する
$ sudo ufw allow in "Apache"
確認は、
$ sudo ufw status

プライベートネットワーク内の端末上のブラウザで今回WordPressの導入を試みているUbuntuサーバーのアドレスにアクセスすると、デフォルトのUbuntu20.04 Apache Webページが表示されます。

3.MySQLのインストール
$ sudo apt install mysql-server

4.PHPのインストール
$sudo apt install php libapache2-mod-php php-mysql

5.WordPress用のMySQLデータベースとユーザーの作成
5-1 MySQLのrootユーザーのパスワード設定
$ sudo mysql -u root

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
mysql> exit;

rootのパスワードが正しく設定(変更)されたか確認する
$ sudo mysql -u root -p
パスワードの入力を要求されるので、先程設定したPASSWORDを入力する。データベースにログインできるか?

5-2 WordPressで使用するデータベースを作成
データベース名、ユーザー名、ユーザーパスワードを準備する
・rootユーザーでMySQLにログインする
・データベース名、ユーザー名、ユーザーパスワードを設定

mysql> CREATE DATABASE データベース名 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
mysql> CREATE USER 'ユーザー名'@'%' IDENTIFIED WITH mysql_native_password BY 'パスワード';
mysql> GRANT ALL ON wordpress.* TO 'ユーザー名'@'%';
mysql> FLUSH PRIVILEGES;
mysql> EXIT;

6.追加のPHP拡張機能のインストール
$ sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip
$ sudo systemctl restart apache2

7.Apacheの設定を調整し、.htaccessの上書き・書き換えを許可
7-1 Apache2設定ファイルの変更
Apache2で表示するデフォルトページは、/var/www/html内のindex.htmlです(/var/www/htmlがrootディレクトリ)
WordPressを導入し、Webrootディレクトリを、/var/www/wordpressに変えます
Apache2の設定は、下記ファイルで規定されているため、書き換えます

$ sudo nano /etc/apache2/sites-available/000-default.conf
Webrootディレクトリの変更…/var/www/html ⇒/var/www/wordpress

7-2 .htaccessの上書きを有効にする
上記のApache設定ファイル(000-default.conf)に追記する
最下段などに追記

7-3 リライトモジュールを有効にする
WordPressパーマリンク機能を使用できるようにする
$ sudo a2enmod rewrite

7-4 変更を有効にする
行った変更を有効にする。まず、構文エラーがないことを確認する
$ sudo apache2ctl configtest
Apacheを再起動する
$ sudo systemctl restart apache2

8.WordPressのダウンロード
書き込み可能なディレクトリ(/tmpなど)に最新版をダウンロードする
$ cd /tmp
$ curl -O https://wordpress.org/latest.tar.gz
圧縮ファイルを解凍し、WordPressディレクトリ構造を作成
$ tar xzvf latest.tar.gz
ダミーの.htaccessを作成し、WordPressの読み込みファイルも作成
$ touch /tmp/wordpress/.htaccess
$ cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
WordPressのディレクトリ内容をドキュメントrootにコピーする
$ mkdir /tmp/wordpress/wp-content/upgrade
$ sudo cp -a /tmp/wordpress/. /var/www/wordpress

9.WordPressディレクトリの設定
9-1 所有権と権限の調整
$ sudo chown -R www-data:www-data /var/www/wordpress
$ sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
$ sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;

9-2 WordPress設定ファイルのセットアップ…秘密鍵データ
WordPress秘密鍵ジェネレーターから安全な値を修得する
$ curl -s https://api.wordpress.org/secret-key/1.1/salt/

秘密鍵データ1~8の部分をコピー保存する
この部分は、上記のcurlコマンドを実行するごとに異なる値となる

WordPress設定ファイルを開く
$ sudo nano /var/www/wordpress/wp-config.php


上記の部分を捜し、put your unique phrase here の部分を削除し、保存していた秘密鍵1~8の部分を貼り付ける

9-3 WordPress設定ファイルのセットアップ…データベース接続データ
上記のファイル(wp-config.php)中の下記部分に追記する
. . .
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );

/** MySQL database username */
define( 'DB_USER', 'wordpressuser' );

/** MySQL database password */
define( 'DB_PASSWORD', 'password' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
. . .
define('FS_METHOD', 'direct');

5-2項の'WordPressで使用するデータベースを作成'で準備した、データベース名、ユーザー名、ユーザーパスワードを、上記ファイル中の wordpress wordpressuser password の部分に追記する

10. Webインターフェースを介したインストールの完了
・下記URLへアクセスし、インストール開始します。(プライベートネットワーク内の端末にて)

http://<サーバーのIPアドレス>

・使用する言語を選択
・WordPressの基本情報を設定…サイトタイトル、ユーザー名、パスワード、メールアドレス(http://<サーバーのIPアドレス>/wp-admin/install.php)
・WordPressのログイン画面が表示される(http://<サーバーのIPアドレス>/wp-login.php)
ユーザー名、パスワードを入力すれば、WordPressの管理ダッシュボードが表示されます

11. 日本語デスクトップのインストール…Ubuntu20.04Serverに日本語デスクトップを導入
$ sudo apt install ubuntu-desktop
インストール後ログイン画面になるので、ログインし、日本語化します。
以下の資料を参照。
参考資料:
【Raspberry Pi4】Ubuntu 20.04を日本語化する方法
……https://think-log.blogspot.com/2020/05/raspberry-pi-4ubuntu-2004.html