Как установить OpenCart с Nginx и Lets Encrypt на Debian 10
На этой странице
- Предпосылки
- Начало работы
- Установить сервер LEMP
- Настройка базы данных MariaDB
- Скачать OpenCart
- Настройка Nginx для OpenCart
- Защитите OpenCart с помощью Lets Encrypt SSL
- Доступ к веб-интерфейсу OpenCart
- Заключение
Opencart — это популярное решение для корзины покупок с открытым исходным кодом, которое поможет вам разместить собственный полнофункциональный веб-сайт электронной коммерции. Opencart предоставляет простой и удобный интерфейс для продажи ваших товаров в Интернете, таких как Amazon и Flipcart. Он специально разработан для малого и среднего бизнеса и имеет все стандартные функции электронной коммерции, необходимые для интернет-магазинов. Он предлагает богатый набор функций, включая мультивалютность, язык, неограниченное количество категорий, продуктов, обзоры продуктов, мультимагазин и многое другое.
В этом руководстве мы покажем вам, как установить OpenCart с Nginx на Debian 10 и защитить его с помощью Lets Encrypt SSL.
Предпосылки
- Сервер под управлением Debian 10.
- На вашем сервере настроен пароль root.
Начиная
Сначала обновите свою систему до последней версии с помощью следующей команды:
apt-get update -y
apt-get upgrade -y
После обновления сервера перезапустите его, чтобы изменения вступили в силу.
Установить LEMP-сервер
Сначала установите веб-сервер Nginx, сервер базы данных MariaDB, PHP и другие необходимые расширения PHP, выполнив следующую команду:
apt-get install nginx mariadb-server php-common php-cli php-fpm php-opcache php-gd php-mysql php-curl php-intl php-xsl php-mbstring php-zip php-bcmath php-soap unzip git -y
После установки всех пакетов отредактируйте файл php.ini и внесите некоторые изменения:
nano /etc/php/7.3/fpm/php.ini
Измените следующие строки:
memory_limit = 256M upload_max_filesize = 100M opcache.save_comments=1 max_execution_time = 300 date.timezone = Asia/Kolkata
Сохраните и закройте файл, когда закончите.
Настроить базу данных MariaDB
Далее вам нужно будет установить пароль root для MariaDB, так как он не установлен в Debian 10.
Для этого войдите в оболочку MariaDB с помощью следующей команды:
mysql
После входа в систему установите корневой пароль MariaDB с помощью следующей команды:
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("yournewrootpassword");
Затем установите для плагина аутентификации MariaDB значение mysql_native_password с помощью следующей команды:
MariaDB [(none)]> SET GLOBAL innodb_fast_shutdown = 0;
MariaDB [(none)]> UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE User = 'root';
Затем сбросьте привилегии и выйдите из оболочки MariaDB с помощью следующей команды:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Затем войдите в MariaDB под пользователем root:
mysql -u root -p
Укажите свой пароль root и создайте базу данных и пользователя для OpenCart с помощью следующей команды:
MariaDB [(none)]> CREATE DATABASE opencartdb;
MariaDB [(none)]> GRANT ALL ON opencartdb.* TO 'opencart'@'localhost' IDENTIFIED BY 'password';
Затем сбросьте привилегии и выйдите из оболочки MariaDB с помощью следующей команды:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
После настройки MariaDB вы можете перейти к следующему шагу.
Скачать OpenCart
Вы можете загрузить последнюю версию OpenCart из репозитория Git, используя следующую команду:
wget https://github.com/opencart/opencart/releases/download/3.0.3.2/opencart-3.0.3.2.zip
После загрузки OpenCart разархивируйте загруженный файл с помощью следующей команды:
unzip opencart-3.0.3.2.zip
Затем переместите каталог загрузки в корневой веб-каталог Nginx с помощью следующей команды:
mv upload /var/www/html/opencart
Затем измените каталог на opencart и переименуйте файл config-dist.php:
cd /var/www/html/opencart/
mv config-dist.php config.php
mv admin/config-dist.php admin/config.php
Затем предоставьте соответствующие разрешения каталогу opencart с помощью следующей команды:
chown -R www-data:www-data /var/www/html/opencart/
chmod -R 775 /var/www/html/opencart/
Как только вы закончите, вы можете перейти к следующему шагу.
Настроить Nginx для OpenCart
Далее вам нужно будет создать файл конфигурации виртуального хоста Nginx для обслуживания OpenCart. Вы можете создать его с помощью следующей команды:
nano /etc/nginx/sites-available/opencart.conf
Добавьте следующее содержимое:
server { listen 80; server_name opencart.linuxbuz.com; root /var/www/html/opencart; index index.php; access_log /var/log/nginx/opencart_access.log; error_log /var/log/nginx/opencart_error.log; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.3-fpm.sock; } location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { expires max; log_not_found off; } }
Сохраните и закройте файл, затем проверьте Nginx на наличие синтаксической ошибки с помощью следующей команды:
nginx -t
Вы должны получить следующий результат:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Затем включите файл виртуального хоста Nginx с помощью следующей команды:
ln -s /etc/nginx/sites-available/opencart.conf /etc/nginx/sites-enabled/
Затем перезапустите службу Nginx и PHP-FPM, чтобы изменения вступили в силу:
systemctl restart nginx
systemctl restart php7.3-fpm
Как только вы закончите, вы можете перейти к следующему шагу.
Защитите OpenCart с помощью Lets Encrypt SSL
Затем вам нужно будет установить клиент Certbot, чтобы установить и настроить Lets Encrypt для вашего веб-сайта.
По умолчанию Certbot недоступен в стандартном репозитории Debian 10. Поэтому вам нужно будет добавить репозиторий Certbot в вашу систему.
Вы можете добавить его с помощью следующей команды:
echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list
Затем обновите репозиторий и установите клиент Certbot для Nginx с помощью следующей команды:
apt-get update -y
apt-get install python3-certbot-nginx -t buster-backports
После установки выполните следующую команду, чтобы загрузить Lets Encrypt SSL и настроить Nginx для использования этого SSL:
certbot --nginx -d opencart.linuxbuz.com
Вам будет предложено принять условия обслуживания и указать свой действующий адрес электронной почты, как показано ниже:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for opencart.linuxbuz.com Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/nginx/sites-available/opencart-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/nginx/sites-available/opencart-le-ssl.conf Enabling available site: /etc/nginx/sites-available/opencart-le-ssl.conf Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
Затем вам нужно будет выбрать, следует ли перенаправлять HTTP-трафик на HTTPS, как показано ниже:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Введите 2 и нажмите Enter, чтобы продолжить. После завершения установки вы должны получить следующий вывод:
Redirecting vhost in /etc/nginx/sites-enabled/opencart.conf to ssl vhost in /etc/nginx/sites-available/opencart-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://opencart.linuxbuz.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=opencart.linuxbuz.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/opencart.linuxbuz.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/opencart.linuxbuz.com/privkey.pem Your cert will expire on 2020-04-30. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
На данный момент OpenCart защищен с помощью Lets Encrypt SSL.
Доступ к веб-интерфейсу OpenCart
Теперь откройте веб-браузер и введите URL-адрес https://opencart.linuxbuz.com. Вы будете перенаправлены на страницу лицензионного соглашения OpenCart:
Нажмите кнопку «Продолжить», чтобы принять лицензионное соглашение. Вы должны увидеть следующую страницу:
Убедитесь, что все необходимые расширения PHP установлены, затем нажмите кнопку ПРОДОЛЖИТЬ. Вы должны увидеть следующую страницу:
Укажите свои учетные данные базы данных, имя пользователя администратора, пароль и нажмите кнопку ПРОДОЛЖИТЬ. После завершения установки вы должны увидеть следующую страницу:
Теперь откройте терминал и удалите каталог установки с помощью следующей команды:
rm -rf /var/www/html/opencart/install/
Далее нажмите ПЕРЕЙТИ В ИНТЕРНЕТ-МАГАЗИН. Вы должны увидеть свой магазин OpenCart на следующей странице:
Далее нажмите на кнопку ВОЙТИ В АДМИНИСТРАЦИЯ. Вы должны увидеть страницу входа в OpenCart:
Укажите имя пользователя и пароль администратора и нажмите кнопку «Войти». Вы должны увидеть панель администрирования OpenCart на следующей странице:
Заключение
Поздравляем! вы успешно установили и защитили OpenCart в Debian 10. Теперь вы можете разместить свою собственную онлайн-корзину покупок с помощью OpenCart. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.