環境
今回、設定ファイルを作成する環境は、以下をインストールした状態となります。
httpd 2.2.31 のインストール は以下の記事を参照ください。
http://tech-wiki.pomme-verte.net/?p=5
設定ファイル(httpd.conf)の作成
設定ファイル(httpd.conf)の確認
続いて、httpd.confを修正していきます。 初期状態は以下のようになっていました。
[bash]
egrep -v "^$|^\s*#" /usr/local/apache2/conf/httpd.conf
ServerRoot "/usr/local/apache-2.2.31" Listen 80 LoadModule authn_file_module modules/mod_authn_file.so LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_anon_module modules/mod_authn_anon.so LoadModule authn_dbd_module modules/mod_authn_dbd.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule dbd_module modules/mod_dbd.so LoadModule dumpio_module modules/mod_dumpio.so LoadModule reqtimeout_module modules/mod_reqtimeout.so LoadModule ext_filter_module modules/mod_ext_filter.so LoadModule include_module modules/mod_include.so LoadModule filter_module modules/mod_filter.so LoadModule substitute_module modules/mod_substitute.so LoadModule deflate_module modules/mod_deflate.so LoadModule log_config_module modules/mod_log_config.so LoadModule log_forensic_module modules/mod_log_forensic.so LoadModule logio_module modules/mod_logio.so LoadModule env_module modules/mod_env.so LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule cern_meta_module modules/mod_cern_meta.so LoadModule expires_module modules/mod_expires.so LoadModule headers_module modules/mod_headers.so LoadModule ident_module modules/mod_ident.so LoadModule usertrack_module modules/mod_usertrack.so LoadModule unique_id_module modules/mod_unique_id.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule version_module modules/mod_version.so LoadModule ssl_module modules/mod_ssl.so LoadModule mime_module modules/mod_mime.so LoadModule dav_module modules/mod_dav.so LoadModule status_module modules/mod_status.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule asis_module modules/mod_asis.so LoadModule info_module modules/mod_info.so LoadModule cgi_module modules/mod_cgi.so LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule vhost_alias_module modules/mod_vhost_alias.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule dir_module modules/mod_dir.so LoadModule imagemap_module modules/mod_imagemap.so LoadModule actions_module modules/mod_actions.so LoadModule speling_module modules/mod_speling.so LoadModule userdir_module modules/mod_userdir.so LoadModule alias_module modules/mod_alias.so LoadModule rewrite_module modules/mod_rewrite.so <IfModule !mpm_netware_module> <IfModule !mpm_winnt_module> User daemon Group daemon </IfModule> </IfModule> ServerAdmin you@example.com DocumentRoot "/usr/local/apache-2.2.31/htdocs" <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory> <Directory "/usr/local/apache-2.2.31/htdocs"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> <IfModule dir_module> DirectoryIndex index.html </IfModule> <FilesMatch "^.ht"> Order allow,deny Deny from all Satisfy All </FilesMatch> ErrorLog "logs/error_log" LogLevel warn <IfModule log_config_module> LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined LogFormat "%h %l %u %t "%r" %>s %b" common <IfModule logio_module> LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio </IfModule> CustomLog "logs/access_log" common </IfModule> <IfModule alias_module> ScriptAlias /cgi-bin/ "/usr/local/apache-2.2.31/cgi-bin/" </IfModule> <IfModule cgid_module> </IfModule> <Directory "/usr/local/apache-2.2.31/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> DefaultType text/plain <IfModule mime_module> TypesConfig conf/mime.types AddType application/x-compress .Z AddType application/x-gzip .gz .tgz </IfModule> <IfModule ssl_module> SSLRandomSeed startup builtin SSLRandomSeed connect builtin </IfModule> [/bash]
設定ファイル(httpd.conf)の修正
ひとまず、あちこちで使われている「/usr/local/apache-2.2.23」を「/usr/local/apache2」に置き換えます。 以下の置換しました。
[bash]
cd /usr/local/apache2/conf
cp -ip httpd.conf httpd.conf.org
sed 's/\/usr\/local\/apache-2.2.31/\/usr\/local\/apache2/g' ./httpd.conf.org > httpd.conf
[/bash]
続いて、以下を修正しておきます。
実行ユーザ・グループをapacheに変更
[bash] User daemon Group daemon
↓
User apache Group apache [/bash]
マルチプロセッシングモジュール用の設定ファイルもインクルードしておきます。
[bash]
Server-pool management (MPM specific)
Include conf/extra/httpd-mpm.conf
↓
Server-pool management (MPM specific)
Include conf/extra/httpd-mpm.conf [/bash]
合わせて、インクルードするファイル「conf/extra/httpd-mpm.conf」も一部を修正しておきます。
[bash]
Note that this is the default PidFile for most MPMs.
# <IfModule !mpm_netware_module> PidFile "logs/httpd.pid" </IfModule>
↓
Note that this is the default PidFile for most MPMs.
# <IfModule !mpm_netware_module> PidFile "/var/run/httpd/httpd.pid" </IfModule> [/bash]
ひとまず、これくらいで。
ユーザ作成
あとは、ユーザを作成しておきます。
[bash]
groupadd -g 502 apache
useradd -u 502 -g 502 -s /sbin/nologin apache
[/bash]
文法チェック
最後に文法に間違いがないかをチェックしておきましょう。
[bash]
/usr/local/apache2/bin/apachectl configtest
Syntax OK [/bash]
これで基本的な設定は完了です。