Talk:Apache

SSL
Нужно выбрать версию сервера, которая содержит поддержку SSL. Указание на поддержку SSL содержится в имени, например, apache+mod_ssl-1.3.39+2.8.30.

Никаких дополнительных действий по активизации SSL не требуется выполнять, сертификаты будут сгенерированы автоматически.

Для выполнения настроек виртуальных хостов, добавьте соответствующие строки в контейнер .

Чтобы учитывались директивы из .htaccess, внутрь контейнера  добавить:   AllowOverride ALL

Проверка
Что хост запрашивает авторизацию при обращении к приватным страницам wget --no-check-certificate https://leksey.tushinec.ru/private/

Отладка
Узнать порт стандартный, на котором работает https: grep https /etc/services https          443/tcp https          443/udp Проверить, открыт ли он: netstat -na -t tcp|grep 443 tcp4      0      0  *.443                  *.*                    LISTEN

Лог-файлы
less /var/log/ssl_engine_log  [25/Jul/2009 19:43:50 39645] [info] Server: Apache/1.3.39, Interface: mod_ssl/2.8.30, Library: OpenSSL/0.9.8e [25/Jul/2009 19:43:50 39645] [info] Init: 1st startup round (still not detached) [25/Jul/2009 19:43:50 39645] [info] Init: Initializing OpenSSL library [25/Jul/2009 19:43:50 39645] [info] Init: Loading certificate & private key of SSL-aware server new.host.name:443 [25/Jul/2009 19:43:50 39645] [info] Init: Seeding PRNG with 136 bytes of entropy [25/Jul/2009 19:43:50 39645] [info] Init: Generating temporary RSA private keys (512/1024 bits) [25/Jul/2009 19:43:50 39645] [info] Init: Configuring temporary DH parameters (512/1024 bits) [25/Jul/2009 19:43:51 39646] [info] Init: 2nd startup round (already detached) [25/Jul/2009 19:43:51 39646] [info] Init: Reinitializing OpenSSL library [25/Jul/2009 19:43:51 39646] [info] Init: Seeding PRNG with 136 bytes of entropy [25/Jul/2009 19:43:51 39646] [info] Init: Configuring temporary RSA private keys (512/1024 bits) [25/Jul/2009 19:43:51 39646] [info] Init: Configuring temporary DH parameters (512/1024 bits) [25/Jul/2009 19:43:51 39646] [info] Init: Initializing (virtual) servers for SSL [25/Jul/2009 19:43:51 39646] [info] Init: Configuring server new.host.name:443 for SSL protocol [25/Jul/2009 19:43:51 39646] [warn] Init: (new.host.name:443) RSA server certificate CommonName (CN) `www.snakeoil.dom' does NOT match server name!? 

Ошибки
Если есть конструкция вида, то при заходе браузером   AllowOverride ALL </Directory><BR> </VirtualHost><BR>

firefox отображает сообщение (описание ошибок) hostname has sent an incorrect or unexpected message. Error Code: -12263 и errorlog пополняется строкой [Sat Jul 25 19:55:36 2009] [error] [client 192.168.1.6] Invalid method in request \\x16\\x03\\x01

Поэтому разрешение AllowOverride ALL надо прописать отдельно для 80 и 443.

Apache из исходных кодов
http://httpd.apache.org/download.cgi fetch -v http://mirror.prvtgeo.com/apache/httpd/httpd-2.2.11.tar.gz md5 httpd-2.2.11.tar.gz tar -xvf httpd-2.2.11.tar.gz less README less README.platforms FreeBSD:<BR> autoconf 2.52 creates scripts that are incompatible with the Posix<BR> shell implementation (/bin/sh) on FreeBSD. Be sure to use v2.13<BR> of autoconf.<BR> vi INSTALL $ ./configure --prefix=PREFIX<BR> $ make<BR> $ make install<BR> $ PREFIX/bin/apachectl start<BR> pwd "/tmp/apache/httpd-2.2.11"

./configure --prefix=/usr/local/apache2 make make install /usr/local/apache2/bin/apachectl start<BR>

The easiest way to find all of the configuration flags for Apache 2.2 is to run ./configure --help.

Домены
Зарегистрировал два домена
 * juliet.homeunix.net 	 Host  	89.108.90.71  	Jun. 06, 2009 4:39 PM
 * romeo.homeunix.net 	Host 	89.108.90.71 	Jun. 06, 2009 4:39 PM

Виртуальные хосты
Документация vi /usr/local/apache2/conf/httpd.con Раскомментировать строку Include conf/extra/httpd-vhosts.conf

vi /usr/local/apache2/conf/extra/httpd-vhosts.conf <VirtualHost *:80><BR> DocumentRoot "/usr/local/apache2/htdocs/juliet.homeunix.net"<BR> ServerName juliet.homeunix.net<BR> ServerAlias www.juliet.homeunix.net<BR> </VirtualHost><BR>
 * 1)    ErrorLog "logs/dummy-host.example.com-error_log"<BR>
 * 2)    CustomLog "logs/dummy-host.example.com-access_log" common<BR>

/usr/local/apache2/bin/apachectl -S VirtualHost configuration: Syntax OK

CGI
Тестовый скрипт на sh уже есть в поставке

При попытке его запустить http://89.108.90.71/cgi-bin/test-cgi, получим в error-log (13)Permission denied: exec of '/usr/local/apache2/cgi-bin/test-cgi' failed<BR> [Sun Jun 07 10:35:43 2009] [error] [client 89.108.68.6] Premature end of script headers: test-cgi<BR>

chmod +x /usr/local/apache2/cgi-bintest-cgi

Чтобы cgi-bin работал только у одного виртхоста, переместил строку ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/" из основного конфига в контейнер соответствующего виртхоста.