GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo configurar Opencart con LAMP (PHP, Apache, Mariadb) en Debian 11

Opencart es una plataforma de comercio electrónico GRATUITA y de código abierto. Todo lo que necesitas para crear, escalar y operar tu negocio”. Es un sistema de gestión de tiendas en línea de código abierto. Está basado en PHP, utilizando una base de datos MySQL y componentes HTML.

Apache es un popular software de servidor web que a menudo se usa para servir contenido php. Mysql también es un popular sistema de administración relacional utilizado por sitios web populares.

Contenido relacionado
  • Cómo configurar Opencart con LAMP (PHP, Apache, Mariadb) en Ubuntu 20.04
  • Cómo instalar y configurar PHP y Apache (pila LAMP) en Debian 11
  • Cómo instalar y configurar Mariadb 10 en Debian 11
  • Permisos de MySQL:crear, actualizar y eliminar usuarios de la base de datos
  • Instalar la pila Apache PHP 7.4 (LAMP) en Centos 8
  • Cómo instalar y habilitar Remi Repository en Centos 6/7/8

Requisitos

Para seguir, asegúrese de tener lo siguiente:

  • Un servidor Debian 11 actualizado
  • Acceso raíz o usuario con acceso sudo
  • Acceso a Internet

Pasos

Ejecutaremos esto en los siguientes pasos:

  1. Asegúrese de que el servidor esté actualizado
  2. Instalar y configurar Mariadb 10 en Debian 11
  3. Creando usuario mysql para Opencart
  4. Instalar php en Debian 11
  5. Instalación de Apache en Debian 11
  6. Configurando Opencart en el servidor
  7. Cree un host virtual para servir Opencart
  8. Pasando por el proceso de instalación de Opencart

1. Asegúrese de que el servidor esté actualizado

Antes de continuar, siempre es una buena práctica asegurarse de que el servidor esté actualizado. Usa estos comandos para lograr esto

sudo apt update
sudo apt upgrade -y

Instale algunos paquetes comunes que necesitaremos más adelante

sudo apt install -y vim unzip

2. Instalación de Mariadb en Debian 11

Mariadb es un popular sistema de gestión relacional de código abierto. Está disponible en los repositorios predeterminados como mariadb-server .

Instálelo con este comando:

sudo apt install -y mariadb-server

Mariadb se instalará e iniciará de manera predeterminada en Debian 11. Verifique el estado con esto

$ sudo systemctl status mariadb
● mariadb.service - MariaDB 10.5.12 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-12-14 05:51:32 UTC; 26s ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 20983 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
    Process: 20984 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 20986 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq>
    Process: 21048 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 21050 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
   Main PID: 21034 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 14 (limit: 4626)
     Memory: 78.3M
        CPU: 672ms
     CGroup: /system.slice/mariadb.service
             └─21034 /usr/sbin/mariadbd

Dec 14 05:51:34 ip-10-2-40-188 /etc/mysql/debian-start[21055]: mysql
Dec 14 05:51:34 ip-10-2-40-188 /etc/mysql/debian-start[21055]: performance_schema
Dec 14 05:51:34 ip-10-2-40-188 /etc/mysql/debian-start[21055]: Phase 6/7: Checking and upgrading tables
Dec 14 05:51:34 ip-10-2-40-188 /etc/mysql/debian-start[21055]: Processing databases
Dec 14 05:51:34 ip-10-2-40-188 /etc/mysql/debian-start[21055]: information_schema
Dec 14 05:51:34 ip-10-2-40-188 /etc/mysql/debian-start[21055]: performance_schema
Dec 14 05:51:34 ip-10-2-40-188 /etc/mysql/debian-start[21055]: Phase 7/7: Running 'FLUSH PRIVILEGES'
Dec 14 05:51:34 ip-10-2-40-188 /etc/mysql/debian-start[21055]: OK
Dec 14 05:51:34 ip-10-2-40-188 /etc/mysql/debian-start[21713]: Checking for insecure root accounts.
Dec 14 05:51:34 ip-10-2-40-188 /etc/mysql/debian-start[21720]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables

Para asegurarse de que mariadb se inicie en el arranque, habilítelo con este comando systemd:

sudo systemctl enable mariadb

Una vez que el servicio mysql se está ejecutando, debe protegerlo. Mysql proporciona una utilidad de línea de comandos que hará eso:

sudo mysql_secure_installation

