作業日記@HatenaBlog

各種の作業メモ

Apache22によるVirtualHostの設定

Virtual Hostの設定

ネットワーク構成

   Internet
       |
 +-----+-----+ ← Global Add. AAA.BBB.CCC.DDD
 |Gateway Svr|
 |192.168.X.1|
 |EXAMPLE.com|
 +-----+-----+ ← LAN 192.168.X.0/24
       |
       +---------------+
       |               |
 +-----+-----+   +-----+-----+
 |  FOO.com  |   |  BAR.com  |
 |192.168.X.2|   |192.168.X.3|
 +-----------+   +-----------+

 

# cd /usr/local/etc/apache22/extra/
# vi httpd-vhosts.conf
 
<VirtualHost *:80>
        ServerAdmin     info@EXAMPLE.com
        ServerName      192.168.X.1
        DocumentRoot    "/usr/local/www/apache2/data"
</VirtualHost *:80>
 
<VirtualHost *:80>
        ServerAdmin     info@EXAMPLE.com
        ServerName      FOO.com
        ServerAlias     www.FOO.com
        ProxyRequests   Off
        <Proxy *>
                Order deny,allow
                Allow from All
        </Proxy>
        ProxyPass        /      http://192.168.X.2/
        ProxyPassReverse /      http://192.168.X.2/
        ErrorLog "/var/log/FOO_proxy-error.log"
        CustomLog "/var/log/FOO_proxy-access.log" common
</VirtualHost *:80>
 
<VirtualHost *:80>
        ServerAdmin     info@BAR.com
        ServerName      BAR.com
        ServerAlias     www.BAR.com
        ProxyRequests   Off
        <Proxy *>
                Order deny,allow
                Allow from All
        </Proxy>
        ProxyPass        /      http://192.168.X.3/
        ProxyPassReverse /      http://192.168.X.3/
        ErrorLog "/var/log/BAR_proxy-error.log"
        CustomLog "/var/log/BAR_proxy-access.log" common
</VirtualHost *:80>

FreeBSD標準のftpdを使う

inetd.cong の設定
赤字部分を削除
# vi /etc/inetd.conf
 
#ftp     stream  tcp     nowait  root    /usr/libexec/ftpd       ftpd -l
chroot

他のディレクトリへアクセス出来ないように制限する。
ユーザ hoge について、chrootしたい場合。

# touch /etc/ftpchroot
# vi ftpchroot ←hogeを記述する
アクセス制限

イントラ内 ( 192.168.X.0/24 ) からのみアクセスできるようにする。

# vi /etc/hosts.allow
 
ftpd : localhost : allow
ftpd : 192.168.X.0/255.255.255.0 : allow
ftpd : ALL : deny
ログを取る

/etc/syslog.confに次の2行を追加する。

# vi /etc/syslog.conf
 
!ftpd
*.*                                             /var/log/ftpd.log
ログのローテート

/var/log/ftpd.log のログローテートを次のとおり設定する。

# vi /etc/newsyslog.conf
 
/var/log/ftpd.log                      600  10    100  *     JC

※書式(man newsyslog.conf より)

  • /var/log/dhcpd.log … 対象ファイル
  • 600 … ログファイルのパーミッション
  • 10 … 世代数(0〜9)
  • 100 … 100KB で次の世代に移る
  • * … 時刻指定(ログを特定の時刻でローテーションしたい場合に指定。* は無指定)
  • JC … フラグ(J … bzip2 で圧縮する / C … ログファイルが無い場合は自動作成する)