- Автор темы
- Администратор
- Модер.
- Команда форума
- #1
Стек FAMP – это то же самое, что LAMP в Linux, – группа открытого программного обеспечения, что на сервер FreeBSD устанавливается в связке для обслуживания динамических веб-сайтов и приложений. В акроним FAMP включены FreeBSD (операционная система), Apache (веб-сервер), MySQL (система управления базами данных) и PHP (язык сценариев для обработки динамического PHP-контента).
В этом мануале вы узнаете, как установить стек FAMP на облачный сервер FreeBSD 12.0 с помощью менеджера пакетов pkg.
Apache очень просто установить при помощи pkg, менеджера пакетов FreeBSD. Менеджер пакетов значительно упрощает установку программ, обращаясь к репозиторию, поддерживаемому FreeBSD.
Чтобы установить Apache 2.4 с помощью pkg, используйте команду:
Введите y для подтверждения.
Чтобы запустить Apache как сервис, добавьте строку apache24_enable=”YES” в файл /etc/rc.conf. это делается при помощи команды:
Затем запустите Apache:
Чтобы убедиться, что веб сервер запустился, введите команду:
Вы получите:
Теперь можно выполнить выборочную проверку, чтобы убедиться, что установка и запуск прошли успешно. Посетите внешний IP-адрес сервера в веб-браузере (чтобы узнать внешний IP-адрес, смотрите следующий раздел):
На экране появится стандартная страница Apache с сообщением «It Works!», что значит, что веб-сервер установлен и запущен.
Один из наиболее простых способов получить эту информацию – использовать команду ifconfig, которая выведет информацию о сетевых интерфейсах. Чтобы сузить вывод команды до внешнего IP-адреса, используйте следующую команду (выделенная часть – имя сетевого интерфейса, которое может отличаться):
Также внешний IP можно узнать с помощью curl – команда свяжется с третьей стороной, например, с icanhazip, и укажет, как другие видят ваш сервер в сети:
Для установки MySQL можно снова использовать менеджер pkg; чтобы установить MySQL 8.0, введите команду:
Введите y для подтверждения установки. Эта команда установит серверные и клиентские пакеты MySQL.
Чтобы запустить MySQL как сервис, добавьте строку mysql_enable=”YES” в файл /etc/rc.conf. Это можно сделать с помощью команды sysrc.
Затем запустите сервер MySQL:
Убедитесь, что он работает:
Вы получите что-то вроде:
После этого запустите скрипт безопасности, который удалит некоторые опасные параметры и ограничит доступ к БД; для этого введите:
Командная строка запросит текущий root-пароль MySQL; поскольку это новая установка СУБД, такого пароля у вас пока нет, потому просто оставьте поле незаполненным, нажмите Y и следуйте инструкциям:
Остальные поля можно оставить по умолчанию. Для этого нажмите y, и скрипт установит стандартные значения. Также он удалит некоторых пользователей и базы данных, отключит удаленный root-логин и загрузит эти новые правила, чтобы система MySQL могла сразу применить их.
Снова используйте pkg. Установка PHP будет содержать еще несколько дополнительных модулей и пакетов: mod_php, php-mysql и php-mysqli. Чтобы установить PHP 7.3, запустите команду:
Подтвердите запуск, нажав y. Эта команда установит пакеты php73, mod_php73 и php73-mysqli .
Теперь скопируйте образец конфигурационного файла PHP:
Запустите команду rehash, чтобы восстановить кэшированные данные системы об установленных исполняемых файлах:
Прежде чем запустить PHP, его нужно настроить для поддержки Apache.
На экране появится такой список:
...
Чтобы узнать больше о любом необходимом модуле, можно открыть подробное описание пакета:
Вывод этой команды достаточно широкий; функции модуля описаны в поле Comment.
Например, чтобы получить описание пакета php73-calendar, нужно ввести:
В выводе команды вы увидите следующий блок информации:
Чтобы установить пакет после ознакомления с его функциями, используйте команду pkg install. Например, чтобы установить модуль php73-calendar, нужно ввести:
Чтобы установить несколько модулей за один раз, перечислите их в команде через пробел:
Откройте конфигурационный файл Apache:
Добавьте в файл такие строки:
Проверьте конфигурацию Apache:
Вы получите вывод:
Performing sanity check on apache24 configuration:
Сохраните и закройте файл. Перезапустите Apache, чтобы новые настройки вступили в силу.
Готово! Теперь FAMP stack установлен и настроен.
Чтобы сервер Apache мог найти и корректно обработать файл, его нужно поместить в каталог DocumentRoot (именно здесь Apache ищет файлы, когда пользователь обращается к веб-серверу). Местонахождение каталога DocumentRoot указано в конфигурации Apache (/usr/local/etc/apache24/httpd.conf). По умолчанию это каталог /usr/local/www/apache24/data. Чтобы создать файл info.php в этом каталоге, наберите:
На экране появится пустой файл. Внесите в него следующий код:
Сохраните и закройте файл.
Теперь можно проверить, корректно ли отображает веб-сервер сгенерированный PHP-контент. Для этого нужно просто открыть новую страницу в браузере:
Эта страница выведет информацию о сервере с точки зрения PHP. Она очень полезна при отладке и проверке настроек.
Если все прошло успешно, значит PHP работает правильно и может взаимодействовать с веб-сервером.
Очень важно удалить этот файл после выполнения проверки. Он может предоставить конфиденциальную информацию о сервере неавторизованным пользователям или злоумышленникам.
Эту страницу всегда можно быстро создать снова в случае необходимости.
В этом мануале вы узнаете, как установить стек FAMP на облачный сервер FreeBSD 12.0 с помощью менеджера пакетов pkg.
1: Установка Apache
На сегодняшний день Apache – самый популярный веб-сервер в мире.Apache очень просто установить при помощи pkg, менеджера пакетов FreeBSD. Менеджер пакетов значительно упрощает установку программ, обращаясь к репозиторию, поддерживаемому FreeBSD.
Чтобы установить Apache 2.4 с помощью pkg, используйте команду:
Код:
sudo pkg install apache24
Введите y для подтверждения.
Чтобы запустить Apache как сервис, добавьте строку apache24_enable=”YES” в файл /etc/rc.conf. это делается при помощи команды:
Код:
sudo sysrc apache24_enable="YES"
Затем запустите Apache:
Код:
sudo service apache24 start
Чтобы убедиться, что веб сервер запустился, введите команду:
Код:
sudo service apache24 status
Вы получите:
Код:
apache24 is running as pid 20815.
Теперь можно выполнить выборочную проверку, чтобы убедиться, что установка и запуск прошли успешно. Посетите внешний IP-адрес сервера в веб-браузере (чтобы узнать внешний IP-адрес, смотрите следующий раздел):
Код:
http://IP_адрес_сервера/
На экране появится стандартная страница Apache с сообщением «It Works!», что значит, что веб-сервер установлен и запущен.
Как узнать внешний IP-адрес сервера?
Есть несколько способов определить внешний IP-адрес сервера. Как правило, это адрес, который используется для подключения к серверу через SSH.Один из наиболее простых способов получить эту информацию – использовать команду ifconfig, которая выведет информацию о сетевых интерфейсах. Чтобы сузить вывод команды до внешнего IP-адреса, используйте следующую команду (выделенная часть – имя сетевого интерфейса, которое может отличаться):
Код:
ifconfig vtnet0 | grep "inet " | awk '{ print $2; exit }'
Также внешний IP можно узнать с помощью curl – команда свяжется с третьей стороной, например, с icanhazip, и укажет, как другие видят ваш сервер в сети:
Код:
curl http://icanhazip.com
2: Установка MySQL
Веб-сервер установлен и запущен, теперь можно приступать к установке MySQL – это реляционная система управления базами данных (СУБД). Сервер MySQL обеспечит доступ к базам данных, в которых ваше приложение сможет хранить информацию.Для установки MySQL можно снова использовать менеджер pkg; чтобы установить MySQL 8.0, введите команду:
Код:
sudo pkg install mysql80-server
Введите y для подтверждения установки. Эта команда установит серверные и клиентские пакеты MySQL.
Чтобы запустить MySQL как сервис, добавьте строку mysql_enable=”YES” в файл /etc/rc.conf. Это можно сделать с помощью команды sysrc.
Код:
sudo sysrc mysql_enable="YES"
Затем запустите сервер MySQL:
Код:
sudo service mysql-server start
Убедитесь, что он работает:
Код:
sudo service mysql-server status
Вы получите что-то вроде:
Код:
mysql is running as pid 21587.
После этого запустите скрипт безопасности, который удалит некоторые опасные параметры и ограничит доступ к БД; для этого введите:
Код:
sudo mysql_secure_installation
Командная строка запросит текущий root-пароль MySQL; поскольку это новая установка СУБД, такого пароля у вас пока нет, потому просто оставьте поле незаполненным, нажмите Y и следуйте инструкциям:
Код:
Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0
Please set the password for root here.
New password: password
Re-enter new password: password
Estimated strength of the password: 50
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
Остальные поля можно оставить по умолчанию. Для этого нажмите y, и скрипт установит стандартные значения. Также он удалит некоторых пользователей и базы данных, отключит удаленный root-логин и загрузит эти новые правила, чтобы система MySQL могла сразу применить их.
3: Установка PHP
PHP – это язык сценариев, который обрабатывает код для отображения динамического контента. Он позволяет запускать скрипты, подключаться к базам данных MySQL для получения информации и передавать обработанный контент веб-серверу для отображения пользователям.Снова используйте pkg. Установка PHP будет содержать еще несколько дополнительных модулей и пакетов: mod_php, php-mysql и php-mysqli. Чтобы установить PHP 7.3, запустите команду:
Код:
sudo pkg install php73 php73-mysqli mod_php73
Подтвердите запуск, нажав y. Эта команда установит пакеты php73, mod_php73 и php73-mysqli .
Теперь скопируйте образец конфигурационного файла PHP:
Код:
sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Запустите команду rehash, чтобы восстановить кэшированные данные системы об установленных исполняемых файлах:
Код:
rehash
Прежде чем запустить PHP, его нужно настроить для поддержки Apache.
Установка модулей PHP (опционально)
Чтобы расширить функции PHP, нужно установить дополнительные модули. Просмотреть список доступных модулей и библиотек PHP 7.3 можно с помощью этой команды:
Код:
pkg search php73
На экране появится такой список:
Код:
php73-7.3.5 PHP Scripting Language
php73-aphpbreakdown-2.2.2 Code-Analyzer for PHP for Compatibility Check-UP
php73-aphpunit-1.8 Testing framework for unit tests
php73-bcmath-7.3.5 The bcmath shared extension for php
php73-brotli-0.6.2 Brotli extension for PHP
php73-bsdconv-11.5.0 PHP wrapper for bsdconv
php73-bz2-7.3.5 The bz2 shared extension for php
php73-calendar-7.3.5 The calendar shared extension for php
php73-composer-1.8.4 Dependency Manager for PHP
php73-ctype-7.3.5 The ctype shared extension for php
php73-curl-7.3.5 The curl shared extension for php
php73-dba-7.3.5 The dba shared extension for php
php73-deployer-6.4.3 Deployment tool for PHP
php73-dom-7.3.5 The dom shared extension for php
...
Чтобы узнать больше о любом необходимом модуле, можно открыть подробное описание пакета:
Код:
pkg search -f package_name
Вывод этой команды достаточно широкий; функции модуля описаны в поле Comment.
Например, чтобы получить описание пакета php73-calendar, нужно ввести:
Код:
pkg search -f php73-calendar
В выводе команды вы увидите следующий блок информации:
Код:
php73-calendar-7.3.5
Name : php73-calendar
Version : 7.3.5
...
Comment : The calendar shared extension for php
...
Чтобы установить пакет после ознакомления с его функциями, используйте команду pkg install. Например, чтобы установить модуль php73-calendar, нужно ввести:
Код:
sudo pkg install php73-calendar
Чтобы установить несколько модулей за один раз, перечислите их в команде через пробел:
Код:
sudo pkg install package1 package2 ...
4: Настройка Apache для поддержки модуля PHP
Чтобы веб-сервер Apache мог обрабатывать PHP-страницы, нужно настроить его для поддержки mod_php.Откройте конфигурационный файл Apache:
Код:
sudo vi /usr/local/etc/apache24/modules.d/001_mod-php.conf
Добавьте в файл такие строки:
Apache:
<IfModule dir_module>
DirectoryIndex index.php index.html
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
</IfModule>
Проверьте конфигурацию Apache:
Код:
sudo apachectl configtest
Вы получите вывод:
Performing sanity check on apache24 configuration:
Код:
Syntax OK
Сохраните и закройте файл. Перезапустите Apache, чтобы новые настройки вступили в силу.
Код:
sudo apachectl 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:
<?php phpinfo(); ?>
Сохраните и закройте файл.
Теперь можно проверить, корректно ли отображает веб-сервер сгенерированный PHP-контент. Для этого нужно просто открыть новую страницу в браузере:
Код:
http://your_server_IP_address/info.php
Эта страница выведет информацию о сервере с точки зрения PHP. Она очень полезна при отладке и проверке настроек.
Если все прошло успешно, значит PHP работает правильно и может взаимодействовать с веб-сервером.
Очень важно удалить этот файл после выполнения проверки. Он может предоставить конфиденциальную информацию о сервере неавторизованным пользователям или злоумышленникам.
Код:
sudo rm /usr/local/www/apache24/data/info.php
Эту страницу всегда можно быстро создать снова в случае необходимости.