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