Поиск по сайту:

Как установить стек FAMP (Apache/MySQL/PHP) на FreeBSD 12


На этой странице

  1. Требования
  2. Прежде чем начать
  3. Шаг 1. Установка Apache 2.4
  4. Шаг 2. Установка MySQL 8.0
  5. Шаг 3. Установка PHP 7.4
    1. Установка модулей PHP (необязательно)

    Стек FAMP, аналогичный стеку LAMP в Linux, представляет собой набор программного обеспечения с открытым исходным кодом, которое обычно устанавливается вместе, чтобы позволить серверу FreeBSD размещать динамические веб-сайты и веб-приложения. FAMP — это аббревиатура от FreeBSD (операционная система), Apache (HTTP-сервер), MySQL/MariaDB (сервер базы данных) и PHP (язык программирования для обработки динамического содержимого PHP).

    В этом руководстве вы правильно настроите компоненты стека FAMP на сервере FreeBSD 12.1 с помощью pkg, диспетчера пакетов FreeBSD.

    Требования

    Прежде чем приступить к работе с этим руководством, вам потребуется следующее:

    • FreeBSD 12.1.
    • Пользователь с привилегиями root или пользователь sudo для внесения изменений в конфигурацию.
    • Рекомендуется базовое знакомство с системой FreeBSD и интерфейсом командной строки.

    Прежде чем вы начнете

    Проверьте версию FreeBSD:

    freebsd-version
    # 12.1-RELEASE

    Убедитесь, что ваша система FreeBSD обновлена:

    freebsd-update fetch install
    pkg update && pkg upgrade -y

    Установите необходимые пакеты:

    pkg install -y sudo vim bash curl

    Создайте новую учетную запись пользователя с предпочтительным именем пользователя. Мы используем johndoe:

    adduser

    # Username: johndoe
    # Full name: John Doe
    # Uid (Leave empty for default): <Enter>
    # Login group [johndoe]: <Enter>
    # Login group is johndoe. Invite johndoe into other groups? []: wheel
    # Login class [default]: <Enter>
    # Shell (sh csh tcsh nologin) [sh]: bash
    # Home directory [/home/johndoe]: <Enter>
    # Home directory permissions (Leave empty for default): <Enter>
    # Use password-based authentication? [yes]: <Enter>
    # Use an empty password? (yes/no) [no]: <Enter>
    # Use a random password? (yes/no) [no]: <Enter>
    # Enter password: your_secure_password
    # Enter password again: your_secure_password
    # Lock out the account after creation? [no]: <Enter>
    # OK? (yes/no): yes
    # Add another user? (yes/no): no
    # Goodbye!

    Запустите команду visudo и раскомментируйте строку %wheel ALL=(ALL) ALL, чтобы члены группы wheel могли выполнять любую команду:

    visudo

    # Uncomment by removing hash (#) sign
    # %wheel ALL=(ALL) ALL

    Теперь переключитесь на только что созданного пользователя с помощью su:

    su - johndoe

    ПРИМЕЧАНИЕ. Замените johndoe своим именем пользователя.

    Настройте часовой пояс:

    sudo tzsetup

    Шаг 1 — Установка Apache 2.4

    Веб-сервер Apache в настоящее время является одним из самых популярных веб-серверов в мире. Это отличный выбор для размещения веб-сайта.

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

    Чтобы установить Apache, введите следующую команду:

    sudo pkg install -y apache24

    Проверьте версию:

    httpd -v
    # Server version: Apache/2.4.41 (FreeBSD)

    Теперь включите и запустите Apache:

    sudo sysrc apache24_enable=yes
    sudo service apache24 start

    Чтобы убедиться, что Apache запущен, вы можете запустить следующую команду:

    sudo service apache24 status

    В результате вы увидите что-то похожее на:

    # Output
    apache24 is running as pid 17775.

    Вы можете убедиться, что Apache был установлен и работает без ошибок, посетив общедоступный IP-адрес вашего сервера в веб-браузере. Перейдите к http://ваш_сервер_IP. Вы увидите стандартную страницу Apache \Это работает!\.

    Шаг 2 — Установка MySQL 8.0

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

    Опять же, вы можете использовать pkg для получения и установки программного обеспечения.

    Чтобы установить MySQL 8.0 с помощью pkg, используйте эту команду:

    sudo pkg install -y mysql80-client mysql80-server

    Эта команда установит последнюю версию клиента и сервера MySQL, в настоящее время это 8.x.x.

    Проверьте версию:

    mysql --version
    # mysql  Ver 8.0.17 for FreeBSD12.0 on amd64 (Source distribution)

    Теперь включите и запустите MySQL:

    sudo sysrc mysql_enable=yes
    sudo service mysql-server start

    Чтобы убедиться, что MySQL запущен, вы можете запустить следующую команду:

    sudo service mysql-server status

    Вы увидите что-то похожее на следующее:

    # Output
    mysql is running as pid 19171.

    В качестве хорошей практики вы можете запустить сценарий безопасности mysql_secure_installation, который удалит некоторые небезопасные значения по умолчанию и немного ограничит доступ к вашей системе баз данных:

    sudo mysql_secure_installation

    Вам будет предложено установить пароль, а затем некоторые другие вопросы. Введите надежный пароль, а затем для остальных вопросов нажмите :key_enter: для выбора значений по умолчанию.

    Шаг 3 — Установка PHP 7.4

    PHP — это серверный язык сценариев, предназначенный для веб-разработки. PHP является незаменимым компонентом стека FAMP. Кроме того, вместо PHP обычно используются Python или Perl. Однако чаще всего используется PHP как наиболее популярный вариант. Вместе с базой данных это обеспечит динамическое поведение ваших веб-сайтов или приложений.

    Еще раз используйте систему pkg для установки компонентов PHP.

    Чтобы установить PHP 7.4 с помощью pkg, выполните следующую команду:

    sudo pkg install -y php74 php74-mysqli mod_php74

    Это установит пакеты php74, mod_php74 и php74-mysqli.

    Проверьте версию PHP:

    php --version

    # PHP 7.4.1 (cli) (built: Jan  2 2020 01:32:38) ( NTS )
    # Copyright (c) The PHP Group
    # Zend Engine v3.4.0, Copyright (c) Zend Technologies

    Скопируйте образец файла конфигурации PHP на место с помощью этой команды:

    sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

    Теперь включите и запустите PHP-FPM:

    sudo sysrc php_fpm_enable=yes
    sudo service php-fpm start

    Чтобы убедиться, что PHP-FPM запущен, вы можете запустить следующую команду:

    sudo service php-fpm status

    В результате вы увидите что-то похожее на:

    # Output
    php_fpm is running as pid 23005.

    Установка модулей PHP (необязательно)

    Для расширения функциональности PHP вы можете дополнительно установить некоторые дополнительные модули.

    Чтобы увидеть в настоящее время скомпилированные модули PHP, вы можете запустить это:

    php -m
    # [PHP Modules]
    # Core
    # date
    # libxml
    # mysqlnd
    # pcre
    # Reflection
    # SPL
    # standard
    # [Zend Modules]

    Для поиска доступных модулей PHP вы можете использовать эту команду:

    pkg search ^php74-*

    Результатом будут в основном модули PHP 7.4, которые вы можете установить:

    # Output
    # php74-7.4.0                    PHP Scripting Language
    # php74-Ice37-3.7.2_1            Modern alternative to object middleware such as CORBA/COM/DCOM/COM+
    # php74-aphpbreakdown-2.2.2      Code-Analyzer for PHP for Compatibility Check-UP
    # php74-aphpunit-1.9             Testing framework for unit tests
    # php74-bcmath-7.4.0             The bcmath shared extension for php
    # php74-brotli-0.7.0             Brotli extension for PHP
    # php74-bsdconv-11.5.0           PHP wrapper for bsdconv
    # php74-bz2-7.4.0                The bz2 shared extension for php
    # php74-calendar-7.4.0           The calendar shared extension for php
    # php74-composer-1.8.6           Dependency Manager for PHP
    # php74-ctype-7.4.0              The ctype shared extension for php
    # php74-curl-7.4.0               The curl shared extension for php
    # . . .
    

    Если после изучения вы решите, что вам нужно установить пакет, вы можете сделать это с помощью команды pkg install. Большинству веб-приложений PHP потребуются дополнительные модули, поэтому полезно знать, как их искать.

    Шаг 4 — Настройка Apache для использования модуля PHP

    Перед использованием PHP необходимо настроить его для работы с Apache.

    Запустите sudo vim /usr/local/etc/apache24/modules.d/001_mod-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>
    

    Сохраните файл и выйдите из vim.

    Проверьте конфигурацию Apache:

    sudo apachectl configtest

    Поскольку вы внесли изменения в конфигурацию Apache, вам необходимо перезагрузить службу, чтобы применить их. В противном случае Apache будет работать с более ранней конфигурацией:

    sudo apachectl restart

    Шаг 5 — Тестирование обработки PHP

    Чтобы проверить правильность настройки вашей системы для PHP, вы можете создать очень простой PHP-скрипт. Вы назовете этот скрипт info.php. По умолчанию для DocumentRoot задано значение /usr/local/www/apache24/data. Вы можете создать файл info.php в этом месте, набрав:

    sudo vim /usr/local/www/apache24/data/info.php

    И добавьте этот код в этот файл:

    <?php phpinfo(); ?>
    

    Перейдите к http://your_server_IP/info.php, и вы увидите следующую страницу:

    После установки и настройки стека FAMP необходимо удалить файл info.php, чтобы не раскрывать информацию о сервере в открытом доступе:

    sudo rm /usr/local/www/apache24/data/info.php

    Заключение

    Поздравляем, вы успешно установили стек FAMP на свой сервер FreeBSD 12.1. Теперь у вас есть несколько вариантов, что делать дальше. Вы установили платформу, которая позволит вам устанавливать поверх нее большинство видов веб-сайтов и веб-приложений.