GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar OpenCart 2 con Nginx y SSL en Ubuntu 15.10

OpenCart es un software gratuito de comercio electrónico de código abierto basado en PHP y MySQL. OpenCart le permite configurar y administrar su propia tienda en línea a un costo mínimo. El software es adecuado para pequeñas y medianas empresas en línea, es fácil de instalar y hay muchos complementos y extensiones disponibles. OpenCart viene con traducciones para numerosos idiomas y admite múltiples monedas.

Este tutorial cubre la instalación de OpenCart con Nginx, PHP-fpm y MariaDB en Ubuntu 15.10.

Requisito previo

  • Ubuntu 15.10 - 64 bits
  • Privilegios de raíz

Paso 1:instalar Nginx

Usaremos nginx como servidor web, es un servidor web liviano que es rápido y tiene una pequeña huella de memoria. Instale nginx con el comando apt desde los repositorios de Ubuntu:

sudo apt-get install nginx

Ahora verifique Nginx con curl o visitando la IP de su servidor con el navegador como Firefox, etc.

curl -I 192.168.1.101

Debería ver la página predeterminada de Ubuntu.

Paso 2:instalar y configurar PHP-FPM

En este paso, instalaré como versión php-fpm, php-fpm (FastCGI Process Manager) es una alternativa moderna para el modo clásico de PHP FastCGI. Instalaremos php-fpm con algunos módulos de php que requiere OpenCart.

  • php-mysql
  • php-gd
  • php-curl
  • php-mcrypt

Instale PHP-FPM y la extensión de PHP con el siguiente comando apt:

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

Cuando los paquetes estén instalados, vaya al directorio de configuración de php-fpm y edite el 'php.ini ' archivo con vim.

cd /etc/php5/fpm
vim php.ini

Descomente la línea 773 y cambie el valor a '0':

cgi.fix_pathinfo=0

Guarde el archivo y Salga.

Ahora debemos habilitar el módulo mcrypt, que es requerido por OpenCart. Vaya al directorio php-fpm conf.d y cree un enlace simbólico para el archivo .ini.

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

El módulo mcrypt está habilitado, ahora reinicie php-fpm y nginx para aplicar los cambios:

systemctl restart nginx
systemctl restart php5-fpm

Ahora debemos verificar que php-fpm y Nginx estén funcionando correctamente. Edite la configuración predeterminada de nginx virtualhost para habilitar la ubicación de php y cree un archivo phpinfo en el directorio raíz web.

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

Descomente la directiva 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;
        }
 

Guarde el archivo y salga.

Vaya al directorio '/var/www/html/' y agregue un archivo phpinfo.

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

Visite la IP del servidor (en mi caso IP 192.168.1.103):http://

http:// 192.168.1.103/info.php.

Nginx y PHP-FPM están configurados correctamente.

Paso 3:instalar y configurar MariaDB

MariaDB es una bifurcación del servidor de base de datos MySQL. Prefiero MariaDB sobre MySQL, pero depende de usted qué servidor de base de datos use en este paso. Instale MariaDB con el comando apt:

sudo apt-get install mariadb-server mariadb-client

Luego configure la contraseña raíz de MariaDB / MySQL con 'mysql_secure_installation ' comando:

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

Se han configurado el usuario raíz y la contraseña de MariaDB. Ahora tenemos que crear una nueva base de datos y un nuevo usuario para nuestra instalación de OpenCart. Inicie sesión en el shell mysql/mariadb para crearlo todo.

Inicie sesión en el shell MySQL/MariaDB para crear la base de datos y el usuario.

mysql -u root -p
TYPE YOUR PASSWORD

create database opencartdb;
create user [email protected] identified by '[email protected]';
grant all privileges on opencartdb.* to [email protected] identified by '[email protected]';
flush privileges;

Se crea la base de datos MySQL, tenemos una nueva base de datos llamada 'opencartdb' y un usuario con el nombre 'opencartuser' y contraseña '[email protected]'. Necesitamos conocer estos detalles para la instalación de OpenCart más adelante. Utilice una contraseña más segura para su instalación.

Paso 4:instalar SSL

Asegúrese de que OpenSSL esté instalado en su servidor.

sudo apt-get install openssl

Cree un nuevo directorio para el certificado SSL y genere el certificado con OpenSSL.

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

Genere el certificado y el archivo de claves:

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

