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
После завершения установки выполните приведенную ниже команду, чтобы проверить состояние службы Apache. Вы увидите, что веб-сервер Apache запущен и включен.
sudo systemctl is-enabled apache2 sudo systemctl status apache2
Теперь проверьте сервер MariaDB с помощью следующей команды. Сервер MariaDB должен быть запущен и включен автоматически в вашей системе.
sudo systemctl is-enabled mariadb sudo systemctl status mariadb
И наконец, проверьте версию PHP с помощью следующей команды – Вы видите, что установлен PHP 8.3.
php -v php -m
Настройка 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
Защита 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, чтобы продолжить установку.
Убедитесь, что все расширения PHP установлены и модуль Apache ‘rewrite’ включен в вашей системе.
Убедитесь, что PHP может читать, писать и выполнять в некоторых из этих каталогов.
Проверьте файл ‘.env’ в вашем экране и убедитесь, что ваше доменное имя и данные MariaDB верны.
Теперь программа установки сгенерирует ключ приложения для Lychee.
Введите пользователя admin, адрес электронной почты и пароль. Установка Lychee должна быть завершена.
На главной странице Lychee нажмите на приглашение войти в систему, а затем введите пользователя и пароль администратора.
Ниже показана панель пользователя Lychee после загрузки нескольких изображений на сервер Lychee.
Заключение
Поздравляем! Вы завершили установку Lychee Photo Management на сервер Debian 12 со стеком LAMP (Linux, Apache, MariaDB и PHP). Вы также обеспечили безопасность Lychee с помощью HTTPS через Certbot и Letsnencyrpt.