Cómo instalar Prestashop en un servidor Ubuntu 24.04

Prestashop es una solución de comercio electrónico gratuita y de código abierto escrita en PHP. Te permite crear tiendas online, autoalojarte y hacer crecer tu negocio online.

Prestashop es una solución de comercio electrónico totalmente personalizable y repleta de funciones para crear sitios web de comercio electrónico completos. Actualmente, más de 250.000 tiendas online de todo el mundo utilizan Prestashop, que está disponible en 65 idiomas.

En esta guía, aprenderás a instalar Prestashop en el servidor Ubuntu 24.04 con la pila LAMP (Linux, Apache, MySQL/MariaDB y PHP) y Composer.

Requisitos previos

Para empezar con esta guía, asegúrate de que tienes lo siguiente:

  • Un servidor Ubuntu 24.04.
  • Un usuario no root con privilegios de administrador.
  • Un nombre de dominio apuntando a una dirección IP del servidor.

Instalación de dependencias

Para instalar Prestashop, debes instalar dependencias en tu sistema. En este ejemplo, instalarás los paquetes LAMP Stack (Linux, Apache, MySQL/MariaDB y PHP), Composer y Git.

En primer lugar, ejecuta el siguiente comando para actualizar el índice de paquetes de Ubuntu.

sudo apt update

Ahora ejecuta el siguiente comando para instalar la Pila LAMP (Linux, Apache, MySQL/MariaDB y PHP), Composer y Git como dependencias para Prestashop. Introduce Y para proceder con la instalación.

sudo apt install apache2 mariadb-server composer git php php-curl php-xmlrpc php-soap php-intl php-zip php-cli php-mysql php-common php-opcache php-memcached php-bcmath php-gd php-mbstring php-xml php-gmp php-imagick

instalar deps

Una vez finalizada la instalación, comprueba el estado del servidor web Apache con lo siguiente:

sudo systemctl is-enabled apache2
sudo systemctl status apache2

A continuación puedes ver que el servidor web Apache se está ejecutando y está habilitado.

comprobar apache2

Comprueba el estado del servidor MariaDB con el siguiente comando:

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Verás una salida similar, el servidor MariaDB está funcionando y habilitado en tu sistema.

comprobar mariadb

Ahora comprueba la versión de PHP y la lista de extensiones habilitadas con lo siguiente:

php -v
php -m

En la salida de abajo, puedes ver que PHP 8.3 está instalado con algunas extensiones fileinfo, gd, y opcache también habilitadas.

comprobar php

Por último, comprueba la versión de Composer y Git con el siguiente comando: Verás que Composer 2.7. 1 está instalado.

sudo -u www-data composer --version

comprobar compositor

Configurar PHP

Ahora que has instalado las dependencias para Prestashop, configurarás PHP editando el archivo php.ini y cambiando algunas opciones predeterminadas según sea necesario para Prestashop.

Abre el archivo de configuración PHP por defecto /etc/php/8.3/apache2/php.ini con el siguiente comando nano editor.

sudo nano /etc/php/8.3/apache2/php.ini

Cambia la configuración por defecto con lo siguiente. Ajusta la opción para date.timezone y memory_limit con tu entorno de servidor.

date.timezone = Europe/Amsterdam
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 y sal del archivo cuando hayas terminado.

Ahora ejecuta el siguiente comando para reiniciar el servidor web Apache y aplicar tu nueva configuración PHP.

sudo systemctl restart apache2

Configurar el servidor MariaDB

En esta sección, asegurarás el servidor MariaDB y crearás una nueva base de datos y un nuevo usuario para Prestashop. Asegurarás MariaDB con el comando mariadb-secure-installation, y luego crearás una nueva base de datos y un nuevo usuario a través del cliente mariadb.

Para asegurar tu servidor MariaDB, ejecuta el siguiente comando mariadb-secure-installation:

sudo mariadb-secure-installation

Una vez ejecutado el comando, se te preguntará por las siguientes configuraciones:

  • ¿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 escribiendo y para sí.
  • Cambia la contraseña de root. Introduce y para confirmar y establecer tu nueva contraseña de root de MariaDB.
  • ¿Eliminar usuarios anónimos? 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 acceder 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 tabla en tu servidor MariaDB y aplicar los nuevos cambios.

Ahora que ya has asegurado y configurado el servidor MariaDB, crearás una nueva base de datos y un nuevo usuario para Prestashop con el cliente mariadb.

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

sudo mariadb -u root -p

Ahora ejecuta las siguientes consultas para crear una nueva base de datos prestashopdb, y un nuevo usuario prestashop, con la contraseña p4ssword. Asegúrate de cambiar la información detallada por la tuya.

CREATE DATABASE prestashopdb;
CREATE USER prestashop@localhost IDENTIFIED BY 'p4ssword';
GRANT ALL PRIVILEGES on prestashopdb.* TO prestashop@localhost;
FLUSH PRIVILEGES;

base de datos ceate

A continuación, ejecuta la consulta t siguiente para asegurarte de que el usuario prestashop puede acceder a la base de datos prestashopdb.

SHOW GRANTS FOR prestashop@localhost;

En la salida que aparece a continuación, puedes ver que el usuario prestashop puede acceder a la base de datos prestashopdb.

comprobar usuario

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

Comprobación del entorno del servidor

