Debian busterにapache2を入れた時の備忘録です。
目次
Apache2のインストール
$ sudo apt install apache2
ブラウザにIPアドレスを入れるとデフォルトページが開きます。
ユーザーディレクトリの使用
/home/seko/public_htmlをユーザーディレクトリに設定して、userdirモジュールを使用できるようにする。
$ sudo a2enmod /userdir
$ mkdir -m 705 public_html
$ sudo systemctl restart apache2
これで、http://192.168.1.35/~sekoにアクセスできるようになりました。
セキュリティのバグを突かれないための対策
$ sudo vi /etc/apache2/apache2.conf
ServerTokens Prod //Apacheのバージョンを非表示にする ServerSignature Off //フッターに署名そのものを表示させない
cgiを使えるようにする
$ sudo a2enmod cgi
$ sudo vi /etc/apache2/apache2.conf
設定例
<Directory /home/seko/public_html> Options Indexes FollowSymLinks ExecCGI Includes //cgiとssiの許可 ※ファイル一覧を表示させない場合は、Indexesを削除 AddHandler cgi-script .cgi //cgiファイルをcgiスクリプトとして扱う AddHandler server-parsed html //htmlファイル内でssiを扱えるようにする AllowOverride None //.htaccessでの上書きを禁止する Require all granted //すべてのアクセスを許可 </Directory>
※ユーザーの権限でApacheの動作を制御させる場合(cgi,ssiの許可)は、AllowOverride をAllにして、ユーザーディレクトリ内に.htaccessファイルを置けば良い。
apache2.conf
<Directory /home/seko/public_html> Options Indexes FollowSymLink AllowOverride All Require all granted </Directory>
.htaccess
Options +ExecCGI +Includes AddHandler cgi-script .cgi AddHandler server-parsed html
ドキュメントルートの変更
$ sudo vi /etc/apache2/sites-available/000-default.conf
#DocumentRoot /var/www/html DocumentRoot /home/seko/public_html
コメント