Instale PrestaShop (tienda de compras de comercio electrónico en línea gratuita) en RHEL/CentOS y Fedora


Prestashop es una aplicación web de carrito de compras de código abierto gratuita construida sobre la base de datos PHP y MySQL que le permite crear e implementar tiendas en línea para su propio negocio.

Este tutorial lo guiará sobre cómo puede instalar y configurar Prestashop sobre una pila LAMP en distribuciones RHEL/CentOS 7/6 y Fedora con Apache SSL configurado con un certificado autofirmado para la seguridad de las compras.

  1. Instale LAMP en RHEL/CentOS 7
  2. Instale LAMP en RHEL/CentOS 6 y Fedora

Paso 1: Instale Extensiones PHP para Prestashop

1. Antes de continuar con el proceso de instalación de Prestashop, primero debemos asegurarnos de que las siguientes configuraciones y paquetes estén presentes en nuestro sistema.

Abra un indicador de terminal e instale las siguientes extensiones de PHP requeridas, además de las estándar que vienen con una instalación básica de PHP, emitiendo el siguiente comando:

# yum install php-gd php-mbstring php-mcrypt php-xml

Paso 2: Certificados autofirmados creados para Apache

2. A continuación, instale Apache junto con el módulo SSL y cree un certificado autofirmado en el directorio /etc/httpd/ssl para poder acceder de forma segura a su dominio mediante el protocolo HTTPS.

# mkdir /etc/httpd/ssl
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/prestashop.key –out /etc/httpd/ssl/prestashop.crt

Proporcione el archivo de certificado con su propia información de dominio y asegúrese de que el nombre común del certificado coincida con el nombre de dominio completo (FQDN) de su servidor.

Paso 3: Cree el host virtual Apache SSL

3. Ahora es el momento de editar el archivo de configuración Apache SSL e instalar el certificado y la clave recién creados.

Además, cree un host virtual para Apache para responder correctamente a las solicitudes http recibidas con el encabezado de dominio www.prestashop.lan (el dominio de ejemplo utilizado en este tutorial).

Entonces, abra el archivo /etc/httpd/conf.d/ssl.conf con un editor de texto y realice los siguientes cambios:

# vi /etc/httpd/conf.d/ssl.conf

Agregue las directivas ServerName y ServerAlias después de la línea DocumentRoot para que coincida con su nombre de dominio como sugiere el siguiente extracto.

ServerName www.prestashop.lan:443
ServerAlias prestashop.lan

4. A continuación, desplácese hacia abajo en el archivo de configuración y busque las declaraciones SSLCertificateFile y SSLCertificateKeyFile. Reemplace las líneas con el archivo de certificado y la clave creados anteriormente.

SSLCertificateFile /etc/httpd/ssl/prestashop.crt
SSLCertificateKeyFile /etc/httpd/ssl/prestashop.key

Para confirmar los cambios, reinicie el demonio de Apache emitiendo el siguiente comando:

# systemctl restart httpd   [On CentOS/RHEL 7]
# service httpd restart     [On CentOS/RHEL 6]

Paso 4: deshabilite Selinx en CentOS/RHEL

5. Para desactivar Selinux, emita el comando setenforce 0 y verifique el estado con getenforce .

# getenforce
# setenforce 0
# getenforce

Para deshabilitar Selinux por completo, edite el archivo /etc/selinux/config y ponga la línea SELINUX de enforcing a disabled.

Si no desea deshabilitar completamente Selinux y simplemente relajar las reglas para ejecutar Prestashop, emita el siguiente comando.

# chcon -R -t httpd_sys_content_rw_t /var/www/html/

Paso 5: Cree la base de datos MySQL para Prestashop

6. La aplicación web Prestashop necesita una base de datos para almacenar información. Inicie sesión en MySQL y cree una base de datos y un usuario para la base de datos de Prestashop emitiendo los siguientes comandos:

# mysql -u root -p
mysql> create database prestashop;
mysql> grant all privileges on prestashop.* to 'caezsar'@'localhost' identified by 'your_password';
mysql> flush privileges;
mysql> exit

Para estar seguro, reemplace el nombre de la base de datos, el usuario y la contraseña en consecuencia.

7. Finalmente instale wget y descomprima las utilidades para descargar y descomprimir el archivo prestashop desde la línea de comandos.

# yum install wget unzip

Paso 6: Instale el carrito de la compra de Prestashop

8. Ahora es el momento de instalar Prestashop. Tome la última versión de Prestashop y extraiga el archivo al directorio actual emitiendo los siguientes comandos:

# wget https://www.prestashop.com/download/old/prestashop_1.6.1.4.zip 
# unzip prestashop_1.6.1.4.zip

9. A continuación, copie los archivos de instalación de prestashop en la raíz web de su dominio (generalmente el directorio /var/www/html/ en caso de que no haya cambiado la directiva apache DocumentRoot) y haga una lista de los documentos copiados.

# cp -rf prestashop/* /var/www/html/
# ls /var/www/html/

10. En el siguiente paso, otorgue al usuario del demonio de Apache permisos de escritura en la ruta /var/www/html/ donde se encuentran los archivos de Prestashop mediante la emisión de los siguientes comandos:

# chgrp -R apache /var/www/html/
# chmod -R 775 /var/www/html/

11. Ahora es el momento de continuar con la instalación desde un navegador web. Entonces, abra un navegador en una máquina desde su LAN y visite el dominio de Prestashop usando el protocolo HTTP seguro en https: //prestashop.lan .

Debido al hecho de que está utilizando un certificado autofirmado y no un certificado emitido por una autoridad de confianza, debería aparecer un error en su navegador web.

Acepte el error para continuar y debería aparecer la primera pantalla del asistente de instalación de Prestashop. Seleccione el idioma de instalación y presione el botón Siguiente para continuar.

12. A continuación, acepte los términos de la licencia y presione Siguiente para continuar.

13. En el siguiente paso, el instalador comprobará su entorno de instalación. Una vez que se haya verificado la compatibilidad, presione Siguiente para continuar.

14. Además, proporcione a la tienda su propia información sobre el nombre de la tienda, la actividad principal de su tienda y su país.

También proporcione un nombre de cuenta y una dirección de correo electrónico con una contraseña segura que se utilizará para acceder al back office de la tienda. Cuando termine, presione Siguiente para continuar con la siguiente pantalla de instalación.

15. Ahora proporcione la información de la base de datos MySQL. Utilice el nombre de la base de datos, el usuario y la contraseña creados anteriormente desde la línea de comandos.

Debido a que el servicio de base de datos MySQL se ejecuta en el mismo nodo con el servidor web Apache, use localhost en la dirección del servidor de la base de datos. Deje el prefijo de tablas como predeterminado y presione ¡Pruebe su conexión de base de datos ahora! para comprobar la conectividad MySQL.

Si la conexión a la base de datos MySQL es exitosa, presione el botón Siguiente para finalizar la instalación.

16. Una vez finalizado el proceso de instalación, obtendrá un resumen de su información de inicio de sesión y dos enlaces que debe seguir para acceder a Backed Office y Frontend Office de su tienda.

No cierre esta ventana todavía antes de presionar el botón de hipervínculo Administrar su tienda de Back Office que lo dirigirá al enlace de backend de la tienda. Anote o marque esta dirección web para acceder a la oficina de backend en el futuro.

17. Finalmente, inicie sesión con las credenciales configuradas en el proceso de instalación (cuenta de correo electrónico y su contraseña) y comience a administrar más la tienda.

Además, como medida de seguridad, ingrese nuevamente la línea de comando y elimine el directorio de instalación emitiendo el siguiente comando.

# rm -rf /var/www/html/install/

18. Para acceder a la interfaz de su tienda, generalmente la página de visitantes, simplemente escriba su nombre de dominio en un navegador web a través del protocolo HTTPS.

https://www.prestashop.lan

¡Felicidades! Ha instalado con éxito un sitio web de comercio electrónico utilizando la plataforma Prestashop en la parte superior de la pila LAMP. Para administrar aún más la tienda, visite la documentación de la guía del usuario de Prestashop.