サブドメイン公開のための設定 [自宅サーバ[Fedora11]]
ようやく、公開用サブドメイン等の実装がうまくいったので、まとめてみます。
VirtualHostの乱用(?)になってしまいました。
とりあえず想定通りの動きをしているようなので、これまた様子見にはいります。
ついでにドメイン名公開しちゃいます。
いちいち伏せるの疲れてきました(笑)
アクセスしてもらった方が不具合発見しやすいですしね。
ある意味公開テスト…
とはいえ、今のところまともに見ることができるのはブログのみ…しかも未投稿です(汗
さてどうやってまとめましょう。
公開URLの一覧画像なぞ貼ってみます。

↑こんな感じで構築します。
G…開発用(非公開)サーバgaruda
I…公開用サーバifrit
となってます。
garudaは外からは見ることができません。
httpsとか書いてあるのもありますが、未実装です。
adminもhttpsにする予定ですが、直し忘れてました(汗
●開発用(非公開)サーバgaruda側のconfファイル(anchor:configure_garuda)
まずは設定が簡単だったgaruda側から。
こちらはサブドメインの設定は無く、Aliasの記述でほぼ実装されてます。
基本設定は/etc/httpd/conf/httpd.conf、サイト独自の設定は/etc/httpd/conf.d/bcollet.confに記述しました。
cgi-binの記述もbcollet.confにしてあります。
・/etc/httpd/conf/httpd.conf
・/etc/httpd/conf.d/bcollet.conf
サイト独自の設定はほぼbcollet.confにあります。
DocumentRootのみhttpd.confに残してあるので、ちょっと判りにくいかも…
上記設定だと、ユーザフォルダではCGIが全面的に利用可能になります。
が、ルート以下ではCGIは利用できません。
ScriptAliasで指定しているcgi-binフォルダでのみ利用することになります。
ScriptAliasを指定するとExecCGIは不要なんですね。
いままで気にしたこともなかった…(汗
.htaccessによる設定の上書きは、cgi-bin以外で有効になるようにしています。
あとはログの記述をちょっと変更してあります。
デフォルトだとログは以下のようになります。
これをhttp~の形式で出力するように変更しました。
変更前の記述だと、どのサブドメインでのアクセスか判別できなかったので、こんな感じにしてみました。
●公開用サーバifrit側のconfファイル(anchor:configure_ifrit)
公開用サーバの方のconfファイルです。
VirtualHostを多用しています。
CGI、.htaccess、ログに関してはgarudaと同じにしてあります。
ifritで悩まされたのはVirtualHostの順序でした。
ユーザサイトの記述(一番下です)で、ServerAliasに複数の設定をしてあります。
これはユーザ名をサブドメイン(ホスト名?)として用いてみたくてこのようにしてみたのですが…
この記述のおかげで、このディレクティブ自体が他より早い位置にあると、全部ユーザサイトへのアクセスと判定されてしまい、あげくNotFoundになってしまいます。
そのため、ユーザサイト関連のディレクティブは最後に記述することにしました。
最後に持ってくることで、他のサブドメインのVirtualHostを先に判定してくれるようになり、NotFoundとなることもなくなりました。
・/etc/httpd/conf/httpd.con
・/etc/httpd/conf.d/bcollet.conf
ifrit側ではphpMyAdmin.confというのもあるのですが、そのファイルでの設定内容は編集したのちbcollet.confに移動してあります。
そのため、バックアップだけ取っておき、/etc/httpd/conf.d/phpMyAdmin.confそのものは削除しました。
:
ざざっとこんな感じです。
URLや設定ファイル載せちゃうと攻撃増えるかもしれませんが…
いまのところ何も置いてないので、別に攻撃されてもいいか、とか思ってます。
むしろ、何か置く前に穴を見つけてもらって、前もって対処できればいいなーとか(笑)
何も置いてないと言いましたが、テスト用のファイルだけは置いてあります。
各フォルダにtest.htmlというファイルがあるので、ご覧になりたい方はどうぞ。
ファイルはそのうち消しますが、サイトの中身が完成するまでは放置しておくつもりです。
ブログはここと同じユーザ名を使っています。
empty! @ BluishCollet
関連記事:サーバ構築作業まとめ
VirtualHostの乱用(?)になってしまいました。
とりあえず想定通りの動きをしているようなので、これまた様子見にはいります。
ついでにドメイン名公開しちゃいます。
いちいち伏せるの疲れてきました(笑)
アクセスしてもらった方が不具合発見しやすいですしね。
ある意味公開テスト…
とはいえ、今のところまともに見ることができるのはブログのみ…しかも未投稿です(汗
さてどうやってまとめましょう。
公開URLの一覧画像なぞ貼ってみます。

↑こんな感じで構築します。
G…開発用(非公開)サーバgaruda
I…公開用サーバifrit
となってます。
garudaは外からは見ることができません。
httpsとか書いてあるのもありますが、未実装です。
adminもhttpsにする予定ですが、直し忘れてました(汗
●開発用(非公開)サーバgaruda側のconfファイル(anchor:configure_garuda)
まずは設定が簡単だったgaruda側から。
こちらはサブドメインの設定は無く、Aliasの記述でほぼ実装されてます。
基本設定は/etc/httpd/conf/httpd.conf、サイト独自の設定は/etc/httpd/conf.d/bcollet.confに記述しました。
cgi-binの記述もbcollet.confにしてあります。
・/etc/httpd/conf/httpd.conf
### Section 1: Global Environment ServerTokens OS ServerRoot "/etc/httpd" PidFile run/httpd.pid Timeout 120 KeepAlive Off MaxKeepAliveRequests 100 KeepAliveTimeout 15 <IfModule prefork.c> StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 4000 </IfModule> <IfModule worker.c> StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule> Listen 80 LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authn_alias_module modules/mod_authn_alias.so #LoadModule authn_anon_module modules/mod_authn_anon.so LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_default_module modules/mod_authz_default.so #LoadModule ldap_module modules/mod_ldap.so #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so LoadModule include_module modules/mod_include.so LoadModule log_config_module modules/mod_log_config.so LoadModule logio_module modules/mod_logio.so LoadModule env_module modules/mod_env.so LoadModule ext_filter_module modules/mod_ext_filter.so LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule expires_module modules/mod_expires.so LoadModule deflate_module modules/mod_deflate.so LoadModule headers_module modules/mod_headers.so LoadModule usertrack_module modules/mod_usertrack.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule mime_module modules/mod_mime.so #LoadModule dav_module modules/mod_dav.so LoadModule status_module modules/mod_status.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule info_module modules/mod_info.so #LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule vhost_alias_module modules/mod_vhost_alias.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule dir_module modules/mod_dir.so LoadModule actions_module modules/mod_actions.so LoadModule speling_module modules/mod_speling.so LoadModule userdir_module modules/mod_userdir.so LoadModule alias_module modules/mod_alias.so LoadModule rewrite_module modules/mod_rewrite.so #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so #LoadModule proxy_http_module modules/mod_proxy_http.so #LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule cache_module modules/mod_cache.so LoadModule suexec_module modules/mod_suexec.so LoadModule disk_cache_module modules/mod_disk_cache.so LoadModule cgi_module modules/mod_cgi.so Include conf.d/*.conf User apache Group apache ### Section 2: 'Main' server configuration ServerAdmin webmaster@bluishcollet.com ServerName dev.bluishcollet.com:80 UseCanonicalName Off DocumentRoot "/var/www/html" <Directory /> Order deny,allow Deny from all </Directory> DirectoryIndex index.htm index.html index.html.var index.php AccessFileName .htaccess <Files ~ "^\.ht"> Order allow,deny Deny from all </Files> TypesConfig /etc/mime.types DefaultType text/plain <IfModule mod_mime_magic.c> MIMEMagicFile conf/magic </IfModule> HostnameLookups Off ErrorLog logs/error_log LogLevel warn LogFormat "%h %l %u %t \"%m http://%V%U %H\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%{Referer}i -> %U" referer CustomLog logs/referer_log referer CustomLog logs/access_log combined ServerSignature Off Alias /icons/ "/var/www/icons/" <Directory "/var/www/icons"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable Charset=UTF-8 AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip AddIconByType (TXT,/icons/text.gif) text/* AddIconByType (IMG,/icons/image2.gif) image/* AddIconByType (SND,/icons/sound2.gif) audio/* AddIconByType (VID,/icons/movie.gif) video/* AddIcon /icons/binary.gif .bin .exe AddIcon /icons/binhex.gif .hqx AddIcon /icons/tar.gif .tar AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip AddIcon /icons/a.gif .ps .ai .eps AddIcon /icons/layout.gif .html .shtml .htm .pdf AddIcon /icons/text.gif .txt AddIcon /icons/c.gif .c AddIcon /icons/p.gif .pl .py AddIcon /icons/f.gif .for AddIcon /icons/dvi.gif .dvi AddIcon /icons/uuencoded.gif .uu AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl AddIcon /icons/tex.gif .tex AddIcon /icons/bomb.gif core AddIcon /icons/back.gif .. AddIcon /icons/hand.right.gif README AddIcon /icons/folder.gif ^^DIRECTORY^^ AddIcon /icons/blank.gif ^^BLANKICON^^ DefaultIcon /icons/unknown.gif ReadmeName README.html HeaderName HEADER.html IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t AddLanguage ca .ca AddLanguage cs .cz .cs AddLanguage da .dk AddLanguage de .de AddLanguage el .el AddLanguage en .en AddLanguage eo .eo AddLanguage es .es AddLanguage et .et AddLanguage fr .fr AddLanguage he .he AddLanguage hr .hr AddLanguage it .it AddLanguage ja .ja AddLanguage ko .ko AddLanguage ltz .ltz AddLanguage nl .nl AddLanguage nn .nn AddLanguage no .no AddLanguage pl .po AddLanguage pt .pt AddLanguage pt-BR .pt-br AddLanguage ru .ru AddLanguage sv .sv AddLanguage zh-CN .zh-cn AddLanguage zh-TW .zh-tw LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW ForceLanguagePriority Prefer Fallback AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl AddHandler cgi-script .cgi .pl AddHandler type-map var AddType text/html .shtml .shtm AddOutputFilter INCLUDES .shtml .shtm Alias /error/ "/var/www/error/" <IfModule mod_negotiation.c> <IfModule mod_include.c> <Directory "/var/www/error"> AllowOverride None Options IncludesNoExec AddOutputFilter Includes html AddHandler type-map var Order allow,deny Allow from all LanguagePriority en es de fr ForceLanguagePriority Prefer Fallback </Directory> </IfModule> </IfModule> BrowserMatch "Mozilla/2" nokeepalive BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 BrowserMatch "RealPlayer 4\.0" force-response-1.0 BrowserMatch "Java/1\.0" force-response-1.0 BrowserMatch "JDK/1\.0" force-response-1.0 BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully BrowserMatch "MS FrontPage" redirect-carefully BrowserMatch "^WebDrive" redirect-carefully BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully BrowserMatch "^gnome-vfs/1.0" redirect-carefully BrowserMatch "^XML Spy" redirect-carefully BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
・/etc/httpd/conf.d/bcollet.conf
NameVirtualHost *:80
# default
<Directory /var/www>
AllowOverride All
Options FollowSymLinks IncludesNoExec
Order allow,deny
Allow from all
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
# cgi-bin
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory /var/www/cgi-bin>
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
# others
Alias /join/ /var/www/join/
Alias /support/ /var/www/support/
Alias /cpanel/ /var/www/cpanel/
Alias /blog/ /var/www/blog/
# user site
<IfModule mod_userdir.c>
UserDir public_html
</IfModule>
<Directory /home/*/public_html>
AllowOverride All
Options FollowSymLinks IncludesNoExec ExecCGI
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>サイト独自の設定はほぼbcollet.confにあります。
DocumentRootのみhttpd.confに残してあるので、ちょっと判りにくいかも…
上記設定だと、ユーザフォルダではCGIが全面的に利用可能になります。
が、ルート以下ではCGIは利用できません。
ScriptAliasで指定しているcgi-binフォルダでのみ利用することになります。
ScriptAliasを指定するとExecCGIは不要なんですね。
いままで気にしたこともなかった…(汗
.htaccessによる設定の上書きは、cgi-bin以外で有効になるようにしています。
あとはログの記述をちょっと変更してあります。
デフォルトだとログは以下のようになります。
192.168.11.14 - - [05/Nov/2009:13:23:20 +0900] "GET /test.html HTTP/1.1" 200 349 "-" "Mo zilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.1)"
これをhttp~の形式で出力するように変更しました。
192.168.11.14 - - [22/Nov/2009:17:27:36 +0900] "GET http://www.bluishcollet.com/test.html HTTP/1.1" 200 349 "-" "Mo zilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.1)"
変更前の記述だと、どのサブドメインでのアクセスか判別できなかったので、こんな感じにしてみました。
●公開用サーバifrit側のconfファイル(anchor:configure_ifrit)
公開用サーバの方のconfファイルです。
VirtualHostを多用しています。
CGI、.htaccess、ログに関してはgarudaと同じにしてあります。
ifritで悩まされたのはVirtualHostの順序でした。
ユーザサイトの記述(一番下です)で、ServerAliasに複数の設定をしてあります。
これはユーザ名をサブドメイン(ホスト名?)として用いてみたくてこのようにしてみたのですが…
この記述のおかげで、このディレクティブ自体が他より早い位置にあると、全部ユーザサイトへのアクセスと判定されてしまい、あげくNotFoundになってしまいます。
そのため、ユーザサイト関連のディレクティブは最後に記述することにしました。
最後に持ってくることで、他のサブドメインのVirtualHostを先に判定してくれるようになり、NotFoundとなることもなくなりました。
・/etc/httpd/conf/httpd.con
### Section 1: Global Environment
ServerTokens OS
ServerRoot "/etc/httpd"
PidFile run/httpd.pid
Timeout 120
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
</IfModule>
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
Listen 80
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_alias_module modules/mod_authn_alias.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
#LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule info_module modules/mod_info.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule actions_module modules/mod_actions.so
LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule cache_module modules/mod_cache.so
LoadModule suexec_module modules/mod_suexec.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule cgi_module modules/mod_cgi.so
Include conf.d/*.conf
User apache
Group apache
### Section 2: 'Main' server configuration
ServerAdmin webmaster@bluishcollet.com
ServerName www.bluishcollet.com:80
UseCanonicalName Off
DocumentRoot "/var/www/html"
<Directory />
Order deny,allow
Deny from all
</Directory>
DirectoryIndex index.htm index.html index.html.var index.php
AccessFileName .htaccess
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
TypesConfig /etc/mime.types
DefaultType text/plain
<IfModule mod_mime_magic.c>
MIMEMagicFile conf/magic
</IfModule>
HostnameLookups Off
ErrorLog logs/error_log
LogLevel warn
LogFormat "%h %l %u %t \"%m http://%V%U %H\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" co
mbined
LogFormat "%{Referer}i -> %U" referer
CustomLog logs/referer_log referer
CustomLog logs/access_log combined
ServerSignature Off
Alias /icons/ "/var/www/icons/"
<Directory "/var/www/icons">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable Charset=UTF-8
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
DefaultIcon /icons/unknown.gif
ReadmeName README.html
HeaderName HEADER.html
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru
sv zh-CN zh-TW
ForceLanguagePriority Prefer Fallback
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
AddHandler cgi-script .cgi .pl
AddHandler type-map var
AddType text/html .shtml .shtm
AddOutputFilter INCLUDES .shtml .shtm
Alias /error/ "/var/www/error/"
<IfModule mod_negotiation.c>
<IfModule mod_include.c>
<Directory "/var/www/error">
AllowOverride None
Options IncludesNoExec
AddOutputFilter Includes html
AddHandler type-map var
Order allow,deny
Allow from all
LanguagePriority en es de fr
ForceLanguagePriority Prefer Fallback
</Directory>
</IfModule>
</IfModule>
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully・/etc/httpd/conf.d/bcollet.conf
NameVirtualHost *:80
# default
<Directory /var/www>
AllowOverride All
Options FollowSymLinks IncludesNoExec
Order allow,deny
Allow from all
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
# cgi-bin
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory /var/www/cgi-bin>
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
# phpMyAdmin
<VirtualHost *:80>
DocumentRoot /usr/share/phpMyAdmin
ServerName mysql.bluishcollet.com
</VirtualHost>
<Directory /usr/share/phpMyAdmin/>
Order allow,deny
Allow from all
</Directory>
<Directory /usr/share/phpMyAdmin/libraries>
Order deny,allow
Deny from all
</Directory>
# admin
<VirtualHost *:80>
DocumentRoot /var/www/admin
ServerName admin.bluishcollet.com
</VirtualHost>
<Directory /var/www/admin>
<Limit GET POST OPTIONS>
Order deny,allow
Deny from all
Allow from 192.168.11.
</Limit>
</Directory>
# join
<VirtualHost *:80>
DocumentRoot /var/www/join
ServerName join.bluishcollet.com
</VirtualHost>
# support
<VirtualHost *:80>
DocumentRoot /var/www/support
ServerName support.bluishcollet.com
</VirtualHost>
# Control Panel
<VirtualHost *:80>
DocumentRoot /var/www/cpanel
ServerName cpanel.bluishcollet.com
</VirtualHost>
# blog portal & user weblog
<VirtualHost *:80>
DocumentRoot /var/www/blog
ServerName blog.bluishcollet.com
ServerAlias blog.bluishcollet.com *.blog.bluishcollet.com
UserDir disabled root kazfuruya
UserDir blog
RewriteEngine on
RewriteCond %{HTTP_HOST} !^blog\.bluishcollet\.com$
RewriteCond %{HTTP_HOST} ^([\w]+)\.blog\.bluishcollet\.com$
RewriteRule ^/(.*)$ /~%1/blog/$1 [L]
</VirtualHost>
<Directory /home/*/blog>
AllowOverride All
Options FollowSymLinks IncludesNoExec ExecCGI
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
# main site / user site
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName www.bluishcollet.com
ServerAlias bluishcollet.com *.bluishcollet.com
UserDir disabled root kazfuruya
UserDir public_html
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.bluishcollet\.com$
RewriteCond %{HTTP_HOST} ^([\w]+)\.bluishcollet\.com$
RewriteRule ^/(.*)$ /~%1/public_html/$1 [L]
</VirtualHost>
<Directory /home/*/public_html>
AllowOverride All
Options FollowSymLinks IncludesNoExec ExecCGI
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>ifrit側ではphpMyAdmin.confというのもあるのですが、そのファイルでの設定内容は編集したのちbcollet.confに移動してあります。
そのため、バックアップだけ取っておき、/etc/httpd/conf.d/phpMyAdmin.confそのものは削除しました。
:
ざざっとこんな感じです。
URLや設定ファイル載せちゃうと攻撃増えるかもしれませんが…
いまのところ何も置いてないので、別に攻撃されてもいいか、とか思ってます。
むしろ、何か置く前に穴を見つけてもらって、前もって対処できればいいなーとか(笑)
何も置いてないと言いましたが、テスト用のファイルだけは置いてあります。
各フォルダにtest.htmlというファイルがあるので、ご覧になりたい方はどうぞ。
ファイルはそのうち消しますが、サイトの中身が完成するまでは放置しておくつもりです。
ブログはここと同じユーザ名を使っています。
empty! @ BluishCollet
関連記事:サーバ構築作業まとめ









コメント 0