7、WebサーバーApache2。
・OSと同時にインストールしてあるので基本設定をする。
実は今回良い機会なので長年使ってきたApache2から最近流行りのEginx(エンジンエックス)への変更を試みたのだがSSL化で失敗、結局これまでのApache2に帰ってきたという結末になった。
次回こそはEginxにチャレンジして成功させてみたいと思う。
# vi /etc/apache2/conf-enabled/security.conf
26行目変更
ServerTokens Prod
# vi /etc/apache2/mods-enabled/dir.conf
ディレクトリ名のみでアクセスできるファイル名を設定
DirectoryIndex index.html index.htm index.php
この段階でLAN内からサーバーにブラウザで
http://ローカルIPアドレス
つないで↓の画面がでたら一応ここまでは成功。
・CGI を有効にして Perlスクリプトが利用できるようにする。
# vi /etc/apache2/mods-enabled/mime.conf
219行目コメント解除し、CGIとして扱う拡張子を設定しPHPを追記する。
AddHandler cgi-script .cgi .pl
AddHandler php7-script .php
・Perl をインストール
# apt -y install perl
# /sbin/a2enmod cgid
Enabling module cgid.
To activate the new configuration, you need to run:
アパッチの再読込。
# systemctl restart apache2
・ PHP を使えるようにする。
# apt -y install php php-cgi libapache2-mod-php php-common php-pear php-mbstring
# /sbin/a2enconf php7.3-cgi
Enabling conf php7.3-cgi.
To activate the new configuration, you need to run:
systemctl reload apache2
# vi /etc/php/7.3/apache2/php.ini
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
のすぐ下。
date.timezone = "Asia/Tokyo" 924行目コメント解除タイムゾーン設定
# vi /var/www/html/index.php
<html>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
<?php
print "PHP Test Page";
?>
</div>
</body>
</html>
これでhtml.phpファイルにアクセスして「PHP Test Page」と表示されたら完了。
・ユーザーディレクトリでのPHPを有効にする。
# vi /etc/apache2/mods-enabled/php7.3.conf
# php_admin_flag engine Off 23行目コメント化
・一般ユーザーが自身のホームディレクトリ内に置いたファイルを Web サイトとして公開できるようにする。(任意のディレクトリで CGI/PHP が実行可能なように設定)
# /sbin/a2enmod userdir
Enabling module userdir.
To activate the new configuration, you need to run:
まずはユーザーディレクトリの有効化。
# vi /etc/apache2/mods-enabled/userdir.conf
</Directory>
</IfModule>の間の行に
<Directory /home/*/public_html/cgi-bin>
Options ExecCGI
AllowOverride All
</Directory>
を追加する。
# vi /etc/apache2/apache2.conf
70行目にサーバー名追記
ServerName www.ドメイン.jp
# vi /etc/apache2/sites-enabled/000-default.conf
11行目管理者アドレス変更
ServerAdmin webmaster@ドメイン.jp
SSL化のためにサーバーのドキュメントルートを変更しなきゃならんので
DocumentRoot /home/ユーザーID/public_html
直下に
<Directory /home/ユーザーID/public_html>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
追加
・php用のimagick拡張機能(画像貼付用)をインストール
# apt install php-imagick
・php用のGDライブラリのインストール
# apt install php7.3-gd
# systemctl restart apache2
毎度のことながらこの記事は自分が忘備録として書いているだけなので正確性も保証しかねるし問題が起きても質問にも答えられないし責任も取れない。
debianはフリーのLinuxOSなのでそのへんは全て自己責任ということになるのを覚悟で実行してもらいたい。