Встановлення та налаштування 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';
Встановлення модулів
// Через админку: Modules → Install → пошук по назві
// Або вручну: скопіювати папку модуля в /site/modules/
// потім: Modules → Refresh → Install
Обов'язкові модулі для більшості проектів: MarkupPagerNav (пагінація), InputfieldTinyMCE (WYSIWYG), LanguageSupport (при необхідності).







