httpdの制限事項
WallEdge Mail Serverに使用するhttpd(Apache)、httpsd(SSL対応Apache)の制限事項について説明します。
- CD-ROMの収録内容について
WallEdgeのCD-ROMに収録されている、以下のpackages並びにバイナリは、このドキュメントに記載されている条件に対応したものです。${CDROM}/packages/www/apache-1.2.6we.tgz ${CDROM}/packages/www/apacheSSL-1.2.6we.tgz ${CDROM}/WallEdge/sbin/httpd ${CDROM}/WallEdge/sbin/httpsd
これらのソースコードおよびパッチファイルは、同CD-ROMのPorts Collection(ports/ports.tgz)に収録されています。
FreeBSDの/stand/sysinstallによりPorts Collectionをインストールすることにより以下のディレクトリにインストールされます。/usr/ports/distfiles/apache_1.2.6.tar.gz /usr/ports/distfiles/apache_1.2.6+ssl_1.17.tar.gz (/usr/ports/distfiles/SSLeay-0.8.1b.tar.gz) /usr/ports/www/apache12we /usr/ports/www/apache-ssl117we (/usr/ports/security/SSLeay)
以上のpackagesもしくはPorts Collectionsに頼らず、ApacheのオリジナルソースコードもしくはFreeBSDのPorts Collectionからインストールされる場合は、以下を参考にソースコード等に適切な修正を加えて下さい。
- Apacheに関する条件
- バージョン
- apache-1.2.x で動作します。
- apache-1.3.x につきましては動作の保障をいたしません。
- root権限での起動
バージョン1.2.1以降のApacheは、セキュリティの強化を目的として、root権限ではhttpdを立ち上げられないようになっていますが、WallEdgeは、httpdサーバをrootの権限で実行するため、一般的なFreeBSDのディストリビューションに含まれているpackages(apache12.tgz、apacheSSL.tgz)やPorts Collectionを用い普通にmake; make installでインストールされたhttpdではWallEdgeを起動することができません。
ここで、rootの権限とは、httpdの設定ファイル(/usr/local/WallEdge/conf/httpd.confまたはhttpsd.conf)において、'User root'と設定することを意味します。
バージョン1.2.1以降のApacheをrootの権限で実行するためには、コンパイル時にsrc/Configurationファイルに-DBIG_SECURITY_HOLEを設定する必要があります。なお、WallEdgeがhttpdサーバをroot権限で実行することから、万が一のトラブルに備え、既に運用しているホストとは別途、WallEdge専用のホストを用意することをお勧めします。
- デフォルト・パス
packagesやPorts Collectionsでは、オリジナルのapacheに対しデフォルト・パス名が次表のように変更されています。WallEdgeの設定ファイル(/usr/local/WallEdge/confにインストールされるファイル)群のデフォルト値は、オリジナルのパス名に基づいた設定となっているため、コンパイル時にsrc/Configurationファイルにデフォルト・パス名を設定するか、あるいはhttpd.confを適切に設定する必要があります。表中Plat Home's Originalの列は、WallEdge CD-ROMに収録されている、packages(apache-1.2.6we.tgz、apacheSSL-1.2.6we.tgz)、 バイナリ(httpd、httpsd)およびそのPorts Collection(www/apache12we、www/apache-ssl117we)のデフォルト値を示します。
Apache Original FreeBSD Packages/Ports Plat Home's Original HTTPD_ROOT /usr/local/etc/httpd/ /usr/local/etc/apache/ /usr/local/etc/apache/ DOCUMENT_LOCATION ${HTTPD_ROOT}/htdocs/ /usr/local/www/data/ /usr/local/www/data/ SERVER_CONFIG_FILE ${HTTPD_ROOT}/conf/httpd.conf ${HTTPD_ROOT}/httpd.conf ${HTTPD_ROOT}/conf/httpd.conf RESOURCE_CONFIG_FILE ${HTTPD_ROOT}/conf/srm.conf ${HTTPD_ROOT}/srm.conf ${HTTPD_ROOT}/conf/srm.conf TYPES_CONFIG_FILE ${HTTPD_ROOT}/conf/mime.types ${HTTPD_ROOT}/mime.types ${HTTPD_ROOT}/conf/mime.types ACCESS_CONFIG_FILE ${HTTPD_ROOT}/conf/access.conf ${HTTPD_ROOT}/access.conf ${HTTPD_ROOT}/conf/access.conf DEFAULT_XFERLOG ${HTTPD_ROOT}/logs/access.log /var/log/httpd-access.log ${HTTPD_ROOT}/logs/access.log DEFAULT_ERRORLOG ${HTTPD_ROOT}/logs/error.log /var/log/httpd-error.log ${HTTPD_ROOT}/logs/error.log DDEFAULT_PIDLOG ${HTTPD_ROOT}/logs/httpd.pid /var/run/httpd.pid /var/run/httpd.pid DEFAULT_SCOREBOARD ${HTTPD_ROOT}/logs/apache_runtime_status /var/run/apache_runtime_status /var/run/apache_runtime_status DEFAULT_LOCKFILE ${HTTPD_ROOT}/logs/accept.lock /var/spool/lock/accept.lock /var/spool/lock/accept.lock
- バージョン
- Apache-SSLに関する条件
- バージョン
動作が確認されているバージョンは、次の通りです。- apache_1.2.0+ssl_1.8
- apache_1.2.4+ssl_1.11
- apache_1.2.5+ssl_1.13
- apache_1.2.5+ssl_1.14
- apache_1.2.6+ssl_1.15
- apache_1.2.6+ssl_1.16
- apache_1.2.6+ssl_1.17
- Session Caching
apache_1.2.5+ssl_1.4以降とSSLeay-0.8.xを組み合わせでは、Global Cache Server の利用が可能ですが、Apache-SSLのドキュメント(httpd.conf)に次のようなコメントが見受けられたため、WallEdgeでは、この機能を使用しないことを前提に、デフォルトの設定ファイル(httpds.conf)を用意しています。# Set the path for the global cache server executable. # If this facility gives you trouble, you can disable it by setting # CACHE_SESSIONS to FALSE in apache_ssl.c
WallEdgeのCD-ROMに収録されている、packages(${CDROM}/packages/www/apacheSSL-1.2.6we.tgz)とバイナリ(${CDROM}/WallEdge/sbin/httpsd)は、src/apache_ssl.cにおいて#define CACHE_SESSIONS FALSE
を設定しコンパイルされたものです。
Session Cachingを使用する場合は、src/apache_ssl.cにおいて#define CACHE_SESSIONS TRUE
を設定(又は確認)し、コンパイルを行い、WallEdgeをpkg_addコマンドにインストールした後、/usr/local/WallEdge/conf/httpsd.confに次の設定を行って下さい。SSLCacheServerPath /usr/local/sin/gcache SSLCacheServerPort logs/gcache_port SSLSessionCacheTimeout 15
- バージョン
- SSLeayに関する条件
- バージョン
動作が確認されているバージョンは、次の通りです。- SSLeay-0.6.6
- SSLeay-0.6.6b
- SSLeay-0.8.1
- SSLeay-0.8.1b
- バージョン