13.04.2014

#инструкция: Установка FAMP [FAMP = FreeBSD 10 + Apache 2.4 + MySQL 5.6 + PHP 5.6] // обновление 23.02.2015

#инструкция: Установка FAMP [FAMP = FreeBSD 10 + Apache 2.4 + MySQL 5.6 + PHP 5.6] // обновление 23.02.2015

Установка и настройка web-сервера в FreeBSD в данном случае выполняется от пользователя root с поключеннм интернетом.


1. Установка Apache

Смотрим какие версии Apache есть в наличии в репозитарии FreeBSD с помощью команды 'pkg rquery' в консоли:

$ pkg rquery -e '%n ~ apache*' '> nomo-versio: %n-%v \n amplekso: %sh \n' | less

И консоль нам любезно сообщит, что в наличии есть 2 версии Apache, то есть apache22 и apache24.

> nomo-versio: apache22-2.2.29_2
> nomo-versio: apache24-2.4.10_2

Выбираем последнюю доступную версию Apache [то есть apache24] и устанавливаем её.

Установка Apache-2.4 из портов:

Перед установкой программы из портов желательно обновить дерево портов от имени суперпользователя для установки последней версии нужной программы.

# portsnap fetch update

Переходим в каталог порта Apache 'www/apache24'

# cd /usr/ports/www/apache24

Устанавливаем порт Apache сервера

# make install clean

Включаем загрузку демона Apache сервера при старте системы FreeBSD, но пока не стартуем! Прежде надо собрать PHP

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

Делаем резервную копию конфигурационного файла Apache сервера:

# cp /usr/local/etc/apache24/httpd.conf /usr/local/etc/apache24/httpd.conf.bak

Для избежания ошибки при запуске Apache-2.4 "httpd: apr_sockaddr_info_get() failed <host_name>" необходимо установить параметр в "ServerName" в конфигурационном файле настроек Apache-2.4 "/usr/local/etc/apache24/httpd.conf":

ServerName    localhost:80

Проверка правильности установки веб-сервера Apache

Для запуска Apache в первый раз, просто запустите

# /usr/local/sbin/apachectl start

Просто перейдите по ссылке: http://localhost/

Если Apache все же не запускается проверьте следующие лог-файлы:

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

2. Установка PHP

Смотрим какие версии PHP есть в наличии в репозитарии FreeBSD с помощью команды 'pkg rquery' в консоли:

$ pkg rquery -e '%n ~ php*' '> nomo-versio: %n-%v \n amplekso: %sh \n' | less

И консоль нам любезно сообщит, что в наличии есть несколько доступных версий PHP:

> nomo-versio: php5-5.4.36
> nomo-versio: php53-5.3.29_3
> nomo-versio: php55-5.5.20
> nomo-versio: php56-5.6.4

Выбираем последнюю доступную версию PHP [то есть php56] и устанавливаем её.

Переходим в порт 'lang/php56'

# cd /usr/ports/lang/php56/

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

# make install clean

Переходим в порт 'www/mod_php56'

# cd /usr/ports/www/mod_php56

Устанавливаем порт 'www/mod_php56' для подключения PHP как модуля к Apache

# make install clean

Переходим в порт php-модулей

# cd /usr/ports/lang/php56-extensions/

Запускаем выбор опций компиляции порта

# make config

Для нормальной работы веб-сервера, Я бы порекомендовал следующие модули:

DOM         DOM support
GD          GD library support
ICONV       iconv support
MBSTRING    multibyte string support
MCRYPT      Encryption support
MYSQL       MySQL database support
MYSQLI      MySQLi database support
SIMPLEXML   simplexml support
SESSION     session support
SQLITE      sqlite support
SQLITE3     sqlite3 support
XML         XML support

Также желательно отключить модуль dba, поскольку он часто мешает нормальной сборке.

Устанавливаем порт в "согласованном" режиме

# make BATCH=yes install clean

Устанавливаем конфиг PHP

# cp /usr/local/etc/php.ini-development /usr/local/etc/php.ini

3. Настройка PHP

После установки PHP уже разрешен в конфиге с Apache как модуль, но его еще невозможно использовать. Для его использования нужно связать расшире­ния файлов '.php' с правильным типом данных чтоб Apache знал для каких файлов запускать интерпретатор PHP.

Открываем конфигурационный файл Apache '/usr/local/etc/apache24/httpd.conf' и проверяем его на наличие следующих строк:

LoadModule php5_module        libexec/apache24/libphp5.so

Далее дописываем в разделе 'DirectoryIndex' в конфигурационном файле Apache '/usr/local/etc/apache24/httpd.conf' следующий код:

<IfModule dir_module>
    DirectoryIndex index.php index.html
<IfModule mod_php5.c>
    DirectoryIndex index.php index.html
</IfModule>
<IfModule mod_php5.c>
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
</IfModule>

Теперь поскольку мы изменили некоторые настройки Apache-сервера его необходимо перезапустить

# /usr/local/sbin/apachectl restart

4. Установка MySQL

Смотрим какие версии MySQL есть в наличии в репозитарии FreeBSD с помощью команды 'pkg rquery' в консоли:

$ pkg rquery -e '%n ~ php*' '> nomo-versio: %n-%v \n amplekso: %sh \n' | less

И консоль нам любезно сообщит, что в наличии есть несколько доступных версий MySQL:

> nomo-versio: mysql51-server-5.1.73_2
> nomo-versio:  mysql55-server-5.5.41
> nomo-versio: mysql56-server-5.6.22

Выбираем последнюю доступную версию MySQL [то есть mysql56-server] и устанавливаем её.

Устанавливаем MySQL сервер из пакажа

# pkg install mysql56-server

Запускаем MySQL сервер

# /usr/local/etc/rc.d/mysql-server onestart

Добавляем следующую строку в конфигурационный файл '/etc/rc.conf' для запуска демона MySQL-сервера во время загрузки FreeBSD.

mysql_enable="YES"

Устанавливаем конфигурационный файл для MySQL

# cp /usr/local/share/mysql/my-default.cnf /etc/my.cnf

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

# rehash

Устанавливаем пароль для root-пользователя MySQL

# /usr/bin/mysql_secure_installation

Перезапускаем MySQL-сервер с новыми настройками

# /usr/local/etc/rc.d/mysql-server restart

Для управления базой данных MySQL можно дополнительно установить – '/usr/ports/databases/phpmyadmin'.


5. Настройка Apache

Делаем резервную копию конфигурационного файла Apache [обязательно!]:

# cp /usr/local/etc/apache24/httpd.conf /usr/local/etc/apache24/httpd.conf.bak

Займемся редактированием файла настроек Apache сервера '/usr/local/etc/apache24/httpd.conf'.

Не прикасаться к этой настройке!!! Это каталог с бинарными файлами сервера Apache.

ServerRoot "/usr/local"

Заменить значение ServerAdmin на свой email [необязательно]

ServerAdmin you@your.address

Каталог для хранения файлов сайта

DocumentRoot "/usr/local/www/apache24/data"

Должно быть таким же как и значение параметра DocumentRoot

<Directory "/usr/local/www/apache24/data">

После изменения настроек необходимо рестартовать сервер Apache.

# /usr/local/sbin/apachectl restart

Для запуска Apache в первый раз, просто запустите

# apachectl start

Альтернативный вариант для запуска Apache сервера

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

Вы можете остановить сервер в любой момент, набрав

# apachectl stop

После внесения изменений в конфигурационный файл Вам необходимо перезапустить сервер

# apachectl restart

Для грациозного перезапуска Apache без прерывания текущих соединений, выполните

# apachectl graceful

Проверяем конфиг Apache

# apachectl configtest

6. Настройка Виртуальных хостов [Virtual Hosting] в Apache

В конфигурационном файле Apache '/usr/local/etc/apache24/httpd.conf' в секции '# Virtual hosts' необходимо раскомментировать строку:

# Virtual hosts
Include etc/apache24/extra/httpd-vhosts.conf

Перейти в каталог '/usr/local/etc/apache24/extra/'

# cd /usr/local/etc/apache24/extra/

И добавить что-то вроде в файл '/usr/local/etc/apache24/extra/httpd-vhosts.conf' закомментировав всё лишнее:

<VirtualHost *:80>
    ServerAdmin [свой@емайл.ком]
    DocumentRoot /home/[имя_пользователя]/site/site1/php/
    ServerName php.site1
    ErrorLog /home/[имя_пользователя]/site/site1/error.log
    CustomLog /home/[имя_пользователя]/site/site1/access.log common
</VirtualHost>

// Примечание: Параметр 'DocumentRoot' в конфигурационном файле настроек '/usr/local/etc/apache24/extra/httpd-vhosts.conf' должен быть подкаталогом параметра 'DocumentRoot' в конфигурационном файле настроек Apache '/usr/local/etc/apache24/httpd.conf'. Иначе будет ошибка доступа к сайту "403 Forbidden".

В файл '/etc/hosts' добавляем наш домен, указанный в параметре 'ServerName' [см. выше], т.е. в моём случае 'php.site1':

127.0.0.1               php.site1

Теперь наш будет доступен как по ссылке http://localhost/ так и по ссылке http://php.site1


7. Проверяем все настройки

Создаём файл 'index.php' в директории выделенной для сайта [см. пункт '5. Настройка Виртуальных хостов [Virtual Hosting] в Apache']:

<?php

    phpinfo();

?>

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

# apachectl restart

Тэги: apache, bsd, famp, freebsd, mysql, php, instrukcio, инструкция

Комментариев нет:

Отправить комментарий