| Vine3系標準のApache1.3を削除してApache2をインストール |
ここでは、VineにApache2の導入方法を説明します。
※ 特にApache2の必要性が無い場合や、チャレンジャー精神が旺盛な方以外はApache1.3のままでもOKです。
設定内容は、CGIとSSIと.htaccessを有効にします。
※ SSIと.htaccessの設定はオプションで各自の環境に合わせます。
| Vine標準のApache1.3を削除してApache2をインストール |
# apt-get remove apache ← Apache1.3のアインストール パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 以下のパッケージが削除されます: apache mod_ssl アップグレード: 0 個, 新規インストール: 0 個, 削除: 2 個, 保留: 0 個 0B のアーカイブを取得する必要があります。 展開後に 2583kB が解放されます。 続行しますか? [Y/n]y ← yで応答 変更を適用しています... 準備中... ########################################### [100%] 完了# apt-get install httpd ← Apache2のインストール パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 'httpd' として apache2 を選択しました 以下の追加パッケージがインストールされます: apache2 apache2-apr openldap 以下のパッケージが新たにインストールされます: apache2 apache2-apr openldap アップグレード: 0 個, 新規インストール: 3 個, 削除: 0 個, 保留: 0 個 2137kB のアーカイブを取得する必要があります。 展開後に 5406kB のディスク容量が追加消費されます。 続行しますか? [Y/n]y ← y応答 取得:1 http://updates.vinelinux.org 3.2/i386/plus apache2-apr 2.0.55-0vl0.1 [97.9kB] 取得:2 http://updates.vinelinux.org 3.2/i386/plus openldap 2.1.30-0vl1 [581kB] 取得:3 http://updates.vinelinux.org 3.2/i386/plus apache2 2.0.55-0vl0.1 [1458kB] 2137kB を 1s 秒で取得しました (1385kB/s) 変更を適用しています... 準備中... ########################################### [100%] 1:apache2-apr ########################################### [ 33%] 2:openldap ########################################### [ 66%] 3:apache2 ########################################### [100%] 完了 |
| Apache2の基本設定 |
# vi /etc/apache2/conf/httpd.conf ← Apache2の設定ファイル編集 ServerTokens Prod ← エラーページでOS名を非表示にする ServerAdmin webmaster@xxxxx.com ← 管理者のメールアドレス ServerName xxxxx.com:80 ← #を削除して自分のドメイン名を指定(※ドメインの後に「:80」が付きます) DocumentRoot "/home/httpd/html" ← ドキュメントルートをVine標準の場所に設定 <Directory "/home/httpd/html"> ← ディレクトリをVine標準の場所に設定 Options Includes ExecCGI FollowSymLinks ← Indexesを削除してSSIとCGIを有効に (※ Optionsのオプションは下記を参照) AllowOverride All ← .htaccessの有効化 (※ AllowOverrideのオプションは下記を参照) DirectoryIndex index.html index.htm index.shtml index.php index.cgi ← インデックスファイルを設定 WebDAVの脆弱性を狙った攻撃への対策 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 ※ 追記 (wormからのアクセスをログに記録しない対策) SetEnvIf Request_URI "cmd\.exe" nolog SetEnvIf Request_URI "root\.exe" nolog SetEnvIf Request_URI "Admin\.dll" nolog SetEnvIf Request_URI "NULL\.IDA" nolog SetEnvIf Request_URI "^/_mem_bin/" nolog SetEnvIf Request_URI "^/_vti_bin/" nolog SetEnvIf Request_URI "^/c/" nolog SetEnvIf Request_URI "^/d/" nolog SetEnvIf Request_URI "^/msadc/" nolog SetEnvIf Request_URI "^/MSADC/" nolog SetEnvIf Request_URI "^/scripts/" nolog SetEnvIf Request_URI "^/default.ida" nolog ※ 追記 (gif,jpg,png,ico,cssへのアクセスをログに記録しない対策) SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(ico)|(css)$" nolog ※ 追記 (内部からのアクセスをログに記録しない対策) SetEnvIf Remote_Addr 192.168.11. nolog CustomLog logs/access_log combined env=!nolog ← env=!nologを追記 ServerSignature off ← off指定でエラーページでApacheのバージョン非表示 #ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" ← # を追記(コメントアウト) #AddDefaultCharset ISO-8859-1 ← #を追記(コメントアウト) AddHandler cgi-script .cgi .pl ← #を削除して .plを追加 # /etc/rc.d/init.d/apache2 restart ← 設定終了後に再起動で設定反映 httpdを停止中: [ OK ] httpdを起動中: [ OK ] # chkconfig apache2 on ← 自動起動設定 # chkconfig --list apache2 ← 自動起動設定の確認 apache2 0:off 1:off 2:off 3:on 4:on 5:on 6:off |
| ※ Options は有効にするサーバのオプションを指定します。 | |
| All | MultiViewを除くすべて有効。 |
| ExecCGI | CGIプログラムの実行許可。 |
| FollowSymLink | シンボリックリンクに従う。 |
| Includes | SSIの許可。 |
| IncludesNoExec | SSI は許可、CGI の #Exec と #include は禁止。 |
| Indexes | ディレクトリにアクセスがあった場合、にindex.html等のファイルがないと、 インデックスリストが自動作成され表示されます |
| MultiViews | マルチビューのサーチを許可(例えば、.../Fileのリクエスト時に このファイルが存在しない場合、サーバは.../File.*をサーチ)。 |
| None | すべて禁止。 |
| ※ AllowOverride は.htaccess のオプションです | |
| All | ユーザーの.htaccess指定を優先利用する |
| AuthConfig | ユーザー認証のコントロールコマンドのみ記述を許可 |
| FileInfo | ドキュメントタイプ関係のコマンドのみ記述を許可 |
| Indexes | ディレクトリインデックス関係のコマンドのみ記述を許可 |
| Limit | ユーザーのアクセスコントロール関係のコマンドのみ記述を許可 |
| Options | Optionsやディレクトリ設定関係のコマンドのみ記述を許可 |
| None | ユーザーの.htaccessをを認めない |
| ディレクトリのアクセス権変更 |
※ Vine標準Apache1.3の設定時にこの作業を行った場合は省略してください。
/home/httpd の所有権がデフォルトでは root になっている為FTPで接続できないので、
所有権を実際にアップロードするユーザー名とグループ名に変更します。
実際にFTPで接続するユーザーに/home/httpd/html の所有権を変更する # chown -R ユーザー名:グループ名 /home/httpd/html |
| Perlコマンドを/usr/local/bin/perlでもアクセスできるように設定 |
Vine Linux の場合Perlコマンドは、#!/usr/bin/perlですが、/usr/local/bin/perlでもアクセスできるようにします。
# ln -s /usr/bin/perl /usr/local/bin/perl ← /usr/local/bin/perlから/usr/bin/perlへリンクをはる # whereis perl ← /usr/local/bin/perlが有るか確認 perl: /usr/bin/perl /usr/local/bin/perl /usr/share/man/man1/perl.1.gz |
| Apache接続テスト |
これだけの設定でApacheはもう作動しています。
Lan 内からテストしてみる。
ブラウザから以下のURLで確認してください。
Lan 内のPCから確認 → http://192.168.11.2 (サーバー機のIP)
ダイナミックDNSやDiCE等の設定が終わっているなら取得したドメインでテストしてみる
この場合、外部からもちゃんと見れるかプロクシ等を利用してテストしてみるのもいいかもしれません。

この様な画像が出てくればApacheは正常に作動しています。
| SSI の動作確認する |
SSI ファイルを以下の内容で作成
<html> <body> <pre> <!--#printenv --> </pre> </body> </html> |
適当なファイル名をつけ拡張子を .shtml にして保存して、ホームディレクトリ(ドキュメントルート)に保存してください。
ブラウザでアクセスして環境変数一覧が表示ざれれば、SSI は正常に作動してます。
Copyright c Vine Linuxで自宅サーバー. 2004 All Rights Reserved.