Установка и настройка ProcessWire
ProcessWire устанавливается вручную — нет пакетного менеджера уровня apt или brew. Минимальные требования: PHP 7.4+ (рекомендуется 8.1+), MySQL 5.7+ или MariaDB 10.3+, Apache/Nginx с поддержкой .htaccess или аналогичной конфигурацией перезаписи URL.
Процесс установки
# Скачать последний релиз
curl -L https://github.com/processwire/processwire/archive/refs/heads/master.zip -o pw.zip
unzip pw.zip -d /var/www/mysite
cd /var/www/mysite
# Установить права
chmod 755 site/assets/files site/assets/cache site/assets/logs site/assets/sessions
Веб-инсталлятор запускается по адресу http://yourdomain.com/install.php. Он проверяет расширения PHP (pdo_mysql, gd, mbstring, openssl), создаёт таблицы БД и генерирует /site/config.php.
После завершения install.php удаляется автоматически — если нет, удалить вручную.
Конфигурация config.php
Ключевые параметры после установки:
// /site/config.php
$config->dbHost = 'localhost';
$config->dbName = 'mysite_db';
$config->dbUser = 'mysite_user';
$config->dbPass = 'secret';
$config->dbPort = '3306';
// Отладка — только на dev-окружении
$config->debug = false;
// URL сайта (важно при работе за reverse proxy)
$config->httpHosts = ['mysite.com', 'www.mysite.com'];
// Путь к файлам
$config->fileContentTypes = array_merge(
$config->fileContentTypes,
['svg' => 'image/svg+xml']
);
// Сессии
$config->sessionExpireSeconds = 86400;
Nginx-конфигурация
Apache-конфиг генерируется автоматически через .htaccess. Для Nginx:
server {
listen 80;
server_name mysite.com;
root /var/www/mysite;
index index.php;
location / {
try_files $uri $uri/ /index.php?it=$uri&$args;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# Защита служебных директорий
location ~ ^/site/(assets|modules|templates)/ {
deny all;
}
}
Первичная настройка после установки
Профиль установки. ProcessWire предлагает три профиля при установке: blank (чистый), default (демо-контент), languages (с поддержкой языков). Для рабочего проекта — blank или languages.
Структура директорий site/:
site/
assets/ # загруженные файлы, кэш (не в git)
modules/ # кастомные и сторонние модули
templates/ # PHP-шаблоны
config.php
config-dev.php # переопределения для dev (git-ignored)
config-dev.php позволяет держать dev-настройки отдельно:
// config-dev.php — подключается автоматически если существует
$config->debug = true;
$config->dbHost = '127.0.0.1';
$config->dbName = 'mysite_dev';
Установка модулей
// Через adminку: Modules → Install → поиск по названию
// Или вручную: скопировать папку модуля в /site/modules/
// затем: Modules → Refresh → Install
Обязательные модули для большинства проектов: MarkupPagerNav (пагинация), InputfieldTinyMCE (WYSIWYG), LanguageSupport (при необходимости).







