Підготування¶
Ви повинні виконати деякі кроки з підготування до встановлення Galette. Це залежить від того, чого ви хочете досягти.
Дозволи на доступ до файлів¶
Попередження
Часто використовувана кмітлина полягає в наданні всіх прав всім рекурсивно на каталог (chmod 777
). Це дуже погана ідея з точки зору безпеки. Будь ласка, не використовуйте цю кмітлину, вас попередили ;)
Деякі каталоги Galette потребують певних прав. Застосункові потрібно буде записувати в деякі з них, ви повинні переконатися, що це буде можливо. Ось каталоги, які потребують доступу на запис:
config 1,
data/attachments,
data/cache,
data/exports,
data/files,
data/imports,
data/logs,
data/photos,
data/tempimages,
data/templates_c
- 1
доступ на запис у каталог
config
потрібен лише для встановлення Galette, ми порадимо вам видалити доступ до запису, щойно Galette буде встановлено :)
Створити базу даних¶
Примітка
Ніколи не використовуйте кореневого (root) користувача бази даних!
Задля безпеки настійно пораджено покладатися на конкретного користувача для бази даних Galette і надавати йому тільки запитуваний доступ до єдиної бази даних Galette.
Для прикладу ми використовуватимемо базу даних mygalette з користувачем mygaletteuser і 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
Ці команди можуть відрізнятися, будь ласка, зверніться до документації MariaDB чи PostgreSQL або використовуйте графічний засіб:
phpMyAdmin для MariaDB ;
phpPgAdmin чи PgAdmin для PostgreSQL.
Експозиція каталогу вебсервера¶
Нове в версії 0.9.
Встановлення Galette може складатися з копіювання повного каталогу до місця, яке веб-сервер може читати. Цей метод може працювати, але він відкриває веб-файли та каталоги, які не повинні бути доступні таким чином.
Обмежити це можна, виставляючи лише каталог webroot
. Усі інші каталоги є безпечнішими: неможливо зв’язатися з ними з вебсервера!
Попередження
Рекомендованим і єдиним захищеним способом є відкриття лише каталогу webroot
.
Використання субдомену¶
Ось приклад конфігурації віртуального хосту, включно з приховуванням 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>
Nginx буде:
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;
}
}
Використання псевдоніма¶
Альтернативна захищена конфігурація, якщо у вас немає конкретного субдомену для Galette, полягає у використанні псевдоніма
у вашому існуючому віртуальному хості:
<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>
Не забувайте, що з цим рішенням ви повинні правильно налаштувати свою директиву RewriteBase
.
Linux/Unix¶
Установлення Galette на Linux означає, що у вас є доступ до терміналу на сервері та необхідні списки контролю доступу в каталогах.
Як приклад, на Fedora, ви працюватимете (з кореневим доступом):
# cd /var/www/galette/
# chown -R apache:apache config data
На Debian, ми замінимо apache:apache
з www-data:www-data
.
У системах з підтримкою SELinux ми також додамо:
# 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/
Вам також доведеться дозволити вебсерверу під’єднуватися до мережі за допомогою логічного значення SELinux:
# setsebool httpd_can_network_connect on
FTP¶
Попередження
Деякі програми архівування або FTP можуть пошкоджувати файли … Радимо, якщо ви використовуєте Windows, використовувати 7zip для витягнення та`FileZilla <https://filezilla-project.org/>`_ для FTP передавань.
Після того, як джерельний код було відновлено локально, використовуйте команду tar xjvf galette.tar.bz2
під Linux / Unix / MacOS або графічний засіб під Windows.
Просто скопіюйте отриманий нестиснутий каталог та всі його підкаталоги та файли за допомогою вашого FTP-клієнта.

Конкретні випадки¶
Хостинг Ionos¶
Якщо ви розміщуєтеся на Ionos; і хочете використовувати спеціальний піддомен для Galette, ви повинні створити свій піддомен в їх інтерфейсі, і зробити його вказівним на каталог webroot
. Ви також повинні редагувати файл .htaccess
що це містить, та розкоментувати директиву RewriteBase /
.
Хостинг OVH¶
Цей хостинг пропонує змінити версію PHP, яку ви використовуєте з вашого облікового запису клієнта.
Додаткові відомості доступні тут: https://docs.ovh.com/fr/fr/web/hosting/configurer-le-php-sur-son-hebergement-web-mutu-2014/
Попередження
Багато користувачів стикаються з проблемами відображення зображень або списку розширень на хостах OVH. Розв’язанням цієї проблеми є створення файлу .ovhconfig
на вашому маршруті з наступним вмістом:
app.engine=phpcgi
Nginx¶
Конфігурація вебсервера Nginx відрізняється від Apache One (див. Документацію Nginx для більш повного пояснення).
Тому ви повинні перетворити файли обмеження доступу в конфігурації Nginx, як, наприклад:
location ~ /(data|config|lib)/ {
deny all;
}
Windows¶
Описане тут установлення міститься на XAMPP; інші способи установлення існують, але не перелічені тут.
Перш за все, завантажте XAMPP на своєму комп’ютері. Встановімо його в C:\xampp
.

Запустіть виконуваний файл xampp-control
(ви можете знайти його в C:\xampp
), таким чином, ви можете запустити служби Apache та MySQL.

Після того, як виконано ці кроки, завантажте Galette і перемістіть його у C:\wampp\htdocs\galette
, вебзастосунок буде доступний за посиланням http://127.0.0.1/galette/. Просто відвідайте цю URL-адресу, щоб почати процес установлення.
Примітка
Увімкнення модулів PHP під XAMPP виконується в xampp/php/php.ini
. Більшість необхідних розширень вже присутні, але закоментовані (рядок починається з «;»), просто розкоментуйте їх у коді та перезапустіть XAMPP.
Розширення openssl відсутнє у файлі, щоб задіяти його просто додайте до вашого php.ini: extension=php_openssl.dll