Solaris 9 上で、apache 2.0.52 等をインストールし、Web サーバを立ち上げます。
apache インストールについて解説した本、Web ページは多いですが、 このページでは、設定、運用上気を付けねばならないこと(セキュリティ等)を中心に説明している.
apacheについて
# cd /tmp # gzip -d httpd-2.0.52.tar.gz # tar -xvf httpd-2.0.52.tar
# cd httpd-2.0.52 # (echo --prefixのところは、必要があれば変更する) # ./configure --prefix=/usr/local/apache2 # make # make install
httpd.conf を設定します。
# cd /usr/local/apache2/conf # vi httpd.conf
このファイルを環境に合わせて編集する
/usr/local/apache2/bin/apachectl configtest mkdir -p /usr/local/apache2/logs/archive
#!/bin/sh d=`date "+%d"` w=`date "+%w"` y=`date "+%y"` m=`date "+%m"` log_dir=/usr/local/apache2/logs echo "log dir=" ${log_dir}/archive/access_log.${y}.${m}.${d} cp -f ${log_dir}/access_log ${log_dir}/archive/access_log.${y}.${m}.${d} mv -f ${log_dir}/error_log ${log_dir}/archive/error_log.${y}.${m}.${d} /usr/local/apache2/bin/apachectl restart >/dev/null
0 6 * * * /usr/local/apache2/bin/log.sh
# vipwで /etc/passwd に以下の行を追加 www:x:80:80:HTTP SERVER ::/bin/nosh
# /usr/local/apache2/bin/apachectl start(stop,restart)で起動、終了、再起動ができる
CGI を使いたいときは、 httpd.confに以下のような設定を追加する必要がある。 (なお、.htaccess は使わないことにしたいので、「AllowOverride None」になっています)。
<Directory "/usr/local/apache2/share/htdocs/hogehogedir"> AllowOverride None Options +ExecCGI AddHandler cgi-script cgi pl Order allow,deny Allow from all </Directory>
余分な処理を省くために httpd.conf に次のように設定します。
HostnameLookups off
DirectoryIndex index.html
別マシンで Java Servlet を動かして(Tomcat 等)、通信を行なうようなとき に便利です。
他のマシンを NFS マウントしないなど、運用に必要のないサービスは停止します。 少し不便になりますが、我慢します。
cd /etc/rc2.d echo NFS mv S73nfs.client a_S73nfs.client echo Web-Based Enterprise Management mv S90wbem a_S90wbem echo Power Management mv S85power a_S85power echo cssd mv S90loc.ja.cssd a_S90loc.ja.cssd echo Wnn6 mv S94Wnn6 a_S94Wnn6 cd /etc/rc3.d echo NFS server mv S15nfs.server a_S15nfs.server echo DHCP mv S34dhcp a_S34dhcp echo SNMP mv S76snmpdb a_S76snmpdb echo Solstice Enterprise Manager mv S77dmi a_S77dmi echo vold mv S81volmgt a_S81volmgt echo Samba mv S90samba a_S90samba
/etc/inetd.conf でコメントアウト
echo, discard, daytime, chargen, time, ftp, printer telnet, shell, login, exec, finger
------------------------------------------------------------------------------------------------ > telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 bmde.db.is.kyushu-u.ac.jp ESMTP Sendmail 8.13.1/8.13.1; Tue, 5 Oct 2004 22:08:31 +0900 (JST) ------------------------------------------------------------------------------------------------