Поиск по сайту:

Как установить OpenCart 2 с Nginx и SSL на Ubuntu 15.10


На этой странице

  1. Шаг 1. Установите Nginx
  2. Шаг 2. Установка и настройка PHP-FPM
  3. Шаг 3. Установите и настройте MariaDB
  4. Шаг 4. Установите SSL
  5. Шаг 5. Настройка виртуального хоста для OpenCart
  6. Шаг 6. Установите и настройте OpenCart
  7. Заключение

OpenCart — это бесплатное программное обеспечение для электронной коммерции с открытым исходным кодом, основанное на PHP и MySQL. OpenCart позволяет настроить и запустить собственный интернет-магазин с минимальными затратами. Программное обеспечение подходит для малого и среднего онлайн-бизнеса, его легко установить и доступно множество надстроек и расширений. OpenCart поставляется с переводами на множество языков и поддерживает несколько валют.

В этом руководстве рассматривается установка OpenCart с Nginx, PHP-fpm и MariaDB в Ubuntu 15.10.

Предпосылка

  • Убунту 15.10 — 64-разрядная версия
  • Привилегии root

Шаг 1 — Установите Nginx

Мы будем использовать nginx в качестве веб-сервера, это легкий веб-сервер, быстрый и занимающий мало памяти. Установите nginx с помощью команды apt из репозиториев Ubuntu:

sudo apt-get install nginx

Теперь проверьте Nginx с помощью curl или посетив IP-адрес вашего сервера в браузере, таком как firefox и т. д.

curl -I 192.168.1.101

Вы должны увидеть страницу Ubuntu по умолчанию.

Шаг 2 — Установите и настройте PHP-FPM

На этом этапе я установлю версию php-fpm, php-fpm (FastCGI Process Manager) — это современная альтернатива классическому режиму PHP FastCGI. Мы установим php-fpm с некоторыми модулями php, необходимыми для OpenCart.

  • php-mysql
  • php-gd
  • php-завиток
  • php-mcrypt

Установите PHP-FPM и расширение PHP с помощью одной команды apt ниже:

sudo apt-get install php5 php5-fpm php5-mysql php5-curl php5-gd php5-mcrypt

Когда пакеты будут установлены, перейдите в каталог конфигурации php-fpm и отредактируйте файл php.ini с помощью vim.

cd /etc/php5/fpm
vim php.ini

Раскомментируйте строку 773 и измените значение на 0:

cgi.fix_pathinfo=0

Сохраните файл и выйдите.

Теперь мы должны включить модуль mcrypt, который требуется для OpenCart. Перейдите в каталог php-fpm conf.d и создайте символическую ссылку для файла .ini.

cd /etc/php5/fpm/conf.d/
ln -s ../../mods-available/mcrypt.ini mcrypt.ini

Модуль mcrypt включен, теперь перезапустите php-fpm и nginx, чтобы применить изменения:

systemctl restart nginx
systemctl restart php5-fpm

Теперь мы должны убедиться, что php-fpm и Nginx работают правильно. Измените конфигурацию виртуального хоста nginx по умолчанию, чтобы включить расположение php и создать файл phpinfo в корневом веб-каталоге.

cd /etc/nginx/sites-available/
vim default

Раскомментируйте директиву php-fpm:

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
        #
        #       # With php5-cgi alone:
        #       fastcgi_pass 127.0.0.1:9000;
        #       # With php5-fpm:
                fastcgi_pass unix:/var/run/php5-fpm.sock;
        }

Сохраните файл и выйдите.

Перейдите в каталог /var/www/html/ и добавьте файл phpinfo.

cd /var/www/html/
echo "<?php phpinfo(); ?>" > info.php

Посетите IP-адрес сервера (в моем случае IP 192.168.1.103): http://

Nginx и PHP-FPM настроены правильно.

Шаг 3 — Установите и настройте MariaDB

MariaDB — это ответвление сервера баз данных MySQL. Я предпочитаю MariaDB MySQL, но вам решать, какой сервер базы данных использовать на этом этапе. Установите MariaDB с помощью команды apt:

sudo apt-get install mariadb-server mariadb-client

Затем настройте пароль администратора MariaDB/MySQL с помощью команды mysql_secure_installation:

mysql_secure_installation
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Корневой пользователь и пароль MariaDB настроены. Теперь нам нужно создать новую базу данных и пользователя для нашей установки OpenCart. Войдите в оболочку mysql/mariadb, чтобы создать все это.

Войдите в оболочку MySQL/MariaDB, чтобы создать базу данных и пользователя.

mysql -u root -p
TYPE YOUR PASSWORD

create database opencartdb;
create user ';
flush privileges;

