【Ubuntu 20.04 LTS Server】Apache2とPHPを動かす

スポンサーリンク

以前の記事で「Ubuntu 20.04 LTS Server」をインストールした。

【Ubuntu 20.04 LTS Server】新規にインストールする
Ubuntu 20.04 LTS が、2020年4月24日にリリースされた。 先日の記事では Ubuntu 18.04 LTS Server からのアップグレードだったが、新規に「Ubuntu 20.04 LTS Server」をインストー...

続いて、WordPressやDokuWikiを動かす準備として、Apache2とPHPを動かすようにしたので備忘録を残す。

Apache2のインストール

$ sudo apt install apache2

設定ファイルの確認

設定ファイルを書き換えたら、以下のコマンドでエラーがないか確認。

$ sudo apache2ctl configtest

この時、下のような「AH00558」エラーが出る場合は、本記事後ろの「補足」の対応。

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.1.201. Set the 'ServerName' directive globally to suppress this message
Syntax OKAH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.1.201. Set the 'ServerName' directive globally to suppress this message
Syntax OK

Webブラウザで、サーバのIPアドレスを入力し動作確認

「Ubuntu default page」が表示される

http://<サーバIP>/

画像01

phpのインストール

$ sudo apt install php libapache2-mod-php
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  libapache2-mod-php7.4 php-common php7.4 php7.4-cli php7.4-common php7.4-json
  php7.4-opcache php7.4-readline
提案パッケージ:
  php-pear
以下のパッケージが新たにインストールされます:
  libapache2-mod-php libapache2-mod-php7.4 php php-common php7.4 php7.4-cli
  php7.4-common php7.4-json php7.4-opcache php7.4-readline
アップグレード: 0 個、新規インストール: 10 個、削除: 0 個、保留: 0 個。
4,021 kB のアーカイブを取得する必要があります。
この操作後に追加で 18.0 MB のディスク容量が消費されます。
続行しますか? [Y/n]

‘Y’を入力してインストール続行する。

あと、WordPressを利用するので、下記もインストール。

$ sudo apt install php-fpm php-common php-mbstring php-xmlrpc php-gd php-xml php-mysql php-cli php-zip php-curl php-imagick php-intl

phpバージョン確認

下記コマンドで、phpのバージョン確認する。

$ php -v
PHP 7.4.3 (cli) (built: May 26 2020 12:24:22) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

PHP7.4がインストールされた。

PHPモジュールの有効

sudo a2enmod php7.4 は、実行しなくても、自動的に有効になってたが、もし有効になっていなければ下記コマンドを実行。(ls -l /etc/apache2/mods-enabled/で有効になってるか確認できる)

$ sudo a2enmod php7.4

PHPの動作確認

ホームページのドキュメントルートに、下記ファイルを置いて、ブラウザから確認してみる。

下記内容の「/var/www/html/info.php」ファイル作成。

$ sudo nano /var/www/html/info.php
<?php
  phpinfo();
?>

Webブラウザから動作確認

http://<サーバIP>/info.php

画像02

rewriteを有効にする

WordPressやDokuWikiを使う場合には、「rewrite」が必要になるので有効にしておき、Apacheサービスを再起動。

$ sudo a2enmod rewrite
$ sudo service apache2 restart
  • Apacheのデフォルトでは rewrite は無効になってる。

アップロードサイズの上限値を変更

WordPressでは、PHPの機能を使ってファイルのアップロードを行っている。PHPのでデフォルトは、アップロードサイズの上限値は「2MByte」となっている。少し大きなファイルを扱う事もあり、「/etc/php/7.4/apache2/php.ini」ファイルの設定を変更。

memory_limit = 128M
post_max_size = 8M
upload_max_filesize = 2M
 ↓
memory_limit = 128M
post_max_size = 50M
upload_max_filesize = 50M
  • post_max_sizeupload_max_filesize の値を同じにしておかないと、WordPressのサイトヘルスステータスでワーニングが出る。

画像05

【Ubuntu 18.04/16.04 LTS Server】WordPressサーバをインストール
LAMP環境(Linux + Apache + MySQL + PHP)が揃ったので、WordPress(ブログサーバ)を使えるようにする。尚、LAMP環境のインストールについては、関連記事を参照。 Ubuntu 16.04では、WordP...

補足

  • Apacheのデフォルトでは、「/var/www/html/」フォルダの内容が表示される。
  • apache2再起動や apache2ctl configtest時にAH00558が発生する場合は、下記の/etc/apache2/conf-available/fqdn.confファイルを作成し、有効にする。
$ sudo nano /etc/apache2/conf-available/fqdn.conf
ServerName hogeserver
$ sudo a2enconf fqdn
$ sudo service apache2 restart

関連記事

【Ubuntu 20.04 LTS Server】MySQLサーバを動かす
以前の記事で「Ubuntu 20.04 LTS Server」をインストールした。 続いて、WordPressなどを動かす準備として、MySQLサーバを動かすようにしたので備忘録を残す。 準備 MySQLサーバとクライアントツールのインスト...
【Ubuntu 18.04/16.04 LTS Server】WordPressサーバをインストール
LAMP環境(Linux + Apache + MySQL + PHP)が揃ったので、WordPress(ブログサーバ)を使えるようにする。尚、LAMP環境のインストールについては、関連記事を参照。 Ubuntu 16.04では、WordP...
【Ubuntu 16.04 LTS Server】ApacheでSSL通信(https)する(公式SSL証明書:CoreSSLを取得)
前の記事では、Ubuntu ServerのサンプルSSL証明書を使ったApacheのSSL通信を試してみた。今度は実際の運用ができるように、公式のSSL証明書(CoreSSL)を取得し、正規にSSL通信できるようにしたので備忘録を残す。 国...
【Ubuntu 22.04 LTS Server】Ubuntu 20.04 LTS Server からアップグレード
いままで利用していた Ubuntu 20.04 LTS Server から「Ubuntu 22.04 LTS Server」にアップグレードしたので備忘録を残す。 Ubungu 20.04 Server にログインすると、以下のメッセージが...

参考

  1. Ubuntu 18.04 (LTS) LAMP server tutorial with Apache, PHP 7.2, and MySQL
  2. PHPのファイルアップロードサイズの上限値を変更する
  3. WordPressのファイルアップロード上限値を変更する方法

コメント

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