Підготування¶
Ви повинні виконати деякі кроки з підготування до встановлення 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.
Після того, як джерельний код було відновлено локально, використовуйте команду 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