Материал просмотрен 5,807 раз(а)

Устанавливаем Apache на сервер FreeBSD.

Пришло время установить на нашу систему WEB-сервер Apache. Выбран именно Апач, как самый распространённый, поэтому здесь я приведу подробную инструкцию, как это сделать. Все примеры даны для версии Apache 1.3.

Убедимся, что у нас последняя версия портов. Если это не так (или вы не знаете, что такое порты) рекомендую прочитать сперва материал про обновление дерева портов.

Дерево у нас в актуальном состоянии, так что идём дальше. Начинаем непосредственно установку apache.

# cd /usr/ports/www/apache13

# make install clean

Кстати, примерно по такой же схеме и будет происходить установка всех программ.

Начинается процесс установки (точнее поиска зеркала, скачивания файлов, распаковки, установки), нам остаётся только наблюдать.

Выпадает диалоговое окошко с выбором опций установки Perl. Можно оставить всё по умолчанию.

И вот наконец! Процесс завершился. Сервер Apache установлен!

Добавляем старт демона в “автозагрузку”:

# echo ‘apache_enable=”YES”‘ >> /etc/rc.conf

Проблема при запуске Apache

Запускаем наш свежеустановленный сервер командой:

# /usr/local/etc/rc.d/apache start

Но вот незадача! Не хочет запускаться. Из описания ошибки понятно, что проблема в ServerName

Для исправления проблемы откроем конфигурационный файл Apache под названием httpd.conf:

# ee /usr/loca/etc/apache/httpd.conf

Найдём и раскомментируем строку ServerName localhost, для этого уберём символ # перед строкой.

Сохраняем конфиг и пытаемся запустить сервер снова!

И снова ошибка. Правда из описания ничего не понятно. Но на помощь нам приходит такой замечательный инструмент сисадмина, как ЛОГИ.

Читаем лог-файл ошибок httpd и видим следующее:

# tail /var/log/httpd-error.log

“… mod_unique_id ….”

Понятен смысл проблемы, этот модуль нам не нужен, закомментируем его включения в вышеобозначенном конфиге apache:

# ee /usr/loca/etc/apache/httpd.conf

Ищем и комментируем строки с mod_unique_id.c (это секции с LoadModule и AddModule)  

Запускаем сервер снова.

# /usr/local/etc/rc.d/apache start

Наконец всё получилось!

Для проверки – найдём исполняющиеся процессы с именем httpd (демон веб-сервера)

# ps ax | grep httpd

Демоны найдены, значит всё ОК! Поздравляем! Наш WEB-сервер уже работает.

Самое время создать тестовую страничку. В конфиге прописан путь по умолчанию, поэтому идём в каталог и создадим там индексный файл:

# cd /usr/local/www/data

# ee index.php

следующего содержания:

<?php

echo ‘<h1>It works!</h1>’;

echo date(‘H:m:s’);

?>

Но если попытаться открыть адрес нашего узла в броузере (например lynx), файл у нас не запустится, так как нет php-интерпретатора. Поставим и его.

Устанавливаем PHP на Apache

PHP 5.2 у нас лежит в /usr/ports/lang/php52

# cd /usr/ports/lang/php52

Первым делом сконфигурируем его:

# make config

Нам нужно указать опцию APACHE, чтобы PHP установился как модуль apache-сервера.

Ну теперь продолжаем, по старой схеме.

# make install clean

Теперь нам нужно перезапустить httpd, для этого воспользуемся командой:

# apachectl graceful

После этого наши PHP-файлы уже нормально открываются в броузере lynx!

Всё работает!