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:
|pasta| data/attachments,
|pasta| data/cache,
|pasta| data/exports,
|pasta| data/files,
|pasta| data/imports,
|pasta| data/logs,
|pasta| data/photos,
|pasta| data/tempimages,
|pasta| data/templates_c
- 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:
phpMyAdmin para MariaDB ;
phpPgAdmin ou PgAdmin for PostgreSQL.
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.
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.
Execute o arquivo xampp-control (você pode encontrá-lo em C:\xampp), para que possa iniciar os serviços Apache e MySQL.
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