Модули, которые я использую (кроме SSL, PHP и frontpage): Module env_module mod_env.o Module config_log_module mod_log_config.o Module mime_module mod_mime.o Module negotiation_module mod_negotiation.o Module dir_module mod_dir.o Module cgi_module mod_cgi.o Module asis_module mod_asis.o Module imap_module mod_imap.o Module action_module mod_actions.o Module alias_module mod_alias.o Module rewrite_module mod_rewrite.o Module access_module mod_access.o Module auth_module mod_auth.o Module anon_auth_module mod_auth_anon.o Module digest_module mod_digest.o Module expires_module mod_expires.o Module headers_module mod_headers.o Module browser_module mod_browser.o |
Если вы - интернет-провайдер, вы захотите увеличить степень безопасности системы. suexec - утилита, позволяющая вам это сделать; выполнение cgi под пользователем-владельцем веб-каталога, вместо пользователя, запустившего веб-сервер. Перейдите в /usr/src/apache_1.2.6/support и дайте команду make suexec. chmod 4711 suxec; скопируйте этот файл в каталог, указанный в ../src/httpd.h (по умолчанию - /usr/local/etc/httpd/sbin/suexec ). Если путь кажется вам странным - как это казалось мне - измените его в httpd.h.
Перейдите в каталог /usr/src/apache_1.2.6/src и отредактируйте Configuration, установив все необходимые модули, входящие в состав вашего Apache. Когда все будет готово, запустите ./Configure и make. Это - последний (и наиболее сложный) шаг компиляции, так что скрестите ваши пальцы. Если все пройдет успешно, скопируйте httpsd в /usr/sbin. Демон достаточно большой, учтите это при компиляции вашего веб-сервера. Создайте директорию /var/httpd с подкаталогами cgi-bin, conf, htdocs, icons, virt1, virt2 and logs. В /usr/src/apache_1.2.6/conf отредактируйте файлы access.conf-dist, mime.types и srm.conf-dist, как вам надо, и скопируйте их в var/httpd/conf/access.conf, srm.conf и mime.types. Скопируйте файл httpsd.pem, созданный с помощью make certificate в каталог /var/httpd/conf. Используйте следующий httpd.conf:
ServerType standalone Port 80 Listen 80 Listen 443 User wwwrun Group wwwrun ServerAdmin webmaster@yourhost.com ServerRoot /var/httpd ErrorLog logs/error_log TransferLog logs/access_log PidFile logs/httpd.pid ServerName www.yourhost.com MinSpareServers 3 MaxSpareServers 20 StartServers 3 SSLCACertificatePath /var/httpd/conf SSLCACertificateFile /var/httpd/conf/httpsd.pem SSLCertificateFile /var/httpd/conf/httpsd.pem SSLLogFile /var/httpd/logs/ssl.log <VirtualHost www.virt1.com> SSLDisable ServerAdmin webmaster@virt1.com DocumentRoot /var/httpd/virt1 ScriptAlias /cgi-bin/ /var/httpd/virt1/cgi-bin/ ServerName www.virt1.com ErrorLog logs/virt1-error.log TransferLog logs/virt1-access.log User virt1admin Group users </VirtualHost> <VirtualHost www.virt1.com:443> ServerAdmin webmaster@virt1.com DocumentRoot /var/httpd/virt1 ScriptAlias /cgi-bin/ /var/httpd/virt1/cgi-bin/ ServerName www.virt1.com ErrorLog logs/virt1-ssl-error.log TransferLog logs/virt1-ssl-access.log User virt1admin Group users SSLCACertificatePath /var/httpd/conf SSLCACertificateFile /var/httpd/conf/httpsd.pem SSLCertificateFile /var/httpd/conf/httpsd.pem SSLLogFile /var/httpd/logs/virt1-ssl.log SSLVerifyClient 0 SSLFakeBasicAuth </VirtualHost> <VirtualHost www.virt2.com> SSLDisable ServerAdmin webmaster@virt2.com DocumentRoot /var/httpd/virt2 ScriptAlias /cgi-bin/ /var/httpd/virt2/cgi-bin/ ServerName www.virt2.com ErrorLog logs/virt2-error.log TransferLog logs/virt2-access.log </VirtualHost> |
В зависимости от модулей, не все директивы могут быть доступны. Вы можете получить список доступных директив с помощью команды httpsd -h.
Перейдите в каталог /usr/local/frontpage/version3.0/bin и загрузите ./fpsrvadm. Выберите install и apache-fp. Вам нужно будет ответить на следующие вопросы:
Enter server config filename (Введите имя конфигурационного файла сервера): /var/httpd/conf/httpd.conf Enter host name for multi-hosting (Введите имя машины для мультихостинга) []: www.virt2.com Starting install, port (Начало установки, порт) : www.virt2.com:80, web (веб каталог): "" Enter user's name (Введите имя пользователя) []: virt2admin Enter user's password (Введите пароль) : Confirm password (Подтвердите пароль) : Creating root web (Создание корневого каталога веб) Recalculate links for root web Install completed. |
Имя пользователя должно соответствовать имени входа в систему веб-пользователя. Пароль не обязательно должен совпадать с системным паролем. Вы должны вручную добавить sendmailcommand:/usr/sbin/sendmail %r к /usr/local/frontpage/www.virt2.com:80.conf, иначе ваши пользователи не смогут посылать веб-генерированные письма. kill -HUP ваш httpsd, чтобы заставить fp заново прочитать файлы конфигурации. Теперь вы можете обращаться к www.virt2.com с вашего клиента frontpage.
При некоторых обстоятельствах fpsrvadm выдает сообщения, что сначала должен быть задан корневой каталог веб. Их можно игнорировать, но вы должны сделать так, чтобы fpsrvadm их не выдавал.
Запустите Apache с помощью команды httpsd -f /var/httpd/conf/httpd.conf. Теперь вы можете обращаться к www.virt1.com через http и https (кстати, достаточно мощный протокол). Конечно вы должны оплатить реальный сертификат, если вы хотите предоставлять SSL, или вас засмеют ;-).
Скопируйте один файл из каталога примеров php (examples) в virt1, чтобы проверить работу php.
Не используйте расширения frontpage 97. Они не работают, по крайней мере, в Linux. При установке определенных версий библиотек C++, они вроде работают, но ваши журналы и почтовый ящик скоро заполнятся сообщениями вида premature end of script headers Не используйте расширения frontpage 98 версии ниже 3.0.2.1330. Не запутайтесь, номера версий несколько непривычны. Когда зайдете telnet'ом на 80-й порт, введите "get / http/1.0" и дважды нажмите ввод - вы получите версию номер 3.0.4 для frontpage.
Более точно номер версии вы можете узнать при помощи команды /usr/local/frontpage/currentversion/exes/_vti_bin/shtml.exe -version. Старые версии имеют неприятную ошибку, которая требует, чтобы httpd.conf можно было перезаписывать под gid вебсервера'а. Это достаточно плохо, если вас беспокоит безопасность. Я, в любом случае, рекомендую использовать версии новее 3.0.2.1330, лишенные этого недостатка.
При запуске Recalculate Links в клиенте frontpage, сервер запускает процесс, который потребляет 99% процессорного времени и около 10 Мб памяти. Но даже с сайтов среднего размера и быстрых машин, Клиент иногда получает сообщение, что время ожидания истекло, хотя вычисление будет закончено правильно. Сообщите пользователям, что нужно подождать, а не нажимать Recalculate Links несколько раз. Уясните для себе, что нужно оборудовать сервер по крайней мере 64 Мб памяти.
Пожалуйста, обратите внимание, что во время записи и SSL, и frontpage могут работать по отдельности, но не вместе - это означает, что вы не можете опубликовывать свои страницы, используя ssl, и не можете использовать webbots через https. Вы можете опубликовать ваше веб-содержимое через 80-ый порт и обращаться к зашифрованному содержимому через порт 443, но ваши счетчики и т.п. будут нарушены. Я думаю это ошибка. Эта проблема будет исправлена в SSL 0.9.0 (я надеюсь).
Вопрос для тех, кто думает, что заголовок этого руководства такой-же длинный, как и его текст: Вы когда-нибудь слушали Meat Loaf?
O.K. Читатели, хватит вам на сегодня. Не стесняйтесь посылать мне письма, вечную благодарность, цветы, электронные деньги, автомобили, нефтяные источники и т.д.