Гид по технологиям

Установка ProcessWire на Ubuntu 18.04 с Apache

• 5 min read • DevOps • Обновлено 18 Nov 2025
Установка ProcessWire на Ubuntu 18.04 с Apache
Установка ProcessWire на Ubuntu 18.04 с Apache

О чём эта инструкция

ProcessWire — свободная CMS и фреймворк на PHP. Простая, гибкая и мощная система для создания динамических сайтов с гибкой системой шаблонов и модульной архитектурой. Эта инструкция показывает установку ProcessWire на сервер с Ubuntu 18.04 и веб‑сервером Apache.

Важно: пример использует PHP 7.2 и MariaDB; для новых систем рассмотрите соответствующие пакеты для актуальной версии PHP и MariaDB.

Основные особенности ProcessWire

  • Ролевой контроль доступа.
  • Веб‑инсталлятор с графическим интерфейсом.
  • Модульная архитектура и мощная система шаблонов.
  • Поддержка нескольких языков.
  • Редактор форматированного текста (WYSIWYG).
  • Перетаскивание файлов и редактирование изображений.

Требования

  • Сервер с Ubuntu 18.04.
  • Непользователь root с привилегиями sudo.
  • Доступ в интернет для загрузки пакетов и репозитория ProcessWire.

Шаг 0 — Подготовка системы

Перед установкой обновите пакеты и перезагрузите систему:

sudo apt-get update -y
sudo apt-get upgrade -y

После обновления перезагрузите сервер, чтобы применить обновления.

Установка Apache, MariaDB и PHP

Установите Apache, MariaDB, PHP и необходимые модули. В примере используется PHP 7.2 (как в оригинальной инструкции):

sudo apt-get install apache2 mariadb-server unzip wget php7.2 php7.2-mysql php7.2-curl php7.2-json php7.2-cgi libapache2-mod-php7.2 php7.2-xmlrpc php7.2-gd php7.2-mbstring php7.2 php7.2-common php7.2-xmlrpc php7.2-soap php7.2-xml php7.2-intl php7.2-cli php7.2-ldap php7.2-zip php7.2-readline php7.2-imap php7.2-tidy php7.2-recode php7.2-sq php7.2-intl -y

Примечание: на современных системах используйте пакет PHP, поддерживаемый вашей ОС (например, php7.4 или php8.0) и соответствующие модули.

Откройте конфигурацию PHP для Apache и измените параметры, подходящие для веб‑приложений:

sudo nano /etc/php/7.2/apache2/php.ini

Измените или добавьте следующие параметры (подставьте вашу временную зону, ниже пример для Москвы):

memory_limit = 300M
upload_max_filesize = 200M
max_execution_time = 400
date.timezone = Europe/Moscow

После правок перезапустите службы и включите их при старте:

sudo systemctl restart apache2
sudo systemctl restart mariadb
sudo systemctl enable apache2
sudo systemctl enable mariadb

Проверьте статус MariaDB:

sudo systemctl status mariadb

(Ожидаемый вывод показывает службу active (running).)

Настройка MariaDB

По умолчанию MariaDB требует базовой защиты. Запустите встроенный скрипт и ответьте на вопросы:

sudo mysql_secure_installation

Пример ответов (следуйте рекомендациям подсказок):

Enter current password for root (enter for none):
Set root password? [Y/n]: N
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

Войдите в консоль MariaDB и создайте базу данных и пользователя для ProcessWire (замените пароли на надёжные):

mysql -u root -p

Внутри MySQL:

CREATE DATABASE processdb;
CREATE USER 'process'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON processdb.* TO 'process'@'localhost';
FLUSH PRIVILEGES;
exit

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

Загрузка и установка ProcessWire

Скачайте последнюю версию из GitHub и распакуйте в директорию веб‑сервера:

wget https://github.com/processwire/processwire/archive/master.zip
unzip master.zip
sudo cp -r processwire-master /var/www/html/processwire

Назначьте владельца и корректные права. В оригинале использовался chmod 777 — это небезопасно для продакшена. Рекомендуется более строгая настройка:

sudo chown -R www-data:www-data /var/www/html/processwire/
sudo find /var/www/html/processwire/ -type d -exec chmod 755 {} \;
sudo find /var/www/html/processwire/ -type f -exec chmod 644 {} \;

Если инсталлятор требует запись в некоторые директории (tmp/uploads и т.д.), можно дать более широкие права только для этих директорий:

sudo chmod -R 775 /var/www/html/processwire/site/assets
sudo chown -R www-data:www-data /var/www/html/processwire/site/assets

Настройка Apache для ProcessWire

Создайте виртуальный хост Apache:

sudo nano /etc/apache2/sites-available/processwire.conf

Добавьте следующий блок и сохраните файл (замените ServerName и Administrator на реальные значения):


     ServerAdmin [email protected]
     DocumentRoot /var/www/html/processwire
     ServerName example.com

     
          Options +FollowSymlinks
          AllowOverride All
          Require all granted
     

     ErrorLog ${APACHE_LOG_DIR}/processwire_error.log
     CustomLog ${APACHE_LOG_DIR}/processwire_access.log combined

Активируйте сайт и модуль перезаписи URL:

sudo a2ensite processwire.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

Если сайт работает по HTTPS, настроите аналогичный блок для порта 443 и SSL‑сертификат.

Доступ к установщику ProcessWire

Откройте браузер и перейдите по адресу http://example.com (замените на ваш домен). Должна появиться страница приветствия установщика ProcessWire.

Главная страница установщика ProcessWire

Нажмите «Get Started» и следуйте шагам инсталлятора.

Процесс установки — выбор профиля

Выберите профиль Classic и продолжайте.

Проверка совместимости

Проверьте соответствие требованиям, затем нажмите «Continue». Введите параметры базы данных и временную зону.

Настройка базы данных

Временная зона и права на файлы

HTTP Host Name

Введите имя хоста, имя базы данных, имя пользователя и пароль, затем нажмите «Continue». Тест конфигурации базы данных должен пройти успешно.

Тест конфигурации базы данных

Создайте учётную запись администратора сайта через интерфейс.

Настройка учётной записи администратора

По завершении удалите временные файлы инсталлятора, если это не сделает сам процесс.

Завершение установки

Нажмите «Login To Admin» и авторизуйтесь.

Вход в админку

Вы увидите панель управления ProcessWire.

Панель управления администратора

Безопасность и жёсткая конфигурация

  • Никогда не используйте chmod 777 для корневых директорий сайта. Ограничьте права только для тех папок, которым действительно нужен доступ на запись.
  • Используйте сильные пароли для MySQL и административной учётной записи ProcessWire.
  • Отключите удалённый вход root в MariaDB (mysql_secure_installation предлагает это сделать).
  • Настройте брандмауэр (ufw) для закрытия неиспользуемых портов:
sudo ufw allow 'Apache Full'
sudo ufw enable
  • Обновляйте PHP и систему безопасности регулярно. Планируйте миграцию, если используемая версия PHP больше не поддерживается.

Рекомендации по правам доступа ролям

  • Системный администратор: отвечает за установку, обновления ОС, бэкапы и настройку брандмауэра.
  • Разработчик: отвечает за темы, модули, интеграции и тестирование на staging.
  • Редактор контента: доступ к админ‑панели ProcessWire без прав системного администрирования.

Чеклист для разворачивания на проде:

  • Обновить пакеты ОС и PHP.
  • Настроить SSL (Let’s Encrypt или платный сертификат).
  • Проверить права на файлы и владельца www‑data.
  • Настроить бэкапы базы данных и файлов.
  • Запустить тесты на staging перед выкатом.

Тестирование и критерии приёмки

Критерии приёмки:

  • Открытие главной страницы по домену возвращает код 200 и страницу инсталлятора/сайта.
  • Успешная установка профиля и создание учётной записи администратора.
  • Вход в административную панель и отображение дашборда.
  • Проверка записи в директории site/assets работает для загрузки медиа.
  • Резервное копирование базы данных проходит без ошибок.

Устранение неполадок

  • Ошибка 500 при доступе: проверьте логи Apache /var/log/apache2/processwire_error.log и php.ini настройки.
  • Невозможность подключиться к базе: проверьте имя пользователя/пароль и что MariaDB слушает на localhost.
  • Разрешения файлов: если инсталлятор жалуется на права, временно откройте права для директории site/assets и затем сузьте их после установки.
  • Модуль rewrite не работает: убедитесь, что AllowOverride All включён и модуль rewrite активирован (sudo a2enmod rewrite).

Советы по совместимости и миграции

  • Если вы используете более новую версию Ubuntu, устанавливайте подходящую версию PHP и соответствующие модули.
  • Перед обновлением ProcessWire делайте полную копию базы и файлов.
  • Тестируйте обновления на отдельном стенде.

Полезные ссылки

Краткое резюме

ProcessWire легко установить на Ubuntu 18.04 с Apache: обновите систему, установите стек LAMP, создайте базу данных, распакуйте файлы в /var/www/html, настройте виртуальный хост и пройдите веб‑инсталлятор. Обратите внимание на права файлов и безопасность базы данных.

Важно: адаптируйте версии PHP/MariaDB под вашу ОС и требования безопасности.

Конец инструкции.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро