Установка и настройка Shaarli на Ubuntu 24.04

Shaarli – это минималистичный, самохостируемый сервис для создания закладок и микроблогинга. Он позволяет сохранять, организовывать и делиться ссылками с тегами, описаниями и заметками. В этой статье мы подробно рассмотрим установку последней версии Shaarli на Ubuntu 24.04 с настройкой на нестандартный порт 8769.

📋 Что такое Shaarli и зачем он нужен?

Shaarli представляет собой альтернативу таким сервисам как Pocket, Delicious или Pinboard, но с важным отличием – вы полностью контролируете свои данные. Это идеальное решение для:

  • 📌 Сохранения важных ссылок и статей
  • 🏷️ Организации закладок с помощью тегов
  • 📝 Добавления личных заметок к ссылкам
  • 🔒 Контроля над своими данными
  • 📱 Доступа к закладкам с любого устройства
  • 🔄 Экспорта/импорта данных в различных форматах

🛠 Требования к системе

Перед началом установки убедитесь, что ваш сервер соответствует требованиям:

  • ОС: Ubuntu 24.04 LTS
  • Веб-сервер: Nginx
  • PHP: версия 8.3 или выше
  • Память: минимально 512MB RAM
  • Диск: 100MB свободного места (для начала)
  • Порт: 8769 (настраивается)

🔧 Пошаговая установка Shaarli

Шаг 1: Подготовка системы

Начнем с обновления пакетов и системы:

sudo apt update && sudo apt upgrade -y
💡 Рекомендуется выполнять обновление перед установкой любых новых пакетов для обеспечения безопасности и стабильности системы.

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

Установим все необходимые зависимости:

sudo apt install -y nginx php8.3-fpm php8.3-curl php8.3-gd php8.3-intl php8.3-mbstring php8.3-xml unzip wget rsync
📦 Пакет rsync необходим для удобного копирования файлов и резервного копирования данных.

Шаг 3: Создание рабочей директории

Создадим директорию для Shaarli и перейдем во временную папку:

sudo mkdir -p /var/www/shaarli
cd /tmp

Шаг 4: Загрузка и установка Shaarli v0.15.0

Скачаем последнюю стабильную версию с официального репозитория:

# Скачиваем конкретную версию v0.15.0
wget https://github.com/shaarli/Shaarli/releases/download/v0.15.0/shaarli-v0.15.0-full.zip

# Распаковываем архив
unzip shaarli-v0.15.0-full.zip

# Копируем файлы в рабочую директорию
sudo rsync -avP Shaarli/ /var/www/shaarli/

# Очищаем временные файлы
rm -rf Shaarli shaarli-v0.15.0-full.zip
🔍 Архив с суффиксом -full уже содержит все необходимые зависимости, что упрощает установку.

Шаг 5: Настройка прав доступа

Установим правильные права доступа для веб-сервера:

sudo chown -R www-data:www-data /var/www/shaarli
sudo chmod -R 755 /var/www/shaarli
sudo chmod -R 775 /var/www/shaarli/{cache/,data/,pagecache/,tmp/}
⚠️ Директории cache, data, pagecache и tmp должны быть доступны для записи веб-сервером для корректной работы Shaarli.

Шаг 6: Конфигурация Nginx на порт 8769

Создадим конфигурационный файл для Nginx:

sudo nano /etc/nginx/sites-available/shaarli

Вставим следующую конфигурацию:

