Установка веб сервера Apache в связке с PHP

Устанавливаем Апач из портов:

cd /usr/ports/www/apache22/
make config && make && make install

Можно ставить с параметрами по умолчанию, однако я бы рекомендовал включить mod_suexec, он вам обязательно пригодится, например, для работы webmin или virtualmin.

Для автозапуска после перезагрузки не забываем добавить apache22_enable="YES" в файл /etc/rc.conf

Устанавливаем PHP из портов:

cd /usr/ports/lang/php5/
make config && make && make install

при конфигурации дополнительно включаем модуль для поддержки апача.

По тому же принципу устанавливаем расширения для php:

cd /usr/ports/lang/php5-extensions/
make config && make && make install

При конфигурировании включаем поддержку MYSQLi, остальное можно оставить по умолчанию. Для сокращения времени установки стоит вначале ставить только то, что вам точно необходимо, а остальные доставить позже, если потребуется.

После того, как все установилось, переходим к конфигурированию. Начнем с php.ini

cd /usr/local/etc/
cp php.ini-recommended php.ini

При желании, в этом файле можно сменить значение параметра short_open_tag с Off на On. Это позволит обрабатывать PHP скрипты, начинающиеся не только с тэга <?php, но и с его сокращенного варианта <?, что нередко встречается.

Теперь правим следующие строки в файле /usr/local/etc/apache22/httpd.conf

ServerAdmin [email protected]
#Ваш адрес электронной почты, будет виден на страницах с ошибками Apache
ServerName www.yourdomain.com:80
# Если у вас нет домена, относящегося к данной машине, то можно указать айпи адрес

Далее находим раздел <IfModule dir_module> и прописываем там имена индексных файлов, к примеру:

index.php index.html

Следующий интересный нам раздел называется <IfModule mime_module> раскомментируем строки:

AddEncoding x-compress .Z
AddEncoding x-gzip .gz .tgz

И добавляем следующие строки для поддержки работы с PHP:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Теперь стартуем Apache командой:

/usr/local/etc/rc.d/apache22 start

смотрим, запустился ли Apache:

ps -ax | grep httpd

результат должен быть примерно следующий:

1461 ?? Ss 0:00.55 /usr/local/sbin/httpd

смотрим лог /var/log/httpd-error.log там должно быть что-то вроде:

[Thu Mar 18 17:34:30 2010] [notice] Apache/2.2.14 (FreeBSD) mod_ssl/2.2.14 OpenSSL/0.9.8k DAV/2 PHP/5.2.12 with Suhosin-Patch configured -- resuming normal operations

Ну и последняя проверка. Создаем файл test.php, пишем туда php код <?php phpinfo(); ?>и сохраняем в корневую директорию сайта. По умолчанию, /usr/local/www/apache22/data/ После чего открываем в вашем любимом браузере страницу вида http://www.yourdomain.com/test.php и должны увидеть страницу с параметрами php. Если страница отображается, значит связка apache+php установлена успешно.

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