Как установить систему управления фотографиями Lychee на Debian 12

Lychee – это программное обеспечение для управления фотографиями с открытым исходным кодом, основанное на PHP и MySQL. Это самостоятельная система управления фотографиями, которая позволяет вам загружать, просматривать и делиться фотографиями в безопасном режиме на вашем сервере.

В этом руководстве вы узнаете, как установить Lychee Photo Management на сервер Debian 12. Вы будете использовать стек LAMP для работы Lychee и защищать Lychee с помощью HTTPS через Certbot и Letsencrypt.

Установка зависимостей

В этом разделе вы установите стек LAMP (Linux, Apache, MariaDB и PHP) на сервер Debian. На данный момент Lychee поддерживает PHP 8.2 или выше, который по умолчанию доступен в репозитории Debian.

Сначала выполните приведенную ниже команду, чтобы обновить индекс пакетов Ubuntu.

sudo apt update

обновить репо

Теперь установите пакеты LAMP Stack на вашу систему Debian с помощью следующей команды. Введите ‘Y‘, чтобы подтвердить установку.

sudo apt install apache2 mariadb-server php-cli php-intl php-xmlrpc php-soap php-mysql php-zip php-gd php-tidy php-mbstring php-curl php-xml php-pear php-bcmath php-imagick php-tokenizer libapache2-mod-php

установить deps

После завершения установки выполните приведенную ниже команду, чтобы проверить состояние службы Apache. Вы увидите, что веб-сервер Apache запущен и включен.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

проверить apache2

Теперь проверьте сервер MariaDB с помощью следующей команды. Сервер MariaDB должен быть запущен и включен автоматически в вашей системе.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

проверить mariadb

И наконец, проверьте версию PHP с помощью следующей команды – Вы видите, что установлен PHP 8.3.

php -v
php -m

проверить версию php

Настройка PHP

После установки зависимостей вы настроите PHP, отредактировав файл ‘php.ini’ и перезапустив веб-сервер Apache, чтобы он вступил в силу.

Откройте файл ‘/etc/php/8.3/apache2/php.ini‘ с помощью ‘nano‘ редактор.

sudo nano /etc/php/8.3/apache2/php.ini

Измените конфигурацию по умолчанию следующим образом – Убедитесь, что настроили ‘memory_limit‘ и ‘дата.часовой пояс‘ параметры соответственно.

date.timezone = Europe/Amsterdam
memory_limit = 256M

upload_max_filesize = 64MB
post_max_size = 64MB

После завершения сохраните файл и выйдите из редактора.

Теперь запустите программу ‘systemctl‘ команда ниже, чтобы перезапустить веб-сервер Apache и применить изменения.

sudo systemctl restart apache2

Настройка сервера MariaDB

Настроив PHP, вы обеспечите безопасность сервера MariaDB с помощью ‘mariadb-secure-installation’ команда. Затем создаем новую базу данных и пользователя, который будет использоваться для Lychee, с помощью команды ‘mariadb‘ клиент.

Выполните ‘mariadb-secure-installation‘ команду ниже, чтобы настроить ваш сервер MariaDB.

sudo mariadb-secure-installation

Теперь вам будут предложены следующие конфигурации MariaDB:

  • Для установки сервера MariaDB по умолчанию без пароля root, нажмите ENTER, когда вас спросят о пароле.
  • Локальная аутентификация для пользователей MariaDB root по умолчанию защищена, введите ‘n’, когда вас попросят изменить метод аутентификации на ‘unix_socket’.
  • Введите ‘Y’, чтобы создать новый пароль для корневого пользователя MariaDB. Затем введите надежный пароль для корневого пользователя MariaDB и повторите.
  • Когда появится запрос на отключение удаленной аутентификации для корневого пользователя MariaDB, введите ‘Y’, чтобы согласиться.
  • Установка сервера MariaDB по умолчанию поставляется с базой данных ‘test’ и позволяет анонимному пользователю получить к ней доступ.
  • Введите ‘Y’ для обоих параметров, чтобы удалить базу данных по умолчанию ‘test’ и убрать привилегию анонимного пользователя.
  • И наконец, введите ‘Y’, чтобы подтвердить перезагрузку привилегий таблицы.

После того как MariaDB настроена и защищена, создайте новую базу данных и пользователя, которые будут использоваться при установке Lychee.

Войдите на сервер MariaDB под именем ‘mariadb‘ команда ниже. Введите пароль корня MariaDB, когда появится запрос.

sudo mariadb -u root -p

Теперь выполните следующие запросы для создания новой базы данных ‘личи‘ с пользователем ‘lycheeuser@localhost‘ и пароль ‘LycheePassword‘. При необходимости вы можете изменить детали базы данных.

CREATE DATABASE lychee;
GRANT ALL PRIVILEGES ON lychee. * TO lycheeuser@'localhost' IDENTIFIED BY 'LycheePassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;

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

Далее выполните приведенный ниже запрос, чтобы убедиться, что пользователь ‘lycheeuser@localhost‘ может получить доступ к базе данных ‘личи‘.

SHOW GRANTS FOR lycheeuser@localhost;

Если все прошло успешно, вы увидите следующий результат:

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

Наконец, введите ‘выйти‘, чтобы выйти из сервера MariaDB.

Загрузка Lychee Photo Management

Теперь, когда вы настроили PHP и MariaDB, загрузите исходный код Lychee и настройте директорию установки и файл ‘.env’.

Но сначала установите пакет ‘unzip’ в вашу систему Debian следующей командой.

sudo apt install unzip -y

