En esta ocasión explicaremos cómo instalar PrestaShop en Debian 11 Bullseye paso a paso, de tal forma que puedas montar tu propio comercio electrónico sobre tu servidor o VPS Debian con esta conocida plataforma de e-commerce.
Tabla de contenidos
Antes de instalar PrestaShop en Debian 11 Bullseye
Si quieres seguir los pasos de esta guía de instalación de PrestaShop en Debian 11 Bullseye deberías partir del siguiente escenario:
- Una máquina Debian 11 Bullseye actualizada.
- La pila LAMP (servicio web con PHP y bases de datos MariaDB/MySQL).
- Acceso seguro mediante SSL al servicio web.
- Un usuario con permisos de sudo.
- Conexión a Internet.
En caso de no disponer del entorno necesario seguramente te resultará de utilidad consultar previamente nuestras guías de instalación de la pila LAMP en Debian 11 Bullseye y la de instalación y configuración de Apache en Debian 11 Bullseye.
También necesitaremos alguna herramienta procedente de los repositorios de Debian 11, así que los actualizamos:
~$ sudo apt update
E instalamos el paquete necesario:
~$ sudo apt install -y unzip
Cómo descargar PrestaShop en Debian 11 Bullseye
Vamos a descargar PrestaShop para Debian 11 Bullseye directamente desde la sección de descargas del sitio oficial, ya que los repositorios de la distribución no ofrecen paquetes para esta aplicación:
Podemos realizar la descarga directamente desde el navegador, aceptando expresamente los términos, condiciones y políticas. Si trabajamos de forma remota podemos realizar la descarga desde consola, con alguna herramienta como wget:
~$ wget https://download.prestashop.com/download/releases/prestashop_1.7.8.0.zip
Cómo instalar PrestaShop en Debian 11 Bullseye
Para poder instalar PrestaShop en Debian 11 Bullseye hay que realizar una serie de preparativos en el sistema de modo que el instalador web pueda realizar su función sin encontrar problemas. Vamos a ver estos preparativos con detalle a continuación.
Archivos de PrestaShop
Descomprimimos el paquete que acabamos de descargar en una ubicación adecuada:
~$ sudo unzip prestashop_1.7.8.0.zip -d /var/www/prestashop
Como PrestaShop necesita escribir en su propio directorio de instalación, concedemos la propiedad del mismo al usuario con el que corre el servicio web:
~$ sudo chown -R www-data: /var/www/prestashop/
Servicio web
PrestaShop puede hacer uso de funcionalidades incluidas en el módulo Rewrite de Apache, pero este módulo no se encuentra activado por defecto en Debian 11, así que lo activamos:
~$ sudo a2enmod rewrite
También crearemos un archivo de configuración del servicio web para PrestaShop:
~$ sudo nano /etc/apache2/sites-available/prestashop.conf
Con un contenido similar al siguiente:
Alias /shop /var/www/prestashop <Directory /var/www/prestashop> AllowOverride all </Directory>
En primer lugar definimos el alias /shop para hacer navegable la aplicación (puedes usar otro alias, como /tienda o cualquier otro que se te ocurra).
Después activamos las configuraciones personalizadas en archivos .htaccess en el directorio de instalación de PrestaShop, ya que el uso de estos archivos también está desactivado por defecto.
Una vez guardado el archivo, activamos esta nueva configuración:
~$ sudo a2ensite prestashop.conf
Y reiniciamos el servicio web:
~$ sudo systemctl restart apache2
PHP
PrestaShop necesita algunas extensiones de este lenguaje que instalamos desde los repositorios del sistema.
En el caso de usar la versión de PHP incluida en Debian 11 instalamos estos paquetes:
~$ sudo apt install -y php-curl php-gd php-intl php-mbstring php-xml php-zip
Y si usamos una versión del repositorio alternativo, tendremos que indicarla en el nombre de los paquetes; por ejemplo, para la versión 8.0:
~$ sudo apt install -y php8.0-curl php8.0-gd php8.0-intl php8.0-mbstring php8.0-xml php8.0-zip
Terminada la instalación, recargamos la configuración del servicio:
~$ sudo systemctl reload apache2
Base de datos
Prestashop necesita trabajar sobre una base de datos del servicio instalado en nuestra máquina Debian 11 Bullseye. Para prepararla, conectamos al servicio con el cliente de consola mysql y un usuario administrador:
~$ mysql -u root -p
Creamos la base de datos:
> create database prestashop charset utf8mb4 collate utf8mb4_unicode_ci;
Creamos el usuario:
> create user prestashop@localhost identified by 'XXXXXXXX';
Concedemos los permisos correspondientes al usuario:
> grant all privileges on prestashop.* to prestashop@localhost;
Refrescamos la tabla de permisos:
> flush privileges;
Y cerramos la conexión:
> exit
Instalador web
Es el momento de acceder al instalador web de PrestaShop para Debian 11 Bullseye desde un navegador, introduciendo la dirección que corresponda a la forma en que hayamos integrado la aplicación en el servicio web. Para el caso de este tutorial especificaríamos la dirección IP, dominio, nombre DNS, localhost si trabajamos localmente, etc. y el alias de la aplicación.
Por ejemplo, la máquina Debian 11 sobre la que hemos preparado este tutorial es accesible en el subdominio debian11.local.lan, hemos definido el alias /shop y, como se trata de un ejemplo didáctico, trabajamos sobre HTTP, así que podemos usar http://debian11.local.lan/shop como URL de instalación.
La primera acción que realiza el instalador web es descomprimir los arhivos de la aplicación, tarea que toma unos instantes.
A continuación podremos seleccionar el idioma de instalación:
Seguidamente debemos aceptar explícitamente los términos y condiciones del acuerdo de licencia.
En el siguiente paso proporcionaremos la configuración básica del sitio:
La información que suministramos es la siguiente:
- Nombre de la tienda
- Selección de la actividad principal de la tienda
- Instalación o no de datos de demostración
- País
- SSL, que activaremos si instalamos sobre HTTPS o desactivamos si lo hacemos sobre HTTP
- Datos del usuario administrador
A continuación configuramos la conexión a la base de datos:
Introducimos la base de datos, el usuario y la contraseña tal como los creamos en pasos anteriores, y comprobamos la conexión antes de continuar.
Si la prueba de conexión se realiza con éxito continuaremos con el siguiente paso, donde comienza realmente el proceso de instalación:
Este proceso es el que más tiempo tomará.
En unos instantes se mostrará la página de finalización de la instalación:
Se nos indicará que debemos eliminar el directorio donde se aloja el instalador web, cosa que podemos hacer directamente desde línea de comandos:
~$ sudo rm -rf /var/www/prestashop/install/
También se nos mostrarán enlaces a la administración de la tienda o a la vista de la tienda tal como la ven los visitantes.
En este caso accedemos a la administración y se mostrará una página de inicio de sesión:
Podemos observar que la ruta admin/ por seguridad se renombra automáticamente a algo como adminXXXXXXXXX/, así que conviene guardar la dirección de acceso al panel de administración.
De todas formas, si olvidas la dirección puedes consultarla desde consola examinando la carpeta de instalación de PrestaShop, donde existirá un subdirectorio adminXXXXXXXXX/ que corresponde con la ruta de la URL de acceso.
La primera vez que iniciamos sesión en el panel de administración, un asistente nos mostrará cómo dar de alta el primer producto y algunos aspectos más del funcionamiento de PrestaShop:
Terminado el asistente ya puedes empezar a configurar y a introducir productos en tu nueva tienda on-line.
Conclusión
Ahora que ya sabes cómo instalar PrestaShop en Debian 11 Bullseye ya puedes empezar a vender productos desde Internet gracias a este conocido y reputado sistema de e-commerce desde tu servidor. La instalación es sencilla siempre que se sigan los pasos en el orden adecuado, por lo que es fácil montar un sistema de pruebas antes de montar el sitio real de producción.
¡Apoya comoinstalar.me!
Si ya tienes tu propia tienda gracias a este tutorial y quieres agradecérnoslo, siempre es bien recibida cualquier mínima contribución al mantenimiento de este sitio y la creación de nuevos tutoriales y artículos.
Puedes ayudarnos dejando una propina de tan sólo 1 $ desde PayPal:
O, si te sientes especialmente agradecido, puedes invitarnos a un café:
¡Gracias!