Préparation

Vous devrez suivre quelques étapes pour préparer l’installation de Galette. La manière de faire dépend de ce que vous souhaitez faire.

Permissions des fichiers

Avertissement

Un contournement fréquemment utilisé est de donner tous les droits à tout le monde (chmod 777). C’est une très très mauvaise manière de faire d’un point de vue sécurité. Merci de ne pas faire ça, vous êtes prévenus ;)

Certains répertoires de Galette demandent des droits particuliers. L’application peut avoir à écrire dans certains d’entre eux, vou devrez vous assurer que c’est possible. Voici les dossiers qui demandent les droits en écriture :

  • config [1],
  • data/attachments,
  • data/cache,
  • data/exports,
  • data/files,
  • data/imports,
  • data/logs,
  • data/photos,
  • data/tempimages,
  • data/templates_c
[1]l’accès en écriture sur le dossier config est uniquement requis lors de l’installation de Galette. Il est fortement conseillé de les enlever une fois l’installation terminée.

Exposition des dossiers sur le serveur web

Nouveau dans la version 0.9.

L’installation par défaut de Galette (tout comme bon nombre d’autres applications web) consiste à copier un dossier complet à nu endroit que le serveur web peut lire. Cette méthode fonctionne bien, mais elle expose des fichiers et dossiers sur les web alors qu’ils ne devraient pas forcément être accessibles de cette manière.

Il est possible de limiter cela en n’exposant que le dossier webroot. Tous les autres dossiers seront ainsi davantage en sécurité puisque non accessibles depuis le web !

Note

L’exposition du seul dossier webroot est la manière recommandée si vous avez la possibilité de créer des hôtes virtuels sur votre hébergement.

Et ce ne sera certainement pas possible sur nombre d’hébergements gratuits et/ou mutualisés.

Voici un exemple de configuration d’un hôte virtuel, y compris le masquage de 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>

Pour Nginx, ce serait :

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;
    }
}

Linux/Unix

Installer Galette sous Linux implique que vous ayez accès à une console sur le serveur, et les droits requis sur les répertoires.

Par exemple, sous Fedora, vous lancerez (en root) :

# cd /var/www/galette/
# chown -R apache:apache config data

Sous Debian, on remplacera apache:apache par www-data:www-data.

Sur les systèmes avec SELinux activé, on ajoutera :

# 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/

Vous devrez aussi autoriser le serveur web à se connecter au réseau, avec un booléen SELinux :

# setsebool httpd_can_network_connect on

FTP

Avertissement

Certains logiciels d’archives ou de transfert FTP peuvent corrompre les fichiers… Il est fortement conseillé si vous êtes sous Windows d’utiliser 7zip pour décompresser les archives et FileZilla pour les transferts FTP.

Une fois que le code source est récupéré en local ; utilisez tar xjvf galette.tar.bz2 sous Linux/Unix/MacOS ou un outil de gestion graphique sous Windows.

Copiez simplement le dossier obtenu après décompression, ainsi que tous les fichiers et dossiers qu’ils contient, à l’aide de votre client FTP.

../_images/filezilla.jpg

Cas particuliers

OVH

Cette société d’hébergement offre de changer la version de PHP utilisée depuis l’interface client.

Des informations complémentaires sont également disponibles : https://docs.ovh.com/fr/fr/web/hosting/configurer-le-php-sur-son-hebergement-web-mutu-2014/

Avertissement

Beaucoup d’utilisateurs ont rencontré des problèmes de chargement d’images, ou de la liste d’émargement chez OVH. La solution à ce problème est de créer un fichier .ovhconfig à la racine de votre hébergement avec le contenu suivant :

app.engine=phpcgi

Nginx

La configuration du serveur web Nginx est différente de celle d’Apache (voir la documentation Nginx pour de plsu amples informations).

Vous devrez donc convertir les restrictions d’accès dans la configuration de Nginx, comme par exemple :

location ~ /(data|config|lib)/ {
    deny all;
}

Windows

L’installation décrite ici est basée sur XAMPP ; d’autres méthodes sont certainement disponibles, mais elle ne sont pas traitées ici.

Tout d’abord, téléchargez XAMPP sur votre ordinateur. installons le dans C:\xampp.

../_images/xampp_directory.jpg

Lancez le programme xampp-control (vous le trouverez dans C:xampp`), vous pourrez ainsi lancer les services Apache et MySQL.

../_images/xampp_control.jpg

Une fois ces étapes terminées, téléchargez Galette et déplacez le dans C:\wampp\htdocs\galette, l’application sera accessible depuis http://127.0.0.1/galette/. Ouvrez simplement cette URL pour que le processus d’installation démarre.

Note

L’activation de modules PHP sous XAMPP se fait dans xampp/php/php.ini`. La plupart des extensions requises sont déjà présentes, mais sont commentées (la ligne commence par un « ; »), dé-commentez les simplement et relancez XAMPP.

L’extension openssl est absente du fichier, pour l’activer, ajoutez simplement ceci à votre php.ini : extension=php_openssl.dll