ServerRoot "/usr/local/apache2" PidFile logs/httpd.pid Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 #パフォーマンスに応じて変更すべし StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 NumServers 5 StartThreads 5 MinSpareThreads 5 MaxSpareThreads 10 MaxThreadsPerChild 20 MaxRequestsPerChild 0 ThreadsPerChild 250 MaxRequestsPerChild 0 StartThreads 10 MaxClients 50 MaxRequestsPerThread 10000 ThreadStackSize 65536 StartThreads 250 MinSpareThreads 25 MaxSpareThreads 250 MaxThreads 1000 MaxRequestsPerChild 0 StartServers 2 MinSpareThreads 5 MaxSpareThreads 10 MaxRequestsPerChild 0 Listen 80 Listen 443 #apacheの実行ユーザ手順どおり先に追加しておかなければならない User www Group www #自分の環境に合わせて ServerAdmin nitta@aroman.mine.nu ServerName www.aroman.mine.nu UseCanonicalName On #デフォルトのインストール先なら以下でOK DocumentRoot "/usr/local/apache2/htdocs" Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all #http://www.xxx/~user/でアクセスさせた場合 #そのuserユーザはコンテンツをホームディレクトリの #public_html においておかなくてはならない UserDir public_html #ここではファイル名してなしでディレクトリにアクセスした場合 #以下のファイルが存在すれば読み込む DirectoryIndex index.html index.htm welcome.htm welcome.html index.cgi index.shtml AccessFileName .htaccess Order allow,deny Deny from all TypesConfig conf/mime.types DefaultType text/plain MIMEMagicFile conf/magic #ログファイルにアクセス元をIPアドレスではなくて #ホスト名で記述したいときにOnに設定しても良いが #セッションが発生するたびにDNSに問い合わせるので #アクセスの多いサイトではOffにすべし。 HostnameLookups Off ErrorLog logs/error_log #設定やapacheの動きがおかしいときには #LogLvel debugなどにしてerrorログを観察すべし LogLevel info #apacheの記述するログに関する定義 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 logs/access_log combined ServerSignature On #デフォルトのアイコンが気に入らない場合は #以下のiconsディレクトリにあるアイコンを別のものと #置き換えてもよい。 Alias /icons/ "/usr/local/apache2/icons/" Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all #もしマニュアルが今度必要なくhttp://www.apache.jp/などを #参考にするのであれば以下のディレクティブは消しても良い。 #Alias /manual "/usr/local/apache2/manual" # # Options Indexes FollowSymLinks MultiViews IncludesNoExec # AddOutputFilter Includes html # AllowOverride None # Order allow,deny # Allow from all # #cgiディレクトリのエイリアス ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/" AllowOverride None Options None Order allow,deny Allow from all #ファンシーインデックス表示をした際のアイコンの定義 IndexOptions FancyIndexing VersionSort 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 #この2つのファイルを公開するファンシーインデックするところに置いておくと #ヘッダーとフッターをつけてビジュアル的にgood ReadmeName README.html HeaderName HEADER.html #ファンシーインデックス時に表示させないファイルがあればここで定義すべし IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t #エンコードに関する定義 AddEncoding x-compress Z AddEncoding x-gzip gz tgz #言語に関する定義 AddLanguage da .dk AddLanguage nl .nl AddLanguage en .en AddLanguage et .et AddLanguage fr .fr AddLanguage de .de AddLanguage he .he AddLanguage el .el AddLanguage it .it AddLanguage ja .ja AddLanguage pl .po AddLanguage ko .ko AddLanguage pt .pt AddLanguage nn .nn AddLanguage no .no AddLanguage pt-br .pt-br AddLanguage ltz .ltz AddLanguage ca .ca AddLanguage es .es AddLanguage sv .se AddLanguage cz .cz AddLanguage ru .ru AddLanguage tw .tw AddLanguage zh-tw .tw AddLanguage hr .hr LanguagePriority en da nl et fr de el it ja ko no pl pt pt-br ltz ca es sv tw ForceLanguagePriority Prefer Fallback AddCharset ISO-8859-1 .iso8859-1 .latin1 AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen AddCharset ISO-8859-3 .iso8859-3 .latin3 AddCharset ISO-8859-4 .iso8859-4 .latin4 AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk AddCharset ISO-2022-JP .iso2022-jp .jis AddCharset ISO-2022-KR .iso2022-kr .kis AddCharset ISO-2022-CN .iso2022-cn .cis AddCharset Big5 .Big5 .big5 AddCharset WINDOWS-1251 .cp-1251 .win-1251 AddCharset CP866 .cp866 AddCharset KOI8-r .koi8-r .koi8-ru AddCharset KOI8-ru .koi8-uk .ua AddCharset ISO-10646-UCS-2 .ucs2 AddCharset ISO-10646-UCS-4 .ucs4 AddCharset UTF-8 .utf8 AddCharset GB2312 .gb2312 .gb AddCharset utf-7 .utf7 AddCharset utf-8 .utf8 AddCharset big5 .big5 .b5 AddCharset EUC-TW .euc-tw AddCharset EUC-JP .euc-jp AddCharset EUC-KR .euc-kr AddCharset shift_jis .sjis AddType application/x-tar .tgz AddHandler cgi-script .cgi .pl AddHandler type-map var Alias /error/ "/usr/local/apache2/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 #ここでエラーメッセージを変えることができる。 #カスタマイズされた404などが有名 ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var ErrorDocument 410 /error/HTTP_GONE.html.var ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var 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 "^WebDrive" redirect-carefully #ここからがSSLに関する設定 #もし/usr/local/apache2/conf/ssl.conf #があればそこからとりあえず読み込みされる。 Include conf/ssl.conf #SSLに関する設定ssl.confに書いていればここで書く必要なし #しかしわたしはhttpd.confにマージした。 #ひとつのファイルで管理したと思ったので。 AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl SSLPassPhraseDialog builtin SSLSessionCache dbm:logs/ssl_scache SSLSessionCacheTimeout 300 SSLMutex file:logs/ssl_mutex SSLRandomSeed startup builtin SSLRandomSeed connect builtin #その他エイリアス設定(任意)最初はエイリアスをつけずに #最低限の設定でapacheを起動し、それからマージして行くようにしよう。 #sambaのドキュメント用 Alias /samba "/usr/local/samba/swat/using_samba/ja" Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all #ファイル共有 Alias /app "/data1/app" AllowOverride None Options FollowSymLinks Indexes MultiViews IndexOptions FancyIndexing NameWidth=* AuthUserFile /usr/local/apache/conf/passwd AuthGroupFile /dev/null AuthName "Authentication! by Yuzo Nitta" AuthType Basic require valid-user #MRTG用 Alias /mrtg "/usr/local/mrtg-2/data" AllowOverride None Options FollowSymLinks AuthUserFile /usr/local/apache/conf/passwd AuthGroupFile /dev/null AuthName "MTRG befor Auth. by Yuzo Nitta" AuthType Basic require valid-user #######その他の設定ここまで####### #バーチャルホストの設定 #SSLの設定もすべてバーチャルホストとして行う SSLEngine on DocumentRoot /usr/local/apache2/htdocs SSLSessionCacheTimeout 30 SSLCertificateFile /usr/local/apache2/conf/home3-cert.pem SSLCertificateKeyFile /usr/local/apache2/conf/home3-key.pem ServerName www443.aroman.mine.nu:443 ServerAdmin nitta@aroman.mine.nu SSLOptions +StdEnvVars SSLOptions +StdEnvVars SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 Alias /mrtg "/usr/local/mrtg-2/data" AllowOverride None Options FollowSymLinks AuthUserFile /usr/local/apache2/conf/passwd AuthGroupFile /dev/null AuthName "MTRG befor Auth. by Yuzo Nitta" AuthType Basic require valid-user AddHandler cgi-script .cgi .pl Alias /analog "/usr/local/analog/analog-4.16" Options ExecCGI Indexes MultiViews AllowOverride None Order allow,deny Allow from all