- apache2, php が OS にインストールされていないことの確認
$ dpkg -l | grep apache
$ dpkg -l | grep php
- インストール
- パッケージの更新
$ sudo apt update
$ sudo apt upgrade
- apache のインストール
$ sudo apt install apache2
- PHP のインストール
$ sudo apt install php
cURL は使用しないので「php-curl」オプションは付けない
バージョンの確認
$ php --version
PHP 7.4.3 (cli) (built: Oct 6 2020 15:47:56) ( 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
- 上の2つのインストールで,Apache + PHP が自動的につくられている:
$ ls -la /etc/php/7.4/apache2/
drwxr-xr-x 2 root root 4096 Feb 25 17:54 conf.d
-rw-r--r-- 1 root root 72941 Oct 7 00:47 php.ini
- apache の設定
- apache の設定ファイル:
$ ls -la /etc/apache2
-rw-r--r-- 1 root root 7224 Aug 13 2020 apache2.conf
drwxr-xr-x 2 root root 4096 Feb 25 17:52 conf-available
drwxr-xr-x 2 root root 4096 Feb 25 17:52 conf-enabled
-rw-r--r-- 1 root root 1782 Apr 14 2020 envvars
-rw-r--r-- 1 root root 31063 Apr 14 2020 magic
drwxr-xr-x 2 root root 12288 Feb 25 17:54 mods-available
drwxr-xr-x 2 root root 4096 Feb 25 17:54 mods-enabled
-rw-r--r-- 1 root root 320 Apr 14 2020 ports.conf
drwxr-xr-x 2 root root 4096 Feb 25 18:03 sites-available
drwxr-xr-x 2 root root 4096 Feb 25 17:52 sites-enabled
- ポート番号 : 80
$ cat /etc/apache2/ports.conf | grep Listen
- ドキュメントルートの変更
デフォルトは /var/www/html
$ ls -la /var/www/html
-rw-r--r-- 1 root root 10918 Feb 25 17:52 index.html
これを,/home/ubuntu/apache/www に変更する
$ mkdir /home/ubuntu/apache
$ mkdir /home/ubuntu/apache/www
$ sudo vi /etc/apache2/sites-available/000-default.conf
#DocumentRoot /var/www/html
DocumentRoot /home/ubuntu/apache/www
- permission to access
$ sudo vi /etc/apache2/apache2.conf
ドキュメントルートの変更に合わせて,つぎの設定をする:
#
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
この設定をしないと,つぎのようにアクセスが拒否される:
Forbidden
You don't have permission to access this resource.
- ログを置くディレクトリ : /var/log/apache2
$ ls -la /var/log/apache2
-rw-r----- 1 root adm 0 Feb 25 17:52 access.log
-rw-r----- 1 root adm 997 Feb 25 17:54 error.log
-rw-r----- 1 root adm 0 Feb 25 17:52 other_vhosts_access.log
- index ファイルの設定
$ sudo vi /etc/apache2/mods-enabled/dir.conf
DirectoryIndex を編集
#DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
DirectoryIndex index_j.phtml index.phtml index_j.html index.html
- 「.phtml」の MIME設定
$ sudo vi /etc/apache2/mods-enabled/mime.conf
つぎを追加:
AddType application/x-httpd-php .phtml .php
- PHP の設定── /etc/php/7.4/apache2/php.ini
$ cd /etc/php/7.4/apache2
$ ls -la
drwxr-xr-x 2 root root 4096 Feb 25 17:54 conf.d
-rw-r--r-- 1 root root 72941 Oct 7 00:47 php.ini
$ ls -la conf.d
lrwxrwxrwx 1 root root 39 Feb 25 17:54 10-opcache.ini -> /etc/php/7.4/mods-available/opcache.ini
lrwxrwxrwx 1 root root 35 Feb 25 17:54 10-pdo.ini -> /etc/php/7.4/mods-available/pdo.ini
lrwxrwxrwx 1 root root 40 Feb 25 17:53 20-calendar.ini -> /etc/php/7.4/mods-available/calendar.ini
lrwxrwxrwx 1 root root 37 Feb 25 17:53 20-ctype.ini -> /etc/php/7.4/mods-available/ctype.ini
lrwxrwxrwx 1 root root 36 Feb 25 17:53 20-exif.ini -> /etc/php/7.4/mods-available/exif.ini
lrwxrwxrwx 1 root root 35 Feb 25 17:54 20-ffi.ini -> /etc/php/7.4/mods-available/ffi.ini
lrwxrwxrwx 1 root root 40 Feb 25 17:54 20-fileinfo.ini -> /etc/php/7.4/mods-available/fileinfo.ini
lrwxrwxrwx 1 root root 35 Feb 25 17:54 20-ftp.ini -> /etc/php/7.4/mods-available/ftp.ini
lrwxrwxrwx 1 root root 39 Feb 25 17:54 20-gettext.ini -> /etc/php/7.4/mods-available/gettext.ini
lrwxrwxrwx 1 root root 37 Feb 25 17:54 20-iconv.ini -> /etc/php/7.4/mods-available/iconv.ini
lrwxrwxrwx 1 root root 36 Feb 25 17:54 20-json.ini -> /etc/php/7.4/mods-available/json.ini
lrwxrwxrwx 1 root root 36 Feb 25 17:54 20-phar.ini -> /etc/php/7.4/mods-available/phar.ini
lrwxrwxrwx 1 root root 37 Feb 25 17:54 20-posix.ini -> /etc/php/7.4/mods-available/posix.ini
lrwxrwxrwx 1 root root 40 Feb 25 17:54 20-readline.ini -> /etc/php/7.4/mods-available/readline.ini
lrwxrwxrwx 1 root root 37 Feb 25 17:54 20-shmop.ini -> /etc/php/7.4/mods-available/shmop.ini
lrwxrwxrwx 1 root root 39 Feb 25 17:54 20-sockets.ini -> /etc/php/7.4/mods-available/sockets.ini
lrwxrwxrwx 1 root root 39 Feb 25 17:54 20-sysvmsg.ini -> /etc/php/7.4/mods-available/sysvmsg.ini
lrwxrwxrwx 1 root root 39 Feb 25 17:54 20-sysvsem.ini -> /etc/php/7.4/mods-available/sysvsem.ini
lrwxrwxrwx 1 root root 39 Feb 25 17:54 20-sysvshm.ini -> /etc/php/7.4/mods-available/sysvshm.ini
lrwxrwxrwx 1 root root 41 Feb 25 17:54 20-tokenizer.ini -> /etc/php/7.4/mods-available/tokenizer.ini
$ sudo cp php.ini php.ini.org
$ sudo vi php.ini
short_open_tag = On
(
- /var/www が root 権限になっているので,ubuntu に変更
$ cd /var
$ sudo chown -R ubuntu www
- テスト
- 起動
$ sudo service apache2 start
$ ps -ef | grep apache
root 37550 1 0 17:54 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 37554 37550 0 17:54 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 37555 37550 0 17:54 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 37556 37550 0 17:54 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 37557 37550 0 17:54 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 37558 37550 0 17:54 ? 00:00:00 /usr/sbin/apache2 -k start
- /home/ubuntu/apache/www/index.phtml を作成:
$ vi /home/ubuntu/apache/www/index.phtml
PC のブラウザからアクセス
http://192.168.1.150
- 停止
$ sudo service apache2 stop
|