Установка FAMP Stack в FreeBSD 10.1

Стек FAMP – это аналог программного стека LAMP в Linux, группа открытого программного обеспечения, что устанавливается в связке на сервер FreeBSD для обслуживания динамических веб-сайтов и приложений. Акроним FAMP расшифровывается как FreeBSD (операционная система), Apache (веб-сервер), MySQL (система управления базами данных) и PHP (серверный язык сценариев для обработки динамического PHP-контента).

В данном руководстве показано, как установить стек FAMP на облачный сервер FreeBSD 10.1 при помощи менеджера пакетов pkg.

Требования

Для выполнения данного руководства нужен предварительно настроенный сервер FreeBSD 10.1 и учетная запись с привилегиями суперпользователя (это либо root-пользователь, либо пользователь с расширенными привилегиями sudo).

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

На сегодняшний день Apache является самым популярным веб-сервером в мире.

Apache очень просто установить при помощи менеджера пакетов FreeBSD по имени pkg. Менеджер пакетов значительно упрощает установку программного обеспечения, обращаясь к поддерживаемому FreeBSD репозиторию.

Примечание: Более подробную информацию о pkg можно найти в этой статье.

Чтобы установить Apache 2.4 с помощью pkg, используйте команду:

sudo pkg install apache24

Введите y для подтверждения.

Чтобы запустить Apache как сервис, добавьте следующую строку в файл /etc/rc.conf:

apache24_enable="YES"

Для этого можно использовать команду sysrc:

sudo sysrc apache24_enable=yes

Запустите Apache:

sudo service apache24 start

Теперь можно выполнить выборочную проверку, чтобы убедиться, что все прошло успешно, посетив внешний IP-адрес сервера в веб-браузере (чтобы узнать внешний IP-адрес, смотрите следующий раздел):

http://IP_адрес_сервера/

На экране должна появиться стандартная страница Apache для FreeBSD с сообщением «It Works!», что значит, что установка веб-сервера прошла успешно.

Как узнать внешний IP-адрес сервера?

Существует несколько способов определить внешний IP сервера. Как правило, это адрес, который используется для подключения к серверу через SSH.

Один из наиболее простых способов – использовать команду ifconfig, которая выведет информацию о сетевых интерфейсах. Чтобы сузить её вывод до внешнего IP-адреса, используйте следующую команду (выделенная часть – имя сетевого интерфейса, которое может отличаться):

ifconfig vtnet0 | grep "inet " | awk '{ print $2 }'

Также внешний IP можно узнать по этой ссылке.

2: Установка MySQL

Теперь веб-сервер установлен и запущен, можно приступать к установке MySQL, реляционной системы управления базами данных (БД). Сервер MySQL обеспечит доступ к базам данных, в которых сервер может хранить информацию.

Для установки MySQL можно снова использовать pkg; чтобы установить MySQL 5.6, выполните команду:

sudo pkg install mysql56-server

Введите y для подтверждения. Эта команда установит серверные и клиентские пакеты MySQL.

Чтобы запустить MySQL как сервис, добавьте строку mysql_enable=”YES” в файл /etc/rc.conf; это можно сделать при помощи команды sysrc.

sudo sysrc mysql_enable=yes

Запустите сервер MySQL:

sudo service mysql-server start

После запуска MySQL запустите скрипт безопасности, который удалит некоторые рискованные настройки и ограничит доступ к БД; для этого выполните:

sudo mysql_secure_installation

Подсказка запросит текущий root-пароль администратора MySQL; поскольку это свежая установка СУБД, такого пароля еще нет, потому просто оставьте поле незаполненным, нажав RETURN. Затем подсказка спросит, нужно ли создать такой пароль; нажмите Y и следуйте инструкциям:

Enter current password for root (enter for none): [RETURN] OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorization.
Set root password? [Y/n] Y
New password: password
Re-enter new password: password
Password updated successfully!

Но остальные вопросы можно просто нажать RETURN, что установит стандартные настройки, удалит некоторых пользователей и базы данных, отключит удаленный root-логин и загрузит эти новые правила, чтобы система MySQL могла сразу применить их.

3: Установка PHP

PHP – это серверный язык сценариев, который обрабатывает код для отображения динамического контента. Он может запускать скрипты, подключаться к базам данных MySQL для получения информации и передавать обработанный контент веб-серверу для отображения.

