GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar la plataforma de comercio electrónico X-cart en Debian 9

Este tutorial lo guiará sobre cómo instalar y configurar la última versión de la plataforma de comercio electrónico X-Cart en la versión Debian 9.2, para crear una tienda de compras en línea gratuita.

X-Cart es una potente y compleja plataforma comercial de carrito de compras de comercio electrónico de código abierto, con la mayoría de las partes escritas en lenguaje de programación PHP y, a menudo, implementada como una solución de software como servicio (SaaS). La plataforma de compras X-cart también se puede instalar en Linux bajo los servidores web Apache/Nginx, PHP y el sistema de administración de bases de datos MySQL/MariaDB, también conocido como LAMP o LEMP stack. La plataforma de comercio electrónico en línea X-Cart CMS es muy utilizada para crear tiendas en línea para diferentes negocios y publicitar y vender servicios y mercancías.

Requisitos

  • Instalación del servidor Debian 9 en una máquina completa o en un servidor privado virtual
  • privilegios de sudo root para una cuenta local o remota o acceso directo a la cuenta raíz
  • Una dirección IP estática configurada para una de tarjetas de interfaz de red de su sistema
  • Un nombre de dominio, privado o público, según su implementación, con los registros DNS adecuados configurados para servicios web. Si no tiene un nombre de dominio válido o registrado, puede realizar la instalación y acceder al sitio web a través de la dirección IP de su servidor
  • Si desea utilizar el registro en el sitio web, la moderación de comentarios y otras funciones, debe tener un servidor de correo en ejecución correctamente configurado en sus instalaciones con acceso remoto a sus servicios IMAP y SMTP.

Requisitos previos

Antes de comenzar a instalar y configurar X-Cart desde fuentes en su propio servidor, primero asegúrese de que el sistema cumpla con todos los requisitos de software para compilar e instalar la aplicación. En el primer paso, actualice los repositorios de su sistema y los paquetes de software emitiendo el siguiente comando.

apt update
apt update

Una vez que el sistema se haya actualizado por completo, configure el nombre de su sistema ejecutando el siguiente comando. Reemplace su variable de nombre de host en consecuencia.

hostnamectl set-hostname xcart

Verifique el nombre de host de la máquina y el archivo de hosts ejecutando los siguientes comandos.

hostnamectl 
cat /etc/hostname 
hostname –s
hostname –f

Finalmente, reinicie el servidor Debian para aplicar las actualizaciones del núcleo y el nombre de host cambie correctamente.

systemctl reboot

En el siguiente paso, ejecute el siguiente comando para instalar algunas utilidades necesarias que se utilizarán para administrar aún más su sistema desde la línea de comandos.

apt install wget bash-completion zip unzip

X-Cart es una plataforma de comercio electrónico CMS basada en la web escrita principalmente en el lenguaje de programación del lado del servidor PHP. Para ejecutar los scripts de archivos PHP de la aplicación, se debe instalar y poner en funcionamiento en el sistema un servidor web, como un servidor HTTP Apache, y una puerta de enlace de procesamiento PHP. Para instalar el servidor web Apache y el intérprete PHP junto con todos los módulos PHP necesarios para que la aplicación funcione correctamente, emita el siguiente comando en la consola de su servidor.

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-mbstring php7.0-curl php7.0-gd php7.0-xml php7.0-opcache

Después de que se hayan instalado Apache y PHP, pruebe si el servidor web está funcionando y escuchando las conexiones de red en el puerto 80 emitiendo el siguiente comando con privilegios de root.

netstat –tlpn

En caso de que la utilidad de red netstat no esté instalada de forma predeterminada en su sistema Debian, ejecute el siguiente comando para instalarla.

apt install net-tools

Al inspeccionar la salida del comando netstat, puede ver que el servidor web Apache está escuchando las conexiones de red entrantes en el puerto 80. Para la misma tarea, también puede usar el comando ss, que se instala automáticamente de forma predeterminada en Debian 9.

ss- tulpn

En caso de que tenga un firewall habilitado en su sistema, como la aplicación de firewall UFW, debe agregar una nueva regla para permitir que el tráfico HTTP pase a través del firewall emitiendo el siguiente comando.

ufw allow WWW

o

ufw allow 80/tcp

Si está utilizando reglas sin procesar de iptables para administrar las reglas del cortafuegos en su servidor Debian, agregue la siguiente regla para permitir el tráfico entrante del puerto 80 en el cortafuegos para que los visitantes puedan navegar por la tienda en línea.

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

