Apache2.4のインストール Ver.2.4.37

 apache専用ユーザー
# useradd -s /sbin/nologin apache


 コンパイル 2.4系
# yum install perl

# cd /tmp
# wget http://ftp.riken.jp/net/apache/apr/apr-1.6.5.tar.gz
# tar zxvf apr-1.6.5.tar.gz
# cd apr-1.6.5/
# ./configure
# make
# make install

# yum install expat-devel
# wget http://ftp.riken.jp/net/apache/apr/apr-util-1.6.1.tar.gz
# tar zxvf apr-util-1.6.1.tar.gz
# cd apr-util-1.6.1/
# ./configure --with-apr=/usr/local/apr
# make
# make install

# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.42.tar.gz
# tar zxvf pcre-8.42.tar.gz
# cd pcre-8.42
# ./configure
# make
# make install
もしくは
# yum install pcre-devel

# wget http://ftp.kddilabs.jp/infosystems/apache//httpd/httpd-2.4.37.tar.gz
# tar zxvf httpd-2.4.37.tar.gz
# cd httpd-2.4.37/
# ./configure --enable-so
# make
# make install
Apache Portable Runtime 1.5.0
Apache Portable Runtime Utility 1.5.3
http://apr.apache.org/
Perl Compatible Regular Expression
http://pcre.org/


 コンパイル 2.2系
# cd /tmp
# wget http://ftp.meisei-u.ac.jp/mirror/apache/dist//httpd/httpd-2.2.22.tar.gz
# tar zxvf httpd-2.2.22.tar.gz
# cd httpd-2.2.22
# ./configure --enable-so
# make
# make install
DSO
# ./configure --enable-モジュール名=shared

全てのモジュールを有効
# ./configure --enable-module=all --enable-mods-shared=all

PHP インストール時
# ./configure --enable-so

SSL 有効時(built-in)
# ./configure --enable-ssl
(DSO)
# ./configure --enable-ssl=shared

mod_rewrite
# ./configure --enable-rewrite=shared
<Directory /home/htdocs>
RewriteEngine On
RewriteRule ^.*$ index.php?key=$1 [PT]
#RewriteRule ^index\.php/([^/]*)$ index.php?key=$1 [L]
</Directory>


built-in module
# ./configure --enable-モジュール名


 IPベースのバーチャルホスト

 /usr/local/apache2/conf/httpd.conf の編集
#----- comment -----
<VirtualHost 000.000.000.000>
ServerName 000.000.000000
DocumentRoot /home/user/public_html
ErrorLog /home/user/error_log
TransferLog /home/user/access_log
</VirtualHost>
設定する数だけ記述する

 NAMEベースのバーチャルホスト

 /usr/local/apache2/conf/httpd.conf の編集
#----- comment -----
<VirtualHost 000.000.000.000>
ServerName 000.000.000000
DocumentRoot /home/user/public_html
ErrorLog /home/user/error_log
TransferLog /home/user/access_log
</VirtualHost>
設定する数だけ記述する

 別ファイルに記述する場合
Include /home/apache/VirtualHost
NAMEベースのVirtualHostの場合、記述がないホスト名でアクセスされた場合など一番上に記述したものがデフォルトとなり表示されるので注意が必要である

Includeした場合も同じである。


 httpd.conf 403エラー
Apache2.2系からデフォルト値が変更になっており、どこを見ても403エラーがでる。
<Directory ⁄>
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
<⁄Directory>

以下のようにするとOK
<Directory ⁄>
Options FollowSymLinks
AllowOverride None
<⁄Directory>

#<Directory ⁄>
#Options FollowSymLinks
#AllowOverride None
#Order deny,allow
#Deny from all
#<⁄Directory>


〜Apache2 デフォルト値は以下
<Directory ⁄>
Options FollowSymLinks
AllowOverride None
<⁄Directory>
参考 Apache2.2 デフォルト設定、ちょっとした変更点[アクセス制限]


 一覧表示を無効にする
# vi httpd.conf
コメントアウト
Options Indexes FollowSymLinks
 ↓
#Options Indexes FollowSymLinks


 "⁄" で終わるアクセスに返すファイル名
DirectoryIndex hoge.cgi index.cgi index.php index.html
左から順に表示していく


 Apacheのアンインストール
tar(ソース)からデフォルトインストールした場合
"/usr/local/apache2" にインストールされている

このディレクトリをそのまま削除すれば完了

ソースからインストールする場合はアンインストール方法がないと考えた方がいい (アプリケーションのMakefileに依存)
従って、ディレクトリごと削除できるような場所にインストールする


更新 2018.10.26