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
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.
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.
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.
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
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;
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
.
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.
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
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.
Haz clic en Aceptar para aceptar el acuerdo de licencia de Prestashop.
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.
Puedes instalar datos de demostración y módulos adicionales en tu Prestashop. A continuación, vuelve a hacer clic en Siguiente.
Introduce los datos de tu base de datos MariaDB y haz clic en Siguiente para continuar con la instalación.
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.
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.