Preparación¶
Tienes que seguir algunos pasos de preparación para la instalación de Galette. El camino a seguir depende de lo que quieras conseguir.
Permisos de archivos¶
Advertencia
Un truco usado comúnmente es dar todos los permisos a todo el mundo de manera recursiva en la carpeta (chmod 777). Esto es una muy mala idea desde el punto de vista de la seguridad. Por favor no utilices este truco, avisado quedas ;)
Algunas carpetas de Galette necesitan permisos específicos. La aplicación necesitará escribir en alguna de ellas, tienes que asegurar que sea posible. Estas son las carpetas a las que necesitan permiso de escritura:
config 1,
data/attachments,
data/cache,
data/exports,
data/files,
data/imports,
data/logs,
data/photos,
data/tempimages,
data/templates_c
- 1
el permiso de escritura en la carpeta
configsolo es necesario para la instalación de Galette, te recomendamos eliminar el permiso de acceso una vez se haya instalado Galette :)
Crear una base de datos¶
Nota
¡Nunca utilices el usuario root de la base de datos!
Por motivos de seguridad, se recomienda encarecidamente basarse en un usuario específico para la base de datos de Galette, y solamente darle el acceso solicitado sobre la única base de datos de Galette.
Por ejemplo, utilizaremos una base de datos llamada mygalette con el usuario mygaletteuser con la contraseña mypass.
MariaDB
$ mysql -u root -p mysql> CREATE DATABASE mygalette; mysql> GRANT ALL ON magalette.* to ->'mygaletteuser'@'localhost' IDENTIFIED BY 'mypass';
PostgreSQL
$ su - # su - postgres $ createuser -P mygaletteuser $ createdb -O mygaletteuser mygalette
Esos comandos pueden variar, por favor consulta las documentaciones de MariaDB o PostgreSQL, o utiliza una herramienta gráfica:
phpMyAdmin para MariaDB ;
phpPgAdmin o PgAdmin para PostgreSQL.
Exposición de la carpeta del servidor web¶
Nuevo en la versión 0.9.
La instalación de Galette podría consistir en copiar una carpeta completa a una ubicación que el servidor web pueda leer. Este método podría funcionar, pero estás exponiendo desde la web archivos y carpetas que no deberían ser accesibles de esta manera.
Es posible limitar eso exponiendo solo la carpeta webroot. Las demás carpetas están más seguras: ¡no es posible acceder a ellas desde el servidor web!
Advertencia
Exponer solamente la carpeta webroot es la única manera segura y recomendada.
Utilizar un subdominio¶
Aquí tienes un ejemplo de configuración de un servidor virtual, también ocultando el archivo index.php:
<VirtualHost *:80>
ServerName galette.localhost
#https - add *:443 in the <VirtualHost>
#SSLEngine on
#SSLProtocol all -SSLv2 -SSLv3
#Header always add Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
#SSLCertificateFile /etc/pki/tls/certs/galette.localhost.crt
#SSLCertificateChainFile /etc/pki/tls/certs/galette.localhost.chain.crt
#SSLCertificateKeyFile /etc/pki/tls/private/galette.localhost.key
DocumentRoot /var/www/galette/galette/webroot/
<Directory /var/www/galette/galette/webroot/>
RewriteEngine On
#You may need to set RewriteBase if you setup
#rewritting in a .htaccess file for example.
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
</VirtualHost>
En Nginx sería:
server {
#http
listen 80;
listen [::]:80;
# https
#listen 443 ssl http2;
#listen [::]:443 ssl http2;
#ssl_certificate /etc/ssl/certs/galette.localhost.pem;
#ssl_certificate_key /etc/ssl/private/galette.localhost.key;
server_name galette.localhost;
root /var/www/galette/galette/webroot;
index index.html index.php;
location / {
try_files $uri $uri/ @galette;
}
location @galette {
rewrite ^(.*)$ /index.php last;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# You may have to adapt this path, depending on your distribution.
fastcgi_pass unix:/var/run/php7.0-fpm.sock;
}
location ~ /(data|config|lib)/ {
deny all;
}
}
Utilizando un alias¶
Una configuración segura alternativa, si no tienes un subdominio específico para Galette es usar un alias en el servidor virtual existente:
<VirtualHost *:80>
ServerName mydomain.tld
DocumentRoot /var/www/mydomain.tld
Alias /mygalette/ /var/www/galette/galette/webroot/
<Directory /var/www/galette/galette/webroot/>
RewriteEngine On
#You need to set RewriteBase to Alias path
RewriteBase /mygalette/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
</VirtualHost>
No olvides que con esta solución tienes que configurar correctamente tu directiva RewriteBase.
Linux/Unix¶
Instalar Galette en Linux implica que tengas un acceso a la terminal en el servidor y obligatorio ACLs en las carpetas.
Como ejemplo, en Fedora, ejecutarás (como root):
# cd /var/www/galette/
# chown -R apache:apache config data
En Debian, reemplazaremos apache:apache con www-data:www-data.
En los sistemas habilitados SELinux, también añadiremos:
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/galette/config(/.*)?'
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/galette/data(/.*)?'
# restorecon -R -v /var/www/html/galette/
También tendrás que autorizar que el servidor web se conecte a la red, con un valor booleano de SELinux:
# setsebool httpd_can_network_connect on
FTP¶
Advertencia
Algunos programas de archivo o de FTP pueden corromper los archivos… Se recomienda encarecidamente si utilizas Windows que emplees 7zip para descomprimir y FileZilla para las transferencias FTP.
Una vez que se ha recuperado localmente el código fuente, utiliza el comando tar xjvf galette.tar.bz2 en Linux/Unix/MacOS o una herramienta gráfica en Windows.
Simplemente copia la carpeta descomprimida, y todos sus subcarpetas y archivos, con tu cliente FTP.
Casos específicos¶
Ionos¶
Si estás alojado en Ionos; y quieres un subdominio específico para Galette, debes crear un subdominio en su interfaz de usuario, y hacer que apunte a la carpeta webroot. También tienes que editar el archivo .htaccess que contiene, y descomentar la directiva RewriteBase /.
OVH¶
Esta empresa de alojamiento web ofrece cambiar la versión PHP que utilizas desde tu cuenta de cliente.
Encontrarás más información en: https://docs.ovh.com/fr/fr/web/hosting/configurer-le-php-sur-son-hebergement-web-mutu-2014/
Advertencia
Muchos usuarios tienen problemas al mostrar imágenes u hojas de asistencia en los alojamientos OVH. La solución a esto es crear un archivo .ovhconfig en la raíz de tu alojamiento con el siguiente contenido:
app.engine=phpcgi
Nginx¶
La configuración de un servidor web de Nginx es distinta a la de Apache (echa un vistazo a la documentación de Nginx para una explicación más completa).
Así que tienes que convertir la restricción de acceso a los archivos en la configuración de Nginx, como por ejemplo:
location ~ /(data|config|lib)/ {
deny all;
}
Windows¶
La instalación descrita a continuación se basa en XAMPP; existen otros métodos de instalación pero no se enumeran aquí.
Lo primero de todo, descarga XAMPP en tu ordenador. Instálalo en C:\xampp.
Abre el ejecutable xampp-control (lo puedes encontrar en C:\xampp), para que puedes iniciar los servicios de Apache y MySQL.
Una vez hayas hecho estos pasos, descarga galette y muévelo a C:\wampp\htdocs\galette, la aplicación web estará disponible desde http://127.0.0.1/galette/. Simplemente visita esta dirección URL para comenzar el proceso de instalación.
Nota
Activar los módulos PHP en XAMPP se hace en xampp/php/php.ini.La mayoría de las extensiones necesarias ya están presentes, pero para las comentadas (la línea comienza con un «;»), descoméntalas y reinicia XAMPP.
La extensión openssl falta en el archivo, para activarla añade lo siguiente a tu php.ini: extension=php_openssl.dll