Dell Optiplex GXa Solaris 8  x86  6/00

戻る




Apache/1.3.14

※後に現在の最新の、
Apache/2.0.48 (Unix) mod_perl/1.99_10 Perl/v5.8.0 PHP/4.3.3 DAV/2 mod_ssl/2.0.48 OpenSSL/0.9.7c
の記録あり。

	※※ 注 ※※
	 Apache以下のバージョンは、DoS攻撃に対する脆弱性になり得る
	 セキュリティホールがある事が判明しています。

	 1.2 系列: バージョン 1.2.2  以降
	 1.3 系列: バージョン 1.3.24 以前
	 2.0 系列: バージョン 2.0.36 以前

	 1.3.26以降または2.0.39以降にバージョンアップされる事を
	 お奨めします。
	 詳細は
	 http://www.cert.org/advisories/CA-2002-17.html
	 http://httpd.apache.org/info/security_bulletin_20020617.txt


必要なソフトウェア:
	apache_1.3.14.tar.gz
	http://www.apache.org/dist/httpd/old/


インストール:

アーカイブをダウンロードする。
	$ wget http://www.apache.org/dist/httpd/old/apache_1.3.14.tar.gz

解凍展開する。
	$ tar xozf apache_1.3.14.tar.gz

展開したディレクトリに移る。
	$ cd apache_1.3.14

さらにディレクトリを移動する。
	$ cd src

Configurationファイルを編集する。
	$ vi Configuration

ほとんどデフォルトのままでOKだが、今回は以下の項目のコメントアウトも外す。

	modules/standard/mod_log_agent.o
	アクセスしてきたプラウザが名乗ったプラウザの種類を記録するため のモジュール。

	modules/standard/mod_log_referer.o
	アクセスしてきたプラウザが示した、「どこの URL からたどってきた のか」という
	情報を記録するためのモジュール。

	modules/standard/mod_rewrite.o
	要求された URL について正規表現を利用した書き換えを行うモジュール。

一つ上のディレクトリに戻る。
	$ cd ..

最適化させる。
	$ ./configure

コンパイルする。
	$ make

SuperUserになる。
	$ su
	password:

インストールする。
	$ make install


設 定:

 (注! 以下のhttpd.confの見本は、「とにかく何でも動く」設定で、セキュリティに関しては考慮
  していない。実際はcgiを許可するディレクトリなどは慎重にセキュリティポリシーを考える)

Web公開ポリシー:

DocumentRootは、/export/home/webmaster/htdocs/ 内に設置する。

DocumentRootで使用するCGIスクリプトは、どこのディレクトリにあっても実行でき、
名前を ファイル名.cgi とする。
DocumentRootで使用するSSIスクリプトは、 /export/home/webmaster/htdocs/ 内に設置し、名前を
ファイル名.shtml とする。

個人ユーザーのHP公開をする。
個人ユーザーのHPのアドレスは、http://www.domain.com/ユーザー名 とするので、
DocumentRoot内にUserDirectoryのシンボリックリンクを設置する。
(つまり、~ (チルダ)を付けずに公開できるようにしたい)

UserDirectoryは /export/home/ユーザー名/public_html/ 内に設置する。

UserDirectoryで使用するCGIスクリプトは、public_html/ 内ならばどこに設置しても
実行でき、名前を ファイル名.cgi とする。

UserDirectoryで使用するSSIスクリプトは、 /export/home/ユーザー名/public_html
内に設置し、名前を ファイル名.shtmlとする。

/usr/local/apache/conf/httpd.conf  をviで開く。
	$ vi /usr/local/apache/conf/httpd.conf

以下のように変更して保存する。

=================================================
ServerType standalone
ServerRoot "/usr/local/apache"
PidFile /usr/local/apache/logs/httpd.pid
ScoreBoardFile /usr/local/apache/logs/httpd.scoreboard
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MinSpareServers 5
MaxSpareServers 10
StartServers 5
MaxClients 150
MaxRequestsPerChild 0
Port 80
ServerAdmin you@domain.com
ServerName www.domain.com
DocumentRoot "/export/home/webmaster/htdocs"
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory "/export/home/webmaster/htdocs">
Options FollowSymLinks Includes ExecCGI MultiViews
AddHandler cgi-script .cgi
AddHandler server-parsed .shtml
AddType application/x-httpd-cgi .cgi
AddType application/x-httpd-cgi .pl
Order allow,deny
Allow from all
</Directory>
<IfModule mod_userdir.c>
UserDir public_html
</IfModule>
<Directory /home/*/public_html>
AllowOverride All
Options FollowSymLinks Includes ExecCGI MultiViews
AddHandler cgi-script .cgi
AddHandler server-parsed .shtml
AddType application/x-httpd-cgi .cgi
AddType application/x-httpd-cgi .pl
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
<IfModule mod_dir.c>
DirectoryIndex index.html index.htm index.shtml index.cgi welcome.html welcome.htm
</IfModule>
AccessFileName .htaccess
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
UseCanonicalName On
<IfModule mod_mime.c>
TypesConfig /usr/local/apache/conf/mime.types
</IfModule>
DefaultType text/plain
DefaultType text/plain
<IfModule mod_mime_magic.c>
MIMEMagicFile /usr/local/apache/conf/magic
</IfModule>
HostnameLookups On
ErrorLog /usr/local/apache/logs/error_log
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog /usr/local/apache/logs/access_log "%h %l %u %t \"%r\" %s %b \"%{User-Agent}i\" %{Referer}i\""
ServerSignature On
<IfModule mod_alias.c>
Alias /icons/ "/usr/local/apache/icons/"

<Directory "/usr/local/apache/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ "/export/home/webmaster/cgi-bin/"
<Directory "/export/home/webmaster/cgi-bin">
AllowOverride None
Options ExecCGI Includes FollowSymLinks
AddHandler cgi-script .cgi
AddHandler server-parsed .shtml
AddType application/x-httpd-cgi .cgi
AddType application/x-httpd-cgi .pl
Order allow,deny
Allow from all
</Directory>

</IfModule>
<IfModule mod_autoindex.c>
IndexOptions FancyIndexing
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
HeaderName HEADER
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

</IfModule>
<IfModule mod_mime.c>
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz
AddLanguage da .dk
AddLanguage nl .nl
AddLanguage en .en
AddLanguage et .ee
AddLanguage fr .fr
AddLanguage de .de
AddLanguage el .el
AddLanguage he .he
AddCharset ISO-8859-8 .iso8859-8
AddLanguage it .it
AddLanguage ja .ja
AddCharset ISO-2022-JP .jis
AddLanguage kr .kr
AddCharset ISO-2022-KR .iso-kr
AddLanguage no .no
AddLanguage pl .po
AddCharset ISO-8859-2 .iso-pl
AddLanguage pt .pt
AddLanguage pt-br .pt-br
AddLanguage ltz .lu
AddLanguage ca .ca
AddLanguage es .es
AddLanguage sv .se
AddLanguage cz .cz
AddLanguage ru .ru
AddLanguage tw .tw
AddCharset Big5         .Big5    .big5
AddCharset WINDOWS-1251 .cp-1251
AddCharset CP866        .cp866
AddCharset ISO-8859-5   .iso-ru
AddCharset KOI8-R       .koi8-r
AddCharset UCS-2        .ucs2
AddCharset UCS-4        .ucs4
AddCharset UTF-8        .utf8
<IfModule mod_negotiation.c>
LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz caes sv tw
</IfModule>
AddType application/x-tar .tgz
AddHandler cgi-script .cgi
</IfModule>
<IfModule mod_setenvif.c>
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
</IfModule>

<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from letsnote
</Location>

<Location /server-info>
SetHandler server-info
Order deny,allow
Deny from all
Allow from letsnote
</Location>
=================================================


サーバー起動時に自動でApacheが起動するようにする。
起動スクリプトをコピーする。
	# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
	
ディレクトリを移動する。
	# cd /etc/rc2.d

起動スクリプトのシンボリックリンクをこの中に張る。
	# ln -s ../init.d/httpd ./S99httpd

起動させる。
	# /etc/rc2.d/S99httpd start