Установка FAMP Stack в FreeBSD 10.1
FreeBSD, VPS | Комментировать запись
Стек 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: Apache, Cloud Server, FAMP Stack, FreeBSD, FreeBSD 10.1, MySQL, PHP, pkg