Cambia el permiso de la clave privada a 600:

chmod 600 opencart.key

La instalación del certificado SSL está lista.

Paso 5:configurar VirtualHost para OpenCart

Cree un nuevo archivo de configuración de host virtual para OpenCart en el directorio de "sitios disponibles" de Nginx. Vaya al directorio de host virtual de Nginx y cree una nueva configuración con vim:

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

Pegue la configuración a continuación:

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;
    }
}

Reemplace el nombre de dominio en la línea server_name con su propio nombre de dominio.

Guarde el archivo y salga.

Active el nuevo host virtual con un enlace simbólico al archivo 'opencart' en el directorio 'sites-enabled' y verifique la sintaxis de configuración de Nginx con el comando "nginx -t".

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

Paso 6:instalar y configurar OpenCart

Usamos el directorio '/var/www/' para la instalación de OpenCart. Vaya al directorio '/var/www/', descargue OpenCart y extraiga el archivo .zip descargado.

Puede descargar Opencart desde aquí:http://www.opencart.com/?route=download/download.

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

Cambie el nombre del directorio a opencart, luego vaya al directorio de carga.

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

Copie los archivos config-dist en el directorio de carga y administración:

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

Y de vuelta al directorio '/var/www/', cambie el propietario de los archivos y directorios de OpenCart al usuario 'www-data '.

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

Nota :Ejecutamos nginx como usuario y grupo de www-data. Si ejecuta nginx como su propio usuario o usuario Nginx, cambie el propietario a su propio nombre y grupo.

Reinicie nginx y php-fpm para asegurarse de que no tengamos ningún error en la configuración que hemos establecido:

systemctl restart nginx
systemctl restart php5-fpm

Ahora abra su navegador web e ingrese su dominio opencart en la barra de direcciones, mi nombre de dominio en este ejemplo es:  www.myopencart.co .

El instalador le mostrará el "Acuerdo de licencia " léalo y haga clic en "Continuar ".

El instalador ahora verifica la configuración de su servidor, asegúrese de que todos los campos de estado sean "Verde " y luego haga clic en "Continuar ".

El instalador mostrará la base de datos y la configuración de la cuenta de administrador. Complete los detalles de la base de datos de la base de datos que creamos anteriormente y elija un nombre de usuario y contraseña de administrador, luego haga clic en "Continuar ".

La instalación de OpenCart ha finalizado. Puede visitar el dominio de su tienda web (en mi caso, www.myopencart.co) e iniciar sesión en el backend de OpenCart.

No olvide eliminar el directorio de instalación en el servidor .

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

Opencart con Nginx y php-fpm está instalado y funcionando

Conclusión

Opencart es una aplicación basada en web escrita en PHP para crear tiendas en línea. Es adecuado para tiendas en línea de tamaño bajo y mediano. Opencart se puede instalar con servidores web Apache o Nginx (con php-fpm), este tutorial cubrió la instalación de OpenCart con nginx, php-fpm y la base de datos MariaDB (una bifurcación de MySQL). El proceso de instalación es sencillo, solo debes asegurarte de que tu servidor esté listo para OpenCart como lo hicimos en el primer capítulo de este tutorial.


Ubuntu
  1. Cómo instalar Nextcloud con Nginx y Lets Encrypt SSL en Ubuntu 20.04 LTS

  2. Cómo instalar Magento 2 con Nginx y Lets Encrypt SSL en Ubuntu 20.04 LTS

  3. Cómo instalar Mattermost con PostgreSQL y Nginx en Ubuntu 16.04

  4. Cómo instalar Nginx con PHP5 y MySQL en Ubuntu 11.10

  5. Instale OpenCart 2 en un Ubuntu 14.04 VPS con Nginx y PHP-FPM

Cómo instalar Piwik con Nginx en Ubuntu 15.10

Cómo instalar Drupal 8.1 con Nginx, PHP-FPM y SSL en Ubuntu 16.04

Cómo instalar Redmine 3.2 con Nginx en Ubuntu 16.04

Cómo instalar Django con PostgreSQL y Nginx en Ubuntu 16.04

Cómo instalar Lighttpd con PHP-FPM 7 y MySQL 5.7 en Ubuntu 18.04 LTS

Cómo instalar Moodle con Nginx y Lets Encrypt SSL en Ubuntu 20.04