Cómo instalar PrestaShop en CentOS 7

En esta entrada veremos cómo instalar PrestaShop en CentOS 7 paso a paso, una de las soluciones de comercio electrónico más afamadas. Al final de este tutorial tendrás montado tu propio eCommerce o tienda PrestaShop sobre tu servidor o VPS CentOS 7.

Antes de instalar PrestaShop en CentOS 7

Para poder completar esta guía de instalación de PrestaShop en CentOS 7 hasta el final necesitas partir de una serie de requisitos mínimos:

  • Un sistema CentOS 7 actualizado.
  • Un entorno o pila tipo LAMP, o sea, servidor web con PHP (hasta la versión 7.4) y motor de bases de datos.
  • Acceso al terminal de comandos con root o un usuario con permisos de sudo.
  • Conexión a Internet.

Para esta guía asumiremos el uso de Apache como servicio web y MariaDB como motor de bases de datos. Si aún no tienes este tipo de entorno montado en tu sistema, puedes consultar la guía de instalación LAMP en CentOS 7. El código de PrestaShop en el momento de redactar esta guía no está preparado para PHP 8.0, se recomienda por tanto usar como máximo la versión 7.4.

También necesitaremos algunas herramientas del sistema que obtendremos desde los repositorios de CentOS 7, por lo que actualizamos la información de los mismos:

~$ sudo yum update

E instalamos las herramientas:

~$ sudo yum install -y policycoreutils-python unzip wget

Cómo descargar PrestaShop para CentOS 7

En primer lugar, vamos a descargar PrestaShop para CentOS 7 desde la propia web del proyecto, ya que no existen paquetes en los repositorios de la distribución.

como descargar prestashop para centos 7

Para acceder a la descarga de PrestaShop debemos pulsar el botón «Crear mi tienda«:

descargar prestashop para centos 7

Es imprescindible marcar la casilla de aceptación de condiciones para iniciar la descarga a través del correpondiente botón.

La descarga se inicia automáticamente, no se proporciona ningún enlace, por lo que si no estás navegando sobre la máquina CentOS 7 en la que vas a realizar la instalación de PrestaShop necesitarás poder cargar el paquete de alguna forma en tu servidor.

No obstante te dejo el enlace a la última versión en el momento de escribir esta guía.

Con este enlace podemos hacer la descarga desde consola mediante el comando wget:

~$ wget https://download.prestashop.com/download/releases/prestashop_1.7.7.2.zip

Cómo preparar CentOS 7 para instalar PrestaShop

PrestaShop se instala en nuestro sistema CentOS 7 a través de un instalador web, pero antes de poder ejecutarlo necesitamos realizar una serie de tareas y configuraciones previas, de modo que la instalación resulte exitosa y a la primera.

Empecemos con las tareas previas.

Preparación de la carpeta de PrestaShop

Como cualquier otra aplicación web, PrestaShop consta de una serie de archivos que deberán estar ubicados en el lugar correspondiente a la configuración del servidor web que estimemos oportuna.

Podríamos instalar PrestaShop como un servidor virtual independiente, como la página principal del servidor o, como haremos por simplicidad en este ejemplo, como parte de la página web por defecto de CentOS 7.

En CentOS 7 Apache ubica la web por defecto en /var/www/html/, así que esta es la ruta en la que descomprimiremos el paquete que acabamos de descargar, en una carpeta a la que en este ejemplo llamaremos tienda/:

~$ sudo unzip prestashop_1.7.7.2.zip -d /var/www/html/tienda

El instalador necesitará permisos de escritura en la ruta de instalación, por lo tanto daremos permisos de escritura al servidor web, cambiando el grupo de la carpeta de PrestaShop al grupo con el que corre el servicio web (apache en CentOS 7):

~$ sudo chown apache: /var/www/html/tienda/

Preparación de SELinux

Si tienes SELinux activo en tu sistema CentOS 7 no bastará con los permisos de escritura ordinarios en la carpeta de PrestaShop, sino que habrá que crear un contexto de lectura/escritura para dicha carpeta:

~$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/tienda(/.*)?"

Y aplicaremos estos cambios:

~$ sudo restorecon -R /var/www/html/tienda/

Además, como PrestaShop necesita conectar al servicio de bases de datos, tendremos que activar el permiso necesario:

~$ sudo setsebool -P httpd_can_network_connect_db on

Preparación del motor de base de datos

Cualquier CMS o aplicación web medianamente compleja se apoya sobre un servicio de bases de datos, a través de su propia base y usuario que la administre.

Por tanto, vamos a preparar una base y un usuario conectando al servicio de bases de datos con el cliente mysql:

~$ mysql -u root -p

Primero creamos la base de datos:

> create database prestashop charset utf8mb4 collate utf8mb4_unicode_ci;

Para MySQL 8 creamos el usuario indicando el plugin de autenticación adecuado:

> create user prestashop@localhost identified with mysql_native_password by 'XXXXXXXX';

Pero para MariaDB y MySQL 5 lo creamos de forma más simple:

> create user prestashop@localhost identified by 'XXXXXXXX';

Y a continuación otorgamos los permisos necesarios al usuario sobre la base:

> grant all privileges on prestashop.* to prestashop@localhost;

Ya podemos salir del cliente:

> exit

Conserva estos datos a mano, ya que los necesitarás durante la fase de instalación vía web.

Preparación de PHP