Снова обратитесь к менеджеру pkg. Установка PHP будет содержать еще несколько дополнительных модулей и пакетов. Итак, чтобы установить PHP 5.6, запустите:

sudo pkg install mod_php56 php56-mysql php56-mysqli

Подтвердите запуск, нажав y. Эта команда установит пакеты php56, mod_php56, php56-mysql и php56-mysqli.

Теперь скопируйте образец конфигурационного файла PHP:

sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Запустите команду rehash, чтобы восстановить кэшированную информации системы об установленных исполняемых файлах:

rehash

Прежде чем запустить PHP, его нужно настроить для работы с Apache.

Установка модулей PHP (опционально)

Чтобы расширить функционал PHP, можно установить дополнительные модули. Просмотреть список доступных модулей и библиотек можно при помощи команды:

pkg search php56

На экране появится список:

mod_php56-5.6.3
php56-5.6.3
php56-bcmath-5.6.3
php56-bz2-5.6.3
php56-calendar-5.6.3
php56-ctype-5.6.3
php56-curl-5.6.3
php56-dba-5.6.3
php56-dom-5.6.3
php56-exif-5.6.3
...

Чтобы получить больше информации о любом необходимом модуле, можно открыть подробное описание пакета, введя:

pkg search -f package_name

Вывод этой команды достаточно объемен; функции модуля описаны в поле Comment.

К примеру, чтобы получить описание пакета php56-calendar, нужно набрать:

pkg search -f php56-calendar

В выводе команды можно найти следующий блок кода:

php56-calendar-5.6.3
Name           : php56-calendar
Version        : 5.6.3
...
Comment        : The calendar shared extension for php
...

Чтобы установить пакет после ознакомления с его функциями, используйте команду pkg install. К примеру, чтобы установить модуль php56-calendar, нужно просто набрать:

sudo pkg install php56-calendar

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

sudo pkg install package1 package2 ...

4: Настройка Apache для поддержки PHP

Чтобы веб-сервер Apache обрабатывал  PHP-страницы, нужно настроить его для поддержки mod_php.

Откройте конфигурационный файл Apache:

sudo vi /usr/local/etc/apache24/httpd.conf

Для начала нужно настроить Apache для загрузки index.php. Найдите DirectoryIndex index.html и внесите в строку index.php; строка должна выглядеть так:

DirectoryIndex index.php index.html

Затем нужно настроить Apache для обработки запрашиваемых PHP-файлов при помощи PHP-процессора. Для этого внесите в конец файла следующее:

<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>

Сохраните и закройте файл. Перезапустите Apache, чтобы новые настройки вступили в исполнение.

sudo service apache24 restart

Готово! Теперь FAMP stack установлен и настроен.

5: Тестирование стека FAMP

Чтобы убедиться, что установка стека FAMP прошла успешно, можно создать базовый скрипт PHP по имени info.php.

Чтобы сервер Apache мог найти и корректно обработать файл, его нужно поместить в каталог DocumentRoot (именно в нем Apache ищет файлы, когда пользователь обращается к веб-серверу). Местонахождение DocumentRoot указано в конфигурации Apache (/usr/local/etc/apache24/httpd.conf); по умолчанию это /usr/local/www/apache24/data. Чтобы создать файл info.php в этом каталоге, наберите:

sudo vi /usr/local/www/apache24/data/info.php

На экране появится пустой файл. Внесите в него следующий код:

<?php phpinfo(); ?>

Сохраните и закройте файл.

Теперь можно проверить, корректно ли отображает веб-сервер сгенерированный PHP-контент. Для этого нужно просто открыть новую страницу в браузере:

http://IP_адрес_сервера/info.php

В основном эта страница дает информацию о сервере с точки зрения PHP. Она очень полезна при отладке и проверке настроек.

Если все прошло успешно, значит, PHP работает должным образом.

Этот файл может предоставить информацию о сервере неавторизованным пользователям или злоумышленникам, потому после выполнения проверки его настоятельно рекомендуется удалить.

sudo rm /usr/local/www/apache24/data/info.php

Эту страницу всегда можно создать снова в случае необходимости.

Заключение

Теперь на сервере установлен стек FAMP – универсальная платформа, которая позволяет разворачивать сайты и устанавливать практически любые программы.

Tags: , , , , , , ,

Добавить комментарий