Довольно внятный ман, сделанный с целью обозначить проблемку некоторых админов и прилепить к нему полную документяцию в pdf-формате.
# uname -sr
FreeBSD 8.1-PRERELEASE
# pkg_info | grep apache
apache-2.2.15_9
Предварительная подготовка
Проверяем наличие или добавляем строки в /etc/make.conf:
PORTSDIR?=/usr/ports
.if ${.CURDIR} == ${PORTSDIR}/www/apache22
SUEXEC_DOCROOT=/home
SUEXEC_USERDIR=/home/*/cgi-bin
.endif
Установка
# cd /usr/ports/www/apache22
# make install clean
Конфигурация во время установки
[X] THREADS               Enable threads support in APR
[X] AUTHZ_HOST            Enable mod_authz_host
[X] ALIAS                 Enable mod_alias
[X] ASIS                  Enable mod_asis
[X] CGI                   Enable mod_cgi
[X] DIR                   Enable mod_dir
[X] ENV                   Enable mod_env
[X] EXPIRES               Enable mod_expires
[X] HEADERS               Enable mod_headers
[X] INCLUDE               Enable mod_include
[X] INFO                  Enable mod_info
[X] LOG_CONFIG            Enable mod_log_config
[X] LOGIO                 Enable mod_logio
[X] MIME                  Enable mod_mime
[X] MIME_MAGIC            Enable mod_mime_magic
[X] NEGOTIATION           Enable mod_negotiation
[X] SETENVIF              Enable mod_setenvif
[X] SPELING               Enable mod_speling
[X] STATUS                Enable mod_status
[X] VHOST_ALIAS           Enable mod_vhost_alias
[X] FILTER                Enable mod_filter
[X] VERSION               Enable mod_version
[X] SSL                   Enable mod_ssl
[X] SUEXEC                Enable mod_suexec
[X] SUEXEC_RSRCLIMIT      SuEXEC rlimits based on login class
[X] REQTIMEOUT            Enable mod_reqtimeout
Настройка
Проверяем наличие или добавляем строку в /etc/rc.conf:
apache22_enable="YES"
Правим конфигурационный файл /usr/local/etc/apache22/httpd.conf
ServerName localhost
ServerRoot "/usr/local"
Listen 80
# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule authz_host_module libexec/apache22/mod_authz_host.so
LoadModule reqtimeout_module libexec/apache22/mod_reqtimeout.so
LoadModule include_module libexec/apache22/mod_include.so
LoadModule filter_module libexec/apache22/mod_filter.so
LoadModule log_config_module libexec/apache22/mod_log_config.so
LoadModule logio_module libexec/apache22/mod_logio.so
LoadModule env_module libexec/apache22/mod_env.so
LoadModule mime_magic_module libexec/apache22/mod_mime_magic.so
LoadModule expires_module libexec/apache22/mod_expires.so
LoadModule headers_module libexec/apache22/mod_headers.so
LoadModule setenvif_module libexec/apache22/mod_setenvif.so
LoadModule version_module libexec/apache22/mod_version.so
LoadModule ssl_module libexec/apache22/mod_ssl.so
LoadModule mime_module libexec/apache22/mod_mime.so
LoadModule status_module libexec/apache22/mod_status.so
LoadModule asis_module libexec/apache22/mod_asis.so
LoadModule info_module libexec/apache22/mod_info.so
LoadModule suexec_module libexec/apache22/mod_suexec.so
LoadModule cgi_module libexec/apache22/mod_cgi.so
LoadModule vhost_alias_module libexec/apache22/mod_vhost_alias.so
LoadModule negotiation_module libexec/apache22/mod_negotiation.so
LoadModule dir_module libexec/apache22/mod_dir.so
LoadModule speling_module libexec/apache22/mod_speling.so
LoadModule alias_module libexec/apache22/mod_alias.so
<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
User www
Group www
</IfModule>
</IfModule>
# 'Main' server configuration
#
ServerAdmin you@example.com
<Directory />
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>
<IfModule dir_module>
    DirectoryIndex index.shtml
</IfModule>
<FilesMatch "^.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>
ErrorLog "/var/log/httpd-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>
</IfModule>
DefaultType text/plain
<IfModule mime_module>
    TypesConfig etc/apache22/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>
# Virtual hosts
Include etc/apache22/extra/httpd-vhosts.conf
# Secure (SSL/TLS) connections
#Include etc/apache22/extra/httpd-ssl.conf
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
Include etc/apache22/Includes/*.conf
Запускаем
# /usr/local/etc/rc.d/apache22 start
Проверяем что сервер запустился и работает
ps ax | grep httpd
77131  ??  Ss     0:00,21 /usr/local/sbin/httpd -DNOHTTPACCEPT
77134  ??  I      0:00,00 /usr/local/sbin/httpd -DNOHTTPACCEPT
77135  ??  I      0:00,00 /usr/local/sbin/httpd -DNOHTTPACCEPT
77136  ??  I      0:00,00 /usr/local/sbin/httpd -DNOHTTPACCEPT
77137  ??  I      0:00,00 /usr/local/sbin/httpd -DNOHTTPACCEPT
77138  ??  I      0:00,00 /usr/local/sbin/httpd -DNOHTTPACCEPT
77149  ??  I      0:00,00 /usr/local/sbin/httpd -DNOHTTPACCEPT