PrestaShop requiere una serie de extensiones de PHP para su funcionamiento, por lo que debemos asegurarnos de que están instaladas en nuestro sistema CentOS 7. Instalaremos estas extensiones con yum:

~$ sudo yum install -y php-bcmath php-gd php-imagick php-intl php-mbstring php-memcached php-opcache php-pecl-apcu php-posix php-xml php-zip

Para que PHP tenga en cuenta las nuevas extensiones habrá que recargar la configuración del servidor web:

~$ sudo systemctl reload httpd

Preparación de Apache

En relación con el apartado anterior, vamos a crear una configuración personalizada de Apache para PrestaShop, en la que pasaremos ciertos valores de PHP. Si la máquina está dedicada única y exclusivamente a PrestaShop entonces sería recomendable modificar estos valores en php.ini en lugar de hacer este procedimiento.

~$ sudo nano /etc/httpd/conf.d/prestashop.conf

El contenido es una bloque Directory referido a la ubicación de PrestaShop en el que especificaremos ciertos valores óptimos de PHP:

<Directory /var/www/html/tienda>
        php_value max_input_vars "5000"
        php_value memory_limit "256M"
        php_value post_max_size "128M"
        php_value upload_max_filesize "128M"
</Directory>

Guardados los cambios y cerrado el archivo, recargaremos la configuración de Apache para aplicar estos ajustes.

~$ sudo systemctl reload httpd

Cómo instalar PrestaShop en CentOS 7 vía web

Ha llegado el momento de instalar PrestaShop en CentOS 7 gracias al instalador web. Utilizando un navegador introduciremos la URL que apunte a la ubicación de nuestra tienda.

En este ejemplo hemos decidido instalar PrestaShop dentro de la ruta /tienda de la página por defecto. El servidor CentOS 7 de este ejemplo es accesible desde el dominio centos7.local.lan, por lo que usamos http://centos7.local.lan/tienda como URL.

como instalar prestashop en centos 7

Tras unos instantes realizando tareas previas de instalación, aparecerá la primera página del instalador:

instalador de prestashop en centos 7

En esta primera página del instalador solamente elegiremos el idioma de la instalación, tras lo cual continuaremos.

instalar prestashop en centos 7

En la siguiente página debemos aceptar los términos de la licencia.

Al continuar el instalador realizará una comprobación de requisitos. Si falta alguno, se presentará una pantalla con los avisos correspondientes, pero si se realizaron correctamente todos los preparativos se pasa a la siguiente sección:

instalacion de prestashop en centos 7

Rellenaremos todos los datos relativos a la información de la tienda y la cuenta del administrador.

Hecho esto pasaremos a la conexión con la base de datos:

instalando prestashop en centos 7

Los datos que facilitaremos son la base de datos, el usuario y la contraseña que creamos anteriormente.

Antes de continuar podemos comprobar la conexión pulsando el botón «¡Comprobar la conexión con tu base de datos!» y debería aparecer un mensaje de éxito en la prueba.

Después de este paso comenzará el proceso de instalación que tomará unos instantes, presentándose a continuación la página de resumen y finalización de la instalación:

instalador de prestashop en centos 7

Un aviso nos informará de que debemos eliminar la carpeta install, en nuestro ejemplo lo haríamos así:

~$ sudo rm -rf /var/www/html/tienda/install/

Encontraremos un par de botones que nos llevan a la administración de la tienda o a visitar la tienda en sí.

Si optamos por ir a la administración de la tienda, se abrirá en una nueva pestaña y fíjate que la URL de acceso se renombra cambiando el sufijo /admin/ por algo más aleatorio como /adminXXXXXXXXX/:

prestashop para centos 7

Es interesante que anotes esta dirección, o que la guardes en los marcadores de tu navegador. Si olvidas o pierdes la dirección, puedes recuperarla consultando el contenido de la carpeta de PrestaShop en CentOS 7, ya que existirá una carpeta justo con el nombre adminXXXXXXXXX/.

~$ ls -d /var/www/html/tienda/adm*
/var/www/html/tienda/adminXXXXXXXXX
~$

Añadiendo el nombre de la carpeta a la URL de PrestaShop tendrás el acceso a la zona de administración, por ejemplo, http://centos7.local/tienda/adminXXXXXXXXX/.

prestashop en centos 7

Accederemos a un pequeño paseo que nos enseñará los pasos básicos antes de empezar a trabajar a fondo con nuestra nueva tienda.

Durante el paseo añadiremos un primer producto y veremos algunas secciones importantes de la trastienda.

Ahora ya estás listo para empezar a trabajar a fondo sobre tu nueva tienda PrestaShop en tu servidor CentOS 7.

Conclusión

Ahora que sabes cómo instalar PrestaShop en CentOS 7 ya puedes sacarle todo el partido a tu tienda online. La instalación es laboriosa, pero no debe ocasionar problemas si sigues los pasos de forma ordenada.

En caso de dudas, preguntas o sugerencias siempre puedes dejar un comentario.

¡Apoya comoinstalar.me!

¿Te ha servido este pequeño tutorial de instalación de PrestaShop en CentOS 7? ¿Te has ahorrado unos cuantos callejones sin salida y frustraciones? Pues si te apetece agradecérnoslo, cualquier contribución para el mantenimiento de este sitio siempre nos viene muy bien.

Puedes ayudarnos dejando una propina de 1 $ desde PayPal:

O, si te sientes especialmente agradecido, puedes invitarnos a un café:

¡Gracias!

Valora esta entrada

5/5 - (1 voto)

Deja un comentario