OpenCart
1. Проєкт і файли
- Створіть проєкт з обробником PHP, кореневий каталог
public, одразу з доменом. - У «Терміналі» завантажте реліз із GitHub (підставте актуальну версію зі сторінки releases):
Або розпакуйте архів на комп’ютері і завантажте вміст папкиV=4.1.0.3 curl -L -o oc.zip https://github.com/opencart/opencart/releases/download/$V/opencart-$V.zip unzip -q oc.zip rm -rf public && mv opencart-$V/upload public rm -rf opencart-$V oc.zip mv public/config-dist.php public/config.php mv public/admin/config-dist.php public/admin/config.phpuploadуpublicчерез SFTP, перейменувавши обидваconfig-dist.php. - Створіть базу: «Бази даних» → «База для цього проєкту» (з користувачем).
2. Встановлення
Відкрийте https://ваш-домен/install/. Перевірка середовища пройде: потрібні розширення є, файли доступні для запису. У налаштуваннях бази вкажіть хост і порт із картки бази, ім’я, користувача і пароль. Інсталятор запропонує перенести папку storage за межі кореневого каталогу — погодьтеся: шлях усередині проєкту (наприклад, /app/storage/) доступний для запису. Після встановлення видаліть інсталятор:
rm -rf public/install
3. ЧПУ-адреси (SEO URL)
OpenCart розраховує на правила з .htaccess, який тут не читається. Додайте у Власні директиви Caddy (блок «Обробник»):
@seo {
not file
not path /admin* /image/* /catalog/* /system/* /extension/* /install/*
path_regexp seo ^/(.+)$
}
rewrite @seo /index.php?_route_={re.seo.1}&{query}
Після збереження в адмінці OpenCart увімкніть System → Settings → Server → Use SEO URLs.
4. HTTPS за проксі
TLS завершує проксі панелі, а вебсервер контейнера передає PHP ознаки захищеного з’єднання ($_SERVER['HTTPS']), тож OpenCart бачить HTTPS сам. Перевірте лише, що адреси в обох конфігах з https://: у public/config.php і public/admin/config.php константи HTTP_SERVER (і HTTP_CATALOG в адмінці) мають починатися з https://ваш-домен/.
5. Завантаження, cron, пошта
- Завантаження — до 64 МБ за файл; більші картинки і дампи — через SFTP.
- Cron. Задачі OpenCart (курси валют, розсилки) — у «Cron і процеси»; точний виклик залежить від версії — дивіться документацію OpenCart. Команда виконується в каталозі проєкту, файли магазину — в
public. - Пошта — через SMTP у System → Settings → Mail: поштового сервера в контейнері немає.
6. Якщо щось не так
- Інсталятор скаржиться, що config.php не існує або недоступний для запису. Не перейменовано
config-dist.php(крок 1). - Сторінки категорій дають 404 при увімкнених SEO URL. Немає директив із розділу 3 або в них помилка — текст помилки у «Логах».
- Адмінка відкривається по http. Поправте
HTTP_SERVERвadmin/config.phpна https. - Біла сторінка або 500. «Логи» проєкту, а також
storage/logs/error.logOpenCart.