Después de haber configurado tanto PHP como MariaDB, te asegurarás de que tu servidor está preparado para la instalación de Prestashop. Utilizarás el comprobador de Prestashop para asegurarte de que tu servidor está preparado.

Ve al directorio /var/www/html y descarga el comprobador de Prestashop con el comando wget que aparece a continuación.

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

Ejecuta el siguiente comando para extraer el código fuente del comprobador de Prestashop y renombra el directorio extraído a ps-check.

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

Ahora visita http://server-ip/ps-check/phppsinfo.php con tu navegador web. Accede con el usuario y contraseña por defecto prestashop y asegúrate de que tu servidor está preparado para la instalación de Prestashop.

comprobador ps

Descargar Prestashop

Ahora que tu servidor está listo, puedes instalar PrestaShop con Composer o descargarlo manualmente mediante wget. En este ejemplo, descargarás Prestashop manualmente.

Crea un nuevo directorio /var/www/prestashop con lo siguiente:

mkdir -p /var/www/prestashop

Ve al directorio /var/www/prestashop y descarga el código fuente de Prestashop con el siguiente comando wget. Asegúrate de consultar la página GitHub de Prestasho para obtener la última versión.

cd /var/www/prestashop wget https://github.com/PrestaShop/PrestaShop/releases/download/8.1.6/prestashop_8.1.6.zip

Extrae el código fuente de Prestashop con el comando unzip que aparece a continuación.

unzip prestashop_8.1.6.zip

Ahora ejecuta el siguiente comando para cambiar el permiso y la propiedad del directorio de instalación de Prestashop /var/www/prestashop.

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

Configurar el host virtual Apache

En esta sección, crearás un nuevo archivo de host virtual para Prestashop. Así que asegúrate de que tienes tu nombre de dominio apuntando a la dirección IP del servidor Prestashop.

Ejecuta el siguiente comando para habilitar los módulos de Apache rewrite, headers, y ssl.

sudo a2enmod rewrite headers ssl

Crea una nueva configuración de host virtual /etc/apache2/sites-available/prestashop.conf con el editor nano.

sudo nano /etc/apache2/sites-available/prestashop.conf

Añade la siguiente configuración. Asegúrate de cambiar la opción ServerName por tu nombre de dominio.

<VirtualHost *:80>
    ServerName hwdomain.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/prestashop

    <Directory /var/www/prestashop>
        # enable the .htaccess rewrites
        AllowOverride All
        Options +Indexes
        Require all granted

        # Disable back office token
        # SetEnv _TOKEN_ disabled
    </Directory>

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

Guarda el archivo y sal de él cuando hayas terminado.

A continuación, ejecuta el siguiente comando para habilitar el archivo prestashop.conf y verificar la sintaxis de Apache. Si tienes la sintaxis correcta, obtendrás una salida Syntax is OK.

sudo a2ensite prestashop.conf
sudo apachectl configtest

Por último, ejecuta el siguiente comando para reiniciar el servidor web Apache y aplicar tus cambios.

sudo systemctl restart apache2

configurar apache2

Proteger Prestashop con HTTPS

En esta guía, asegurarás Prestashop con HTTPS a través de Certbot y Letsencrypt. Necesitas instalar Certbot para generar certificados SSL/TLS desde Letsencrypt. También necesitas una dirección de correo electrónico para ello.

Instala el paquete certbot y python3-certbot-apache con el siguiente comando. Introduce Y para confirmar la instalación.

sudo apt install certbot python3-certbot-apache

Ahora ejecuta el comando certbot que aparece a continuación para generar certificados SSL y asegurar prestashop con HTTPS. Asegúrate de cambiar la dirección de correo electrónico y el nombre de dominio.

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

Una vez finalizado el proceso, tu tienda Prestashop estará protegida con HTTPS, y tus certificados SSL estarán disponibles en el directorio /etc/letsencrypt/live/domain. conf.

Instalar Prestashop

Visita tu nombre de dominio Prestashop, como http://hwdomain.io, utilizando un navegador web. Verás los asistentes de instalación de Prestashop.

Selecciona tu idioma, por ejemplo Inglés, y haz clic en Siguiente.

seleccionar idioma

Haz clic en Aceptar para aceptar el acuerdo de licencia de Prestashop.

acuerdo de licencia

Introduce la información de tu tienda y el nuevo usuario y contraseña de administrador para tu instalación de Prestashop. A continuación, vuelve a hacer clic en Siguiente.

info tienda y admin

Puedes instalar datos de demostración y módulos adicionales en tu Prestashop. A continuación, vuelve a hacer clic en Siguiente.

instalar demo

Introduce los datos de tu base de datos MariaDB y haz clic en Siguiente para continuar con la instalación.

detalles de la base de datos

Una vez finalizada la instalación, verás lo siguiente. Haz clic en Descubre tu tienda para ver la página de inicio de Prestashop o en Gestiona tu tienda para acceder a la página de administración de Prestashop.

instalación completa

Antes de acceder a la página de administración de Prestashop, vuelve al terminal y ejecuta el siguiente comando para eliminar el directorio /install.

sudo rm -rf /var/www/prestashop/install

Conclusión

¡Enhorabuena! Has instalado Prestashop en el servidor Ubuntu 24.04. Tienes Prestashop funcionando con la pila LAMP y asegurado con HTTPS a través de Certbot y letsencrypt.

También te podría gustar...