WEBサーバの構築 †
Wikの処理性能がLANDISK比、十倍に。
- /Users/www/Sites/www
本場所を、http://eggplant.ddo.jp/www/ でアクセスすることにする。
(適当にやりすぎかも。汗);
Macmini:~ user$ mkdir -p /Users/www/Sites/www
で、その中にファイルを用意して、オーナー、グループをapacheのものへ変更
Macmini:~ user$ sudo chown -R www:www /Users/www
- /etc/httpd/httpd.conf
Mac OS XにはApacheとPHPが最初から入っているので、httpd.confを修正しそれらを有効にします。
--- /etc/httpd/httpd.conf_org Sat Jul 23 19:10:32 2005
+++ /etc/httpd/httpd.conf Sat Jul 23 19:14:01 2005
@@ -235,9 +235,9 @@
#LoadModule unique_id_module libexec/httpd/mod_unique_id.so
LoadModule setenvif_module libexec/httpd/mod_setenvif.so
#LoadModule dav_module libexec/httpd/libdav.so
-#LoadModule ssl_module libexec/httpd/libssl.so
-#LoadModule perl_module libexec/httpd/libperl.so
-#LoadModule php4_module libexec/httpd/libphp4.so
+LoadModule ssl_module libexec/httpd/libssl.so
+LoadModule perl_module libexec/httpd/libperl.so
+LoadModule php4_module libexec/httpd/libphp4.so
LoadModule hfs_apple_module libexec/httpd/mod_hfs_apple.so
LoadModule rendezvous_apple_module libexec/httpd/mod_rendezvous_apple.so
@@ -279,9 +279,9 @@
AddModule mod_so.c
AddModule mod_setenvif.c
#AddModule mod_dav.c
-#AddModule mod_ssl.c
-#AddModule mod_perl.c
-#AddModule mod_php4.c
+AddModule mod_ssl.c
+AddModule mod_perl.c
+AddModule mod_php4.c
AddModule mod_hfs_apple.c
AddModule mod_rendezvous_apple.c
@@ -578,7 +591,7 @@
# define per-<VirtualHost> access logfiles, transactions will be
# logged therein and *not* in this file.
#
-CustomLog "/private/var/log/httpd/access_log" common
+#CustomLog "/private/var/log/httpd/access_log" common
#
# If you would like to have agent and referer logfiles, uncomment the
@@ -591,7 +604,7 @@
# If you prefer a single logfile with access, agent, and referer information
# (Combined Logfile Format) you can use the following directive.
#
-#CustomLog "/private/var/log/httpd/access_log" combined
+CustomLog "/private/var/log/httpd/access_log" combined
#
# Optionally add a line containing the server version and virtual host
@@ -879,7 +892,7 @@
#
# To use CGI scripts:
#
- #AddHandler cgi-script .cgi
+ AddHandler cgi-script .cgi
#
# To use server-parsed HTML files
- /etc/httpd/users/www.conf
/Users/www/Sites/www (http://eggplant.ddo.jp/www/ ) の設定を行う。
Alias /www/ "/Users/www/Sites/www/"
<Directory "/Users/www/Sites/www">
Options MultiViews FollowSymLinks ExecCGI ←CGIが使えるように(邪道?)
AllowOverride All
Order allow,deny
Allow from all
</Directory>
- /usr/local/bin/perl
perlを/usr/local/bin へリンクしておく。
Macmini:~ user$ sudo mkdir /usr/local/bin
Macmini:~ user$ sudo ln -s /usr/bin/perl /usr/local/bin/
- WEBサーバの起動
まず、confファイルの文法チェックを行い、
Macmini:~ user$ sudo apachectl configtest
Processing config directory: /private/etc/httpd/users/*.conf
Processing config file: /private/etc/httpd/users/www.conf
Syntax OK
そして、システム環境設定→共有の、パーソナルWEB共有をチェックしてWEBサーバを立ち上げます。
- ルータのポートフォワード設定
80番ポートをサーバへフォワードするのをお忘れなく。
Dynamic DNS 自動更新 †
- What's up(フリーウェア)
http://soft.macfeeling.com/What_s_Up.html
このような便利なソフトウェアがあるのでご紹介しておきます。
ケチな私は、CPU/メモリリソースを節約したかったので、LANDISKで使用していた、
ddns更新スクリプトをcronで周期的に実行するように設定しました。
- /usr/local/bin/ddns.sh
ddo.jp専用、Dynamic DNS更新スクリプトの例です。
過去200回分の更新ログが、/var/log/ddns.logへ出力されます。
#!/bin/sh
DATE=`date +"%Y/%m/%d %X"`
PATH=/sw/bin:/bin:/usr/bin
wget -q -O - 'http://free.ddo.jp/dnsupdate.php?dn=ドメイン&pw=パスワード' | \
awk '$0 ~ /SUCCESS/ || $0 ~ /FAIL/ { print date, $0;}' date="$DATE" >> /var/log/ddns.log
tail -200 /var/log/ddns.log > /var/log/ddns.log.tmp
cp /var/log/ddns.log.tmp /var/log/ddns.log
rm /var/log/ddns.log.tmp
実行属性とオーナの設定
Macmini:~ user$ sudo mkdir /usr/local/bin ← もし、無ければ
Macmini:~ user$ sudo cp ddns更新スクリプト /usr/local/bin/ddns.sh
Macmini:~ user$ sudo chmod +x /usr/local/bin/ddns.sh
Macmini:~ user$ sudo chown root /usr/local/bin/ddns.sh
- cronの設定
cronを使って1時間毎にDynamic DNSの登録を行います。
MacOSXでは、GUIでcronの設定を行うcronniXというツールがあるようなので使ってみます。
- host名の解決
MacOSX上のsafariで自分内のHPをアクセスすると、ドメイン名が解決できないため、
ページが正常に表示されません。
ドメイン名をLAN内のローカルアドレスに見せかけることで、本問題を回避します。
/etc/hosts への追加例
192.168.1.xxx eggplant.ddo.jp
AWStats 日本語バージョン †
|