Підготування

Ви повинні виконати деякі кроки з підготування до встановлення 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 або використовуйте графічний засіб:

Експозиція каталогу вебсервера

Нове в версії 0.9.

Galette installation may consists in copying a complete directory to a location the web server can read. This method may work, but this exposes from the web files and directories that should not be available this way.

Обмежити це можна, виставляючи лише каталог webroot. Усі інші каталоги є безпечнішими: неможливо зв’язатися з ними з вебсервера!

Попередження

Exposing only webroot directory is the recommended, and only secured way.

Using a subdomain

Ось приклад конфігурації віртуального хосту, включно з приховуванням 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;
    }
}

Using an alias

An alternative secured configuration, if you do not have a specific subdomain for Galette is to use an alias in your existing virtual host:

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

Do not forget with that solution you have to setup correctly your RewriteBase directive.

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 передавань.

Після того, як джерельний код було відновлено локально, використовуйте команду :samp:`tar xjvf {galette.tar.bz2}`під Linux / Unix / MacOS або графічний засіб під Windows.

Просто скопіюйте отриманий нестиснутий каталог та всі його підкаталоги та файли за допомогою вашого FTP-клієнта.

../_images/filezilla.jpg

Конкретні випадки

Хостинг 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.

../_images/xampp_directory.jpg

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

../_images/xampp_control.jpg

Після того, як виконано ці кроки, завантажте 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