Установка и настройка связки Apache + PHP + MySQL на FreeBSD

Обновлено Обновлено: Опубликовано Опубликовано:

В качестве примера используются apache24, php5, mysql56.
Операционная система — FreeBSD 10.

Подготавливаем сервер

Заходим под суперпользователем:

$ su

Выставляем часовой пояс (у меня московское время) и сразу синхронизируем время:

cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime; ntpdate 0.freebsd.pool.ntp.org;

Создаем задание в cron для автоматической синхронизации времени каждую ночь:

echo '0 0 * * * /usr/sbin/ntpdate 0.freebsd.pool.ntp.org' >> /var/cron/tabs/crontab && crontab /var/cron/tabs/crontab

Обновляем список пакетов:

pkg update && pkg upgrade

Обновляем систему:

freebsd-update fetch && freebsd-update install

Установка и настройка MySQL

Устанавливаем из пакета mysql-server:

pkg install -y mysql56-server

Разрешаем запуск демона mysql:

echo 'mysql_enable="YES"' >> /etc/rc.conf

Запускаем mysql:

service mysql-server start

Меняем пароль для пользователя root в mysql:

mysqladmin -u root password

Установка и настройка Apache

Указываем правильное имя сервера через файл hosts:

ee /etc/hosts

192.168.166.155          dmosk dmosk.local

* IP-адрес указан для локального сервера, для внешнего сервера указываем внешний адрес. dmosk — имя моего сервера.

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

pkg install -y apache24

Разрешаем запуск демона apache24:

echo 'apache24_enable="YES"' >> /etc/rc.conf

Отредактируем файл конфигурации для apache:

ee /usr/local/etc/apache24/httpd.conf

ServerName dmosk.local
...
Include etc/apache24/extra/httpd-vhosts.conf
...
MaxClients 200
...
HostnameLookups Off

ServerName указывает имя сервера, Include стоит раскомментировать при использовании виртуальных доменов (рекомендуется), MaxClients указывает на максимальное количество одновременно созданных процессов apache, HostnameLookups разрешает или запрещает определение имени подключенного клиента (отключение, как в примере, ускоряет работу веб-сервера Apache).

Если вы раскомментировали подключение файла etc/apache24/extra/httpd-vhosts.conf, редактируем его (удаляем все содержимое и оставляем написанное ниже):

ee /usr/local/etc/apache24/extra/httpd-vhosts.conf

<VirtualHost *:80>
    ServerName /
    DocumentRoot /usr/local/www/apache24/data
</VirtualHost>

* Это простейшая конфигурация для виртуального сервера. Она принимает любые запросы на сервер по http (80 порт) и запускает скрипт в директории DocumentRoot. Рекомендую посмотреть в сети Интернет более полные примеры для настройки виртуальных доменов Apache.

Запускаем сервер Apache:

service apache24 start

Проверяем работоспособность сервера apache, введя в адресной строке браузера IP-адрес сервера (в данном примере, 192.168.166.155). Сервер должен вернуть ответ «It Works!»

Установка и настройка PHP

Устанавливаем интерпретатор PHP с необходимыми модулями:

pkg install -y php5 mod_php5 php5-extensions php5-mysqli php5-mysql

Редактируем файл конфигурации php.ini:

ee /usr/local/etc/php.ini

date.timezone = "Europe/Moscow"
magic_quotes_gpc = Off
upload_max_filesize = 512M
post_max_size = 1G
max_execution_time = 0

* Это пример самых распространенных параметров, которые приходится редактировать. date.timezone определяет временную зону. magic_quotes_gpc, в данном примере, отключает экранирование кавычек («волшебных кавычек»). upload_max_filesize выставляет лимит для одного загружаемого на сервер файла. post_max_size выставляет лимит для всех загружаемых на сервер файлов. max_execution_time — это лимит времени в секундах, которое будет выделено на работу скрипта; при превышении этого времени сервер вернет ошибку (0, как в примере не лимитирует выполнение скрипта по времени).

Измените конфигурацию сервера Apache для подключения модуля PHP:

ee /usr/local/etc/apache24/httpd.conf

<IfModule mime_module>
...
AddType application/x-httpd-php .php .php3 .phtml
AddType application/x-httpd-php-source .phps
...
</IfModule mime_module>
DirectoryIndex index.html index.htm index.php

* AddType вставляется внутри IfModule mime_module и устанавливает правила обработки скриптов PHP. DirectoryIndex задает индексный файл по умолчанию; если скрипт не задан явно в запросе, будет запущен именно он.

Переходим в корневую директорию расположения скриптов и переименовываем индексный файл:

cd /usr/local/www/apache24/data && mv index.html index.php

Теперь добавляем в него функцию вызова параметров настройки сервера phpinfo():

echo '<? phpinfo() ?>' > index.php

Перезапускаем веб-сервер:

service apache24 restart

Проверьте работоспособность сервера apache, введя в адресной строке браузера IP-адрес сервера (в данном примере, 192.168.166.155). Сервер должен вернуть много параметров в различных таблицах.

Также в данных таблицах вы должны увидеть «MySQL Suppert — Enabled». Это говорит о том, что сервер готов к работе с базой MySQL.

phpinfo при настройке apache php mysql на freebsd

# FreeBSD # UNIX # Интернет # Серверы
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет