En este artículo vamos a ver cómo instalar PrestaShop en Ubuntu 20.04 LTS Focal Fossa paso a paso, una de las alternativas más prestigiosas a la hora de crear una tienda online sobre tu servidor o VPS Ubuntu.
Contenido
Antes de instalar PrestaShop en Ubuntu 20.04 LTS
Si quieres completar los pasos de esta guía de instalación de PrestaShop en Ubuntu 20.04 LTS debes partir de los siguientes requerimientos:
- Un sistema Ubuntu 20.04 LTS Focal Fossa actualizado.
- Una pila o entorno tipo LAMP (con PHP hasta la versión 7.4).
- El paquete unzip.
- Un usuario con permisos de sudo.
- Y acceso a Internet.
¿No dispones aún del entorno necesario? Visita previamente nuestra guía de instalación de la pila LAMP en Ubuntu 20.04 LTS. Y aunque es prácticamente obligatorio trabajar sobre HTTPS, por motivos didácticos en esta guía trabajamos sobre HTTP.
Cómo descargar PrestaShop para Ubuntu 20.04
Vamos a descargar PrestaShop para Ubuntu 20.04 LTS desde la página oficial de la aplicación, donde visitaremos la sección «Crear mi tienda» para obtener el paquete:
Será necesario aceptar la política de protección de datos y las condiciones generales de uso para que se inicie la descarga, aunque en este caso en lugar de desde el navegador lo haremos desde consola con la herramienta wget:
~$ wget https://download.prestashop.com/download/releases/prestashop_1.7.7.5.zip
Cómo instalar PrestaShop en Ubuntu 20.04 LTS
Para poder instalar PrestaShop en Ubuntu 20.04 LTS hay que realizar una serie de configuraciones y preparativos del sistema antes de poder lanzar el instalador web. A continuación desarrollamos todos estos pasos.
Archivos de PrestaShop
Descomprimimos el paquete que acabamos de descargar en la ubicación que convenga a la forma en que queremos integrar PrestaShop en el servicio web:
~$ sudo unzip prestashop_1.7.7.5.zip -d /var/www/prestashop
PrestaShop necesita escribir en su directorio de instalación, así que cambiaremos el propietario de este directorio al usuario con el que corre el servicio web en Ubuntu 20.04:
~$ sudo chown -R www-data: /var/www/prestashop/
Servicio web
Tendremos que configurar el servicio web para hacer accesible PrestaShop. Puedes integrar PrestaShop en el servicio web de Ubuntu 20.04 LTS de múltiples formas, ya sea como el sitio web por defecto, un servidor virtual independiente o, como haremos en este tutorial, como parte del sitio web por defecto. Con unos mínimos conocimientos sobre el funcionamiento del servicio web puedes realizar ajustes para que PrestaShop funcione de cualquiera de las formas mencionadas.
Además, PrestaShop hace uso del módulo Rewrite de Apache a través de archivos .htaccess, características ambas desactivadas por defecto en Ubuntu 20.04 LTS.
Activaremos el módulo Rewrite de Apache:
~$ sudo a2enmod rewrite
Y creamos una configuración de PrestaShop para Apache:
~$ sudo nano /etc/apache2/sites-available/prestashop.conf
La configuración consistirá básicamente en el alias, que en este caso hemos llamado /tienda, y en permitir mediante una directiva AllowOverride el uso de archivos .htaccess:
Alias /tienda /var/www/prestashop <Directory /var/www/prestashop> AllowOverride all php_value memory_limit 512M </Directory>
Puedes usar un alias distinto, o configurar un servidor virtual independiente si dispones de dominio o subdominio para la tienda PrestaShop.
Guardamos el archivo y activamos la configuración:
~$ sudo a2ensite prestashop.conf
Y reiniciamos el servicio web para aplicar todos estos cambios:
~$ sudo systemctl restart apache2
PHP
PrestaShop requiere la presencia en Ubuntu 20.04 LTS de ciertas extensiones, que instalaremos, para lo que previamente actualizamos los repositorios:
~$ sudo apt update
E instalamos las extensiones. Si usas la versión de PHP nativa de Ubuntu 20.04 LTS:
~$ sudo apt install -y php-curl php-gd php-intl php-mbstring php-xml php-zip
Si usas una versión del repositorio alternativo (incluso si se trata de la 7.4) habrá que especificar el número de versión en el nombre de los paquetes; por ejemplo para la versión 7.3:
~$ sudo apt install -y php7.3-curl php7.3-gd php7.3-intl php7.3-mbstring php7.3-xml php7.3-zip
Otras extensiones recomendadas son las siguientes (se aplica lo dicho anteriormente sobre los nombres de los paquetes):
~$ sudo apt install -y php-apcu php-memcached php-memcache
Y recargamos la configuración del servicio web:
~$ sudo systemctl reload apache2
Base de datos
PrestaShop se apoya sobre el servicio de bases de datos de Ubuntu 20.04 LTS, que debe ser de tipo MariaDB/MySQL. Conectamos con el cliente mysql y algún usuario administrador:
~$ mysql -u root -p
En primer lugar creamos la base de datos:
> create database presta_db charset utf8mb4 collate utf8mb4_unicode_ci;
Seguidamente hacemos lo propio con el usuario, teniendo en cuenta que mientras en MariaDB o MySQL 5 seguimos el procedimiento habitual:
> create user presta_user@localhost identified by 'XXXXXXXX';
En MySQL 8 tendremos que especificar el plugin de autenticación adecuado:
> create user presta_user@localhost identified with mysql_native_password by 'XXXXXXXX';
En cualquier caso, concedemos los privilegios suficientes al usuario sobre la base:
> grant all privileges on presta_db.* to presta_user@localhost;
Ya tenemos todo lo necesario, podemos cerrar la conexión:
> exit
Instalador web
El último paso de la instalación de PrestaShop en Ubuntu 20.04 LTS es precisamente es lanzar el instalador web desde un navegador, para lo que añadiremos el alias que hemos configurado a la dirección de la máquina.
Por ejemplo, el servidor que usamos en este tutorial es accesible en el subdominio o nombre DNS ubuntu2004.local.lan, y hemos configurado el alias /tienda, por lo que accedemos con http://ubuntu2004.local.lan/tienda como URL:
Tras la creación de la estructura de archivos de PrestaShop, el instalador nos solicita el idioma de la instalación (y de la aplicación):
Una vez seleccionado el idioma continuamos con los términos y condiciones de la licencia de uso:
La siguiente página sería la de comprobación de compatibilidad del sistema, pero si has seguido todos los pasos anteriores el instalador saltará directamente al siguiente paso, para introducir información básica sobre la tienda y los datos del usuario administrador:
También podrás elegir si quieres instalar o no datos de demostración para la nueva tienda.
Continuamos con la configuración de la conexión a la base de datos:
Después de introducir los datos de conexión (tal como hemos creado en pasos anteriores) es interesante comprobar la conexión antes de continuar.
Hecho esto comenzará el proceso de inicialización de la base de datos y configuración inicial de PrestaShop:
Llevará algunos instantes este proceso de inicialización, tras el cual se mostrará la página de fin de la instalación:
Un aviso nos informa de que debemos eliminar la carpeta de instalación, cosa que podemos hacer desde consola:
~$ sudo rm -rf /var/www/prestashop/install/
Ahora podremos continuar, disponiendo de un enlace «Administra tu tienda» que nos lleva al panel de administración, y otro enlace «Visita tu tienda» que nos muestra cómo se verá.
Visitaremos el panel de administración, abriéndose una nueva ventana con la página de inicio de sesión:
Observa que el acceso al panel de administración cambia de una dirección terminada en /admin/ a una terminación tipo /adminXXXXXXXXX/, para que un usuario malicioso no pueda encontrar el acceso al panel de administración. Anota y guarda esa dirección en los marcadores de tu navegador.
La primera vez que iniciamos sesión un asistente nos mostrará algunas características de PrestaShop, ayudándonos a subir el primer producto a nuestra tienda:
Por fin está todo listo para empezar a configurar la tienda, instalar componentes, subir productos, etc. tareas que exceden del propósito de esta guía.
Conclusión
Ahora que sabes cómo instalar PrestaShop en Ubuntu 20.04 LTS Focal Fossa ya puedes montar tu tienda online con esta prestigiosa aplicación, ya sea para pruebas o para ponerla en producción.
En caso de dudas, preguntas, sugerencias de mejoras de este artículo, si crees que necesita una actualización o quieres notificar algún error, deja un comentario.
¡Apoya comoinstalar.me!
¿Ya está todo listo para empezar a trabajar en tu tienda online gracias a nuestra guía de instalación de PrestaShop en Ubuntu 20.04 LTS Focal Fossa? Si es así y te apetece contribuir al mantenimiento de este sitio y la creación de más tutoriales y guías, puedes ayudar dejando una propina a partir de 1 $ desde PayPal:
O, si te sientes especialmente agradecido, puedes invitarme a un café:
¡Gracias!
Buenas tardes, ya logré instalar el PrestaShop en Digital Ocean, ¿Cómo hago para que al colocar el dominio me aparezca la página de PrestaShop? El dominio es alpargatastore.com, pero la tienda está en alpargatastrore.com/tienda/es/. ¿Cómo hago para que sólo anotar el dominio principal me aparezca la tienda?
Menudo lío, Neptali.
1. Edita el archivo /etc/apache2/sites-enabled/000-default.conf
2. Cambia el valor de la directiva DocumentRoot de /var/www/html a /var/www/prestashop
3. Guarda y cierra el archivo
4. Edita el archivo /etc/apache2/sites-enabled/prestashop.conf
5. Elimina la directiva Alias
6. Guarda y cierra el archivo.
7. Recarga la configuración del servicio web.
8. Conecta con el cliente mysql a la base de datos usando el usuario y contraseña:
~$ mysql presta_db -u presta_user -p
9. Actualiza el valor del campo physical_uri de la tabla ps_shop_url con el siguiente comando:
> update ps_shop_url set physical_uri = '/';
10. Cierra la conexión.
11. Desde el navegador entra en alpargatastore.com/adminXXXXXXXXX/ (sin la ruta «/tienda/«) como lo haces habitualmente.
12. En el panel lateral, en la sección «Configurar«, en «Parámetros de la tienda«, en «Tráfico & SEO» desplázate a la sección «Establecer URL de la tienda«. En «Base URI» debería figurar el valor «/» que debes confirmar con el botón «Guardar«.
Listo.
¡Hola!
Voy a contratar un servidor con Ubuntu y quisiera saber si al instalar Prestashop será equivalente a local o es posible asignarle al Prestashop instalado en esa máquina un dominio y que funcione online.
¡Gracias!
¡Hola, Nass! El proceso es exactamente el mismo que el que has visto en este tutorial. La única diferencia es que la máquina está en Internet accesible desde un dominio. Desde luego, lo recomendable es configurar el dominio antes de realizar la instalación de PrestaShop. Igual que en este tutorial, que trabajamos con un dominio local, el dominio ya está preparado antes de empezar.
Gracias por el tutorial. Tengo un VPS en DigitalOcean e instalé el Ubuntu 20.04 que viene con PHP 7.4. Al tratar de instalar las extensiones de PHP informa que ya las tiene instaladas, sigo con la instalación de Prestashop y al terminar, al abrir el navegador para Prestashop no ejecuta el script de instalación sino que lo abre en pantalla. Buscando en Google hay algunos que dicen que Prestashop no trabaja todavía con PHP 7.4 pero ionos.es ofrece hosting de Prestashop con PHP 7.4. ¿Desinstalo PHP 7.4 x 7.3? ¿O me puede hacer el favor de darme una idea de qué podría estar pasando? Gracias.
Hola, Jairo. Dos cosas:
1. Si no se ejecuta el script de instalación, sino que el navegador lo trata como una descarga es porque PHP, independientemente de la versión instalada, PHP no está correctamente integrado con el servicio web.
2. La versión de PrestaShop en el momento de escribir este comentario no funciona con PHP 7.4, llega hasta la 7.3.
Echa un vistazo a la guía de instalación de la pila LAMP en Ubuntu 20.04 LTS, donde verás cómo instalar otra versión de PHP y comprobar que funciona.