| トップ | Solaris | FreeBSD | Gentoo | CentOS | Fedora | Windows | Tips | 自宅サーバの動作確認 | サイト内検索(Namazu) | サイト内検索(HE) |
[root@Fedora ~]# yum -y install httpd <= 「Apache」のインストール [root@Fedora ~]# yum clean packages <= ダウンロードしたパッケージの削除 |
[root@Fedora ~]# vi /etc/httpd/conf/httpd.conf <= 設定ファイルの編集
ServerTokens OS
↓
ServerTokens Prod <= エラーページ等でApacheのバージョン等を表示しない
ServerAdmin root@localhost
↓
ServerAdmin kaz@crimson-snow.net <= 管理者のメールアドレスを指定
#ServerName new.host.name:80
↓
ServerName www.crimson-snow.net:80 <= サーバ名を指定
<Directory "/var/www/html">
Options Indexes FollowSymLinks
↓
Options Includes ExecCGI FollowSymLinks <= CGI,SSIを許可
</Directory>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
↓
LogFormat "%h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
<= 長すぎるURI(414エラー)をログに記録しない
wormからのアクセスのログを切り分けるように設定
#CustomLog logs/access_log combined <= コメントアウト
以下から追加
SetEnvIf Request_URI "default\.ida" no_log worm
SetEnvIf Request_URI "cmd\.exe" no_log worm
SetEnvIf Request_URI "root\.exe" no_log worm
SetEnvIf Request_URI "Admin\.dll" no_log worm
SetEnvIf Request_URI "NULL\.IDA" no_log worm
SetEnvIf Request_URI "xmlrpc\.php" no_log worm
SetEnvIf Request_URI "zero_vote" no_log worm
SetEnvIf Request_URI "sumthin" no_log worm
SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(css)$" no_log <= gif,jpg,png,cssへのアクセスをログに記録しない
SetEnvIf Remote_Addr 192.168. no_log <= 内部からのアクセスをログに記録しない
CustomLog logs/access_log combined env=!no_log <= 上記以外のアクセスをログに記録する(通常のログファイル)
CustomLog logs/worm_log combined env=worm <= wormのログファイル
ここまで追加
ServerSignature On
↓
ServerSignature Off <= エラーページ等でApacheのバージョン等を表示しない
#AddHandler cgi-script .cgi
↓
AddHandler cgi-script .cgi .pl <= CGIスクリプトに.plを追加
|
Perlを利用する場合、先頭にPerlへのパスを記述しますが、Fedora以外ではパスが
/usr/local/bin/perl
というケースが多々あります。
そこで、このパスでも実行できるよう、リンクを貼ります。
[root@Fedora ~]# ln -s /usr/bin/perl /usr/local/bin/perl |
ドキュメントルートの所有者を一般ユーザに変更します。
[root@Fedora ~]# chown kaz.kaz /var/www/html/ |
[root@Fedora ~]# /etc/rc.d/init.d/httpd start |
「Apache」の自動起動
Fedoraを起動する際に自動的に「Apache」を起動するようにします。
[root@Fedora ~]# chkconfig httpd on |
このままですと、すべてのディレクトリでCGIが実行されてしまいます。
その為、セキュリティ的にも問題がありますので、CGIの実行を許可するディレクトリを限定します。
なお、ここでは /var/www/html/cgi-bin のみ実行を許可するものとします。
[root@Fedora ~]# vi /etc/httpd/conf/httpd.conf <= 設定ファイルの編集
<Directory "/var/www/html">
Options FollowSymLinks <= 「Includes ExecCGI」を追加しない
</Directory>
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" <= 確認(CGIを許可するディレクトリを指定)
<Directory "/var/www/cgi-bin">
AllowOverride None
Options Includes None
↓
Options Includes ExecCGI FollowSymLinks <= CGI,SSIを許可
Order allow,deny
Allow from all
AddHandler image/gif .gif <= 追加(gifはイメージファイルとして処理)
AddHandler image/jpeg .jpeg .jpg <= 追加(jpeg jpgはイメージファイルとして処理)
AddHandler image/png .png <= 追加(pngはイメージファイルとして処理)
AddHandler text/css .css <= 追加(cssはcssとして処理)
AddHandler text/html .html .htm <= 追加(html htmはhtmlとして処理)
</Directory>
|
「Apache」を再起動し、設定を反映させます。
[root@Fedora ~]# /etc/rc.d/init.d/httpd restart |