Cómo instalar Prestashop en Ubuntu 22.04

Prestashop es una solución de comercio electrónico gratuita y de código abierto escrita en PHP. Te permite autoalojarte y crear tiendas online y hacer crecer tu negocio en Internet. Prestashop es una solución de comercio electrónico totalmente personalizable y rica en funciones para crear sitios web de comercio electrónico completos. Mientras tanto, Prestashop es utilizado por más de 250.000 tiendas online en todo el mundo y está disponible en 65 idiomas.

En este tutorial, vamos a explicar cómo instalar una solución de comercio electrónico de código abierto – Prestashop utilizando la pila LAMP (Linux, Apache, MySQL/MariaDB y PHP) en el servidor Ubuntu 22.04. Este tutorial también incluye las configuraciones básicas de la Pila LAMP para aplicaciones web PHP.

Requisitos previos

Esto es lo que necesitas para completar este tutorial

  • Un servidor Ubuntu 22.04 – Este tutorial utiliza un servidor ubuntu con el nombre de host ‘server-ubuntu’ y la dirección IP es ‘192.168.5.100’.
  • Un usuario no root con privilegios administrativos de root.
  • Un nombre de dominio apuntando a la dirección IP del Servidor Ubuntu.

Instalación del Servidor Web Apache

En el siguiente paso, instalarás el servidor web Apache en tu sistema Ubuntu. El comercio electrónico Prestashop requiere al menos el servidor web Apache v2.2. Para esta instalación, instalarás Apache v2.4, que está disponible por defecto en los repositorios de Ubuntu.

Siempre recomendamos actualizar y refrescar los repositorios antes de instalar cualquier paquete. Por tanto, ejecuta el comando apt para actualizar los repositorios de Ubuntu.

sudo apt update

Instala el servidor web Apache utilizando el siguiente comando apt. Cuando se te pida que confirmes la instalación, introduce Y para aceptar y pulsa INTRO.

sudo apt install apache2

instala apache2

Una vez instalado el servidor web Apache, tienes que comprobar y verificar el servicio‘apache2‘ y asegurarte de que se está ejecutando. Puedes utilizar el siguiente comando systemctl para comprobar y verificar el servicio «apache2«.

Recibirás un mensaje indicando que el servicio «apache2» está activado, lo que significa que se ejecutará automáticamente al iniciar el sistema. Y el estado actual del servicio «apache2» es en ejecución.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

comprobar apache

Por último, también tienes que añadir los puertos HTTP y HTTPS al cortafuegos UFW. Utiliza el siguiente comando ufw para añadir la regla personalizada«Apache Full» al cortafuegos UFW. A continuación, comprueba la lista de reglas UFW habilitadas.

Recibirás un mensaje indicando que la regla «Apache Full» se ha añadido al cortafuegos UFW.

sudo ufw allow "Apache Full"
sudo ufw status

configurar cortafuegos

Instalar el Servidor de Base de Datos MariaDB

Como Prestashop sólo admite la base de datos MySQL/MariaDB, ahora instalarás este servidor de base de datos en tu máquina Ubuntu. En este ejemplo, instalarás y utilizarás MariaDB como base de datos para tu instalación de Prestashop.

Utiliza el siguiente comando apt para instalar el servidor de base de datos MariaDB. Introduce Y cuando se te pida que confirmes la instalación y pulsa INTRO.

sudo apt install mariadb-server

instalar mariadb

Una vez instalado el servidor MariaDB, comprueba y verifica el servicio‘mariadb‘ utilizando el siguiente comando systemctl. Deberías recibir un mensaje indicando que el servicio «mariadb» está habilitado, lo que significa que se ejecutará automáticamente al arrancar el sistema. Y el estado del servicio «mariadb» es«en ejecución«.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

comprobar mariadb

Por último, también tendrás que asegurar la implementación de MariaDB. Puedes hacerlo mediante la línea de comandos‘mysql_secure_installation‘ que proporcionan los paquetes del servidor MariaDB.

Ejecuta el siguiente comando«mysql_secure_installation» para empezar a configurar y proteger tu instalación del servidor MariaDB.

sudo mysql_secure_installation

Se te plantearán las siguientes preguntas sobre la implantación del servidor MariaDB:

  • ¿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í.
  • ¿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.
  • ¿Quitar 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 pararecargar todos los privilegios de las tablas en tu servidor MariaDB y aplicar los nuevos cambios.

Instalar PHP

Para instalar la última versión de Prestashop, se recomienda utilizar al menos PHP v7.1. En esta demo, utilizarás PHP 7.4 para Prestashop, y puedes instalar PHP 7.4 en el último sistema Ubuntu 22.04 a través de un repositorio de terceros.

Antes de instalar PHP, ejecuta el siguiente comando apt para instalar los paquetes básicos dpendencies para gestionar repositorios.

sudo apt install software-properties-common apt-transport-https -y

Imagen

Ahora añade el repositorio PPA de PHP 7. 4 a tu sistema Ubuntu mediante el siguiente comando ‘add-apt-repository’. Además, el siguiente comando actualizará y refrescará automáticamente tus repositorios de Ubuntu.

sudo add-apt-repository ppa:ondrej/php -y

instalar herramientas apt

A continuación, utiliza el siguiente comando apt para instalar paquetes PHP con algunas extensiones para Prestashop. Cuando se te pida que confirmes la instalación, introduce Y para aceptar y pulsa INTRO.

sudo apt install php7.4 php7.4-curl php7.4-xmlrpc php7.4-soap php7.4-intl php7.4-zip php7.4-cli php7.4-mysql php7.4-common php7.4-opcache php7.4-memcached php7.4-bcmath php7.4-gd php7.4-mbstring php7.4-xml php7.4-gmp php7.4-imagick

instalar php 7.4

Una vez instalado PHP, abre el archivo de configuración PHP‘/etc/php/7.4/apache2/php.ini ‘ con tu editor de texto. En este ejemplo, usaremos nano.

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

Cambia los detalles de configuración de PHP como se indica a continuación. Asegúrate de cambiar las opciones‘date.timezone‘ y‘memory_limit‘ con el entorno actual de tu servidor.

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 los cambios y cierra el archivo cuando hayas terminado.

A continuación, ejecuta el siguiente comando systemctl para reiniciar el servicio‘apache2‘. Además, esto aplicará cualquier cambio en el archivo de configuración de PHP‘php.ini‘.

sudo systemctl restart apache2

Ahora el servidor web Apache y PHP deberían estar funcionando. Puedes comprobarlo creando el archivo phpinfo y probándolo a través del navegador web.

Ejecuta el siguiente comando para crear un nuevo archivo phpinfo‘/var/www/html/info.php‘. Ahora deberías poder acceder a este archivo a través de la ruta URL‘/info.php’.

cat <<EOF | sudo tee /var/www/html/info.php
<?php
phpinfo();
?>
EOF

