Categories: Инструкции

Установка и настройка связки 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 remontka remontka.local

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

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

pkg install -y apache24

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

echo ‘apache24_enable=»YES»‘ >> /etc/rc.conf

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

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

ServerName remontka.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.

admin

Recent Posts

Настройка Mercurial по HTTPS

Иногда mercurial, при скачивании и комитах ругается на https. Особенно на самоподписанные сертификаты. Чтобы заработал…

3 недели ago

Компиляция libvirt в Ubuntu

Компиляция libvirt Подробнее

3 недели ago

Ошибка libvirt permission denied: решение

Если возникает ошибка libvirt destroy lxc permission denied , при попытке остановить контейнер: _x000D_# virsh…

3 недели ago

Настройка редиректа в NGINX

Файлы с примерами редиректа для nginx Подробнее

3 недели ago

Включение gzip в NGINX

Как включить gzip сжатие в Nginx ? Подробнее

3 недели ago

Удаление postinst-скрипта в Linux

Иногда возникает ситуация, когда криво настроенные пакеты не устанавливаются в системе. У меня это произошло…

3 недели ago