A continuación, habilite y aplique los siguientes módulos de Apache requeridos por la aplicación de comercio electrónico para ejecutarse correctamente, emitiendo el siguiente comando.

a2enmod rewrite
systemctl restart apache2

Finalmente, pruebe si la página web predeterminada del servidor web Apache se puede mostrar en los navegadores de su cliente visitando la dirección IP de su máquina Debian o su nombre de dominio o servidor FQDN a través del protocolo HTTP, como se muestra en la imagen a continuación. Si no conoce la dirección IP de su máquina, ejecute los comandos ifconfig o ip a para revelar la dirección IP de su servidor.

http://tu_dominio.tld 

Para instalar y acceder al backend del panel de administración web de X-Cart y al sitio web frontend a través del protocolo HTTPS que asegurará el tráfico para sus clientes, emita el siguiente comando para habilitar el módulo SSL del servidor web Apache y el archivo de configuración del sitio SSL.

a2enmod ssl
a2ensite default-ssl.conf

A continuación, abra el archivo de configuración del sitio SSL predeterminado de Apache con un editor de texto y habilite las reglas de reescritura de URL agregando las siguientes líneas de código después de la directiva DocumentRoot, como se muestra en el siguiente ejemplo:

nano /etc/apache2/sites-enabled/default-ssl.conf

Extracto del archivo de configuración del sitio SSL:

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Además, realice el siguiente cambio en la línea VirtualHost para que se vea como se muestra en el siguiente extracto:

<VirtualHost *:443>

Cierre el archivo Apache SSL y abra el archivo /etc/apache2/sites-enabled/000-default.conf para editarlo y agregue las mismas reglas de reescritura de URL que para el archivo de configuración SSL. Inserte las líneas de código después de la instrucción DocumentRoot como se muestra en el siguiente ejemplo.

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Finalmente, reinicie el demonio Apache para aplicar todas las reglas configuradas hasta el momento y visite su dominio a través del protocolo HTTP. Debido a que está utilizando los pares de certificados autofirmados automáticamente emitidos por Apache en la instalación, debería mostrarse una advertencia de error en el navegador.

systemctl restart apache2

https://tudominio.tld  

Acepte la advertencia para continuar y ser redirigido a la página web predeterminada de Apache, como se ilustra en la imagen a continuación.

En caso de que la aplicación de firewall UFW bloquee las conexiones de red entrantes al puerto HTTPS, debe agregar una nueva regla para permitir que el tráfico HTTPS pase a través del firewall emitiendo el siguiente comando.

ufw allow 'WWW Full'

o

ufw allow 443/tcp

Si iptables es la aplicación de firewall predeterminada instalada para proteger su sistema Debian a nivel de red, agregue la siguiente regla para permitir el tráfico entrante del puerto 443 en el firewall para que los visitantes puedan navegar por su nombre de dominio.

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

En el siguiente paso, debemos realizar algunos cambios adicionales en el archivo de configuración predeterminado de PHP para garantizar que las siguientes variables de PHP estén habilitadas y que la configuración de la zona horaria de PHP esté configurada correctamente y coincida con la ubicación geográfica de su sistema. Abra el archivo /etc/php/7.0/apache2/php.ini para editarlo y asegúrese de que las siguientes líneas estén configuradas de la siguiente manera. Además, inicialmente, haga una copia de seguridad del archivo de configuración de PHP.

cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini

  Busque, edite y cambie las siguientes variables en php.ini archivo de configuración:

file_uploads = On
allow_url_fopen = On
memory_limit = 128 M
upload_max_file_size = 64M
date.timezone = Europe/London

Aumente la variable memory_limit según sea adecuado para admitir archivos adjuntos de gran tamaño y reemplace la variable time.zone de acuerdo con su hora física consultando la lista de zonas horarias proporcionada por los documentos de PHP en el siguiente enlace http://php.net/manual/en/timezones .php.

Si desea aumentar la velocidad de carga de las páginas de su sitio web a través del complemento OPCache disponible para PHP7, agregue la siguiente configuración de OPCache en la parte inferior del archivo de configuración del intérprete de PHP, como se detalla a continuación:

opcache.enable=1 
opcache.enable_cli=1 
opcache.interned_strings_buffer=8 
opcache.max_accelerated_files=10000 
opcache.memory_consumption=128 
opcache.save_comments=1
opcache.revalidate_freq=1

