設定ファイル(httpd.conf)の作成

環境

今回、設定ファイルを作成する環境は、以下をインストールした状態となります。

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 &quot;%r&quot; %>s %b &quot;%{Referer}i&quot; &quot;%{User-Agent}i&quot;" combined LogFormat "%h %l %u %t &quot;%r&quot; %>s %b" common <IfModule logio_module> LogFormat "%h %l %u %t &quot;%r&quot; %>s %b &quot;%{Referer}i&quot; &quot;%{User-Agent}i&quot; %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]

これで基本的な設定は完了です。