Abre el navegador web y accede al archivo phpinfo a través de la dirección IP de tu servidor seguida de la ruta del archivo ‘/info.php’(http://192.168.5.100/info.php). Deberías obtener una página con información detallada sobre tu instalación de PHP.

phpinfo

Instalación del Comprobador del Sistema Prestashop

Antes de instalar Prestashop, vamos a instalar el Comprobador de Prestashop en tu servidor actual. Este es el script PHP que comprueba el entorno de tu servidor para la instalación de Prestashop.

Ejecuta el siguiente comando para descargar el script Prestashop Checker al directorio‘/var/www/html‘.

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

Extrae el código fuente de Prestashop Checker y renombra el directorio a‘check-ps‘.

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

Vuelve al navegador web y visita la dirección IP de tu servidor seguida de la ruta URL ‘check-ps’ (es decir: http://192.168.5.100/check-ps/phppsinfo.php).

Inicia sesión con el usuario y contraseña predeterminados‘prestashop‘.

comprobador prestashop

Ahora asegúrate de que todas las configuraciones de tu Pila LAMP cumplen con los requisitos de Prestashop.

Si faltan algunos ajustes, puedes editar el archivo de configuración PHP‘/etc/php/8.1/apache2/php.ini‘. También puedes instalar extensiones PHP si falta alguna.

configuraciones y ajustes de php

Crear base de datos y usuario MariaDB

Antes de empezar a instalar Prestashop, tendrás que crear una nueva base de datos MariaDB y un nuevo usuario.

Ejecuta el siguiente comando ‘mysql’ para acceder al shell de MariaDB como usuario‘root’ de MariaDB. Cuando se te pida una contraseña, introdúcela o simplemente pulsa ENTER.

sudo mysql -u root -p

A continuación, ejecuta las siguientes consultas para crear una nueva base de datos y un nuevo usuario para Prestashop. En este ejemplo, la base de datos para Prestashop será‘prestashopdb‘ con el usuario MariaDB‘prestashop‘. Aquí puedes cambiar la contraseña por la contraseña fuerte.

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

crear base de datos

Ahora ejecuta las siguientes consultas para verificar los privilegios del usuario MariaDB‘prestashop@localhost‘. A continuación, cierra la sesión en el intérprete de comandos MariaDB. Deberías recibir información sobre que el usuario ‘prestasho@localhost‘ tiene privilegios para la base de datos‘prestashopdb‘.

SHOW GRANTS FOR prestashop@localhost;
quit

comprobar privilegios de usuario

Descargar el código fuente de Prestashop

Después de crear la base de datos y el usuario MariaDB, descarga el código fuente de Prestashop y configura el permiso y la propiedad correctos del directorio de instalación prestashp.

Ahora ejecuta el siguiente comando apt para instalar el paquete‘unzip‘. Éste se utilizará para extraer el código fuente de Prestashop.

sudo apt install unzip -y

Mueve el directorio de trabajo a‘/var/www/‘ y descarga el código fuente de Prestashop utilizando el siguiente comando wget.

cd /var/www/
wget https://download.prestashop.com/download/releases/prestashop_1.7.8.7.zip

Extrae el código fuente de Prestashop al nuevo directorio‘/var/www/prestashop‘ mediante el comando‘unzip‘ que aparece a continuación.

unzip prestashop_1.7.8.7.zip -d /var/www/prestashop

Ahora cambia la propiedad del directorio de instalación de Prestashop‘/var/www/prestashop‘ y cambia su permiso. El propietario debe ser el usuario‘www-data‘y el permiso es‘u+rw‘ (propietario/usuario puede escribir en el directorio).

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

Configurar el host virtual Apache

Todas tus dependencias y configuraciones están listas, y el código fuente de Prestashop está descargado. Ahora vas a configurar el host virtual Apache para tu instalación de Prestashop.

Antes de empezar, asegúrate de que tienes el nombre de dominio apuntando a la dirección IP de tu servidor Ubuntu y los certificados SSL generados. Además, debes habilitar algunos de los módulos de Apache2 para tu Prestashop.

Utiliza el siguiente comando para habilitar los módulos de Aapche2.

sudo a2enmod ssl rewrite headers

activar módulos apache

Crea una nueva configuración de host virtual para Prestashop‘prestashop.conf‘ utilizando el siguiente comando. Todos los archivos de host virtual de Apache2 deben estar ubicados en el directorio‘/etc/apache2/sites-available/‘.

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

Añade las siguientes configuraciones de host virtual para prestashop. Asegúrate de cambiar el nombre de dominio y la ruta de los certificados SSL.

<VirtualHost *:80>
    ServerName hwdomain.io
    Redirect permanent / https://hwdomain.io/
</VirtualHost>
<VirtualHost *:443>
ServerAdmin [email protected]
DocumentRoot /var/www/prestashop
ServerName hwdomain.io

Protocols h2 http/1.1

SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/hwdomain.io/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/hwdomain.io/privkey.pem

<Directory /var/www/prestashop>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/prestashop_error.log
CustomLog /var/log/apache2/prestashop_access.log combined
</VirtualHost>

Guarda el archivo de configuración cuando hayas terminado y ciérralo.

A continuación, ejecuta el siguiente comando para activar el archivo de host virtual‘prestashop.conf’. A continuación, verifica tu configuración.

Deberías recibir un mensaje de salida como«Sintaxis OK» cuando tus configuraciones no tengan ningún error.

sudo a2ensite prestashop.conf
sudo apachectl configtest

Ahora ejecuta el siguiente comando systemctl para reiniciar el servicio‘apache2‘ y aplicar los nuevos cambios. Y ya puedes iniciar el asistente de instalación de Prestashop a través del navegador web.

sudo systemctl restart apache2

configurar apache host virtual prestashop

Instalar Prestashop a través del Instalador Web

Vuelve a tu navegador web y navega por el nombre de dominio de tu instalación de Prestashop (es decir: https://hwdomain.io/). Deberías ver que el instalador web está iniciando la instalación de Prestashop.

iniciar instalador web

Selecciona el idioma por defecto para tu instalación de PrestaShop y haz clic en Siguiente. El idioma de instalación por defecto para PrestaShop es«Español«.

seleccionar idioma

Haz clic en aceptar cuando aparezca la página del acuerdo de licencia de Prestashop.

acuerdo de licencia

Ahora crea un nuevo usuario administrador para tu instalación de Prestashop. Introduce los datos del usuario admin, correo electrónico y contraseña. A continuación, haz clic en Siguiente para continuar con la configuración de la base de datos.

configuraciones de tienda

Para el contenido de la tienda, puedes seleccionar«No» y hacer clic en«Siguiente».

almacenar contenido

Para la configuración de la base de datos de Prestashop. Introduce los datos del usuario de la base de datos, el nombre de la base de datos y la contraseña que has creado. A continuación, haz clic en Siguiente y se iniciará la instalación de Prestashop.

configuración de la base de datos

A continuación puedes ver cómo se procesa la instalación.

instalación procesada

Cuando finalice la instalación de Prestashop, verás la página que te informa sobre tu instalación de Prestashop. Además, hay un cambio adicional que debes hacer, que es borrar el directorio‘install‘ en la raíz de tu documento Prestashop.

instalación finalizada

Vuelve a tu servidor terminal y ejecuta el siguiente comando para hacer que parte del directorio de Prestashop sea escribible y borrar el directorioinstall’ 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

rm -rf /var/www/prestashop/install

Vuelve al navegador web y haz clic en el botón ‘Gestiona tu tienda‘ para acceder al inicio de sesión de administración de Prestashop. Serás redirigido a la nueva página de inicio de sesión de Prestashop, y asegúrate de copiar la ruta de tu URL de administración de Prestashop.

Introduce el usuario y la contraseña de administrador de tu tienda Prestashop y haz clic en‘INICIAR SESIÓN’.

prestashop admin login

Obtendrás el panel de administración de Prestashop.

prestashop admin dashboard

Llegados a este punto, habrás finalizado la instalación de la solución de comercio electrónico de código abierto Prestashop en Ubuntu 22.04.

Conclusión

A lo largo de este tutorial, has aprendido a instalar la solución de comercio electrónico Prestashop en un servidor Ubuntu 22.04. También has aprendido la instalación y configuración básica de la pila LAMP (Apache, MariaDB y PHP) en el sistema Ubuntu y has aprendido a proteger el servidor MariaDB y a configurar el host virtual Apache.

Por último, ya tienes la solución de comercio electrónico Prestashop funcionando con la pila LAMP en un servidor Ubuntu y asegurada mediante certificados SSL. Ahora puedes añadir tus temas para personalizarlos y añadir plugins para ampliar tu sitio web de comercio electrónico. A continuación, puedes añadir tus productos.

También te podría gustar...