En esta entrada explicamos cómo instalar PrestaShop en Ubuntu 18.04 LTS Bionic Beaver paso a paso, de forma que este laborioso proceso transcurra sin errores ni problemas. Ya sea para instalar PrestaShop en local o en Internet, al final de esta guía tendrás tu primera tienda PrestaShop lista para ser configurada en tu servidor o VPS Ubuntu.
Contenido
Antes de instalar PrestaShop en Ubuntu 18.04
Si quieres seguir con éxito esta guía de instalación de PrestaShop en Ubuntu 18.04 deberás partir de unos requisitos mínimos:
- Una máquina Ubuntu 18.04 LTS Bionic Beaver actualizada.
- Una pila LAMP o similar, es decir, servidor web con PHP (máximo 7.4, preferible 7.3) y servidor de bases de datos.
- Acceso a línea de comandos con usuario privilegiado (sudo).
- Conexión a Internet.
Si no dispones aún del entorno básico, pásate primero por nuestra guía de instalación de la pila LAMP en Ubuntu 18.04 LTS, recordando no instalar PHP superior a la versión 7.4.
Adicionalmente, necesitamos algunas herramienas de consola que instalamos desde los repositorios del sistema, por lo que los actualizamos:
~$ sudo apt update
E instalamos los paquetes necesarios:
~$ sudo apt install -y unzip
Cómo descargar PrestaShop para Ubuntu 18.04
Lo primero que podemos comprobar al querer descargar PrestaShop para Ubuntu 18.04 es que no existen paquetes en los repositorios oficiales de la distribución. Por tanto debemos dirigirnos a la web del proyecto:
La zona de descargas la encontraremos en el botón «Crear mi tienda«:
Es necesario marcar la casilla de aceptación de las condiciones generales para que funcione el botón de descarga. No hay enlace como tal, al pulsar el botón se inicia automáticamente, por lo que si estás visitando la web desde una máquina distinta a tu servidor Ubuntu 18.04, necesitarás subir el archivo de alguna forma al mismo (ssh, ftp, etc.).
Sin embargo, te dejo el paquete disponible en el momento de escribir esta guía, que puedes descargar con wget:
~$ wget https://download.prestashop.com/download/releases/prestashop_1.7.7.5.zip
Cómo preparar Ubuntu 18.04 para instalar PrestaShop
Antes de realizar el proceso mismo de instalación es necesario llevar a cabo una serie de pasos previos y requerimientos para que el instalador corra suavemente y sin interrupciones por faltar algún requisito.
Por ello, vamos a preparar paso a paso el sistema.
Preparando el directorio de PrestaShop
Ya con el paquete de PrestaShop en nuestro servidor Ubuntu 18.04 tendremos que descomprimirlo en la ubicación que nos interese. Podrías optar por crear tu tienda como un sitio independiente, mediante un servidor virtual, pero por simplicidad en esta guía instalaremos PrestaShop como parte de la página web por defecto de Ubuntu 18.04 (la mejor opción si quieres instalar PrestaShop en local).
La web por defecto de Apache se ubica en /var/www/html/, así que descomprimiremos PrestaShop dentro de una subcarpeta que llamaremos shop/:
~$ sudo unzip prestashop_1.7.7.5.zip -d /var/www/html/shop
El instalador necesitará escribir en la ruta de instalación, a través del servidor web, por tanto daremos los permisos oportunos cambiando el propietario del directorio de PrestaShop al usuario con el que corre el servicio web:
~$ sudo chown -R www-data: /var/www/html/shop/
Preparativos de la base de datos
Como cualquier otro tipo de CMS, PrestaShop necesitará trabajar sobre una base de datos en nuestro sistema Ubuntu 18.04. En esta guía el servicio es MariaDB/MySQL, así que conectaremos con el cliente mysql para crear la base y el usuario que la administra:
~$ mysql -u root -p
Primero creamos la base de datos para PrestaShop:
> create database shop_db;
Y después creamos el usuario que la administrará. Si usas MySQL 8 o superior debes indicar el plugin de autenticación del usuario:
> create user shop_user@localhost identified with mysql_native_password by 'XXXXXXXX';
Pero si usas MariaDB ó MySQL 5 usa esta sentencia más simple:
> create user shop_user@localhost identified by 'XXXXXXXX';
Creado el usuario, hay que concederle los permisos necesarios sobre la base de datos:
> grant all privileges on shop_db.* to shop_user@localhost;
Terminamos cerrando del cliente:
> exit
Ten todos estos datos a mano, porque los necesitarás más adelante durante la instalación de PrestaShop.
Preparativos de PHP
PrestaShop requiere que estén presentes una serie de extensiones de PHP en nuestro sistema Ubuntu 18.04. Si falta alguna de ellas la instalación se puede interrumpir, e incluso no iniciar. Vamos a instalar estas extensiones necesarias y recomendadas con apt, por ejemplo, para PHP 7.3:
~$ sudo apt install -y php7.3-apcu php7.3-bcmath php7.3-curl php7.3-gd php7.3-imagick php7.3-intl php7.3-mbstring php7.3-memcache php7.3-memcached php7.3-xml php7.3-zip
Y para la versión 7.4:
~$ sudo apt install -y php7.4-apcu php7.4-bcmath php7.4-curl php7.4-gd php7.4-imagick php7.4-intl php7.4-mbstring php7.4-memcache php7.4-memcached php7.4-xml php7.4-zip
Para que los cambios hagan efecto hay que recargar la configuración del servidor web:
~$ sudo systemctl reload apache2
Si en algún momento añades módulos a PrestaShop que requieran otros componentes de PHP, deberás seguir este procedimiento con los nuevos módulos.
Preparativos del servidor web
PrestaShop exige que Apache incluya el módulo Rewrite, así que debemos instalarlo si no lo estaba ya. Usaremos el comando a2enmod:
~$ sudo a2enmod rewrite
Craremos además una configuración personalizada del servidor web para PrestaShop:
~$ sudo nano /etc/apache2/conf-available/prestashop.conf
En esta configuración activaremos el uso de archivos de configuración para Apache y ajustaremos una serie de valores de PHP exclusivamente para la aplicación PrestaShop:
<Directory /var/www/html/shop> AllowOverride all php_value max_input_vars "5000" php_value memory_limit "256M" php_value post_max_size "128M" php_value upload_max_filesize "128M" </Directory>
Guardamos los cambios, cerramos el archivo, y habilitaremos la nueva configuración:
~$ sudo a2enconf prestashop
Para activar todo setos cambios hay que reiniciar el servicio web:
~$ sudo systemctl restart apache2
Cómo instalar PrestaShop en Ubuntu 18.04 vía web
Es hora de iniciar la instalación de PrestaShop en Ubuntu 18.04, para lo cual accederemos desde un navegador a la URL de la tienda en el servidor.
En esta guía, el servidor Ubuntu 18.04 es accesible desde el dominio ubuntu64.local.lan, por lo que teniendo en cuenta que hemos instalado PrestaShop en la ruta shop/, de modo que será http://ubuntu64.local.lan/shop la URL que debemos visitar.
Al visitar la página incial comenzará un proceso de descompresión del sistema de archivos de PrestaShop en su carpeta de instalación:
Terminado este proceso se nos presenta la bienvenida y selección del idioma de instalación:
Una vez seleccionado el idioma que nos interese continuamos y se nos mostrará una pantalla con los términos de la licencia que debemos aceptar:
Hay que marcar la casilla de aceptación de términos y condiciones para poder continuar.
Si has seguido todos los preparativos previos a la instalación, el instalador se saltará la página de compatibilidad del sistema, ya que esta pantalla cuando aparece es para informar de problemas (que debes solucionar para poder continuar).
El siguiente paso es introducir la información sobre la tienda y la cuenta de administrador:
Cumplimentado este formulario continuamos y llega el momento de facilitar los datos de la base de datos que creamos anteriormente:
Después de introducir los datos de conexión lo ideal es probar la conexión con el botón provisto al efecto. Si la conexión resulta exitosa podemos continuar.
El instalador empezará a crear toda la estructura de la tienda sobre la base de datos:
Terminado el proceso se nos presenta el fin de la instalación:
Es IMPORTANTE tener en cuenta que debemos borrar manualmente la carpeta install/ del directorio de PrestaShop para poder entrar en el área de administración.
No hay un botón o enlace para realizar esta tarea, por lo que podemos hacerlo manualmente desde consola:
~$ sudo rm -rf /var/www/html/shop/install/
Hecho esto podemos entrar en la tienda o en el área de administración desde los botones de la pantalla anterior (ambas páginas se abren en una nueva ventana o pestaña).
En el caso de acceder al área de administración ocurre que la ruta admin/ se renombra automáticamente añadiéndole algunos caracteres alfanuméricos aleatorios, quedando como algo tipo adminXXXXXXXXX/.
Es buena idea guardar esta URL en los marcadores de tu navegador. Si alguna vez la olvidas basta echar un vistazo a la carpeta de instalación de PrestaShop y buscar cómo se llama la carpeta adminXXXXXXXXX, o también puedes renombrarla como admin (no aconsejable por motivos de seguridad).
En cualquier caso, introducimos nuestras credenciales y accederemos al área de administración, donde, al ser nuestra primera visita, se nos mostrará una visita guiada en la que se crea un primer producto entre otras cosas:
Tras el paseo quedarás al mando de tu tienda, donde tienes mucho trabajo por delante, pero eso ya escapa del alcance de nuestra misión.
¡Felices ventas!
Conclusión
Ahora que ya sabes cómo instalar PrestaShop en Ubuntu 18.04 LTS Bionic Beaver estás listo para empezar a llenar tu nueva tienda online de productos y servicios para tus clientes.
El proceso es el mismo tanto si quieres instalar PrestaShop en local como en Internet, puede ser un poco engorroso hacerlo funcionar la primera vez, pero siguiendo unos cuantos pasos ordenadamente no debes tener problemas.
En caso de dudas, preguntas, sugerencias, notificaciones de errores, etc. puede dejar un comentario.
¡Apoya esta entrada!
Ya has conseguido instalar PrestaShop en Ubuntu 18.04 LTS Bionic Beaver gracias a esta guía, así que… ¿Quieres ayudar a mantener este sitio y crear nuevos tutoriales mediante una mínima contribución? Puedes hacerlo invitándome a un café:
O dejando 1 $ de propina en PayPal:
¡Gracias!
Entré al front y al back. En el front ha trabajado bien pero al hacer click en Vender -> Pedidos o en Vender -> carrito de compras da error 500. Lo he solucionado instalando el paquete php-mbstring.
También está indicado en el tutorial que hay que instalar php-mbstring.
En el tercer paso: System compatibility aparecieron 3 errores:
1) cURL is not enabled
sudo apt install php7.2-curl y se habilita en php.ini
extension=curl
2) GD library is not installed
sudo apt install php-gd y se habilita en php.ini
3) Intl extension is not loaded
sudo apt install php-intl y se habilita en php.ini
Ya me sale el aviso de verificación pero aparece una advertencia
«To get the latest internationalization data upgrade the ICU system package and the intl PHP extension»
Al ejecutar:
sudo php -i | grep ICU
entrega
ICU version => 60.2
ICU Data version => 60.2
ICU TZData version => 2017c
ICU Unicode version => 10.0
Pero parece que así funciona bien y hay comentarios que si se actualiza también salen advertencias. Sigo
A ver, todas las extensiones que te han estado faltando se mencionan en el tutorial, es tan fácil como copiar y pegar el comando. Vuelvo a insistir en que no es necesario tocar nada en php.ini para instalar las extensiones.
Perdón por no saber leer y menos copiar y pegar. Sólo quería aportar mis errores que muchos han cometido por las inquietudes que se leen en Google. Muchas gracias por su aporte.
No te disculpes, Jairo, te lo decía en plan amistoso. Sólo quería señalar que si lees tranquilamente el tutorial y sigues los pasos puedes tardar menos de 10 minutos en completar la instalación de PrestaShop en Ubuntu 18.04, en lugar de invertir horas. Un saludo.
Entré a la instalación con:
sudo chown -R www-data /var/www/prestashop
Estoy instalando….
Gracias.
Gracias por el tutorial, pero cuando fui a iniciar la instalación en digitalocean me tocó con la dirección ip y el resto: ip/shop/.
Me saca los errores:
«We can’t start installation 🙁
PrestaShop installation requires the SimpleXML extension to be enabled.
PrestaShop installation requires the zip extension to be enabled.
PrestaShop installation needs to write critical files in the folder var/cache. Please review the permissions on your server.
You can contact your web host provider to fix theses requirements.«.
Encontré que con
apt-get install php-zip php-simplexml y modificando el php.ini con
extension=simplexml.so
extension=zip.so
Pero sigue presentando el error. Para el problema de /var/cache
chmod 777 -R /var/cache
Reiniciando apache pero sigue presentando los mismos errores. Le agredezco si me puede dar algún tipo de ayuda.
¡Hola, Jairo!
¿Qué versión de Ubuntu usas? ¿Y de PHP? ¿Y de PrestaShop, la descargas directamente o la instalas desde algún panel?
En teoría, si has seguido el tutorial, deberías tener instaladas esas dos extensiones, pero puedes volver a intentarlo:
sudo apt install -y php-xml php-zip
La extensión XML engloba SimpleXML. Lo que sí debes hacer es eliminar o comentar las líneas extension en php.ini, es un sistema obsoleto que causa problemas.
Hecho todo esto, recarga la configuración de Apache:
sudo systemctl reload apache2
Desconozco por qué tienes problemas con /var/cache. Haz los cambios que te indico y me cuentas qué ocurre.
OK. Gracias por responder y otras por la atención tan rápida. Sigo con la instalación.
Hago la instalación por consola.
Monté todo de nuevo y sale el mismo aviso.
Versiones
La vez anterior había instalado PHP7.0
Ahora quedó instaladoPHP7.2.24
apache v 2.4.19
ubunto v18.04
PHP 7.2.24
Prestashop 1.7.6.5
Ejecuté
sudo apt install -y php-xml php-zip
sudo systemctl reload apache2 y también
sudo systemctl restart apache2
y ya solo que da el error de /var/cache
«We can’t start installation 🙁
PrestaShop installation needs to write critical files in the folder var/cache. Please review the permissions on your server.»
La primera vez que instalé lo hice con root.
Ahora cree un usuario y le dí credenciales del grupo sudo.
También ahora tengo el firewall ufw pero ya le permití a Apache acceso con
sudo ufw allow in «Apache Full»
«Error en /var/cache»
Gracias por su atención.