База данных MySQL создана, у нас есть новая база данных с именем opencartdb и пользователь с именем opencartuser и паролем [email . Нам нужно знать эти детали для установки OpenCart позже. Пожалуйста, используйте более безопасный пароль для установки.

Шаг 4 — Установите SSL

Убедитесь, что OpenSSL установлен на вашем сервере.

sudo apt-get install openssl

Создайте новый каталог для сертификата SSL и сгенерируйте сертификат с помощью OpenSSL.

mkdir -p /etc/nginx/ssl
cd /etc/nginx/ssl

Сгенерируйте сертификат и файл ключа:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/opencart.key -out /etc/nginx/ssl/opencart.crt

Измените разрешение закрытого ключа на 600:

chmod 600 opencart.key

Установка сертификата SSL завершена.

Шаг 5 — Настройте VirtualHost для OpenCart

Создайте новый файл конфигурации виртуального хоста для OpenCart в каталоге, доступном для сайтов Nginx. Перейдите в каталог виртуального хоста Nginx и создайте новую конфигурацию с помощью vim:

cd /etc/nginx/sites-available/
vim opencart

Вставьте конфигурацию ниже:

server {
    server_name www.myopencart.co; ## Your Domain
    root /var/www/opencart/upload; ## Web Root Directory
    index index.php index.html;

    listen 80;
    listen [::]:80;
    listen 443 default ssl;

    ssl_certificate      /etc/nginx/ssl/opencart.crt;
    ssl_certificate_key  /etc/nginx/ssl/opencart.key;

    # Redirect HTTP to HTTPS
    if ($scheme = http) {
        return 301 https://$server_name$request_uri;
    }

    access_log /var/log/nginx/myopencart_access.log;               

    location /image/data {
        autoindex on;
    }
    location /admin {
        index index.php;
    }
    location / {
        try_files $uri @opencart;
    }
    location @opencart {
        rewrite ^/(.+)$ /index.php?_route_=$1 last;
    }
    
    # Make sure files with the following extensions do not get loaded by nginx because nginx would display the source code, and these files can contain PASSWORDS!
    location ~* \.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|\.php_ {
        deny all;
    }
    # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }
    location ~*  \.(jpg|jpeg|png|gif|css|js|ico)$ {
        expires max;
        log_not_found off;
    }
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Замените доменное имя в строке server_name своим собственным доменным именем.

Сохраните файл и выйдите.

Активируйте новый виртуальный хост с помощью символической ссылки на файл opencart в каталоге с поддержкой сайтов и проверьте синтаксис конфигурации Nginx с помощью команды \nginx -t\.

ln -s /etc/nginx/sites-available/opencart /etc/nginx/sites-enabled/
nginx -t

Шаг 6 - Установите и настройте OpenCart

Мы используем каталог /var/www/ для установки OpenCart. Перейдите в каталог /var/www/, загрузите OpenCart и распакуйте загруженный архив .zip.

Вы можете скачать opencart отсюда: http://www.opencart.com/?route=download/download.

cd /var/www/
unzip opencart-2.1.0.1.zip

Переименуйте каталог в opencart, затем перейдите в каталог загрузки.

mv opencart-opencart-2.1.0.1/ opencart/
cd opencart/upload/

Скопируйте файлы config-dist в каталог загрузки и администрирования:

cp config-dist.php config.php
cp admin/config-dist.php admin/config.php

Вернитесь в каталог /var/www/ и измените владельца файлов и каталогов OpenCart на пользователя www-data.

cd /var/www/
chown -R www-data:www-data opencart/

Примечание. Мы запускаем nginx как пользователь и группа www-data. Если вы запускаете nginx от имени своего пользователя или пользователя Nginx, то измените владельца на свое имя и группу.

Перезапустите nginx и php-fpm, чтобы убедиться, что у нас нет ошибок в конфигурации, которую мы установили:

systemctl restart nginx
systemctl restart php5-fpm

Теперь откройте веб-браузер и введите свой домен opencart в адресную строку, мое доменное имя в этом примере:  www.myopencart.co.

Программа установки покажет вам \Лицензионное соглашение\, прочтите его и нажмите \Продолжить\.

Теперь установщик проверит настройки вашего сервера, убедитесь, что все поля состояния отмечены \зеленым цветом\, а затем нажмите \Продолжить\.

Установщик покажет конфигурацию базы данных и учетной записи администратора. Заполните данные базы данных, которую мы создали ранее, и выберите имя пользователя и пароль администратора, затем нажмите \Продолжить\.

Установка OpenCart завершена. Вы можете посетить домен своего интернет-магазина (в моем случае www.myopencart.co) и войти в бэкенд OpenCart.

Не забудьте удалить каталог установки на сервере.

cd /var/www/opencart/upload/
rm -rf install/

Opencart с Nginx и php-fpm установлен и работает

Заключение

Opencart — это веб-приложение, написанное на PHP для создания интернет-магазинов. Он подходит для малого и среднего интернет-магазина. Opencart можно установить с веб-серверами Apache или Nginx (с php-fpm). В этом руководстве рассматривается установка OpenCart с базой данных nginx, php-fpm и MariaDB (форк MySQL). Процесс установки прост, вам просто нужно убедиться, что ваш сервер готов для OpenCart, как мы сделали это в первой главе этого руководства.