Cierre el archivo de configuración php.ini y verifique el final del archivo de configuración de PHP para verificar si las variables se agregaron correctamente emitiendo el siguiente comando.

tail /etc/php/7.0/apache2/php.ini

Una vez que haya realizado todos los cambios explicados anteriormente, reinicie el demonio apache para aplicar los nuevos cambios emitiendo el siguiente comando.

systemctl restart apache2

Finalmente, cree un archivo de información de PHP ejecutando el siguiente comando y verifique si la zona horaria de PHP se ha configurado correctamente visitando el archivo de script de información de PHP desde un navegador en la siguiente URL, como se ilustra en la imagen a continuación. Desplácese hacia abajo hasta la configuración de la fecha para verificar la configuración de la zona horaria de php.

echo '<?php phpinfo(); ?>'| tee /var/www/html/info.php

https://dominio.tld/info.php

La aplicación web de comercio electrónico X-Cart almacena diferentes configuraciones, como usuarios, sesiones, contactos, productos, catálogos y otros, en una base de datos RDBMS. En esta guía, configuraremos X-Cart para usar la base de datos MariaDB como backend. Ejecute el siguiente comando para instalar la base de datos MariaDB y el módulo PHP necesario para acceder a la base de datos mysql.

apt install mariadb-server php7.0-mysql

Después de instalar MariaDB, verifique si el demonio se está ejecutando y escucha las conexiones en el host local, puerto 3306, ejecutando el comando netstat.

netstat –tlpn | grep mysql

Luego, inicie sesión en la consola de MySQL y asegure la cuenta raíz de MariaDB emitiendo los siguientes comandos.

mysql -h localhost
use mysql;
update user set plugin='' where user='root';
flush privileges;
exit

En el siguiente paso, asegure MariaDB ejecutando el script mysql_secure_installation proporcionado por los paquetes de instalación de los repositorios de extensión de Debian. Mientras se ejecuta el script, se le harán una serie de preguntas diseñadas para asegurar la base de datos MariaDB, tales como:cambiar la contraseña raíz de MySQL, eliminar usuarios anónimos, deshabilitar los inicios de sesión raíz remotos y eliminar la base de datos de prueba. Ejecute el script emitiendo el siguiente comando y asegúrese de escribir sí a todas las preguntas formuladas para asegurar completamente el demonio MySQL. Utilice el siguiente resultado del script, excepto como guía.

sudo mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

 

In order to log into MariaDB to secure it, we'll need the current

password for the root user.  If you've just installed MariaDB, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

 

Enter current password for root (enter for none):

OK, successfully used password, moving on...

 

Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.

 

You already have a root password set, so you can safely answer 'n'.

 

Change the root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

 ... Success!

 

 

By default, a MariaDB installation has an anonymous user, allowing anyone

to log into MariaDB without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.

 

Remove anonymous users? [Y/n] y

 ... Success!

 

Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.

 

Disallow root login remotely? [Y/n] y

 ... Success!

 

By default, MariaDB comes with a database named 'test' that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.

 

Remove test database and access to it? [Y/n] y

 - Dropping test database...

 ... Success!

 - Removing privileges on test database...

 ... Success!

 

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

 

Reload privilege tables now? [Y/n] y

 ... Success!

 

Cleaning up...

 

All done!  If you've completed all of the above steps, your MariaDB

installation should now be secure.

 

Thanks for using MariaDB!

Para probar la seguridad de MariaDB, intente iniciar sesión en la base de datos desde la consola sin contraseña de root. Se debe denegar el acceso a la base de datos si no se proporciona una contraseña para la cuenta raíz. Si se proporciona la contraseña, el proceso de inicio de sesión debe otorgarse a la consola MySQL, como se muestra en la siguiente captura de pantalla.

mysql -h localhost -u root
mysql -h localhost -u root –p

Luego, inicie sesión en la consola de la base de datos MariaDB, cree una base de datos para la aplicación X-Cart y un usuario con una contraseña que se usará para administrar la base de datos de la aplicación, emitiendo los siguientes comandos. Reemplace el nombre de la base de datos, el usuario y la contraseña según corresponda.

mysql –u root -p
create database my_xcart;
grant all privileges on my_xcart.* to 'xcart_user' identified by 'x_password';
flush privileges;   
exit

Para aplicar todos los cambios realizados hasta el momento, reinicie los demonios de MySQL y Apache y verifique si los demonios se están ejecutando emitiendo los siguientes comandos.

 systemctl restart mysql apache2
systemctl status mysql apache2

 Instalar X-Cart 

Una vez que se cumplan todos los requisitos del sistema para la instalación de su tienda en línea de comercio electrónico, visite la página de descarga de X-Cart en https://www.x-cart.com/download.html desde una máquina de escritorio y descargue el último archivo comprimido del paquete zip completando el formulario web requerido desde su sitio web.

Una vez que se complete la descarga del archivo, use un protocolo de transferencia de archivos, como scp, para copiar el archivo zip descargado desde la máquina de escritorio a su servidor Debian. Transfiera el archivo zip al directorio /tmp de su servidor. Enumere el directorio /tmp del servidor remoto a través de SSH para confirmar si la transferencia de carga del archivo zip se completó con éxito.

scp x-cart-5.3.3.4-gb.zip [email protected]_server_IP_or_domain:/tmp
ssh  [email protected]_server_IP_or_domain 'ls /tmp'

Una vez que finalice la descarga del archivo zip, extraiga el archivo comprimido zip de X-Cart en el directorio /tmp y enumere los archivos extraídos emitiendo los siguientes comandos. Además, elimine el archivo index.html predeterminado instalado por el servidor web Apache en la ruta webroot y también elimine el archivo info.php creado anteriormente.

rm /var/www/html/index.html 
rm /var/www/html/info.php
cd /tmp
unzip x-cart-5.3.3.4-gb.zip
ls

Los archivos de instalación de X-Cart se encuentran en su directorio de trabajo actual (directorio /tmp en este caso) en el directorio xcart. Ejecute el comando ls para enumerar los archivos del directorio xcart. Copie todo el contenido del directorio xcart en la ruta raíz del documento de su servidor web emitiendo el siguiente comando. Además, asegúrese de copiar el archivo oculto .htaccess a la ruta webroot.