El comando anterior lo llevará a través de indicaciones para asegurar y establecer una contraseña de root para la instancia de mysql.

Consulte más información sobre la instalación y configuración de mysql en esta guía aquí

3. Creando usuario mysql para OpenCart

Siempre se recomienda tener un usuario dedicado para cada aplicación que se conecta a la base de datos. Consulte esta guía sobre cómo administrar los permisos de mysql aquí. Configuraremos una base de datos, usuario y contraseña para ser utilizados por Opencart:

Conéctese al servidor mysql:

mysql -u root -p

Después de proporcionar su contraseña, ingrese lo siguiente en el indicador de mysql:

create database opencart;
create user 'opencart_user'@'%' identified by 'S0mStrongPa$$word';
grant all privileges on opencart.* to 'opencart_user'@'%';

Ahora que hemos configurado nuestra conexión mysql, pasemos a la siguiente sección donde instalamos y configuramos PHP y Nginx.

4. Instalación de PHP en Debian 11

Opencart funciona bien con PHP 7.4. Esta versión está disponible en los repositorios predeterminados de Debian.

Luego instale php y dependencias, use este comando:

sudo apt install -y \
  php \
  php-cli \
  php-gd \
  php-curl \
  php-zip \
  php-dom \
  php-xml \
  php-simplexml \
  php-mbstring \
  php-intl \
  php-json

Para obtener más información sobre cómo configurar PHP y Apache, consulte esta guía aquí.

5. Instalación de apache en Debian 11

Los paquetes de Apache están disponibles en los repositorios predeterminados de Debian 11 como apache2 . Instálalo usando este comando:

sudo apt install -y apache2

Confirme los paquetes instalados usando este comando:

$ apt-cache policy apache2
apache2:
  Installed: 2.4.51-1~deb11u1
  Candidate: 2.4.51-1~deb11u1
  Version table:
 *** 2.4.51-1~deb11u1 500
        500 http://security.debian.org/debian-security bullseye-security/main amd64 Packages
        100 /var/lib/dpkg/status
     2.4.48-3.1+deb11u1 500
        500 http://cdn-aws.deb.debian.org/debian bullseye/main amd64 Packages

El servicio se iniciará de forma predeterminada. Verifique el estado usando este comando:

$ sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-12-14 03:01:04 UTC; 5min ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 19103 (apache2)
      Tasks: 6 (limit: 4626)
     Memory: 12.8M
        CPU: 59ms
     CGroup: /system.slice/apache2.service
             ├─19103 /usr/sbin/apache2 -k start
             ├─19105 /usr/sbin/apache2 -k start
             ├─19106 /usr/sbin/apache2 -k start
             ├─19107 /usr/sbin/apache2 -k start
             ├─19108 /usr/sbin/apache2 -k start
             └─19109 /usr/sbin/apache2 -k start

Dec 14 03:01:04 ip-10-2-40-188 systemd[1]: Starting The Apache HTTP Server...
Dec 14 03:01:04 ip-10-2-40-188 systemd[1]: Started The Apache HTTP Server.

Para habilitar el servicio en el arranque, use este comando

sudo systemctl enable apache2

