WordPress ローカルネットワークでの開発環境構築 ~ Ubuntu 20.04.1

LAMP のインストール

PHP のインストール

PHP 8 をインストールします。

sudo apt install php8.0 php8.0-curl php8.0-dev php8.0-fpm php8.0-gd php8.0-imap php8.0-mbstring php8.0-mcrypt php8.0-mysql php-pear php8.0-soap php8.0-xml php8.0-xmlrpc php8.0-zip php8.0-intl

ImageMagick & Imagick をインストールします。

sudo apt install imagemagick
sudo apt install libmagickwand-dev
sudo apt install pkg-config
sudo apt install php8.0-imagick

php.ini を編集します。

sudo nano /etc/php/8.0/apache2/php.ini
/* 拡張機能 */
extension=gd
extension=mbstring
extension=exif
extension=mysql
extension=intl
extension=imagick.so

/* タイムアウト、ファイルサイズ、メモリー関連 */
max_execution_time = 30
max_input_time = 60
memory_limit = 128M 
post_max_size = 64M
upload_max_filesize = 64M
max_file_uploads = 20

※ mbstring 関連の設定は、WordPress 側でやってくれるようなので、全てコメントアウトのままにしておきます。

最新バージョンの PHP のインストール

  • ubuntu 公式以外のレポジトリ(ondrej/php)を追加
sudo add-apt-repository ppa:ondrej/php -y
  • php8.2 をインストール
sudo apt install php8.2 php8.2-curl php8.2-dev php8.2-fpm php8.2-gd php8.2-imap php8.2-mbstring php8.2-mysql php-pear php8.2-soap php8.2-xml php8.2-xmlrpc php8.2-zip php8.2-intl php8.2-imagick
  • php8.2 の apache2 をインストール
sudo apt install libapache2-mod-php8.2
  • 8.2のディレクトリにある、php.ini を編集
sudo nano /etc/php/8.2/apache2/php.ini

PHP apache2 バージョンの切り替え(例:8.0 → 8.2)

  • 8.0 の apache2 モジュールの無効化
sudo a2dismod php8.0
  • 8.2 の apache2 モジュールの有効化
sudo a2enmod php8.2

※PHP バージョンの切り替え(例:8.2 → 8.0)は、前述の逆を行う。

  • apache2 の再起動
sudo systemctl restart apache2

PHP コマンドラインバージョンの切り替え(例:8.3)

  • コマンドラインの状況
sudo update-alternatives --config php
  • コマンドラインの切り替え
sudo update-alternatives --set php /usr/bin/php8.3
sudo update-alternatives --set phar /usr/bin/phar8.3
sudo update-alternatives --set phar.phar /usr/bin/phar.phar8.3

MySQL(MariaDB) のインストール

sudo apt install mariadb-server
sudo mysql_secure_installation

初期設定の対話モードで、Set root password? [Y/n] を聞かれるので、n を指定します。それ以外は Y を指定します。

次にユーザー名とパスワードを指定してデータベースを作成します。

/* ユーザー admin */
/* パスワード testpass */
sudo mariadb
MariaDB [(none)]> GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'testpass' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit;

MariaDB を再起動します。

sudo systemctl status mariadb

Apache2 のインストール

Apache2 をインストールします。

sudo apt update
sudo apt install apache2 apache2-doc libapache2-mod-php8.0

Apache2 の各種モジュールを有効化します。

sudo a2enmod php8.0 /* php8.0 */
sudo a2enmod rewrite /* mod_rewrite */

Apache2 の設定(仮想ホスト)(SSL無し)

  • sites-available ディレクトリにあるファイルを編集します。
cd /etc/apache2/sites-available
sudo cp 000-default.conf riverforest.test.conf
sudo nano /etc/apache2/sites-available/riverforest.test.conf
<VirtualHost *:80>
        ServerName riverforest.test
        ServerAdmin katsushi@riverforest.test
        DocumentRoot /home/katsushi/www/riverforest.test
        <Directory "/home/katsushi/www/riverforest.test">
		Options FollowSymLinks
		AllowOverride All
		Require all granted
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/riverforest.test.error.log
        CustomLog ${APACHE_LOG_DIR}/riverforest.test.access.log combined
</VirtualHost>
  • 上記で設定したディレクトリに何らかの HTML ファイルを、index.html として設置します。
  • Apache2 の起動ユーザーの設定とサーバー名とポートを記述します。起動ユーザーは、Ubuntu のユーザーと同じユーザー・グループにします。
sudo nano /etc/apache2/apache2.conf
#User ${APACHE_RUN_USER}
#Group ${APACHE_RUN_GROUP}
User katsushi /* ユーザー名 katsuhi */
Group katsushi /* グループ名 katsuhi */
ServerName riverforest.test:80
  • 以前の設定を無効化し、新しい設定を有効化し、テストしてから再起動します。
sudo a2dissite 000-default.conf /* 以前の設定を無効化 */
sudo a2ensite riverforest.test.conf /* 新しい設定を有効化 */
sudo apache2ctl configtest /* テスト */
sudo systemctl restart apache2 /* 再起動 */

phpMyAdmin のインストール

phpMyAdmin をインストールします。

sudo apt install phpmyadmin

手動で phpMyAdmin をアップデート

サーバーを止める
sudo systemctl stop mysql
sudo systemctl stop apache2
ディレクトリ移動
cd /usr/share
バックアップ削除
sudo rm -r phpmyadmin.old
バックアップ作成
sudo mv phpmyadmin phpmyadmin.old
ダウンロード、解凍、インストール、zip 削除
sudo wget https://files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip
sudo unzip phpMyAdmin-5.2.0-all-languages.zip
sudo mv phpMyAdmin-5.2.0-all-languages phpmyadmin
sudo rm phpMyAdmin-5.2.0-all-languages.zip
サーバー再スタート
sudo systemctl restart mysql
sudo systemctl restart apache2
1 2 3 4 5 6 7 8


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください