VAIO Type-Pに自宅でUbuntu17 Server環境を構築する apache2インストール編

17にapache2をインストールする

ここまでにubuntuのインストールとアップデートを実施してきました。ここでは検証用のWebサーバとしてapache2をインストールしてアクセスを確認します。

2のインストール

apache2のインストールはapt-getコマンドを実行するだけです。

$ sudo apt-get install apache2
$ apache2 -v

実際の操作サンプル

ubuntu@ubuntu17--100:~$ sudo apt-get install apache2
[sudo] ubuntu のパスワード:
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  apache2-bin apache2-data apache2-utils libapr1 libaprutil1
  libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0 ssl-cert
提案パッケージ:
  www-browser apache2-doc apache2-suexec-pristine | apache2-suexec-custom
  openssl-blacklist
以下のパッケージが新たにインストールされます:
  apache2 apache2-bin apache2-data apache2-utils libapr1 libaprutil1
  libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0 ssl-cert
アップグレード: 0 個、新規インストール: 10 個、削除: 0 個、保留: 0 個。
1,697 kB のアーカイブを取得する必要があります。
この操作後に追加で 6,493 kB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://jp.archive.ubuntu.com/ubuntu zesty/main i386 libapr1 i386 1.5.2-5 [94.9 kB]
取得:2 http://jp.archive.ubuntu.com/ubuntu zesty/main i386 libaprutil1 i386 1.5.4-3 [84.3 kB]
取得:3 http://jp.archive.ubuntu.com/ubuntu zesty/main i386 libaprutil1-dbd-sqlite3 i386 1.5.4-3 [10.8 kB]
取得:4 http://jp.archive.ubuntu.com/ubuntu zesty/main i386 libaprutil1-ldap i386 1.5.4-3 [8,898 B]
取得:5 http://jp.archive.ubuntu.com/ubuntu zesty/main i386 liblua5.2-0 i386 5.2.4-1.1build1 [121 kB]
取得:6 http://jp.archive.ubuntu.com/ubuntu zesty-updates/main i386 apache2-bin i386 2.4.25-3ubuntu2.3 [1,016 kB]
取得:7 http://jp.archive.ubuntu.com/ubuntu zesty-updates/main i386 apache2-utils i386 2.4.25-3ubuntu2.3 [87.4 kB]
取得:8 http://jp.archive.ubuntu.com/ubuntu zesty-updates/main i386 apache2-data all 2.4.25-3ubuntu2.3 [161 kB]
取得:9 http://jp.archive.ubuntu.com/ubuntu zesty-updates/main i386 apache2 i386 2.4.25-3ubuntu2.3 [95.8 kB]
取得:10 http://jp.archive.ubuntu.com/ubuntu zesty/main i386 ssl-cert all 1.0.38 [17.0 kB]
1,697 kB を 0秒 で取得しました (4,789 kB/s)
パッケージを事前設定しています ...
以前に未選択のパッケージ libapr1:i386 を選択しています。
(データベースを読み込んでいます ... 現在 96952 個のファイルとディレクトリがインストールされています。)
.../0-libapr1_1.5.2-5_i386.deb を展開する準備をしています ...
libapr1:i386 (1.5.2-5) を展開しています...
以前に未選択のパッケージ libaprutil1:i386 を選択しています。
.../1-libaprutil1_1.5.4-3_i386.deb を展開する準備をしています ...
libaprutil1:i386 (1.5.4-3) を展開しています...
以前に未選択のパッケージ libaprutil1-dbd-sqlite3:i386 を選択しています。
.../2-libaprutil1-dbd-sqlite3_1.5.4-3_i386.deb を展開する準備をしています ...
libaprutil1-dbd-sqlite3:i386 (1.5.4-3) を展開しています...
以前に未選択のパッケージ libaprutil1-ldap:i386 を選択しています。
.../3-libaprutil1-ldap_1.5.4-3_i386.deb を展開する準備をしています ...
libaprutil1-ldap:i386 (1.5.4-3) を展開しています...
以前に未選択のパッケージ liblua5.2-0:i386 を選択しています。
.../4-liblua5.2-0_5.2.4-1.1build1_i386.deb を展開する準備をしています ...
liblua5.2-0:i386 (5.2.4-1.1build1) を展開しています...
以前に未選択のパッケージ apache2-bin を選択しています。
.../5-apache2-bin_2.4.25-3ubuntu2.3_i386.deb を展開する準備をしています ...
apache2-bin (2.4.25-3ubuntu2.3) を展開しています...
以前に未選択のパッケージ apache2-utils を選択しています。
.../6-apache2-utils_2.4.25-3ubuntu2.3_i386.deb を展開する準備をしています ...
apache2-utils (2.4.25-3ubuntu2.3) を展開しています...
以前に未選択のパッケージ apache2-data を選択しています。
.../7-apache2-data_2.4.25-3ubuntu2.3_all.deb を展開する準備をしています ...
apache2-data (2.4.25-3ubuntu2.3) を展開しています...
以前に未選択のパッケージ apache2 を選択しています。
.../8-apache2_2.4.25-3ubuntu2.3_i386.deb を展開する準備をしています ...
apache2 (2.4.25-3ubuntu2.3) を展開しています...
以前に未選択のパッケージ ssl-cert を選択しています。
.../9-ssl-cert_1.0.38_all.deb を展開する準備をしています ...
ssl-cert (1.0.38) を展開しています...
libapr1:i386 (1.5.2-5) を設定しています ...
ufw (0.35-4) のトリガを処理しています ...
ureadahead (0.100.0-19) のトリガを処理しています ...
ureadahead will be reprofiled on next reboot
apache2-data (2.4.25-3ubuntu2.3) を設定しています ...
ssl-cert (1.0.38) を設定しています ...
libc-bin (2.24-9ubuntu2.2) のトリガを処理しています ...
libaprutil1:i386 (1.5.4-3) を設定しています ...
systemd (232-21ubuntu7.1) のトリガを処理しています ...
man-db (2.7.6.1-2) のトリガを処理しています ...
liblua5.2-0:i386 (5.2.4-1.1build1) を設定しています ...
libaprutil1-ldap:i386 (1.5.4-3) を設定しています ...
libaprutil1-dbd-sqlite3:i386 (1.5.4-3) を設定しています ...
apache2-utils (2.4.25-3ubuntu2.3) を設定しています ...
apache2-bin (2.4.25-3ubuntu2.3) を設定しています ...
apache2 (2.4.25-3ubuntu2.3) を設定しています ...
Enabling module mpm_event.
Enabling module authz_core.
Enabling module authz_host.
Enabling module authn_core.
Enabling module auth_basic.
Enabling module access_compat.
Enabling module authn_file.
Enabling module authz_user.
Enabling module alias.
Enabling module dir.
Enabling module autoindex.
Enabling module env.
Enabling module mime.
Enabling module negotiation.
Enabling module setenvif.
Enabling module filter.
Enabling module deflate.
Enabling module status.
Enabling module reqtimeout.
Enabling conf charset.
Enabling conf localized-error-pages.
Enabling conf other-vhosts-access-log.
Enabling conf security.
Enabling conf serve-cgi-bin.
Enabling site 000-default.
Created symlink /etc/systemd/system/multi-user.target.wants/apache2.service → /lib/systemd/system/apache2.service.
Created symlink /etc/systemd/system/multi-user.target.wants/apache-htcacheclean.service → /lib/systemd/system/apache-htcacheclean.service.
libc-bin (2.24-9ubuntu2.2) のトリガを処理しています ...
systemd (232-21ubuntu7.1) のトリガを処理しています ...
ureadahead (0.100.0-19) のトリガを処理しています ...
ufw (0.35-4) のトリガを処理しています ...

ubuntu@ubuntu17--100:~$ apache2 -v
 version: Apache/2.4.25 (Ubuntu)
 built:   2017-09-18T15:08:28

インストール後の確認

基本的な設定を行ってブラウザからアクセスを確認します。
リモートコンピュータ(検証ではMac)からSafariで表示していることで、apache2自体は動作していることが確認できます。
ubuntu apach2インストール

実際に運用する場合には、apache2の設定を行う必要があります。

PHPのインストール

この検証ではPHPもインストールしておきたいと思います。
インストールするのは、phpとlibapache2-mod-phpです。

$ sudo apt-get install php
$ sudo apt-get install libapache2-mod-php

実際の操作サンプル

ubuntu@ubuntu17-server-100:~$ sudo apt-get install php
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  libapache2-mod-php7.0 php-common php7.0 php7.0-cli php7.0-common php7.0-json
  php7.0-opcache php7.0-readline
提案パッケージ:
  php-pear
以下のパッケージが新たにインストールされます:
  libapache2-mod-php7.0 php php-common php7.0 php7.0-cli php7.0-common
  php7.0-json php7.0-opcache php7.0-readline
アップグレード: 0 個、新規インストール: 9 個、削除: 0 個、保留: 0 個。
3,601 kB のアーカイブを取得する必要があります。
この操作後に追加で 13.4 MB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://jp.archive.ubuntu.com/ubuntu zesty/main i386 php-common all 1:49 [11.9 kB]
取得:2 http://jp.archive.ubuntu.com/ubuntu zesty-updates/main i386 php7.0-common i386 7.0.22-0ubuntu0.17.04.1 [848 kB]
取得:3 http://jp.archive.ubuntu.com/ubuntu zesty-updates/main i386 php7.0-json i386 7.0.22-0ubuntu0.17.04.1 [17.2 kB]
取得:4 http://jp.archive.ubuntu.com/ubuntu zesty-updates/main i386 php7.0-opcache i386 7.0.22-0ubuntu0.17.04.1 [84.0 kB]
取得:5 http://jp.archive.ubuntu.com/ubuntu zesty-updates/main i386 php7.0-readline i386 7.0.22-0ubuntu0.17.04.1 [13.0 kB]
取得:6 http://jp.archive.ubuntu.com/ubuntu zesty-updates/main i386 php7.0-cli i386 7.0.22-0ubuntu0.17.04.1 [1,336 kB]
取得:7 http://jp.archive.ubuntu.com/ubuntu zesty-updates/main i386 libapache2-mod-php7.0 i386 7.0.22-0ubuntu0.17.04.1 [1,282 kB]
取得:8 http://jp.archive.ubuntu.com/ubuntu zesty-updates/main i386 php7.0 all 7.0.22-0ubuntu0.17.04.1 [5,602 B]
取得:9 http://jp.archive.ubuntu.com/ubuntu zesty/main i386 php all 1:7.0+49 [2,860 B]
3,601 kB を 0秒 で取得しました (6,672 kB/s)
以前に未選択のパッケージ php-common を選択しています。
(データベースを読み込んでいます ... 現在 97657 個のファイルとディレクトリがインストールされています。)
.../0-php-common_1%3a49_all.deb を展開する準備をしています ...
php-common (1:49) を展開しています...
以前に未選択のパッケージ php7.0-common を選択しています。
.../1-php7.0-common_7.0.22-0ubuntu0.17.04.1_i386.deb を展開する準備をしています ...
php7.0-common (7.0.22-0ubuntu0.17.04.1) を展開しています...
以前に未選択のパッケージ php7.0-json を選択しています。
.../2-php7.0-json_7.0.22-0ubuntu0.17.04.1_i386.deb を展開する準備をしています ...
php7.0-json (7.0.22-0ubuntu0.17.04.1) を展開しています...
以前に未選択のパッケージ php7.0-opcache を選択しています。
.../3-php7.0-opcache_7.0.22-0ubuntu0.17.04.1_i386.deb を展開する準備をしています ...
php7.0-opcache (7.0.22-0ubuntu0.17.04.1) を展開しています...
以前に未選択のパッケージ php7.0-readline を選択しています。
.../4-php7.0-readline_7.0.22-0ubuntu0.17.04.1_i386.deb を展開する準備をしています ...
php7.0-readline (7.0.22-0ubuntu0.17.04.1) を展開しています...
以前に未選択のパッケージ php7.0-cli を選択しています。
.../5-php7.0-cli_7.0.22-0ubuntu0.17.04.1_i386.deb を展開する準備をしています ...
php7.0-cli (7.0.22-0ubuntu0.17.04.1) を展開しています...
以前に未選択のパッケージ libapache2-mod-php7.0 を選択しています。
.../6-libapache2-mod-php7.0_7.0.22-0ubuntu0.17.04.1_i386.deb を展開する準備をしています ...
libapache2-mod-php7.0 (7.0.22-0ubuntu0.17.04.1) を展開しています...
以前に未選択のパッケージ php7.0 を選択しています。
.../7-php7.0_7.0.22-0ubuntu0.17.04.1_all.deb を展開する準備をしています ...
php7.0 (7.0.22-0ubuntu0.17.04.1) を展開しています...
以前に未選択のパッケージ php を選択しています。
.../8-php_1%3a7.0+49_all.deb を展開する準備をしています ...
php (1:7.0+49) を展開しています...
php-common (1:49) を設定しています ...
Created symlink /etc/systemd/system/timers.target.wants/phpsessionclean.timer → /lib/systemd/system/phpsessionclean.timer.
man-db (2.7.6.1-2) のトリガを処理しています ...
php7.0-common (7.0.22-0ubuntu0.17.04.1) を設定しています ...
Creating config file /etc/php/7.0/mods-available/calendar.ini with new version
Creating config file /etc/php/7.0/mods-available/ctype.ini with new version
Creating config file /etc/php/7.0/mods-available/exif.ini with new version
Creating config file /etc/php/7.0/mods-available/fileinfo.ini with new version
Creating config file /etc/php/7.0/mods-available/ftp.ini with new version
Creating config file /etc/php/7.0/mods-available/gettext.ini with new version
Creating config file /etc/php/7.0/mods-available/iconv.ini with new version
Creating config file /etc/php/7.0/mods-available/pdo.ini with new version
Creating config file /etc/php/7.0/mods-available/phar.ini with new version
Creating config file /etc/php/7.0/mods-available/posix.ini with new version
Creating config file /etc/php/7.0/mods-available/shmop.ini with new version
Creating config file /etc/php/7.0/mods-available/sockets.ini with new version
Creating config file /etc/php/7.0/mods-available/sysvmsg.ini with new version
Creating config file /etc/php/7.0/mods-available/sysvsem.ini with new version
Creating config file /etc/php/7.0/mods-available/sysvshm.ini with new version
Creating config file /etc/php/7.0/mods-available/tokenizer.ini with new version
php7.0-readline (7.0.22-0ubuntu0.17.04.1) を設定しています ...
Creating config file /etc/php/7.0/mods-available/readline.ini with new version
php7.0-opcache (7.0.22-0ubuntu0.17.04.1) を設定しています ...
Creating config file /etc/php/7.0/mods-available/opcache.ini with new version
php7.0-json (7.0.22-0ubuntu0.17.04.1) を設定しています ...
Creating config file /etc/php/7.0/mods-available/json.ini with new version
php7.0-cli (7.0.22-0ubuntu0.17.04.1) を設定しています ...
update-alternatives: /usr/bin/php (php) を提供するために自動モードで /usr/bin/php7.0 を使います
update-alternatives: /usr/bin/phar (phar) を提供するために自動モードで /usr/bin/phar7.0 を使います
update-alternatives: /usr/bin/phar.phar (phar.phar) を提供するために自動モードで /usr/bin/phar.phar7.0 を使います
Creating config file /etc/php/7.0/cli/php.ini with new version
libapache2-mod-php7.0 (7.0.22-0ubuntu0.17.04.1) を設定しています ...
Creating config file /etc/php/7.0/apache2/php.ini with new version
Module mpm_event disabled.
Enabling module mpm_prefork.
apache2_switch_mpm Switch to prefork
apache2_invoke: Enable module php7.0
php7.0 (7.0.22-0ubuntu0.17.04.1) を設定しています ...
php (1:7.0+49) を設定しています ...
ubuntu@ubuntu17-server-100:~$

ubuntu@ubuntu17-server-100:~$ sudo apt-get install libapache2-mod-php
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
  libapache2-mod-php
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
2,984 B のアーカイブを取得する必要があります。
この操作後に追加で 16.4 kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com/ubuntu zesty/main i386 libapache2-mod-php all 1:7.0+49 [2,984 B]
2,984 B を 0秒 で取得しました (55.6 kB/s)
以前に未選択のパッケージ libapache2-mod-php を選択しています。
(データベースを読み込んでいます ... 現在 97796 個のファイルとディレクトリがインストールされています。)
.../libapache2-mod-php_1%3a7.0+49_all.deb を展開する準備をしています ...
libapache2-mod-php (1:7.0+49) を展開しています...
libapache2-mod-php (1:7.0+49) を設定しています ...
ubuntu@ubuntu17-server-100:~$

インストール後の確認

phpの動作を確認します。

$ php -v

実際の操作サンプル

ubuntu@ubuntu17-server-100:~$ php -v
PHP 7.0.22-0ubuntu0.17.04.1 (cli) (built: Aug  8 2017 22:03:30) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.22-0ubuntu0.17.04.1, Copyright (c) 1999-2017, by Zend Technologies

info.phpを作成しての確認

phpの動作確認には、info.phpを作成してブラウザで確認するというのが一般的でしょうか。

$ sudo vi /var/www/html/info.php

実際の操作サンプル

ubuntu@ubuntu17-server-100:~$ sudo vi /var/www/html/info.php

以下を書き込んで保存します。
<?php
    phpinfo();
?>

info.phpの内容を確認

ubuntu@ubuntu17-server-100:~$ cat /var/www/html/info.php
<?php
    phpinfo();
?>
ubuntu@ubuntu17-server-100:~$

ブラウザから次のような表示がされれば確認OKです。
ubuntu PHPインストール

PHPのインストールパッケージを追加

PHPのインストールパッケージが足りていなかったので追加します。申し訳ありません。

$ sudo apt-get install php-mysql

実際の操作サンプル

ubuntu@ubuntu17-server-100:~$ sudo apt-get install php-mysql
[sudo] ubuntu のパスワード:
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  php7.0-mysql
以下のパッケージが新たにインストールされます:
  php-mysql php7.0-mysql
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 4 個。
133 kB のアーカイブを取得する必要があります。
この操作後に追加で 469 kB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://jp.archive.ubuntu.com/ubuntu zesty-updates/main i386 php7.0-mysql i386 7.0.22-0ubuntu0.17.04.1 [131 kB]
取得:2 http://jp.archive.ubuntu.com/ubuntu zesty/main i386 php-mysql all 1:7.0+49 [1,916 B]
133 kB を 0秒 で取得しました (1,081 kB/s)
以前に未選択のパッケージ php7.0-mysql を選択しています。
(データベースを読み込んでいます ... 現在 98325 個のファイルとディレクトリがインストールされています。)
.../php7.0-mysql_7.0.22-0ubuntu0.17.04.1_i386.deb を展開する準備をしています ...
php7.0-mysql (7.0.22-0ubuntu0.17.04.1) を展開しています...
以前に未選択のパッケージ php-mysql を選択しています。
.../php-mysql_1%3a7.0+49_all.deb を展開する準備をしています ...
php-mysql (1:7.0+49) を展開しています...
php7.0-mysql (7.0.22-0ubuntu0.17.04.1) を設定しています ...

Creating config file /etc/php/7.0/mods-available/mysqlnd.ini with new version

Creating config file /etc/php/7.0/mods-available/mysqli.ini with new version

Creating config file /etc/php/7.0/mods-available/pdo_mysql.ini with new version
libapache2-mod-php7.0 (7.0.22-0ubuntu0.17.04.1) のトリガを処理しています ...
php-mysql (1:7.0+49) を設定しています ...

以下のパッケージは必須ではないですが、必要に応じてインストールしておいた方がいいです。
php-mbstring
php-mcrypt
php-curl
php-gd
php-xml