server {
    listen 8769;
    root /var/www/shaarli;
    index index.php index.html;
    server_name _;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Активируем сайт и удалим стандартную конфигурацию:

sudo ln -sf /etc/nginx/sites-available/shaarli /etc/nginx/sites-enabled/
sudo rm -f /etc/nginx/sites-enabled/default

Откроем порт в фаерволе:

sudo ufw allow 8769

Пример URL доступа:

После настройки Shaarli будет доступен по адресу:

http://ваш_ip_адрес:8769

Например: http://192.168.1.100:8769

Шаг 7: Перезапуск сервисов

Перезапустим веб-сервер и PHP-FPM:

sudo systemctl restart nginx
sudo systemctl restart php8.3-fpm

Шаг 8: Завершение установки через веб-интерфейс

Откройте в браузере адрес вашего сервера:

http://ВАШ_IP_АДРЕС:8769

Выполните первоначальную настройку:

  • Login: ваш логин администратора
  • Password: надежный пароль
  • Page title: название вашего Shaarli
  • Timezone: ваш часовой пояс (например, Europe/Moscow)
  • Language: язык интерфейса

Нажмите кнопку Install для завершения установки.

💾 Резервное копирование и восстановление

Настройка автоматического резервного копирования

Создадим директорию для хранения бэкапов:

mkdir -p ~/backups

Выполним ручной бэкап данных:

rsync -avzP /var/www/shaarli/data ~/backups/shaarli-data-$(date +%Y-%m-%d_%H%M)

Настроим автоматическое резервное копирование через cron:

sudo crontab -e

Добавим строку для ежедневного бэкапа в 2:00 ночи:

0 2 * * * rsync -avzP /var/www/shaarli/data /home/ubuntu/backups/shaarli-data-$(date +\%Y-\%m-\%d_\%H\%M)

Восстановление данных на новом сервере

Метод 1: Через tar-архив

На исходном сервере создайте архив:

# Создание архива данных
sudo tar -czf shaarli-backup-$(date +%Y-%m-%d).tar.gz -C /var/www/shaarli data

# Скопируйте архив на новый сервер
scp shaarli-backup-*.tar.gz user@новый_сервер:/tmp/

На новом сервере восстановите данные:

# Остановите веб-сервер
sudo systemctl stop nginx

# Распакуйте бэкап
sudo tar -xzf /tmp/shaarli-backup-*.tar.gz -C /var/www/shaarli/

# Восстановите права доступа
sudo chown -R www-data:www-data /var/www/shaarli/data
sudo chmod -R 775 /var/www/shaarli/data

# Перезапустите сервисы
sudo systemctl start nginx
sudo systemctl start php8.3-fpm

Метод 2: Через rsync

С нового сервера выполните:

# Скопируйте данные с исходного сервера
rsync -avzP user@исходный_сервер:/var/www/shaarli/data/ /var/www/shaarli/data/

# Восстановите права доступа
sudo chown -R www-data:www-data /var/www/shaarli/data
sudo chmod -R 775 /var/www/shaarli/data

# Перезапустите сервисы
sudo systemctl restart nginx
sudo systemctl restart php8.3-fpm

🔄 Обновление Shaarli

Для обновления до новой версии выполните следующие команды:

cd /tmp
wget https://github.com/shaarli/Shaarli/releases/latest/download/shaarli-full.zip
unzip shaarli-full.zip
sudo rsync -avP Shaarli/ /var/www/shaarli/
sudo chown -R www-data:www-data /var/www/shaarli
sudo chmod -R 775 /var/www/shaarli/{cache/,data/,pagecache/,tmp/}
sudo systemctl restart php8.3-fpm nginx
🔐 Перед обновлением рекомендуется создать резервную копию данных!

✅ Проверка установки

После завершения всех шагов Shaarli будет доступен по адресу:

http://ВАШ_IP_АДРЕС:8769

Убедитесь, что:

  • ✅ Страница установки отображается корректно
  • ✅ Все поля формы доступны для заполнения
  • ✅ После установки открывается панель администратора
  • ✅ Можно добавить первую закладку

🛡️ Рекомендации по безопасности

  • 🔐 Настройте HTTPS с помощью Let’s Encrypt для шифрования соединения
  • 👥 Ограничьте доступ к админке через .htpasswd или IP-фильтрацию
  • 🔄 Регулярно обновляйте Shaarli до последней версии
  • 💾 Делайте регулярные резервные копии данных
  • 👁️ Мониторьте логи сервера на предмет подозрительной активности

🎉 Заключение

Shaarli – отличный выбор для тех, кто ценит простоту, конфиденциальность и контроль над своими данными. Установка на Ubuntu 24.04 с портом 8769 позволяет запустить сервис быстро и безопасно, а система резервного копирования обеспечивает надежность хранения ваших закладок.

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

Готово! Shaarli v0.15.0 установлен и готов к использованию по адресу:

http://ВАШ_IP_АДРЕС:8769