Установка Chevereto на Ubuntu 16.04
Chevereto — свободный скрипт для размещения изображений на собственном сервере. В этой инструкции показано, как установить Chevereto (Free) на Ubuntu 16.04 с Apache, PHP 7.0 и MariaDB: подготовьте систему, установите LAMP, настройте базу данных, Apache vhost, права, файлы конфигурации Chevereto и откройте порт 80 в UFW. В конце — рекомендации по безопасности, резервному копированию и альтернативные варианты развертывания.
Важно: пример использует PHP 7.0 и Ubuntu 16.04, которые уже устарели; для новых систем используйте соответствующие версии PHP и пакетов.
Что такое Chevereto и ключевые термины
- Chevereto — PHP-скрипт для создания собственного сервиса хостинга изображений. Есть Free и Paid версии; платная включает расширенные функции (хранилища, баннеры, социальный вход и др.).
- LAMP — набор: Linux + Apache + MariaDB (MySQL) + PHP. Простая платформа для PHP-приложений.
- MariaDB — форк MySQL, используется как СУБД для хранения данных.
Требования
- Сервер с Ubuntu 16.04.
- Непользователь root с sudo-привилегиями.
- Доступ в интернет для загрузки пакетов и архива Chevereto.
Подготовка системы
Перед началом обновите пакеты и установите утилиты:
sudo apt-get update -y
sudo apt-get upgrade -yПерезагрузите систему, если ядро или важные пакеты были обновлены.
Установите утилиты:
sudo apt-get install wget nano curl git -yВажно: если у вас защищённый сервер, выполняйте эти команды под контролируемой сессией и делайте резервные копии конфигураций.
Установка LAMP (Apache, PHP, MariaDB)
Chevereto совместим с Apache и PHP; для простоты мы устанавливаем набор пакетов, указанных в оригинале. Выполните:
sudo apt-get install apache2 libapache2-mod-php7.0 mariadb-server mariadb-client php7.0 php7.0-mysql php7.0-dom php7.0-gd php7.0-mbstring php7.0-common bc php7.0-bcmath -yЗапустите и включите службы:
systemctl start apache2
systemctl enable apache2
systemctl start mysql
systemctl enable mysqlНастройте временную зону в php.ini. Откройте файл редактором:
sudo nano /etc/php/7.0/cli/php.iniНайдите строку date.timezone и укажите вашу зону, например для Москвы:
date.timezone = Europe/MoscowСохраните и закройте файл.
Примечание: если вы используете PHP-FPM или другие sapi, отредактируйте соответствующий php.ini (например, /etc/php/7.0/apache2/php.ini).
Настройка MariaDB для Chevereto
Защитите установку MariaDB:
mysql_secure_installationРекомендуем установить root-пароль и ответить утилите утвердительно на большинство вопросов, чтобы удалить анонимных пользователей и тестовую базу. Пример ответов (рекомендация):
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] YЕсли MariaDB настроена на аутентификацию через unix_socket (по умолчанию в некоторых дистрибутивах), учтите это при подключении.
Создайте базу данных и пользователя для Chevereto:
- Войдите в MariaDB shell:
mysql -u root -p- Создайте базу и пользователя (замените пароль надёжным):
CREATE DATABASE cheveretodb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON cheveretodb.* TO 'chevereto'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;Важно: замените ‘password’ на сложный пароль и храните его в безопасном менеджере паролей.
Загрузка и установка Chevereto
Скачайте релиз Free (пример из источника):
wget https://github.com/Chevereto/Chevereto-Free/archive/1.0.9.tar.gzРаспакуйте архив:
tar -xvzf 1.0.9.tar.gzПереместите директорию в корень веб-сервера:
sudo mv Chevereto-Free-1.0.9 /var/www/html/cheveretoСоздайте файл настроек приложения и укажите параметры доступа к БД. Перейдите в директорию приложения и отредактируйте файл:
cd /var/www/html/chevereto
sudo nano app/settings.phpДобавьте следующие строки (замените значения на ваши):
Сохраните файл.
Установите права и владельца. Исходный пример использует 777, но это небезопасно. Безопаснее дать права веб-серверу и минимальные необходимые разрешения:
sudo chown -R www-data:www-data /var/www/html/chevereto
sudo find /var/www/html/chevereto -type d -exec chmod 755 {} \;
sudo find /var/www/html/chevereto -type f -exec chmod 644 {} \;Если приложение требует записи в конкретные папки (например, uploads, cache), выставьте для них 775 или 770 по необходимости.
Важно: не используйте 777 на продакшн-сервере.
Конфигурация Apache для Chevereto
Создайте виртуальный хост:
sudo nano /etc/apache2/sites-available/chevereto.confПример конфигурации (обновлённый для современных версий Apache):
ServerAdmin admin@example.com
DocumentRoot /var/www/html/chevereto/
ServerName example.com
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
Require all granted
ErrorLog /var/log/apache2/chevereto-error_log
CustomLog /var/log/apache2/chevereto-access_log common
Сохраните файл, затем включите сайт и модуль rewrite (если ещё не включён):
sudo a2ensite chevereto
sudo a2enmod rewrite
sudo systemctl restart apache2Оригинальная конфигурация с директивами Order/Allow устарела в новых версиях Apache. Если вы используете Apache 2.2, оставьте оригинальные строки; для Apache 2.4 используйте Require all granted.
Настройка брандмауэра (UFW)
Разрешите HTTP-трафик (порт 80) и, при необходимости, HTTPS (443):
sudo ufw enable
sudo ufw allow 80
sudo ufw allow 443
sudo ufw reloadПроверьте статус:
sudo ufw status verboseЕсли сервер доступен только по внутренней сети, настройте правила более строго.
Доступ к веб-интерфейсу установки
Откройте в браузере http://example.com и следуйте мастеру установки Chevereto.
На странице конфигурации базы данных введите:
Database host : localhost
Database name : cheveretodb
Database user : chevereto
Database user password : passwordНа странице создания администратора укажите учётные данные администратора:
Admin username : admin
Admin email : admin@example.com
Admin password : password
From email address : admin@example.com
Incoming email address : admin@example.comНажмите Install Chevereto и затем переходите в панель администратора.
Важно: не используйте на продакшне простые пароли, приведённые для примера.
Дополнительные рекомендации по безопасности
- HTTPS: установите TLS через Let’s Encrypt. Пример с certbot для Apache:
sudo apt-get install certbot python-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.com- Права файлов: минимально необходимые права для папок с записью (uploads, cache).
- Отключите показ ошибок PHP на продакшне (display_errors = Off).
- Регулярно обновляйте систему и PHP-пакеты. Ubuntu 16.04 и PHP 7.0 больше не получают обновления, рассмотрите обновление ОС.
Резервное копирование и восстановление
Рекомендуется иметь регулярные бэкапы:
- Файлы приложения: /var/www/html/chevereto
- База данных: дамп MariaDB
Пример бэкапа БД:
mysqldump -u root -p cheveretodb > cheveretodb-$(date +%F).sqlВосстановление:
mysql -u root -p cheveretodb < cheveretodb-YYYY-MM-DD.sqlХраните бэкапы вне сервера (S3, удалённый NFS, rsync на другой хост).
Альтернативные подходы
- Nginx вместо Apache: можно развернуть Chevereto под Nginx + php-fpm. Nginx даёт более высокую производительность при больших нагрузках.
- Docker: контейнеризация упрощает переносимость. Официальных образов Chevereto может не быть, но можно собрать собственный Dockerfile с PHP и nginx/apache.
- Обновление до более новой Ubuntu (18.04/20.04/22.04) и PHP 7.4/8.0 — рекомендуется для безопасности.
Советы по миграции на более новые версии
- Экспортируйте базу и файлы.
- Разверните новый сервер с Ubuntu 20.04/22.04 и актуальной версией PHP.
- Импортируйте БД и права доступа, протестируйте работу на тестовой подсети.
Роль‑ориентированные контрольные списки
Администратор системы:
- Обновить пакеты и ядро.
- Настроить бэкапы и мониторинг диска.
- Настроить брандмауэр и TLS.
DevOps / Разработчик:
- Проверить логи Apache и PHP.
- Настроить CI/CD для деплоя тем и модулей.
Контент‑менеджер / Администратор сайта:
- Настроить политики загрузки (макс. размер, типы файлов).
- Проверить права папок uploads.
Критерии приёмки
- Веб-интерфейс установки доступен по указанному домену.
- Мастер установки успешно создаёт таблицы в базе данных.
- Административный логин работает и ведёт в панель управления.
- Загрузка изображений проходит без ошибок и файлы сохраняются в указанной папке.
- HTTPS корректно настроен (если применимо).
Тесты и приёмочные случаи
- Загрузка изображения 10 МБ в допустимом формате — должен пройти.
- Попытка загрузки запрещённого формата — должна вернуться ошибка.
- Проверить работу превью изображений и удаление.
- Создать альбомы и проверить права доступа.
Отказоустойчивость и когда это не подойдёт
- Chevereto рассчитан на отдельный веб‑сервер. Для крупномасштабных систем потребуется горизонтальная масштабируемость (CDN, S3, несколько веб‑серверов).
- Free‑версия ограничена по функционалу; если нужны соц‑вход, платёжные функции и расширенная поддержка, рассмотрите платную версию или альтернативы (например, медиа‑CMS).
Отладка: полезные команды
- Просмотр логов Apache:
sudo tail -n 200 /var/log/apache2/chevereto-error_log
sudo tail -n 200 /var/log/apache2/chevereto-access_log- Проверка статуса служб:
systemctl status apache2
systemctl status mysql- Проверка прав папок:
ls -la /var/www/html/cheveretoЧастые проблемы и решения
- 500 Internal Server Error: проверьте права файлов и логи Apache/PHP.
- Невозможно подключиться к БД: проверьте параметры в app/settings.php и попробуйте подключиться из командной строки: mysql -u chevereto -p -h localhost cheveretodb
- 403 Forbidden: проверьте директивы
и права (/var/www/html/chevereto должна быть доступна для www-data).
Короткое объявление (для рассылки, 100–200 слов)
Chevereto — простой способ запустить собственный хостинг изображений. В руководстве показана пошаговая установка Chevereto Free на Ubuntu 16.04: подготовка системы, установка LAMP (Apache, PHP 7.0, MariaDB), создание базы данных, настройка виртуального хоста Apache и базовой безопасности (UFW, права, резервное копирование). В конце представлены рекомендации по безопасности, варианты развертывания на Nginx и Docker, а также чек-листы для sysadmin и DevOps. Обратите внимание: Ubuntu 16.04 и PHP 7.0 устарели — планируйте миграцию на современные версии для повышения безопасности.
Заключение
Вы успешно установили Chevereto на Ubuntu 16.04 и настроили основные компоненты: веб‑сервер, базу данных и приложение. Следующие шаги — настроить HTTPS, автоматические бэкапы, жёсткие права доступа и мониторинг. Если нужны инструкции по Nginx, Docker или обновлению до новой версии Ubuntu/PHP — я подготовлю отдельное руководство.
Краткое резюме и важное напоминание ниже.
Важно
- Не используйте простые пароли в production.
- Избегайте chmod 777; давайте минимальные привилегии.
- Планируйте обновление ОС и PHP, так как Ubuntu 16.04 и PHP 7.0 больше не получают обновлений безопасности.
Краткое резюме
- Установите LAMP, настройте MariaDB и создайте БД.
- Скачайте Chevereto и настройте app/settings.php.
- Настройте виртуальный хост Apache и UFW.
- Настройте HTTPS и разверните бэкапы.
Если хотите, я могу подготовить:
- Dockerfile и docker-compose для Chevereto;
- Инструкцию по миграции на Ubuntu 22.04 и PHP 8.0;
- Шаблоны резервного копирования и cron-задачи.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента