Skip to content

Instantly share code, notes, and snippets.

@moroya
Created May 17, 2013 15:18
Show Gist options
  • Save moroya/5599754 to your computer and use it in GitHub Desktop.
Save moroya/5599754 to your computer and use it in GitHub Desktop.
httpd.conf
### Section 1: Global Environment
### Apache全体に影響を及ぼすセクション
# Apacheのパス
ServerRoot "/etc/httpd"
# ポート番号の指定
Listen 80
# 同時接続数
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 50
MaxRequestsPerChild 4000
# HTTPセッションを保つKeepAliveの設定
KeepAlive On
KeepAliveTimeout 5
MaxKeepAliveRequests 100
# タイムアウトの秒数
Timeout 100
# Apacheを実行するユーザーとグループ
User apache
Group apache
# 認証モジュール
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_owner_module modules/mod_authz_owner.so
# アクセス制限モジュール
LoadModule authz_host_module modules/mod_authz_host.so
# ログ保存モジュール
LoadModule log_config_module modules/mod_log_config.so
# ヘッダー制御モジュール
LoadModule headers_module modules/mod_headers.so
# 環境変数制御モジュール
LoadModule setenvif_module modules/mod_setenvif.so
# MIME type設定モジュール
LoadModule mime_module modules/mod_mime.so
# 言語環境に基づき、適したファイルを判別するモジュール
LoadModule negotiation_module modules/mod_negotiation.so
# ディレクトリを取り扱う(index.htmlとか、最後にスラッシュ付けたURLにリダイレクトするやつ)
LoadModule dir_module modules/mod_dir.so
# Alias使えるようにするモジュール
LoadModule alias_module modules/mod_alias.so
# Rewrite使えるようにするモジュール
LoadModule rewrite_module modules/mod_rewrite.so
# gzip圧縮使えるようにするモジュール
LoadModule deflate_module modules/mod_deflate.so
# キャッシュコントロール使えるようにするモジュール
LoadModule expires_module modules/mod_expires.so
# サーバー状態を表示するモジュール
LoadModule status_module modules/mod_status.so
# ディレクトリにアクセスした時、ファイル一覧を表示するモジュール
# 開発中は便利かもだけど、本番ではセキュリティ的にいいことないと思う
LoadModule autoindex_module modules/mod_autoindex.so
# バーチャルホスト用モジュール
LoadModule vhost_alias_module modules/mod_vhost_alias.so
### Section 2: 'Main' server configuration
### メインサーバーに影響を及ぼすセクション
# サーバー名と管理者メールアドレス
ServerAdmin root@localhost
ServerName example.com
# ドキュメントルート
DocumentRoot "/var/html/www/"
# デフォルトで表示するファイル
DirectoryIndex index.php index.html
# 全体をアクセス禁止
<Directory "/">
Order Allow,Deny
Deny from All
AllowOverride None
Options None
</Directory>
# 間違えて上げてしまいそうな拡張子を一括アク禁
<FilesMatch "\.(tmp|log|doc|xls|csv|ppt|pptx|docx|conf|cnf|cf|bak|bk|ini)$">
Order Allow,Deny
Deny from All
</FilesMatch>
# .ht から始まるファイルはアク禁
<FilesMatch "^\.ht">
Order Allow,Deny
Deny from All
</FilesMatch>
# MIME type設定
TypesConfig text/plain
TypesConfig /etc/mime.types
# ログ設定
SetEnvIfNoCase Request_URI "\.(?:gif|jpe?g|png|ico|zip|lzh|cTypesConfigab|rar|exe|bmp)$" nolog
LogFormat "%h %l %u %t %V \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" analog_custom
CustomLog logs/access_log analog_custom env=!nolog
# 文字コード設定(UTF-8)
AddDefaultCharset UTF-8
# 言語設定、他の言語は使わないので日本語と英語のみ
AddLanguage en .en
AddLanguage ja .ja
LanguagePriority ja en
ForceLanguagePriority Prefer Fallback
# サーバーの情報を制限
ServerTokens Prod
ServerSignature Off
# キャッシュ管理に使われるEtagの生成方法を、ファイル更新時間とバイト数に変更
FileETag MTime Size
# TRACEリクエストを無効
TraceEnable Off
# 設定ファイル名
AccessFileName .htaccess
# リダイレクトURLの制御
UseCanonicalName Off
# DNSルックアップを無効
HostnameLookups Off
### Section 3: Virtual Hosts
### バーチャルホストの設定
NameVirtualHost *:80
# 他の設定ファイルから読み込み
Include conf.d/*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment