1.Установка и настройка #

1.1.Требования #

  • Git
  • PHP: 7.0 и выше
  • PHP Composer
  • Расширения PHP: mbstring, xml, gd, zip, PDO
  • Функции PHP: pcntl_signal (только для работы обработчика через менеджер очередей)
  • Сервер базы данных:
    — MySQL 5.5 и выше
    — PostgreSQL 9.4 и выше
  • Сервисы кэширования:
    — Локальный диск
    — Memcached
    — Redis

1.2.Установка #

Выгружаем файлы из репозитория:

$ git clone https://github.com/pgallery/gallery.git

Устанавливаем необходимые компоненты:

$ cd gallery
$ composer install

Копируем конфигурационный файл из шаблона:

$ cp .env.example .env

Производим настройку конфигурационного файла.

По завершению создаем структуру базы данных и загружаем данные, необходимые для работы галереи:

$ ./artisan migrate
$ ./artisan db:seed

Создаем кэш роутов:

$ ./artisan route:cache

1.3.Обработчик #

Для ускорения работы галереи через браузер, все операции по обработке изображений (создание миниатюр и т.п.) происходят в фоновом режиме. Создано 2 варианта обработчика.

Обработчик через cron:

Необходимо прописать в crontab задание:

* * * * * /PATH/TO/artisan schedule:run >/dev/null 2>&1

Обработчик через менеджер очередей:

Необходимо запустить воркер:

/PATH/TO/artisan queue:work --queue=BuildImage,ArchivesClean

Если нет возможности запустить воркер в фоновом режиме, рекомендуется использовать обработчик через cron.

2.Установка без git #

Установка без git

php -r "readfile('https://getcomposer.org/installer');" > composer-setup.php
php composer-setup.php --install-dir=./bin --filename=composer
php -r "unlink('composer-setup.php');"
chmod +x ./bin/composer
wget https://github.com/pgallery/gallery/archive/master.zip
unzip master.zip
ln -s gallery-master/public public_html
cd gallery-master
~/bin/composer install

3.Настройка #

Ниже описаны лишь те параметры, которые нужны для запуска галереи. Для получения информации об остальных параметрах, рекомендую обратиться к официальной документации Laravel 5.

Базовые параметры:

APP_NAME — наименование приложения. Например: MyGallery.

APP_KEY — ключ приложения. Генерируется командой:

$ ./artisan key:generate

APP_URL — URL сайта

Параметры подключения к базе данных:

DB_CONNECTION — драйвер базы данных. mysql — для сервера MySQL, pgsql — для сервера PostgreSQL

DB_HOST — host на котором расположен сервер базы данных

DB_DATABASE — имя базы данных

DB_USERNAME — имя пользователя базы данных

DB_PASSWORD — пароль пользователя базы данных

 

3.1.Рекомендуемые параметры PHP #

  • max_execution_time: 360
  • max_file_uploads: 250
  • memory_limit: 256Mb
  • post_max_size: 256Mb
  • upload_max_filesize: 256Mb

4.Роли пользователей #

Роли пользователей

НаименованиеДоступ в админкуВозможности
adminДаВыполнение всех действий
moderatorДаЛишен возможностей управления группами и полного удаления объектов
operatorДаИмеет возможность управления собственными альбомами и изображениями (не реализовано)
viewerНетПросмотр с отображением скрытых альбомов (не реализовано)
guestНетТолько просмотр и скачивание архивов альбомов (выдается по умолчанию при регистрации)

5.Обновление #

Получаем изменения из репозитория:

$ git pull

Обновляем компоненты:

$ composer update

Выполняем миграцию изменений структуры базы данных:

$ ./artisan migrate

Сбрасываем кэши:

$ ./artisan route:clear
$ ./artisan cache:clear

Создаем кэш роутов:

$ ./artisan route:cache

6.Установка Docker #

7.Вспомогательные команды #

Вспомогательные команды предназначены для изменения данных по средствам их вызова в консоле сервера.

Включение и отключение использования обработчика очередей:

php artisan queues enabled

Редактирование пользователя:

php artisan usermod admin@example.com \
--email=new@email.com \
--password=NewMyPass \
--google2fa=disabled

admin@example.com — E-Mail пользователя, которому меняются данные.
—email — новый E-Mail.
—password — новый пароль.
—google2fa — включает/выключает (enabled/disabled соответственно) двухфакторную авторизацию.

Обязательным параметром является E-Mail пользователя. Остальные параметры указываются опционально.