Установка веб сервера 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тройке веб сервера.