Перейдите в раздел ‘/var/www‘ каталог и загрузите релиз исходного кода Lychee, используя ‘wget‘ команда ниже. Обязательно возьмите ссылку на последнюю версию со страницы релиза Lychee.

cd /var/www/
wget https://github.com/LycheeOrg/Lychee/releases/download/v5.5.1/Lychee.zip

После загрузки извлеките исходный код Lychee с помощью команды ‘разархивировать‘ команду ниже. Исходный код будет извлечен в папку ‘/var/www/Lychee‘ директория.

unzip Lychee.zip

Далее выполните следующую команду, чтобы изменить права собственности на каталог ‘/var/www/Lychee‘ директория для пользователя ‘www-data‘, и сделайте некоторые каталоги доступными для записи пользователю ‘www-data‘.

sudo chown -R www-data:www-data /var/www/Lychee
sudo chmod u+rw /var/www/Lychee/{storage,bootstrap/cache/,public/dist,public/uploads,public/sym}

Теперь выполните следующую команду, чтобы скопировать файл ‘.env‘ файл для Lychee и измените его с помощью ‘nano‘ редактор.

sudo -u www-data cp /var/www/Lychee/.env-example /var/www/Lychee/.env
sudo -u www-data nano /var/www/Lychee/.env

Изменить значение по умолчанию APP_URL с вашим доменным именем и конфигурацией базы данных с помощью ‘mysql‘ и данные вашей базы данных, как показано ниже:

# domain name
APP_URL=https://photo.local

# database to MariaDB/MySQL
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=lychee
DB_USERNAME=lycheeuser
DB_PASSWORD=LycheePassword

Сохраните файл и выйдите из редактора.

Создание виртуального хоста Apache

В этом разделе вы создадите новый файл виртуального хоста Apache для запуска Lychee Photo Management.

Сначала выполните приведенную ниже команду, чтобы активировать модуль ‘rewrite’.

sudo a2enmod rewrite

Теперь отредактируйте конфигурацию Apache ‘/etc/apache2/apache.conf‘ используя ‘nano‘.

sudo nano /etc/apache2/apache.conf

Добавьте в файл следующую конфигурацию. Это позволит вам настроить ‘.htaccess‘ для правил переписывания.

Options Indexes FollowSymLinks
AllowOverride All
Require all granted

Сохраните файл и выйдите из редактора.

Теперь создайте новую конфигурацию виртуального хоста Apache ‘/etc/apache2/sites-available/lychee.conf‘ с ‘nano‘ Команда редактора приведена ниже.

sudo nano /etc/apache2/sites-available/lychee.conf

Вставьте следующую конфигурацию и не забудьте изменить ‘ServerName‘ с именем целевого домена. Убедитесь, что оно совпадает с APP_URL в пределах ‘.env‘ файл.

ServerAdmin [email protected]
ServerName photo.local

DocumentRoot /var/www/Lychee/

ErrorLog /var/log/apache2/photo-local-error_log
CustomLog /var/log/apache2/photo-local-access_log common

После завершения сохраните и выйдите из файла.

Теперь выполните приведенную ниже команду, чтобы активировать файл виртуального хоста ‘lychee.conf‘ и проверьте синтаксис вашего Apache. Если у вас правильный синтаксис Apache, вы увидите вывод ‘Синтаксис в порядке‘.

sudo a2ensite lychee.conf
sudo apachectl configtest

Наконец, выполните следующую команду, чтобы перезапустить Apache и применить изменения.

sudo systemctl restart apache2

настройка apache

Защита Lychee с помощью HTTPS

Если вы запускаете Lychee на публичном доменном имени, обязательно защитите его с помощью HTTPS. В этом разделе вы установите Certbot и защитите Lychee с помощью SSL/TLS сертификатов от Letsencrypt.

Выполните приведенную ниже команду, чтобы установить Certbot и плагин для Apache.

sudo apt install certbot python3-certbot-apache -y

После завершения установки выполните следующую команду ‘certbot‘, чтобы сгенерировать новые SSL/TLS сертификаты для установки Lychee. Обязательно измените доменное имя и адрес электронной почты в этой команде.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d photo.local

После завершения процесса установка Lychee должна быть защищена HTTPS, а сертификаты SSL/TLS будут доступны в каталоге ‘/etc/letsencrypt/live/domain.com’.

Установка Lychee Photo Management

Зайдите в доменное имя инсталляции Lychee, например https://photo.local/ используя предпочитаемый веб-браузер, вы увидите мастер установки Lyche.

Нажмите кнопку Next, чтобы продолжить установку.

установить lychee

Убедитесь, что все расширения PHP установлены и модуль Apache ‘rewrite’ включен в вашей системе.

проверка зависимостей

Убедитесь, что PHP может читать, писать и выполнять в некоторых из этих каталогов.

каталоги, доступные для записи

Проверьте файл ‘.env’ в вашем экране и убедитесь, что ваше доменное имя и данные MariaDB верны.

Файл .env

Теперь программа установки сгенерирует ключ приложения для Lychee.

сгенерированный ключ приложения

Введите пользователя admin, адрес электронной почты и пароль. Установка Lychee должна быть завершена.

создание логина администратора

На главной странице Lychee нажмите на приглашение войти в систему, а затем введите пользователя и пароль администратора.

вход в lychee

Ниже показана панель пользователя Lychee после загрузки нескольких изображений на сервер Lychee.

приборная панель Lychee

Заключение

Поздравляем! Вы завершили установку Lychee Photo Management на сервер Debian 12 со стеком LAMP (Linux, Apache, MariaDB и PHP). Вы также обеспечили безопасность Lychee с помощью HTTPS через Certbot и Letsnencyrpt.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *