Обновить репозиторий пакетов

Запустите команду ниже, чтобы обновить репозиторий пакетов FreeBSD;

pkg update

Установите Apache на FreeBSD 12.

Веб-сервер Apache доступен в репозиториях FreeBSD по умолчанию и может быть установлен с помощью pkg менеджер пакетов.

pkg install apache24

Запустите и включите Apache

Чтобы запустить и разрешить запуск веб-сервера Apache при загрузке системы, выполните приведенные ниже команды:

sysrc apache24_enable=yes

Это добавит строку apache24_enable="yes" в конце /etc/rc.conf файл конфигурации.

Запустить Апач

service apache24 start

Вы можете проверить статус Apache, как показано ниже;

service apache24 status
apache24 is running as pid 1206.

Обратите внимание, что в этой демонстрации мы используем конфигурации Apache FreeBSD по умолчанию.

Чтобы убедиться, что вы действительно можете получить доступ к своему веб-серверу из браузера, перейдите в браузер и введите IP-адрес вашего веб-сервера. Если все работает нормально, вы сможете увидеть веб-страницу FreeBSD Apache по умолчанию, на которой написано: «It Works!«.

Установите MySQL на FreeBSD 12.

Как и Apache, MySQL можно установить непосредственно из репозиториев FreeBSD 12 по умолчанию с помощью менеджера пакетов. Чтобы установить MySQL 8.0, выполните команду ниже:

pkg install mysql80-server

Запустите и включите службу MySQL

Включите MySQL как службу, чтобы она могла запускаться при загрузке системы.

sysrc mysql_enable=yes

Начните это;

service mysql-server start

Запустите исходный безопасный сценарий MySQL

Запустите обычный сценарий безопасности MySQL, чтобы удалить некоторые конфигурации по умолчанию.

mysql_secure_installation

Сценарий может подсказать вам, следует ли принудительно создавать надежный пароль. Если вам нужно принудительно создать безопасный пароль, нажмите й принять и выбрать уровень политики проверки пароля.


VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. 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: 1
Please set the password for root here.

New password: STRONG PASS

Re-enter new password: STRONG PASS

Estimated strength of the password: 100 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y

Следующий;

  • удалить анонимных пользователей,
  • запретить удаленный вход в систему root,
  • удалить тестовые базы данных
  • перезагрузите таблицы привилегий, чтобы изменения вступили в силу.

By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!

Теперь вы можете войти на свой сервер MySQL и создавать свои базы данных!

Установите PHP на FreeBSD 12.

PHP работает с HTML для создания динамического веб-контента. Чтобы PHP мог подключаться к базе данных MySQL для получения информации для обслуживания веб-сервера, вам необходимо установить расширения PHP Apache и MySQL. Следующая команда устанавливает наиболее распространенные модули PHP.

Обратите внимание, что на момент написания этой статьи PHP 8.2 является текущей стабильной версией, доступной в репозиториях FreeBSD 12.

pkg install php82 php82-mysqli mod_php82 php82-mbstring php82-zlib php82-curl php82-gd

Если вам нужны другие расширения PHP, вы можете просто найти и установить их, как показано выше.

Настроить PHP

Скопируйте образец файла конфигурации PHP на место и восстановите кэшированную в системе информацию об установленных двоичных файлах.

cp /usr/local/etc/php.ini{-production,}
rehash

Настройка веб-сервера Apache

Настройте Apache для обработки страниц PHP, создав php.conf файл конфигурации под /usr/local/etc/apache24/Includes/ со следующим содержанием;

vi /usr/local/etc/apache24/Includes/php.conf

<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 PHP

Создайте тестовый файл конфигурации PHP в корневом каталоге документов Apache по умолчанию, чтобы проверить, хорошо ли PHP работает с веб-сервером Apache. Корневой каталог документа по умолчанию: /usr/local/www/apache24/data/test.php.

vi /usr/local/www/apache24/data/test.php
<?php phpinfo(); ?>

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

service apache24 restart

Перейдите в браузер и адрес в формате, http://server_IP_address/test.php.

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

rm -rf /usr/local/www/apache24/data/test.php

Это все, что нужно для установки стека FAMP на FreeBSD 12.