Установка 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.

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

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

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



Введите имя хоста, имя базы данных, имя пользователя и пароль, затем нажмите «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: https://processwire.com/
Краткое резюме
ProcessWire легко установить на Ubuntu 18.04 с Apache: обновите систему, установите стек LAMP, создайте базу данных, распакуйте файлы в /var/www/html, настройте виртуальный хост и пройдите веб‑инсталлятор. Обратите внимание на права файлов и безопасность базы данных.
Важно: адаптируйте версии PHP/MariaDB под вашу ОС и требования безопасности.
Конец инструкции.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента