Cómo instalar PrestaShop en AlmaLinux 9

PrestaShop es una plataforma de comercio electrónico de código abierto que funciona eficazmente en AlmaLinux, proporcionando una solución robusta para crear y gestionar tiendas online. Conocido por su flexibilidad y amplia gama de funciones, PrestaShop permite a los usuarios crear fácilmente tiendas online personalizables. La plataforma es compatible con numerosas pasarelas de pago, métodos de envío y herramientas de marketing, lo que mejora la experiencia de compra tanto para los comerciantes como para los clientes. En AlmaLinux, una distribución Linux estable y segura para empresas, PrestaShop se beneficia de un entorno fiable y de alto rendimiento. Esta combinación lo hace ideal para empresas de todos los tamaños que deseen establecer una presencia en línea profesional y escalable.

Esta guía te mostrará cómo instalar PrestaShop en un servidor AlmaLinux 9 con la pila LAMP (Apache/Htppd, MySQL/MariaDB y PHP). También aprenderás a proteger PrestaShop con certificados SSL/TLS de Letsencrypt.

Requisitos previos

Antes de continuar, asegúrate de que tienes lo siguiente:

  • Un servidor AlmaLinux 9.
  • Un usuario no root con privilegios de root.
  • Un nombre de dominio apuntando a una dirección IP del servidor.
  • SELinux con estado permisivo.

Instalación de la pila LAMP

En primer lugar, debes instalar las dependencias de los paquetes para ejecutar PrestaShop. En esta guía, ejecutarás PrestaShop con la Pila LAMP (Apache2/Httpd, MySQL/MariaDB y PHP). Por ahora, PrestaShop requiere al menos Apache 2.4, PHP 8.1 y MySQL 5.6.

En este paso, instalarás LAMP Stack con las extensiones PHP adicionales que requiere PrestaShop.

Antes de eso, ejecuta el comando de abajo para habilitar EPEL y el repositorio Remi para AlmaLinux.

sudo dnf install epel-release dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm

Ahora ejecuta el siguiente comando para habilitar PHP 8.1 a través del repositorio Remi.

sudo dnf module reset php
sudo dnf module enable php:remi-8.2

activar remi

Instala el paquete LAMP Stack en tu servidor AlmaLinux 9 con el siguiente comando.

sudo dnf install httpd mariadb-server php php-curl php-soap php-intl php-zip php-cli php-mysqlnd php-common php-opcache php-memcached php-bcmath php-gd php-mbstring php-xml php-gmp php-imagick

Escribe y para proceder con la instalación.

instalar lámpara

Escribe también y para aceptar la clave GPG del repositorio Remi.

aceptar clave gpg

Una vez finalizada la instalación, inicia y habilita los servicios Apache y MariaDB en tu sistema.

Ejecuta el siguiente comando para iniciar y habilitar el servicio httpd.

sudo systemctl enable httpd
sudo systemctl start httpd

A continuación, verifica el servicio httpd para asegurarte de que se está ejecutando.

sudo systemctl status httpd

verificar httpd

Como se muestra en la siguiente imagen, el servicio httpd se está ejecutando.

A continuación, inicia y habilita el servicio MariaDB con el siguiente comando.

sudo systemctl enable mariadb
sudo systemctl start mariadb

Una vez que MariaDB se esté ejecutando, verifica el servicio mariadb con el siguiente comando.

sudo systemctl status mariadb

Puedes ver el servicio MariaDB ejecutándose en tu servidor AlmaLinux.

verificar mariadb

Por último, ejecuta el siguiente comando para verificar la versión de PHP y la lista de extensiones habilitadas. Asegúrate de que tienes instalado PHP 8.1 para la instalación de PrestaShop.

php -v
php -m

verificar php

Configurar Firewalld

Después de instalar LAMP Stack, debes abrir los servicios HTTP y HTTPS a través de firewalld. Esto permite a los clientes acceder a tu instalación de PrestaShop.

Abre los servicios HTTP y HTTPS en firewalld utilizando el siguiente comando.

sudo firewall-cmd --add-service={http,https} --permanent

Ahora recarga firewalld para que surtan efecto tus cambios.

sudo firewall-cmd --reload

Por último, comprueba la lista de servicios y puertos habilitados en firewalld. Asegúrate de que los servicios HTTP y HTTPS están añadidos a firewalld.

sudo firewall-cmd --list-all

configurar firewalld

Configurar PHP

En esta sección, configurarás tu instalación de PHP editando el archivo php.ini predeterminado. PrestaShop requiere al menos 256 MB de memory_limit, y también requiere que allow_url_fopen esté activado. Así que debes modificar tu archivo de configuración php.ini.

Abre el archivo de configuración PHP /etc/php.ini utilizando el siguiente editor nano.

sudo nano /etc/php.ini

Cambia la configuración PHP por defecto por la siguiente. Asegúrate de ajustar la zona horaria y memory_limit con tu entorno actual.

date.timezone = Europe/Paris
max_execution_time = 130
memory_limit = 256M
allow_url_fopen = On
allow_url_include = Off
post_max_size = 128M
upload_max_filesize = 128M
max_input_vars = 5000

Guarda el archivo y sal del editor cuando hayas terminado.

Ahora ejecuta el siguiente comando systemctl para reiniciar el servicio httpd y aplicar tu configuración PHP.

sudo systemctl restart httpd

Configurar el servidor MariaDB

Ahora con PHP configurado, pasa a la configuración del servidor MariaDB. Asegurarás la instalación de tu servidor MariaDB y, a continuación, crearás una nueva base de datos y un nuevo usuario para PrestaShop.

Para asegurar tu instalación del servidor MariaDB, ejecuta el siguiente comando.

sudo mariadb-secure-installation

Cuando se inicie el proceso, se te preguntará por alguna configuración de MariaDB – Introduce Y para aplicar la configuración sugerida, o escribe N para rechazarla:

  • ¿Cambiar a autenticación unix_socket? Introduce n y pulsa ENTER. El usuario raíz por defecto de MariaDB ya está protegido. opcionalmente, también puedes habilitarlo tecleando y para sí.
  • ¿Cambiar la contraseña de root? Introduce y para confirmar y establecer tu nueva contraseña de root de MariaDB.
  • ¿Eliminar usuario anónimo? Introduce y para confirmar.
  • ¿Deshabilitar el inicio de sesión de root de forma remota? Introduce y para confirmar. Sólo se permitirá la conexión local si utilizas el usuario raíz de MariaDB.
  • ¿Eliminar la base de datos de prueba y el acceso a ella?. Introduce y para confirmar y eliminar la base de datos por defecto «test».
  • Por último, introduce y de nuevo para recargar todos los privilegios de las tablas en tu servidor MariaDB y aplicar los nuevos cambios.

Después de configurar el servidor MariaDB, crearás una nueva base de datos y un nuevo usuario para PrestaShop.

Accede al servidor MariaDB con el siguiente comando. Introduce tu contraseña de root de MariaDB cuando se te solicite.

sudo mariadb -u root -p

Una vez conectado, ejecuta las siguientes consultas para crear una nueva base de datos prestashopdb con el usuario prestashop y la contraseña psp4ssw0rd.

CREATE DATABASE prestashopdb;
GRANT ALL PRIVILEGES ON prestashopdb.* TO 'prestashop'@'localhost' IDENTIFIED BY 'psp4ssw0rd';
FLUSH PRIVILEGES;

crear base de datos y usuario

Ahora ejecuta la siguiente consulta para verificar los privilegios del usuario prestashop. Asegúrate de que el usuario prestashop tiene privilegios para acceder a la base de datos prestashopdb.

SHOW GRANTS FOR prestashop@localhost;

Por último, escribe quit para salir del servidor MariaDB.

verificar usuario

Comprobación del entorno para la instalación de PrestaShop

Ahora que ya has configurado LAMP Stack, el siguiente paso es verificar tu entorno PrestaShop.

Dirígete al directorio /var/www/html y descarga el comprobador de PrestaShop utilizando el comando wget que aparece a continuación. Asegúrate de descargar la última versión del comprobador de PrestaShop.

cd /var/www/html/
wget https://github.com/PrestaShop/php-ps-info/archive/refs/tags/v1.1.tar.gz

Una vez descargado, extrae el código fuente del comprobador PrestaShop y cambia el nombre del directorio extraído a check-ps.

tar -xzvf v1.1.tar.gz
mv php-ps-info-1.1 check-ps

Por último, abre tu navegador web y visita la dirección IP de tu servidor seguida de la ruta del comprobador PrestaShop, como http://192.168.5.50/check-ps/phppsinfo.php.

Introduce el usuario y la contraseña por defecto‘prestashop‘.

comprobador prestashop

Desde la página del comprobador de PrestaShop, asegúrate de que todas las dependencias y la configuración del sistema cumplen los requisitos de PrestaShop.

comprobador prestashop

Descargar PrestaShop

En esta sección, descargarás el código fuente de PrestaShop a tu servidor AlmaLinux. También configurarás los permisos y la propiedad adecuados para el código fuente de PrestaShop.

Desplázate al directorio /var/www y descarga la última versión de PrestaShop utilizando el comando wget que aparece a continuación. Asegúrate de consultar la página GitHub de PrestaShop para obtener la última versión estable de PrestaShop.

cd /var/www/
wget https://github.com/PrestaShop/PrestaShop/releases/download/8.1.3/prestashop_8.1.3.zip

Una vez descargado, extrae el código fuente de PrestaShop al directorio /var/www/prestashop utilizando el comando unzip que aparece a continuación. Esto se utilizará como directorio raíz del documento para PrestaShop.

unzip prestashop_8.1.3.zip -d /var/www/prestashop

Ahora cambia la propiedad y el permiso del directorio /var/www/prestashop al usuario apache.

sudo chown -R apache:apache /var/www/prestashop
sudo chmod u+rw /var/www/prestashop

Configurar el host virtual httpd

Después de descargar PrestaShop, necesitas crear una nueva configuración de host virtual httpd que se utilizará para ejecutar PrestaShop. Así que asegúrate de que tienes tu nombre de dominio listo antes de configurar el host virtual.

Crea una nueva configuración de host virtual httpd /etc/httpd/conf.d/prestashop.conf utilizando el siguiente comando del editor nano.

sudo nano /etc/httpd/conf.d/prestashop.conf

Añade la siguiente configuración al archivo y asegúrate de cambiar el nombre de dominio por tu dominio.

<VirtualHost *:80>
ServerName hwdomain.io
ServerAdmin [email protected]
DocumentRoot /var/www/prestashop
<Directory /var/www/prestashop>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>

ErrorLog /var/log/httpd/prestashop_error.log
CustomLog /var/log/httpd/prestashop_access.log combined
</VirtualHost>

Guarda y sal del archivo cuando hayas terminado.

Ahora ejecuta el siguiente comando para verificar tu configuración httpd. Si la sintaxis de httpd es correcta, obtendrás una salida Sintaxis OK.

sudo apachectl configtest

configuración vhost

Por último, ejecuta el siguiente comando para reiniciar el servicio httpd e implementar tu nueva configuración de host virtual. Tu instalación de PrestaShop debería ser ahora accesible.

sudo systemctl restart httpd

Configurar Certbot

Antes de iniciar la instalación de PrestaShop, asegúrate de generar certificados SSL/TLS, especialmente para producción. Esto se hace fácilmente a través de Certbot.

Instala certbot y el plugin Certbot Apache en tu servidor AlmaLinux con el siguiente comando.

sudo dnf install -y certbot python3-certbot-apache -y

Una vez completada la instalación, genera certificados SSL/TLS para tu nombre de dominio PrestaShop con el siguiente comando. Asegúrate de cambiar los detalles nombre de dominio y dirección de correo electrónico en el siguiente comando.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d hwdomain.io

Con esto, tus certificados SSL/TLS se generarán en el directorio /etc/letsencrypt/live/domain.com. Además, tu instalación de PrestaShop se configurará automáticamente con HTTPS a través del plugin de Apache Certbot.

Instalación de PrestaShop

Abre tu navegador web y visita tu nombre de dominio PrestaShop, que es https://hwdomain.io/. Si la instalación se realiza correctamente, aparecerá la página de instalación de PrestaShop.

En primer lugar, selecciona el idioma predeterminado en inglés y, a continuación, haz clic en Siguiente.

idioma por defecto

Ahora selecciona Aceptar para aceptar el acuerdo de licencia de PrestaShop y haz clic en Siguiente.

acuerdo de licencia

Introduce el nombre de tu tienda, el usuario administrador, la contraseña y la dirección de correo electrónico que utilizarás como administrador para la instalación de PrestaShop. A continuación, haz clic en Siguiente para continuar.

configuración administrativa

Para la configuración de la tienda, puedes instalar datos de demostración y hacer clic en Siguiente.

fecha demo

A continuación, introduce los detalles del nombre, usuario y contraseña de tu base de datos MariaDB. A continuación, vuelve a hacer clic en Siguiente.

configuración de la base de datos

Una vez finalizada la instalación, obtendrás una configuración como ésta – También puedes ver una instrucción adicional para eliminar el directorio de instalación de PrestaShop:

instalación completa

Página de inicio de PrestaShop.

tienda demo

Vuelve a tu terminal y ejecuta el siguiente comando para eliminar el directorio de instalación de PrestaShop.

rm -rf /var/www/prestashop/install

Por último, ejecuta el siguiente comando para permitir la lectura y escritura de los directorios de PrestaShop.

chmod u+rw /var/www/prestashop/var/cache
chmod u+rw /var/www/prestashop/var/logs
chmod u+rw /var/www/prestashop/img
chmod u+rw /var/www/prestashop/mails
chmod u+rw /var/www/prestashop/modules
chmod u+rw /var/www/prestashop/translations
chmod u+rw /var/www/prestashop/upload
chmod u+rw /var/www/prestashop/download
chmod u+rw /var/www/prestashop/app/config
chmod u+rw /var/www/prestashop/app/Resources/translations

Conclusión

¡Enhorabuena! Has completado la instalación de PrestaShop en el servidor AlmaLinux 9. Has instalado PrestaShop con la pila LAMP (Apache/Httpd, MySQL/MariaDB y PHP) y asegurado PrestaShop con certificados SSL/TLS de Letsencrypt. Ahora, puedes subir tus temas y añadir tus productos para vender.

También te podría gustar...