После чтения этой статьи, вы научитесь самостоятельно настраивать минималистичный сервер для для сайта Opencart. Ваш сайт будет доступен по защищенному протоколу HTTPS с поддержкой бесплатного сертификата Let’s Encrypt.

Opencart — ведущая платформа для eCommerce, которая используется четырьмя миллионами электронных магазинов по всему миру. Эта система является открытой, а значит доступной для изменений любым желающим разработчиком. Статистика GitHub для проекта весьма ярко демонстрирует его популярность:

Для установки Opencart на выделенном сервере или VPS нам понадобится установить сервер LEMP (Linux, Nginx, MySQL, PHP 7), а затем скачать и настроить сам Opencart.
Зачем устанавливать сайт Opencart в LEMP сервер?
Хотя для целей разработки можно использовать сервер разделяемого хостинга с панелью, для нужд продуктовой среды лучше использовать выделенный сервер или VPS. Это позволит добиться следующих положительных результатов:
- значительно более высокая защищенность от вредоносной активности других приложений пользователей, размещенных на разделяемом хостинге;
- гарантированная производительность и доступность вычислительных ресурсов;
- низкий риск человеческих ошибок;
- отдельный IP-адрес, что позволяет эффективно защищать сайт от DDoS с помощью CDN;
- возможность тонкой настройки Nginx и MySQL и других приложений для оптимальной производительности;
- максимальная простота сервера без лишних точек отказа.
Установка сервера LEMP

Установка LEMP в CentOS 7 с использованием внешнего репозитория Remi’s Repository для установки PHP 7.2.

Стандартная установка LEMP в Debian 9 Stretch с использованием PHP 7.0

Стандартная установка LEMP в Ubuntu 18.04 Bionic с использованием PHP 7.2
Установка и настройка Opencart
Скачаем и распакуем архив сайта. На момент написания статьи стабильным считается Opencart v3.0.3.1:
sudo wget -O /var/www/$WEBSITE_NAME/opencart-3.0.3.1.zip https://github.com/opencart/opencart/releases/download/3.0.3.1/opencart-3.0.3.1.zip cd /var/www/$WEBSITE_NAME/ && sudo unzip opencart-3.0.3.1.zip ls | grep -v upload | sudo xargs rm sudo mv upload/* . sudo rmdir upload sudo mv config{-dist.php,.php} sudo mv admin/config{-dist.php,.php} sudo chmod -R ug+rwX *
Установим права, чтобы пользователь, под которым выполняется Nginx мог вносить в файлы изменения:
# для Ubuntu / Debian sudo chown www-data: -R /var/www/$WEBSITE_NAME # для CentOS sudo chown nginx: -R /var/www/$WEBSITE_NAME
Теперь открываем скрипт установки https://$WEBSITE_NAME/setup в браузере и продолжаем установку:




После завершения установки удалите установочный каталог:
sudo rm -Rf install
На этом установка Opencart завершена и можно приступать к работе над своим электронным магазином.
Что еще сделать после установки?
После установки мы рекомендуем выполнить следующие действия:
- повысить безопасность сервера с помощью тонкой настройки файрвола:
- установить сайт под защиту CloudFlare;
- настроить почтовый сервер, если вы планируете осуществлять отправку почты локально с сервера, а не по SMTP: