Webサーバ(Apache)構築

RPMインストール

yumでrpmインストール

#yum -y install httpd

httpd.confをコピー

# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd20120225.conf

httpd.confを編集

#vi /etc/httpd/conf/httpd.conf

ServerRoot "/etc/httpd"
Timeout 120
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15

Listen 80

LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_alias_module modules/mod_authn_alias.so
LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.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 info_module modules/mod_info.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 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
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule cache_module modules/mod_cache.so
LoadModule suexec_module modules/mod_suexec.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule file_cache_module modules/mod_file_cache.so
LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule version_module modules/mod_version.so

Include conf.d/*.conf

User apache
Group apache

ServerAdmin root@localhost

UseCanonicalName Off

DocumentRoot "/var/www/html"

DirectoryIndex index.html index.html.var

AccessFileName .htaccess

TypesConfig /etc/mime.types

DefaultType text/plain

HostnameLookups Off

ErrorLog logs/error_log

LogLevel warn

CustomLog logs/access_log combined

ServerSignature On

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

DefaultIcon /icons/unknown.gif

AddDefaultCharset UTF-8

設定ファイルの文法に間違いがないかテスト

# /usr/sbin/apachectl configtest

Apacheを起動

# /sbin/service httpd start

再起動してもApacheが起動するように設定

# /sbin/chkconfig httpd on
# /sbin/chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

ソースコードインストール

コンパイラがインストールされているかを確認

#gcc -v
# make -v
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
これはフリーソフトウェアです. 利用許諾についてはソースをご覧ください.商業性や特定の目的への適合性の如何に関わらず, 無保証です.

gccが入っていなかったのでインストール

#yum install gcc
※間違っても「gcc」をソースからインストールしようと思ってはいけません。依存関係が複雑なので失敗する可能性が高いです。初めにCDからインストールするか、yumでインストールするのが無難です。

「gcc」がインストールされたかを確認。

# gcc -v
Using built-in specs.
Target: i386-redhat-linux
コンフィグオプション: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=i386-redhat-linux
スレッドモデル: posix
gcc バージョン 4.1.2 20080704 (Red Hat 4.1.2-46)

gccインストール

#yum install glibc-devel

「config.log」を見ると、「g++: command not found」とあったので、下記作業を実施。

#yum install gcc-c++

apacheのダウンロード

$cd /usr/local/src
#tar -zvcf httpd-2.2.14.tar.gz
#cd /httpd-2.2.14

INSTALLを読んで、方法を確認する。

#more INSTALL

INSTALLに記載された通りにコマンドを実行

#./configure --prefix=/usr/local/apache2
#make
#make install

インストールされたモジュールを確認

#/usr/local/apache/bin/httpd -l

firewall設定

ポート80番へのアクセス許可がされているかを確認

#more /etc/sysconfig/iptables

設定されていない場合は、下記コマンドにてfirewall設定画面を表示し設定する。

#system-config-securitylevel-tui

下記の設定が追加されていることを確認。

#more /etc/sysconfig/iptables
  • A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

apache起動

#/usr/local/apache2/bin/apachectl start



VirtualHost設定でURLに応じてディレクトリを指定する。

# Ensure that Apache listens on port 80
Listen 80

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /www/example1
ServerName www.example.com

# Other directives here

</VirtualHost>

<VirtualHost *:80>
DocumentRoot /www/example2
ServerName www.example.org

# Other directives here

</VirtualHost>




  • 最終更新:2012-03-15 03:32:13

このWIKIを編集するにはパスワード入力が必要です

認証パスワード