freebsd mysql apache php mysql
Freebsd mysql apache php mysql
В качестве примера используются apache24, php5, mysql56.
Операционная система — FreeBSD 10.
Подготавливаем сервер
Заходим под суперпользователем:
Выставляем часовой пояс (у меня московское время) и сразу синхронизируем время:
# cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime; ntpdate 0.freebsd.pool.ntp.org; |
Создаем задание в cron для автоматической синхронизации времени каждую ночь:
# echo ‘0 0 * * * /usr/sbin/ntpdate 0.freebsd.pool.ntp.org’ >> /var/cron/tabs/crontab && crontab /var/cron/tabs/crontab |
Обновляем список пакетов:
# pkg update && pkg upgrade |
# freebsd-update fetch && freebsd-update install |
Установка и настройка MySQL
Устанавливаем из пакета mysql-server:
Разрешаем запуск демона mysql:
# echo ‘mysql_enable=»YES»‘ >> /etc/rc.conf |
# service mysql-server start |
Меняем пароль для пользователя root в mysql:
Установка и настройка Apache
Указываем правильное имя сервера через файл hosts:
192.168.166.155 dmosk dmosk.local
* IP-адрес указан для локального сервера, для внешнего сервера указываем внешний адрес. dmosk — имя моего сервера.
Разрешаем запуск демона apache24:
# echo ‘apache24_enable=»YES»‘ >> /etc/rc.conf |
Отредактируем файл конфигурации для apache:
# ee /usr/local/etc/apache24/httpd.conf |
# ee /usr/local/etc/apache24/extra/httpd-vhosts.conf |
# service apache24 start |
Проверяем работоспособность сервера apache, введя в адресной строке браузера IP-адрес сервера (в данном примере, 192.168.166.155). Сервер должен вернуть ответ «It Works!»
Установка и настройка PHP
Устанавливаем интерпретатор PHP с необходимыми модулями:
Редактируем файл конфигурации php.ini:
# ee /usr/local/etc/php.ini |
# ee /usr/local/etc/apache24/httpd.conf |
# cd /usr/local/www/apache24/data && mv index.html index.php |
Теперь добавляем в него функцию вызова параметров настройки сервера phpinfo():
# service apache24 restart |
Проверьте работоспособность сервера apache, введя в адресной строке браузера IP-адрес сервера (в данном примере, 192.168.166.155). Сервер должен вернуть много параметров в различных таблицах.
Также в данных таблицах вы должны увидеть «MySQL Suppert — Enabled». Это говорит о том, что сервер готов к работе с базой MySQL.
Блокнот ночного сисадмина
вторник, 27 марта 2018 г.
FreeBSD: Установка LAMP (Apache, PHP, MySQL, phpMyAdmin)
Установка Apache:
cd /usr/ports/www/apache24
make install clean
rehash
В настройках компонентов не забываем помечать пункты с «MySQL«.
Прописываем автозапуск веб сервера:
echo ‘apache24_enable=»YES»‘ >> /etc/rc.conf
И загрузку accf_http модуля для буферизации соединения HTTP:
echo ‘accf_http_ready=»YES»‘ >> /etc/rc.conf
Запускаем веб-сервер: «service apache24 start» и проверяем открытие стартовой страницы.
Установка PHP:
cd /usr/ports/lang/php72
make install clean
cd /usr/ports/lang/php72-extensions
make install clean
cd /usr/ports/www/mod_php72
make install clean
rehash
При установке сопутствующих пакетов не забывайте указывать поддержку базы данных MySQL(MySQLi).
Настройка Apache и PHP:
Конфигурируем httpd.conf:
ee /usr/local/etc/apache24/httpd.conf
Настройте параметры: ServerName (DNS имя хостинга), ServerAdmin (e-mail администратора), DocumentRoot (расположение корневого каталога сайта).
Раскомментируйте «LoadModule rewrite_module libexec/apache24/mod_rewrite.so«.
Приведите параметр «DirectoryIndex» к следующему виду:»DirectoryIndex index.php index.html index.htm default.htm default.html«.
Найдите строки:
и добавьте после них:
Сохраните и закройте «httpd.conf«.
Далее скопируйте «php.ini» из шаблона:
cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
chmod 444 /usr/local/etc/php.ini
Перезапустите веб-сервер: «service apache24 restart«.
Установка MySQL:
cd /usr/ports/databases/mysql80-server
make install clean
rehash
Внимание! Если система ругнётся, что уже установлена другая версия клиента MySQL, то необходимо его деинсталлировать, а затем продолжить установку последней версии сервера. Например:
cd /usr/ports/databases/mysql56-client
make deinstall clean
Прописываем автозапуск:»echo ‘mysql_enable=»YES»‘ >> /etc/rc.conf«.
Настройка MySQL:
Установка phpMyAdmin:
cd /usr/ports/databases/phpmyadmin
make install clean
rehash
Настройка phpMyAdmin:
Настраиваем конфигурационный файл «config.inc.php«:
cd /usr/local/www/phpMyAdmin
cp config.sample.inc.php config.inc.php
ee config.inc.php
$cfg[‘blowfish_secret’] = ‘YOUR_PASS’; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Задайте секрет порядка 32 символов.
Сохраняем файл и переходим к настройке Apache: «ee /usr/local/etc/apache24/httpd.conf«:
В секцию » » добавляем следующую строку:
Alias /phpmyadmin /usr/local/www/phpMyAdmin
2. После секции «Directory» добавляем свою:
AllowOverride None
Options None
Require all granted
Перезапускаем веб-сервер: «service apache24 restart» и проверяем работу phpMyAdmin. Также можно добавить параметры для разрешения доступа с определённых подсетей или хостов. Например:
Дополнительная настройка виртуальных хостов (при необходимости):
Создадим директорию для расположения виртуальных хостов и пару сайтов для примера:
mkdir /usr/local/www/vhosts
mkdir /usr/local/www/vhosts/site1.local
mkdir /usr/local/www/vhosts/site2.local
Далее раскомментируем строку в https.conf:
И добавим дерективу:
AllowOverride None
Options None
Require all granted
Сохраняем изменения и открываем файл конфигурации виртуальных хостов:
ee /usr/local/etc/apache24/extra/httpd-vhosts.conf
Удаляем всё содержимое и вносим туда в качестве примера наши два хоста:
ServerAdmin admin@mail.com
DocumentRoot «/usr/local/www/vhosts/site1.local»
ServerName site1.local
ServerAlias www.site1.local
Order Allow,Deny
Allow from all
ServerAdmin admin@mail.com
DocumentRoot «/usr/local/www/vhosts/site2.local»
ServerName site2.local
ServerAlias www.site2.local
Order Allow,Deny
Allow from all
Перезапускаем Apache. Теперь сайты будут разделены и доступны каждый по своему имени. Необходимые записи для разрешения имён нужно настроить в DNS.
Установка на FreeBSD Apache, Mysql и PHP для сайтов
В этом уроке вы узнаете, как установить Apache, MySQL и PHP на FreeBSD. Эта комбинация программ с открытым исходным кодом более известна как стек FAMP, FAMP является акронимом для трех. Стек FAMP — это, по сути, набор программных утилит, которые предоставляют серверу FreeBSD все необходимое для размещения динамических веб-страниц. Если вы когда-либо использовали Linux, вы, вероятно, заметили сходство со стеком LAMP, который служит той же цели в Linux.
Вне зависимости от того, арендуете ли вы виртуальные серверы в Германии или другой стране, это руководство поможет вам превратить только что установленную систему в полноценный веб-сервер и разместить на нём сайты.
Шаг 1. Подготовьте вашу систему FreeBSD к установке FAMP
Прежде чем мы начнем установку, лучше убедиться, что наша система обновлена.
Чтобы узнать, какую версию вы используете, введите:
Если версия устарела, введите команду ниже, чтобы обновить ее:
Затем установите поддерживающие зависимости:
Затем добавьте нового пользователя с помощью следующей команды:
Вам будет предложено ввести учетные данные пользователя и информацию об учетной записи.
Наконец, выполните команду visudo, как показано ниже, чтобы делегировать командные привилегии администратора всем пользователям группы wheel:
Используйте команду su, за которой следует новое имя пользователя, чтобы изменить учетную запись на ту, которую вы только что создали:
Также обновите часовой пояс:
Шаг 2. Установите сервер Apache HTTPS 2.4
Из всех используемых сегодня веб-серверов HTTPS-сервер Apache является самым популярным и используется во всем мире для размещения как статических, так и динамических веб-страниц и приложений.
Pkg, менеджер пакетов FreeBSD по умолчанию, позволяет удобно установить сервер Apache HTTPS из репозитория FreeBSD. Введите команду ниже, чтобы установить Apache с помощью pkg:
Посмотрите, какая версия установлена, с помощью команды ниже:
Перед загрузкой Apache необходимо включить его:
Затем введите команду ниже, чтобы запустить Apache:
Проверьте запуск с помощью следующей команды:
В выводе должно быть четко указано, работает ли он.
Вы также можете убедиться, что все работает правильно, указав свой общедоступный IP-адрес в поле поиска вашего веб-браузера. Если установка прошла гладко и все работает правильно, вы должны быть перенаправлены на веб-страницу, подтверждающую вашу установку.
Шаг 3. Установите MySQL 8.0 с помощью pkg
Когда HTTPS-сервер Apache активен и работает, мы можем перейти к третьему шагу: установке MySQL. MySQL — это сервер базы данных, который поддерживает и регулирует доступ к базам данных, в которых хранится информация, относящаяся к веб-сайту.
Как и в случае с Apache, мы загрузим MySQL из репозитория FreeBSD с помощью pkg.
После выполнения указанной выше команды в вашей системе должна быть установлена последняя версия. Найдите последнюю версию в Интернете, а затем сравните ее с версией, установленной на вашем диске, с помощью следующей команды:
Перед запуском MySQL необходимо включить его:
Введите команду ниже, чтобы запустить базу данных:
Проверьте запуск, введя следующую команду:
Чтобы усилить меры безопасности в вашей базе данных, вы должны ввести сценарий безопасности, чтобы удалить некоторые несоответствия с MySQL и ограничить доступ к вашей системе:
Затем установите пароль и ответьте на последующие вопросы. Вы можете выбрать значение по умолчанию для всех вопросов, нажав: key_enter:
Шаг 4: установите PHP 7.4
Последний компонент стека FAMP — это PHP, ведущий язык программирования в области веб-разработки на данный момент. Без PHP динамические веб-сайты, которые вы хотите запускать на своем сервере, не будут полностью функционировать.
Подобно тому, как мы использовали команду pkg раньше, мы также можем установить PHP из репозиториев FreeBSD.
Чтобы установить важные пакеты php74, php74-mysqli и mod_php74, введите команду ниже:
Смотрите установленную версию:
Если установленная версия актуальна, перейдите к репликации образца файла конфигурации PHP, выполнив команду, как показано ниже:
Чтобы запустить PHP, введите:
Чтобы проверить, запущен ли PHP, введите:
Чтобы добавить что-то еще к только что установленному пакету PHP, попробуйте несколько вспомогательных модулей. Найдите пакеты, написанные с помощью модулей PHP:
Затем используйте команду ниже для поиска любых доступных модулей PHP:
Вы должны увидеть несколько модулей PHP. Вы можете установить любой из них, который хотите попробовать, с помощью команды pkg.
Шаг 5. Настройте Apache для загрузки модулей PHP
Стек FAMP может работать только тогда, когда Apache настроен для работы с PHP.
Выполните команду ниже, войдите в файл конфигурации:
Затем добавьте в файл следующие записи:
Чтобы применить изменения, сохраните и выйдите из файла.
Протестируйте конфигурацию Apache с помощью следующей команды:
Чтобы применить настроенные изменения, перезапустите Apache с помощью следующей команды:
Шаг 5: Тестирование обработки PHP
Прежде чем приступить к работе со стеком FAMP, рекомендуется проверить, нет ли проблем с PHP. Настройка PHP может облегчить для нас эту ситуацию.
Вы можете легко выполнить настройку с помощью простого скрипта PHP. Используйте команду ниже:
Скопируйте строку ниже и вставьте ее в файл конфигурации:
Перейдите по адресу http://your_server_IP/info.php, и вы будете перенаправлены на эту страницу:
Сделайте детали сервера приватными, удалив файл info.php.
В итоге
В этом руководстве показано, как установить стек FAMP в системе FreeBSD 12.2. Теперь вы можете размещать динамический веб-контент в своей системе и использовать его как полнофункциональный веб-сервер. Будь то динамический веб-сайт или крупномасштабное веб-приложение, потенциал вашего сервера не имеет границ. Однако не забудьте ознакомиться с дополнительными руководствами по FreeBSD на нашем веб-сайте, прежде чем начать. На нашем веб-сайте много контента, и вы обязательно найдете то, что поможет вам начать работу.
Кстати! Вот видео по установке операционной системы FreeBSD, которое будет полезно посмотреть перед выполнением рекомендаций, описанных в статье.
Установка стека FAMP в FreeBSD 12.0
Стек FAMP – это то же самое, что LAMP в Linux, – группа открытого программного обеспечения, что на сервер FreeBSD устанавливается в связке для обслуживания динамических веб-сайтов и приложений. В акроним FAMP включены FreeBSD (операционная система), Apache (веб-сервер), MySQL (система управления базами данных) и 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-адрес, смотрите следующий раздел):
На экране появится стандартная страница Apache с сообщением «It Works!», что значит, что веб-сервер установлен и запущен.
Как узнать внешний IP-адрес сервера?
Есть несколько способов определить внешний IP-адрес сервера. Как правило, это адрес, который используется для подключения к серверу через SSH.
Один из наиболее простых способов получить эту информацию – использовать команду ifconfig, которая выведет информацию о сетевых интерфейсах. Чтобы сузить вывод команды до внешнего IP-адреса, используйте следующую команду (выделенная часть – имя сетевого интерфейса, которое может отличаться):
Также внешний IP можно узнать с помощью curl – команда свяжется с третьей стороной, например, с icanhazip, и укажет, как другие видят ваш сервер в сети:
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.
После этого запустите скрипт безопасности, который удалит некоторые опасные параметры и ограничит доступ к БД; для этого введите:
Командная строка запросит текущий 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
Теперь скопируйте образец конфигурационного файла PHP:
sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Запустите команду rehash, чтобы восстановить кэшированные данные системы об установленных исполняемых файлах:
Прежде чем запустить PHP, его нужно настроить для поддержки Apache.
Установка модулей PHP (опционально)
Чтобы расширить функции PHP, нужно установить дополнительные модули. Просмотреть список доступных модулей и библиотек PHP 7.3 можно с помощью этой команды:
На экране появится такой список:
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
.
Чтобы узнать больше о любом необходимом модуле, можно открыть подробное описание пакета:
Вывод этой команды достаточно широкий; функции модуля описаны в поле Comment.
Например, чтобы получить описание пакета 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
Чтобы установить несколько модулей за один раз, перечислите их в команде через пробел:
4: Настройка Apache для поддержки модуля PHP
Чтобы веб-сервер Apache мог обрабатывать PHP-страницы, нужно настроить его для поддержки mod_php.
Откройте конфигурационный файл Apache:
sudo vi /usr/local/etc/apache24/modules.d/001_mod-php.conf
Добавьте в файл такие строки:
DirectoryIndex index.php index.html
SetHandler application/x-httpd-php
SetHandler application/x-httpd-php-source
Проверьте конфигурацию 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. Она очень полезна при отладке и проверке настроек.
Если все прошло успешно, значит PHP работает правильно и может взаимодействовать с веб-сервером.
Очень важно удалить этот файл после выполнения проверки. Он может предоставить конфиденциальную информацию о сервере неавторизованным пользователям или злоумышленникам.
sudo rm /usr/local/www/apache24/data/info.php
Эту страницу всегда можно быстро создать снова в случае необходимости.
Заключение
Теперь на сервере вашем сервере установлен стек FAMP – универсальная платформа для обслуживания сайтов.
- freebsd apache24 настройка php
- freebsd php fpm apache