http://ドメイン/~ユーザー名でアクセスできるようにする |
ユーザーディレクトリに public_html ディレクトリがあることが前提です。
※ CGIは専用のディレクトリcgi-binのみで動作するようにします。
※ 自動で作るにはユーザーの追加を参照
※ /home/ユーザー名/public_html
# vi /etc/apache2/conf/httpd.conf ← 設定ファイル編集 #UserDir disable ← # を追記(コメントアウト) UserDir public_html ← # を削除(コメント) 下記部分の先頭の# を削除 <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit ← オプションは下記を参照 Options MultiViews SymLinksIfOwnerMatch IncludesNoExec ← Indexesを削除(オプションは下記を参照) <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory> ユーザーのCGI専用ディレクトリの設定 #ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" ← # を追記(コメントアウト) 下記の部分の先頭に# を追記(コメントアウト) #<Directory "/var/www/cgi-bin"> # AllowOverride None # Options None # Order allow,deny # Allow from all #</Directory>※下記を追記 <Directory /home/*/public_html/cgi-bin> AllowOverride FileInfo AuthConfig Limit ← オプションは下記を参照 Options ExecCGI ← CGIを有効(その他オプションは下記を参照) Order allow,deny Allow from all </Directory>※ CGIを許可しないユーザーの場合は下記を追加 ↓ <Directory /home/xxxxxx/public_html/cgi-bin> Options None ← ここをNoneでCGIを不可に(下記のオプションを参考) </Directory> # /etc/rc.d/init.d/apache2 restart ← 設定終了後に再起動で設定反映 httpdを停止中: [ OK ] httpdを起動中: [ OK ] |
※ 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をを認めない |
きちんと見れるかテストします
@ ユーザーディレクトリ(/home/ユーザー名/public_html)にテスト用のindex.htmlファイルをアップロードします
A Lan 内のPCからテスト → http://192.168.11.2/~ユーザー名
※ 192.168.11.2 の部分はサーバーのIP
index.htmlファイルが見れれば成功です。
バーチャルホストの設定 |
バーチャルホストとは1つのWeb サーバーで複数のサイト運営をすることです。
少し説明が下手ですが…
例として、abcd.com と言うドメインを取得したとします。
http://好きな文字.abcd.com といた感じで複数のドメインでサイト運営できます。
# vi /etc/apache2/conf/httpd.conf ← 設定ファイル編集 最下部に追記していきます。 NameVirtualHost *:80 ※ まずメインのドメインの記述を必ずします <VirtualHost *:80> ServerAdmin xxxxx@xxxxx.com DocumentRoot /home/httpd/html ServerName xxxxx.com </VirtualHost> ※ ここからサブドメインの設定です <VirtualHost *:80> ServerAdmin 1234@xxxxx.com DocumentRoot /home/ユーザー名/public_html ← htmlファイルの置く場所 ServerName 1234.xxxxx.com ← 1234の部分は任意(好きなもの) </VirtualHost> ※ 複数設定する場合は上記の要領で記載してください <VirtualHost *:80> ServerAdmin aaaaa@xxxxx.com DocumentRoot /home/ユーザー名2/public_html ServerName abcde.xxxxx.com </VirtualHost> ※ 参考 ServerAdmin は何らかのエラーがリクエストに対して発生した場合、エラーメッセージと共にココに設定したアドレスがブラウザ上に表示されます。 各ホストごとに設定した方が無難だと思います。 DocumentRoot はhtml ファイルの置く場所を指定します ServerName ドメインを指定します # /etc/rc.d/init.d/apache2 restart ← 設定終了後に再起動で設定反映 httpdを停止中: [ OK ] httpdを起動中: [ OK ] |
※ CGI の設定は上記の設定と同じですのでそちらを設定してください。
SSI の動作確認する |
SSI ファイルを以下の内容で作成
<html> <body> <pre> <!--#printenv --> </pre> </body> </html> |
適当なファイル名をつけ拡張子を .shtml にして保存して、ユーザーディレクトリ(ドキュメントルート)に保存してください。
ブラウザでアクセスして環境変数一覧が表示ざれれば、SSI は正常に作動してます。
Copyright c Vine Linuxで自宅サーバー. 2004 All Rights Reserved.