Как установить стек Apache, MySQL и PHP (FAMP) на FreeBSD 10.1
Введение
Стек FAMP, аналогичный стеку LAMP в Linux, представляет собой группу программного обеспечения с открытым исходным кодом, которое обычно устанавливается вместе, чтобы позволить серверу FreeBSD размещать динамические веб-сайты и веб-приложения. FAMP — это аббревиатура от FreeBSD (операционная система), Apache (веб-сервер), MySQL (сервер базы данных) и PHP (для обработки динамического содержимого PHP).
В этом руководстве мы установим стек FAMP на облачный сервер FreeBSD 10.1 с помощью pkg
, менеджера пакетов FreeBSD.
Примечание. С 1 июля 2022 г. DigitalOcean больше не поддерживает создание новых капель FreeBSD через панель управления или API. Однако вы по-прежнему можете запускать капли FreeBSD, используя собственный образ. Узнайте, как импортировать собственное изображение в DigitalOcean, следуя нашей документации по продукту.
Предпосылки
Прежде чем приступить к этому руководству, у вас должен быть сервер FreeBSD 10.1. Кроме того, вы должны подключиться к вашему серверу FreeBSD как пользователь с привилегиями суперпользователя (т. е. вам разрешено использовать sudo
или измениться на пользователя root).
Шаг первый — установите Apache
Веб-сервер Apache в настоящее время является самым популярным веб-сервером в мире, что делает его отличным выбором для размещения веб-сайта.
Мы можем легко установить Apache с помощью менеджера пакетов FreeBSD, pkg
. Менеджер пакетов позволяет безболезненно устанавливать большинство программ из репозитория, поддерживаемого FreeBSD. Вы можете узнать больше о том, как использовать pkg
здесь.
Чтобы установить Apache 2.4 с помощью pkg
, используйте эту команду:
sudo pkg install apache24
Введите y
в запросе подтверждения.
Это устанавливает Apache и его зависимости.
Чтобы включить Apache как службу, добавьте apache24_enable=YES
в файл /etc/rc.conf
. Мы будем использовать эту команду sysrc
, чтобы сделать это:
sudo sysrc apache24_enable=yes
Теперь запустите Апач:
sudo service apache24 start
Вы можете сразу же провести выборочную проверку, чтобы убедиться, что все прошло по плану, посетив общедоступный IP-адрес вашего сервера в веб-браузере (см. примечание под следующим заголовком, чтобы узнать, какой у вас общедоступный IP-адрес, если у вас нет этой информации). уже):
http://your_server_IP_address/
Вы увидите стандартную веб-страницу FreeBSD Apache, предназначенную для тестирования. Он должен сказать: \Это работает!, что указывает на то, что ваш веб-сервер установлен правильно.
Как найти общедоступный IP-адрес вашего сервера
Если вы не знаете общедоступный IP-адрес вашего сервера, вы можете найти его несколькими способами. Обычно это адрес, который вы используете для подключения к серверу через SSH.
Универсальным способом поиска IP-адреса является использование команды ifconfig
на самом сервере. Команда ifconfig
распечатает информацию о ваших сетевых интерфейсах. Чтобы сузить вывод только до общедоступного IP-адреса сервера, используйте эту команду (обратите внимание, что выделенная часть — это имя сетевого интерфейса, и оно может отличаться):
ifconfig vtnet0 | grep "inet " | awk '{ print $2 }'
Теперь, когда у вас есть общедоступный IP-адрес, вы можете использовать его в адресной строке веб-браузера для доступа к веб-серверу.
Шаг второй — установите MySQL
Теперь, когда наш веб-сервер запущен и работает, пришло время установить MySQL, систему управления реляционными базами данных. Сервер MySQL организует и предоставит доступ к базам данных, где наш сервер может хранить информацию.
Опять же, мы можем использовать pkg
для получения и установки нашего программного обеспечения.
Чтобы установить MySQL 5.6 с помощью pkg
, используйте эту команду:
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, root). Поскольку вы только что установили MySQL, у вас, скорее всего, его не будет, поэтому оставьте его пустым, нажав RETURN
. Затем подсказка спросит вас, хотите ли вы установить пароль root. Введите 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 немедленно учитывал сделанные нами изменения.
На этом этапе ваша система базы данных настроена, и мы можем двигаться дальше.
Шаг третий — установите PHP
PHP — это компонент нашей установки, который будет обрабатывать код для отображения динамического содержимого. Он может запускать сценарии, подключаться к базам данных MySQL для получения информации и передавать обработанный контент веб-серверу для отображения.
Мы снова можем использовать систему pkg
для установки наших компонентов. Мы также собираемся включить пакеты mod_php
, php-mysql
и php-mysqli
.
Чтобы установить PHP 5.6 с помощью pkg
, выполните следующую команду:
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, мы можем дополнительно установить некоторые дополнительные модули.
Чтобы увидеть доступные параметры для модулей и библиотек PHP 5.6, вы можете ввести это в свою систему:
pkg search php56
Результатом будут в основном модули PHP 5.6, которые вы можете установить. :
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
Будет много выходных данных с одним полем под названием «Комментарий», в котором будет объяснение функциональных возможностей, предоставляемых модулем.
Например, чтобы узнать, что делает пакет 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
Если вы хотите установить более одного модуля за раз, вы можете сделать это, перечислив каждый из них через пробел после команды pkg install
, например:
sudo pkg install package1 package2 ...
Шаг четвертый — настройте Apache для использования модуля PHP
Прежде чем Apache начнет обрабатывать PHP-страницы, мы должны настроить его для использования mod_php
.
Откройте файл конфигурации Apache:
sudo vi /usr/local/etc/apache24/Includes/php.conf
Во-первых, мы настроим Apache для загрузки файлов index.php
по умолчанию, добавив следующие строки:
<IfModule dir_module>
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>
</IfModule>
Сохранить и выйти.
Теперь перезапустите Apache, чтобы изменения вступили в силу:
sudo service apache24 restart
На этом этапе ваш стек FAMP установлен и настроен. Теперь давайте проверим вашу настройку PHP.
Шаг пятый — протестируйте обработку PHP
Чтобы проверить, правильно ли настроена наша система для PHP, мы можем создать очень простой PHP-скрипт.
Мы назовем этот скрипт info.php
. Чтобы Apache мог найти файл и правильно его обслужить, он должен быть сохранен в очень определенном каталоге DocumentRoot, где Apache будет искать файлы, когда пользователь обращается к веб-серверу. Расположение DocumentRoot указано в файле конфигурации Apache, который мы изменили ранее (/usr/local/etc/apache24/httpd.conf
).
По умолчанию DocumentRoot имеет значение /usr/local/www/apache24/data
. Мы можем создать файл info.php
в этом месте, набрав:
sudo vi /usr/local/www/apache24/data/info.php
Это откроет пустой файл. Вставьте этот код PHP в файл:
<?php phpinfo(); ?>
Сохранить и выйти.
Теперь мы можем проверить, может ли наш веб-сервер правильно отображать контент, сгенерированный PHP-скриптом. Чтобы попробовать это, нам просто нужно посетить эту страницу в нашем веб-браузере. Вам снова понадобится общедоступный IP-адрес вашего сервера.
Адрес, который вы хотите посетить, будет:
http://your_server_IP_address/info.php
Страница, которую вы видите, должна выглядеть примерно так:
Эта страница в основном дает вам информацию о вашем сервере с точки зрения PHP. Это полезно для отладки и проверки правильности применения настроек.
Если это было успешно, то ваш PHP работает, как и ожидалось.
Вы, вероятно, захотите удалить этот файл после этого теста, потому что он может фактически предоставить информацию о вашем сервере неавторизованным пользователям. Для этого вы можете ввести это:
sudo rm /usr/local/www/apache24/data/info.php
Вы всегда можете воссоздать эту страницу, если вам понадобится снова получить доступ к информации позже.
Заключение
Теперь, когда у вас установлен стек FAMP, у вас есть много вариантов дальнейших действий. По сути, вы установили платформу, которая позволит вам устанавливать на свой сервер большинство видов веб-сайтов и веб-программ.
Если вы заинтересованы в настройке WordPress в своем новом стеке FAMP, ознакомьтесь с этим руководством: Как установить WordPress с Apache на FreeBSD 10.1.