cd /tmp
ls -al xcart/
cp -rf xcart/* /var/www/html/
cp xcart/.htaccess /var/www/html/

A continuación, ejecute los siguientes comandos para otorgar al usuario de tiempo de ejecución de Apache permisos completos de escritura en la ruta raíz web. Use el comando ls para enumerar los permisos para los archivos instalados de la aplicación ubicados en el directorio /var/www/html/.

chown -R www-data:www-data /var/www/html/
ls –al /var/www/html/

A continuación, continúe con el proceso de instalación de la tienda en línea de X-Cart abriendo un navegador y navegue por la dirección IP o el nombre de dominio de su servidor o el FQDN del servidor a través del protocolo HTTPS. En la primera pantalla de instalación, el instalador de X-Cart mostrará un mensaje que indica que X-cart no está instalado, como se muestra en la siguiente imagen. Haga clic en Haga clic aquí enlace para iniciar el proceso de instalación.

https://tudominio.tld

En la siguiente pantalla de instalación de X-Cart, el asistente le presentará el acuerdo de licencia, como se muestra en la imagen a continuación. Marque Acepto el Acuerdo de licencia y la Política de privacidad y presione el botón Siguiente para aceptar la licencia y continuar con el proceso de instalación.

A continuación, cree una cuenta de administrador para el backend de su tienda en línea, según su dirección de correo electrónico, y elija una contraseña para esta cuenta, como se muestra en la siguiente captura de pantalla. Presiona Siguiente botón para continuar con el proceso de instalación.

En la siguiente pantalla de instalación, agregue la dirección de la base de datos MySQL, el nombre y las credenciales creadas anteriormente para la base de datos X-Cart. Marque Instalar un catálogo de muestra y haga clic en Configuración avanzada de MySQL y Configuración avanzada del servidor

En la configuración avanzada de MySQL, deje el valor del puerto predeterminado en 3306 y el prefijo en xc_. Desplácese hacia abajo hasta Configuración avanzada del servidor y agregue el nombre de host de su servidor, o su nombre de dominio, en Nombre del servidor web y en Nombre del servidor web seguro. Seleccione la zona horaria predeterminada de su tienda y presione el botón Siguiente para finalizar esta etapa de instalación, como se ilustra en la imagen a continuación.

Espere unos minutos para que el instalador configure los directorios y complete el esquema de la base de datos con toda la información requerida y para que se complete todo el proceso de instalación, como se muestra en la siguiente captura de pantalla.

Una vez completada la instalación, el instalador mostrará dos enlaces que se pueden usar para acceder al panel de administración de backend de X-Cart, que se usará para administrar su tienda en línea, y al frontend de la tienda en línea de X-cart (zona de clientes) de su tienda, que se mostrará a sus clientes.

Para visitar la interfaz de su tienda en línea, haga clic en el enlace Zona de clientes y la interfaz de su aplicación de comercio electrónico se mostrará en su navegador, como se ilustra en la siguiente captura de pantalla. También puede visitar la interfaz de la tienda navegando a la dirección IP de su servidor o nombre de dominio a través del protocolo HTTPS.

https://tudominio.tld

Antes de iniciar sesión en el panel de administración del backend de su tienda, primero regrese a la consola del servidor y emita los siguientes comandos para asegurar el archivo de configuración del sistema de compras X-cart.

chmod -R 755 /var/www/html/
chmod -R 755 /var/www/html/etc/
chmod -R 644 /var/www/html/config.php
chown -R root:root /var/www/html/etc/
chown root:root /var/www/html/config.php

Para administrar su tienda en línea X-Cart, haga clic en el enlace Zona de administrador (Backoffice) para acceder al backend de administración de la tienda. Utilice las credenciales configuradas durante el proceso de instalación para iniciar sesión en el panel backend de X-Cart, como se muestra en la captura de pantalla a continuación.

También puede visitar el panel web de administración de X-Cart navegando a la dirección IP de su servidor o nombre de dominio a través del protocolo HTTPS a la URL /admin.php.

https://sudominio.tld/admin.php

Después de iniciar sesión en el panel de administración backend de X-Cart, aparecerá una notificación en su pantalla y le informará que la versión de prueba para empresas caducará en 30 días. Además, debe navegar hasta el menú Actualizar e instalar todas las actualizaciones publicadas para la edición actual de X-cart, como se ilustra en la siguiente captura de pantalla.

Finalmente, para obligar a los visitantes a navegar por el sitio web frontend de X-Cart y acceder de forma segura a la interfaz backend a través del protocolo HTTPS para encriptar el tráfico entre el servidor y los navegadores del cliente, regrese a la terminal de su servidor y edite el archivo .htaccess ubicado en su sitio web. ruta, emitiendo el siguiente comando.

nano /var/www/html/.htaccess

Luego, edite el archivo .htaccess y, en la parte inferior del archivo, modifique la configuración nativa de PHP con las siguientes configuraciones. Puede cambiar la configuración de PHP para que coincida con los recursos de su propio servidor.

.htaccess extracto del archivo:

# Modificar la configuración de PHP

php_flag register_globals off
php_flag magic_quotes_gpc Off
php_value max_execution_time 200
php_value max_input_time 200
php_value upload_max_filesize 500M
php_value post_max_size 500M

Por último, agregue las siguientes reglas para redirigir el tráfico del dominio a HTTPS y proteger los directorios de instalación y del sistema para evitar que se acceda a través de solicitudes web.

# Redirect to HTTPS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]
</IfModule>

¡Eso es todo! Ha instalado y configurado con éxito la aplicación de comercio electrónico X-Cart en Debian 9.2. Sin embargo, debido a que el servidor Apache HTTP utiliza certificados autofirmados para cifrar el tráfico entre el servidor y los navegadores de los visitantes, siempre se generará y mostrará un mensaje de advertencia en sus navegadores. Esta advertencia es mala para su negocio de tienda en línea. En este caso, debe comprar un certificado emitido por una autoridad de certificación de confianza u obtener un par de certificados gratuitos de Let's Encrypt CA.

Para otras configuraciones personalizadas con respecto a la aplicación X-Cart, visite la página de documentación en la siguiente dirección:https://kb.x-cart.com/en/index.html


Debian
  1. Cómo instalar el servidor Redis en Debian 11

  2. Cómo instalar MySQL 8.0/5.7 en Debian 11/Debian 10

  3. Cómo instalar Java 17 en Debian 11

  4. Cómo instalar ProFTPD en Debian 8

  5. Cómo instalar el servidor MySQL en Debian 9

Cómo instalar Todoman en el servidor Debian 11

Cómo instalar VirtualBox en Debian 10

Cómo instalar OpenOffice en Debian 10

Cómo instalar FastPanel en Debian 11

Cómo instalar I2P en el servidor Debian:

Cómo instalar VNC en Debian 10