Noe Nieto

Mi sitio personal | Personal site

PrestaShop en Fedora 27

Configuración de PrestaShop 1.7 sobre Fedora 27: instalación de paquetes LAMP, configuración de virtualhost Apache, permisos, SELinux y parámetros de la base de datos.

PrestaShop en Fedora 27

Los comandos son todos como root:

sudo -i

Instalar el software:

dnf install community-mysql-server
dnf group install 'Web Server'

Si la instalación de MySQL es completamente nueva:

systemctl start mysql
mysql_secure_installation

Si ya tienes una instalación previa (por ejemplo, actualizaste de versión de Fedora):

mysqlcheck --all-databases --check-upgrade --auto-repair
systemctl start mysql

Ahora configuramos el virtualhost. El hostname de mi laptop es starblade. Voy a crear otro que se llame pshop.starblade. Para eso edito /etc/hosts y agrego la línea:

127.0.0.2  pshop.starblade

No hay ninguna razón en especial de por qué elegí 127.0.0.2 en lugar de 1. El resultado es el mismo. Ahora probamos el nuevo hostname:

$ ping pshop.starblade
PING pshop.starblade (127.0.0.2) 56(84) bytes of data.
64 bytes from pshop.starblade (127.0.0.2): icmp_seq=1 ttl=64 time=0.095 ms
64 bytes from pshop.starblade (127.0.0.2): icmp_seq=2 ttl=64 time=0.185 ms
^C
--- pshop.starblade ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1003ms
rtt min/avg/max/mdev = 0.095/0.140/0.185/0.045 ms

Ahora vamos con la configuración de Apache. En el archivo de configuración que está en /etc/httpd/conf.d/pshop-vhost.conf y tiene esto:

<VirtualHost *:80>
    ServerAdmin nnieto@localhost
    DocumentRoot "/var/www/pshop.starblade"
    ServerName pshop.starblade
    ServerAlias phop.starblade
    ErrorLog "/var/log/httpd/pshop.starblade-error_log"
    CustomLog "/var/log/httpd/pshop.starblade-access_log" common
    # LogLevel debug
    ProxyTimeout 300
    <Directory /var/www/pshop.starblade>
        <IfModule mod_php7.c>
            php_value max_execution_time 300
        </IfModule>
    </Directory>
</VirtualHost>

Guarda el archivo.

El directorio /var/www/pshop.starblade es una liga simbólica a /home/nnieto/Code/HolokinesisLibros/hkl_pshop:

ln -s /home/nnieto/Code/HolokinesisLibros/hkl_pshop /var/www/pshop.starblade

Permisos y SELinux

PrestaShop (en realidad, php-fpm) corre como el usuario apache, pero necesita tener permisos de escritura en app/logs. Por otra parte el directorio hkl_pshop está en mi directorio $HOME y necesito editar archivos ahí. Así que los permisos de usuario son para mi cuenta y agrego permisos de escritura para el grupo apache:

chmod o+w app/logs/
ausearch -c 'php-fpm' --raw | audit2allow -M my-phpfpm
semodule -i my-phpfpm.pp
setsebool -P httpd_can_network_connect 1
setsebool -P httpd_read_user_content 1

Configuración

PrestaShop 1.7 guarda la configuración en app/config/. La configuración de la base de datos está en app/config/parameters.php.

FIN