Preparação

É necessário seguir alguns passos preparatórios para a instalação da Galette. O método varia de acordo com o resultado desejado.

Permissões de arquivo

Aviso

Um truque comum é conceder todos os privilégios a todos os usuários recursivamente no diretório (chmod 777). Isso é uma péssima ideia do ponto de vista da segurança. Por favor, não use esse truque, você foi avisado ;)

Alguns diretórios do Galette exigem permissões específicas. O aplicativo precisará escrever em alguns deles, portanto, você deve garantir que isso seja possível. Aqui estão os diretórios que precisam de acesso de escrita:

1

A permissão de escrita no diretório config é necessária apenas para a instalação do Galette. Recomendamos que você remova essa permissão assim que o Galette estiver instalado. :)

Criar banco de dados

Nota

Nunca use o usuário root do banco de dados!

Por motivos de segurança, é altamente recomendável utilizar um usuário específico para o banco de dados Galette e conceder a ele apenas o acesso necessário a esse banco de dados.

Para o exemplo, usaremos um banco de dados chamado mygalette com um usuário mygaletteuser e a senha mypass.

  • MariaDB

    $ mysql -u root -p
    mysql> CREATE DATABASE mygalette;
    mysql> GRANT ALL ON magalette.* to
        ->'mygaletteuser'@'localhost' IDENTIFIED BY 'mypass';
    
  • PostgreSQL

    $ sudo su - postgres
    $ createuser -P mygaletteuser
    $ createdb -O mygaletteuser mygalette
    

Esses comandos podem variar; consulte a documentação do MariaDB <https://mariadb.com/kb/en/library/documentation/> ou do PostgreSQL <https://docs.postgresqlfr.org>, ou utilize uma ferramenta gráfica:

Exposição do diretório do servidor web

Novo na versão 0.9.

A instalação do Galette pode consistir em copiar um diretório inteiro para um local que o servidor web possa ler. Esse método pode funcionar, mas expõe da web arquivos e diretórios que não deveriam estar disponíveis dessa forma.

É possível limitar isso expondo apenas o diretório webroot. Todos os outros diretórios ficam mais seguros: não é possível acessá-los a partir do servidor web!

Aviso

Expor apenas o diretório webroot é a forma recomendada e a única segura.

Usando um subdomínio

Aqui está um exemplo de configuração de host virtual, incluindo a ocultação do arquivo 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
        #rewriting in a .htaccess file for example.
        #RewriteBase /
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ index.php [QSA,L]
    </Directory>
</VirtualHost>

O Nginx seria:

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

Usando um alias

Uma configuração alternativa segura, caso você não possua um subdomínio específico para Galette, é utilizar um alias em seu host 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>

Não se esqueça que, com essa solução, você precisa configurar corretamente a sua diretiva RewriteBase.

Linux/Unix

A instalação do Galette no Linux pressupõe que você tenha acesso ao terminal no servidor e às ACLs necessárias nos diretórios.

Por exemplo, no Fedora, você executará (como root):

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

No Debian (https://debian.org/), substituiremos apache:apache por www-data:www-data.

Em sistemas com SELinux ativado, também adicionaremos:

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

Você também precisará autorizar o servidor web a se conectar à rede, com um parâmetro booleano do SELinux:

# setsebool httpd_can_network_connect on

FTP

Aviso

Alguns softwares de arquivamento ou FTP podem corromper arquivos… É altamente recomendável, caso utilize o Windows, que use o 7-Zip <https://www.7-zip.fr> para descompactar e o FileZilla <https://filezilla-project.org/> para transferências FTP.

Após obter o código-fonte localmente, use o comando :samp: tar xjvf {galette.tar.bz2} no Linux/Unix/MacOS ou uma ferramenta gráfica no Windows.

Basta copiar o diretório descompactado obtido, juntamente com todos os seus subdiretórios e arquivos, utilizando seu cliente FTP.

../_images/filezilla.jpg

Casos específicos

Nome de uma empresa de hospedagem web

Se você estiver hospedado na Ionos e quiser usar um subdomínio específico para o Galette, você deve criar seu subdomínio na interface do usuário deles e configurá-lo para apontar para o diretório webroot. Você também precisa editar o arquivo .htaccess que ele contém e remover o comentário da diretiva RewriteBase /.

OVH

Esta empresa de hospedagem oferece a opção de alterar a versão do PHP que você usa na sua conta de cliente.

Informações adicionais estão disponíveis em: https://docs.ovh.com/fr/fr/web/hosting/configurer-le-php-sur-son-hebergement-web-mutu-2014/

Aviso

Muitos usuários têm problemas com a exibição de imagens ou com a lista de presença em servidores da OVH. A solução para esse problema é criar um arquivo .ovhconfig na raiz do seu servidor com o seguinte conteúdo:

app.engine=phpcgi

Nginx

A configuração do servidor web Nginx é diferente da do Apache (consulte a documentação do Nginx para uma explicação mais completa).

Portanto, você precisa converter os arquivos de restrição de acesso na configuração do Nginx, como por exemplo:

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

Windows

A instalação descrita aqui depende do XAMPP; existem outros métodos de instalação, mas não estão listados aqui.

Primeiramente, baixe o XAMPP no seu computador. Vamos instalá-lo em C:\xampp.

../_images/xampp_directory.jpg

Execute o arquivo xampp-control (você pode encontrá-lo em C:\xampp), para que possa iniciar os serviços Apache e MySQL.

../_images/xampp_control.jpg

Após concluir esses passos, baixe o aplicativo Galette e mova-o para C:\wampp\htdocs\galette. O aplicativo web estará disponível em http://127.0.0.1/galette/. Basta acessar este endereço para iniciar o processo de instalação.

Nota

A ativação dos módulos PHP no XAMPP é feita no arquivo xampp/php/php.ini. A maioria das extensões necessárias já está presente, porém comentada (a linha começa com um “;”), basta descomentá-las e reiniciar o XAMPP.

A extensão openssl está faltando no arquivo. Para ativá-la, basta adicionar o seguinte ao seu arquivo php.ini: extension=php_openssl.dll