Встановлення та налаштування Bagisto
Bagisto розгортається на стандартному LEMP-стеку. Встановлення займає від кількох годин до 1-2 робочих днів з урахуванням конфігурації середовища, налаштування пошти, способів оплати та початкового імпорту даних.
Вимоги до сервера
| Компонент | Мінімум | Рекомендується |
|---|---|---|
| PHP | 8.1 | 8.2+ |
| MySQL / MariaDB | 8.0 / 10.3 | MySQL 8.0 |
| Composer | 2.x | 2.x |
| Node.js | 16 | 18 LTS |
| RAM | 1 GB | 2 GB+ |
Розширення PHP: BCMath, Ctype, cURL, DOM, Fileinfo, JSON, Mbstring, OpenSSL, PCRE, PDO, Tokenizer, XML, GD або Imagick.
Встановлення через Composer
composer create-project bagisto/bagisto:^2.2 myshop
cd myshop
cp .env.example .env
Редагуємо .env:
APP_URL=https://myshop.example.com
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=bagisto
DB_USERNAME=bagisto_user
DB_PASSWORD=secret
CACHE_DRIVER=redis
QUEUE_CONNECTION=redis
SESSION_DRIVER=redis
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
Запуск інсталера:
php artisan bagisto:install
Команда виконує міграції, сідери, публікує ассети та створює першого адміністратора. Після — збірка фронтенду:
npm install
npm run build
Конфігурація Nginx
server {
listen 80;
server_name myshop.example.com;
root /var/www/myshop/public;
index index.php;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
Після налаштування увімкніть SSL через Certbot: certbot --nginx -d myshop.example.com.
Конфігурація черг (Supervisor)
Bagisto активно використовує черги для відправки писем, генерування інвойсів та webhook-сповіщень.
[program:bagisto-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/myshop/artisan queue:work redis --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/myshop/storage/logs/worker.log
stopwaitsecs=3600
supervisorctl reread
supervisorctl update
supervisorctl start bagisto-worker:*
Первинна конфігурація в панелі адміністратора
Після входу за адресою /admin налаштовуються:
Канали та локалі
Канал — це окрема "вітрина" магазину з власним доменом, валютою та мовою. Для мультимовного магазину створюється один канал з кількома локалями.
Податки
Каталог → Податки → Податкові категорії — створюємо категорії (наприклад, ПДВ 20%). Потім привязуємо до груп платників податків та регіонів через Податкові ставки.
Методи доставки
Вбудовані: FlatRate, Free Shipping. Для СДЕК або Укрпошти потрібен пакет або кастомний провайдер — підключається в config/carriers.php.
Методи оплати
Вбудовані: Готівка при отриманні, Банківський переказ, PayPal. Кастомні шлюзи реєструються в config/paymentmethods.php та реалізують інтерфейс Webkul\Payment\Payment.
Налаштування пошти
MAIL_MAILER=smtp
MAIL_HOST=smtp.example.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=secret
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="Мій Магазин"
Шаблони писем публікуються командою:
php artisan vendor:publish --tag=bagisto-mail-views
Потім редагуються в resources/views/vendor/shop/emails/.
Крон для планувальника
* * * * * cd /var/www/myshop && php artisan schedule:run >> /dev/null 2>&1
Планувальник відповідає за очистку корзин, генерування sitemap та оновлення курсів валют (якщо провайдер підключений).
Права на директорії
chmod -R 775 storage bootstrap/cache
chown -R www-data:www-data /var/www/myshop
Чеклист після встановлення
- Перевірити
php artisan config:cache && php artisan route:cache - Налаштувати резервне копіювання БД (cron + mysqldump або
spatie/laravel-backup) - Встановити Redis та перевірити підключення через
php artisan tinker→Redis::ping() - Перевірити відправку пошти через тестове замовлення
- Налаштувати моніторинг черг — Laravel Horizon (
composer require laravel/horizon) - Перевірити генерацію sitemap за адресою
/sitemap.xml







