Предоставил Murray Stokely.
FreeBSD используется в качестве платформы для многих из самых нагруженных серверов в
мире. Большинство серверов в интернет используют Apache HTTP
сервер. Пакеты Apache должны быть включены в поставку
FreeBSD. Если вы не установили их во вместе с системой, воспользуйтесь портами www/apache13 или www/apache2.
Как только Apache был успешно установлен, его необходимо
настроить.
Замечание: В этом разделе рассказывается о версии 1.3.X Apache HTTP сервера, поскольку эта версия наиболее широко
используется в FreeBSD. Apache 2.X содержит много новых
технологий, но здесь они не обсуждаются. За дополнительной информацией о Apache 2.X, обращайтесь к http://httpd.apache.org/.
В FreeBSD основной файл настройки Apache HTTP сервера
устанавливается в /usr/local/etc/apache/httpd.conf. Это обычный
текстовый UNIX® файл настройки с строками
комментариев, начинающимися с символа #. Исчерпывающее
описание всех возможных параметров настройки находится за пределом рассмотрения этой
книги, поэтому здесь будут описаны только наиболее часто модифицируемые директивы.
- ServerRoot "/usr/local"
-
Указывает верхний каталог установки Apache по умолчанию.
Бинарные файлы находятся в bin и sbin, подкаталоги расположены относительно корневого каталога
сервера, файлы настройки находятся в etc/apache.
- ServerAdmin you@your.address
-
Адрес, на который должны будут отправляться сообщения о проблемах с сервером. Этот
адрес выводится на некоторые генерируемые сервером страницы, например с сообщениями об
ошибках.
- ServerName www.example.com
-
ServerName позволяет вам устанавливать имя хоста, которое
отправляется обратно клиентам, если оно отличается от того, с которым настроен хост
(например, использование www вместо реального имени хоста).
- DocumentRoot "/usr/local/www/data"
-
DocumentRoot: Каталог, внутри которого будут храниться
документы. По умолчанию, все запросы обрабатываются внутри этого каталога, но
символические ссылки и синонимы могут использоваться для указания на другие каталоги.
Хорошей идеей будет сделать резервные копии настроек Apache
перед внесением изменений. Как только вы будете удовлетворены первоначальной настройкой,
можно запускать Apache.
Apache не запускается из inetd,
как это делают многие другие сетевые серверы. Он настроен для автономного запуска, чтобы
обеспечивать большую производительность при обработке HTTP запросов от браузеров
клиентов. Для упрощения запуска, остановки и перезапуска сервера существует shell скрипт.
Для запуска Apache в первый раз просто выполните:
# /usr/local/sbin/apachectl start
Вы можете остановить сервер в любой момент, выполнив:
# /usr/local/sbin/apachectl stop
После внесения любых изменений в файл настроек, вам потребуется перезапустить
сервер:
# /usr/local/sbin/apachectl restart
Для запуска Apache при старте системы, добавьте в /etc/rc.conf следующую строку:
apache_enable="YES"
Если вы хотите передать программе Apache httpd дополнительные параметры командной при загрузке системы, они
могут быть помещены в дополнительную строку rc.conf:
apache_flags=""
Теперь, когда веб сервер запущен, вы можете просмотреть свой веб сайт, задав в строке
браузера адрес http://localhost/. По умолчанию отображается
веб страница /usr/local/www/data/index.html.
Apache поддерживает два различных типа виртуального
хостинга (Virtual Hosting). Первый метод основан на именах (Name-based Virtual Hosting).
Он использует полученные от клиента заголовки HTTP/1.1 для определения имени хоста. Это
позволяет многим различным доменам использовать один и тот же IP адрес.
Для настройки Apache на использование этого типа хостинга
добавьте в httpd.conf запись подобную следующей:
NameVirtualHost *
Если веб сервер назывался www.domain.tld и вы хотите настроить
виртуальный домен для www.someotherdomain.tld, необходимо
добавить в httpd.conf следующие записи:
<VirtualHost *>
ServerName www.domain.tld
DocumentRoot /www/domain.tld
<VirtualHost>
<VirtualHost *>
ServerName www.someotherdomain.tld
DocumentRoot /www/someotherdomain.tld
</VirtualHost>
Замените адреса и пути к документам на те, что вы будете использовать.
За дополнительной информацией по настройке виртуальных хостов обращайтесь к
официальной документации Apache: http://httpd.apache.org/docs/vhosts/
Существуют множество различных модулей Apache, которые
добавляют функциональность к основному серверу. Коллекция портов FreeBSD предоставляет
простой способ установки Apache с некоторыми наиболее
популярными дополнительными модулями.
Модуль mod_ssl использует библиотеку OpenSSL для сильной
криптографии через протоколы Secure Sockets Layer (SSL v2/v3) и Transport Layer Security
(TLS v1). Этот модуль содержит все необходимое для запроса подписанного сертификата из
центра сертификации для защищенного веб сервера на FreeBSD.
Если вы еще не установили Apache, версия Apache с mod_ssl может быть
установлена через порт www/apache13-modssl.
Проект интеграции Apache/Perl объединяет мощь языка
программирования Perl и HTTP сервера Apache. С модулем mod_perl возможно написание модулей Apache полностью на Perl. Кроме того, постоянно запущенный
встроенный в сервер интерпретатор позволяет не тратить ресурсы на запуск внешнего
интерпретатора и время на запуск Perl.
Если вы еще не установили Apache, его версия с модулем mod_perl может быть установлена через порт www/apache13-modperl.
PHP, сокращение от ``PHP: Hypertext Preprocessor'' это широко используемый Open Source
скриптовый язык общего назначения, который в основном предназначен для веб разработки и
может быть встроен в HTML. Его синтаксис был взят от C, Java™, и Perl и язык легок в изучении. Основное
преимущество языка в том, что он позволяет веб разработчикам создавать веб страницы
быстро, но есть и множество других возможностей.
PHP может быть установлен из порта lang/php5.