Para confirmar que Apache está instalado y funciona bien, visite la dirección IP del servidor en el navegador (http://server_ip). Si no conoce la IP del servidor, consígala usando este comando en su terminal:

curl -4 icanhazip.com

Si todo va bien, debería ver la página predeterminada de Apache2 Debian .

6. Configuración de Opencart

Después de configurar mysql, php y apache, necesitamos descargar el archivo de instalación de Opencart y configurarlo en el servidor. Necesitamos crear un directorio en el servidor donde se alojará el contenido.

Voy a configurar Opencart para que se sirva desde el dominio http://opencart.citizix.com . Dado que Apache sirve contenido de /var/www/html , crearé mi directorio de sitios en ese /var/www directorio:

sudo mkdir /var/www/opencart.citizix.com

Asegúrese de que su usuario web tenga permiso para leer, escribir y ejecutar todos los directorios bajo la ruta del sitio:

sudo chown -R $USER:$GROUP /var/www/opencart.citizix.com

Ahora descarguemos y extraigamos el contenido de Opencart. Opencart usa github para rastrear sus lanzamientos. Dirígete a la página de lanzamientos de github para Opencart aquí y obtén el último lanzamiento. Al momento de escribir este artículo, la última versión es 3.0.3.8 .

Descárgalo con este comando:

curl -LO https://github.com/opencart/opencart/releases/download/3.0.3.8/opencart-3.0.3.8.zip

Ahora que el archivo se ha descargado, necesitamos extraerlo. Necesitas el comando zip para extraerlo.

unzip opencart-3.0.3.8.zip

El contenido se extraerá a upload directorio. Vamos a moverlo a la ruta de nuestro sitio con este comando:

sudo mv upload/* /var/www/opencart.citizix.com/

Renombrar config-dist.php a config.php y admin/config-dist.php a admin/config.php :

cd /var/www/opencart.citizix.com/
mv config-dist.php config.php
mv admin/config-dist.php admin/config.php

7. Cree un host virtual para servir a Opencart

Ahora que se han instalado los paquetes de software necesarios y se ha copiado el contenido de Opencart, necesitamos un servidor virtual Apache para servir el contenido de nuestro sitio http://opencart.citizix.com .

Los archivos de host virtual de Apache especifican la configuración de cada sitio y le indican al servidor web Apache cómo responder a varias solicitudes de dominio.

Tenga en cuenta que el DNS del dominio que se utilizará ya debe estar configurado para apuntar a la dirección IP del servidor.
Confírmelo con:

dig -t A opencart.citizix.com

Las configuraciones de Apache se almacenarán en el directorio /etc/httpd/conf.d/ . Vamos a crear una configuración para nuestro sitio:

sudo vim /etc/apache2/sites-available/opencart.citizix.com.conf

Agrega el siguiente contenido:

<VirtualHost *:80>
    ServerName opencart.citizix.com
    ServerAlias opencart.citizix.com
    DocumentRoot /var/www/opencart.citizix.com
    DirectoryIndex index.php
    ErrorLog /var/log/apache2/opencart.citizix.com.error.log
    CustomLog /var/log/apache2/opencart.citizix.com.requests.log combined
</VirtualHost>

Para aplicar los cambios, reinicie apache:

sudo systemctl reload apache2

8. Pasando por el proceso de instalación de Opencart

Una vez que se haya realizado la configuración anterior, deberíamos estar listos para comenzar a instalar Opencart. Visite la URL definida en el host virtual anterior para iniciar el proceso de configuración. En mi caso cuando visito http://opencart.citizix.com , me da la bienvenida esta página:

La página anterior le pide que acepte los términos. Haga clic en Continuar para ir a la página siguiente:

El paso anterior es verificar que el servidor esté configurado como se esperaba. Si instaló los paquetes php requeridos arriba, debería ver una marca verde para cada uno de los elementos.

Haga clic en Continuar para ir al siguiente paso:

El paso anterior es donde establece la configuración de su base de datos y el usuario administrador. Complete los detalles requeridos y haga clic en Continuar.

Si todo está bien, se le llevará al paso final que le indica que la instalación fue exitosa:

Hasta este punto, Opencart está configurado y listo para usar.

Configuración final

Eliminemos el directorio de instalación en el servidor como se recomienda en la advertencia de la última página

cd /var/www/opencart.citizix.com/
rm -rf installation

Movamos el directorio de almacenamiento y actualicemos las configuraciones como se ve en esta captura de pantalla:

sudo mv /var/www/opencart.citizix.com/system/storage/ /var/www/storage/

Actualice los archivos de configuración como se ve en la captura de pantalla.

Conclusión

A partir de los pasos anteriores, pudimos configurar el servidor Debian 11 para servir a Opencart.


Debian
  1. Cómo instalar Phorum con Nginx en Debian 9

  2. Cómo configurar Opencart en Rocky Linux/Centos 8 con Apache, PHP, Mysql (LAMP Stack)

  3. Cómo configurar Opencart con LAMP (PHP, Apache, Mariadb) en Ubuntu 20.04

  4. Cómo instalar y configurar PHP y Apache (pila LAMP) en Debian 11

  5. Cómo instalar LAMP Apache, MySQL, PHP en Debian 11

Cómo instalar Apache, MariaDB y PHP (LAMP) en Debian 11

Cómo instalar LAMP (Apache, MySQL, PHP) en Debian 9 Stretch

Cómo instalar LAMP (Apache, MySQL, PHP) en Debian 8 Jessie

Cómo instalar Apache con PHP-FPM en Debian 10

Cómo instalar LAMP (Apache, MySQL, PHP) en Debian 10

Cómo configurar la pila LAMP (Apache, MariaDB y PHP) en Debian 11