Как установить OpenCart 2 с Nginx и SSL на Ubuntu 15.10
На этой странице
- Шаг 1. Установите Nginx
- Шаг 2. Установка и настройка PHP-FPM
- Шаг 3. Установите и настройте MariaDB
- Шаг 4. Установите SSL
- Шаг 5. Настройка виртуального хоста для OpenCart
- Шаг 6. Установите и настройте OpenCart
- Заключение
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, как мы сделали это в первой главе этого руководства.