Установка Osclass с Nginx и Let's Encrypt на Ubuntu 20.04

О чем эта инструкция
Osclass — бесплатное, с открытым исходным кодом и простое в использовании приложение для создания сайтов объявлений на собственном сервере. В руководстве описаны установка стека LEMP, создание базы данных, установка Osclass, настройка виртуального хоста в Nginx и получение SSL-сертификата через Let’s Encrypt. В конце — чеклисты, критерии приёмки, варианты развертывания и рекомендации по безопасности.
Что вам понадобится
- Сервер с Ubuntu 20.04.
- Действующий домен, указывающий на IP сервера.
- Доступ с правами root или пользователь с sudo.
Шаг 1 — Установка стека LEMP
Установите Nginx, MariaDB, PHP 7.4 и необходимые расширения командой:
apt-get install nginx mariadb-server php7.4 php7.4-cli php7.4-fpm php7.4-common php7.4-mysql php7.4-gd php7.4-xml curl gnupg2 unzip -yПосле установки убедитесь, что служба nginx запущена, а PHP-FPM ожидает подключения:
systemctl status nginx
systemctl status php7.4-fpmВажно: если вы используете другую версию PHP, замените php7.4 на вашу версию в командах и конфигурациях.
Шаг 2 — Создание базы данных для Osclass
Войдите в MariaDB и создайте базу данных и пользователя:
mysqlВ shell MariaDB выполните:
CREATE DATABASE osclass;
GRANT ALL PRIVILEGES ON osclass.* TO 'osclass'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;Замените ‘password’ на надёжный пароль. Помните: хранить пароли в открытом виде в документации небезопасно — используйте менеджер паролей.
Шаг 3 — Скачивание Osclass
Загрузите релиз Osclass из репозитория и распакуйте в корневую папку веб-сервера:
wget https://github.com/Dis555/Osclass/releases/download/4.2.0/Osclass-Evolution4.2.0.zip
unzip Osclass-Evolution4.2.0.zip -d /var/www/html/osclassУстановите владельца и права:
chown -R www-data:www-data /var/www/html/osclass
chmod -R 755 /var/www/html/osclassВажно: убедитесь, что путь /var/www/html/osclass соответствует вашей конфигурации Nginx.
Шаг 4 — Конфигурация Nginx для Osclass
Создайте виртуальный хост:
nano /etc/nginx/sites-available/osclass.confДобавьте конфигурацию (подставьте ваш server_name):
server {
listen 80;
listen [::]:80;
server_name osclass.linuxbuz.com;
root /var/www/html/osclass;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # Check this
}
}Активируйте сайт, проверьте конфигурацию и перезапустите Nginx:
ln -s /etc/nginx/sites-available/osclass.conf /etc/nginx/sites-enabled/
nginx -t
systemctl restart nginx
systemctl status nginxПримечание: если fastcgi_pass указывает на другой сокет (например, php8.0), скорректируйте путь.
Шаг 5 — Защита сайта с помощью Let’s Encrypt
Установите Certbot для автоматического получения сертификата:
apt-get install python3-certbot-nginx -yЗапустите Certbot для домена:
certbot --nginx -d osclass.linuxbuz.comСледуйте подсказкам: введите email, согласитесь с условиями, при необходимости выберите перенаправление HTTP на HTTPS (рекомендуется выбрать редирект).
После успешной установки вы увидите путь к сертификатам:
/etc/letsencrypt/live/osclass.linuxbuz.com/fullchain.pem
/etc/letsencrypt/live/osclass.linuxbuz.com/privkey.pemВажно: автоматическое продление сертификатов выполняется через cron/systemd. Проверить ручной запуск можно командой:
certbot renew --dry-runШаг 6 — Доступ к установщику Osclass
Откройте браузер и перейдите по адресу https://osclass.linuxbuz.com. Вы будете перенаправлены на страницу установки.

Нажмите кнопку INSTALL, затем проверьте требования и нажмите RUN THE INSTALL.

Заполните данные базы данных (имя базы, пользователь, пароль) и продолжите.

Создайте админ-пользователя (логин, пароль, email) и завершите установку.

После успешной установки нажмите FINISH AND GO TO THE ADMINISTRATION PANEL и войдите в панель администратора.



Критерии приёмки
- Сайт доступен по HTTPS и корректно перенаправляет HTTP на HTTPS (при выбранном редиректе).
- Страница установки отображается без ошибок PHP.
- Имеется соединение с базой данных, и установка завершается успешно.
- В админке можно войти под созданным аккаунтом и увидеть панель управления.
Чеклист после установки
- Установить надёжные права доступа к файлам и каталогам.
- Отключить демонстрационные/отладочные плагины и примеры.
- Настроить регулярное резервное копирование файлов и БД.
- Проверить автоматическое продление сертификатов certbot renew.
- Настроить мониторинг и оповещения (задачи, служба nginx, свободное место).
Тестовые сценарии и приёмка
- Выполнить регистрацию обычного пользователя и размещение объявления.
- Проверить загрузку изображений и отображение в карточке объявления.
- Проверить поиск и фильтрацию по категориям.
- Протестировать восстановление из резервной копии (файлы + дамп БД).
Варианты развертывания и альтернативные подходы
- Apache вместо Nginx: можно использовать LAMP (Apache+MariaDB+PHP). Конфигурация virtualhost будет отличаться.
- Docker: разворачивать Osclass в контейнере (php-fpm + nginx + mariadb в docker-compose) удобно для изоляции и переноса.
- Managed-хостинг: использовать хостинг с поддержкой PHP, если нет опыта администрирования серверов.
Когда инструкция может не сработать
- Домен не указывает на сервер (DNS неправильно настроен).
- Порт 80/443 заблокирован фаерволом или провайдером.
- Поддерживаемая версия PHP несовместима с Osclass (убедитесь в совместимости версии PHP и расширений).
- Проблемы с правами на файловой системе (nginx/www-data не имеет доступа).
Рекомендации по безопасности и жёсткая конфигурация
- Держите PHP и зависимости обновлёнными; регулярно применяйте security-обновления.
- Отключите ненужные PHP-модули.
- Ограничьте доступ к панели администратора по IP (если возможно) или включите двухфакторную аутентификацию, если доступна.
- Настройте защиту от брутфорса (fail2ban) для SSH и веб-служб.
- Не храните резервные копии с открытыми ключами и паролями в общедоступных местах.
- Переопределите директивы SSL в Nginx для жёсткого шифрования (TLS 1.2+, современные шифры).
Пример дополнительных строк в конфигурацию ssl в nginx:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-...';
ssl_session_cache shared:SSL:10m;(Подставьте безопасный набор шифров по вашей политике.)
Автопродление сертификатов и резервное копирование
- Certbot обычно добавляет задачу в cron/systemd для автоматического продления. Регулярно проверяйте:
certbot renew --dry-run- Настройте ежедневные или еженедельные резервные копии базы данных и папки uploads. Пример простого дампа БД:
mysqldump -u osclass -p'password' osclass > /root/backups/osclass-$(date +%F).sqlРоли и ответственность (коротко)
- Администратор сервера (DevOps): установка Nginx, PHP, MariaDB; настройка SSL; бэкапы и мониторинг.
- Владелец сайта: создание контента, настройка категорий, модерация объявлений.
- Безопасность/Compliance: проверка прав доступа, аудит логов, регулярное тестирование восстановления.
Короткая методология развёртывания (минимум шагов)
- Подготовка сервера и DNS.
- Установка LEMP и зависимостей.
- Создание БД и пользователя.
- Размещение файлов Osclass и права файлов.
- Настройка Nginx и тестирование.
- Получение SSL и финальные проверки.
Краткий словарь терминов
- LEMP — Nginx + MariaDB/MySQL + PHP.
- Certbot — клиент для работы с Let’s Encrypt.
- PHP-FPM — менеджер процессов PHP, используемый с Nginx.
Частые ошибки и способы исправления
- nginx -t сообщает об ошибке: проверьте синтаксис и пути к сокету PHP-FPM.
- Ошибка соединения с БД в установщике: проверьте host, user, пароль и права доступа пользователя в MariaDB.
- Ошибка получения сертификата: проверьте доступ по HTTP к домену (порта 80) и корректность DNS-записи.
Важно: не оставляйте стандартные пароли в конфигурации и базе данных.
Заключение
В этом руководстве вы узнали, как установить Osclass на Ubuntu 20.04 с Nginx и Let’s Encrypt: подготовили сервер, настроили базу данных, установили файлы приложения, настроили виртуальный хост и получили SSL. После установки следуйте чеклисту по безопасности и настройте резервное копирование.
Резюме:
- Установите LEMP и нужные PHP-модули.
- Создайте базу и пользователя MariaDB.
- Разверните файлы Osclass и настройте права.
- Настройте Nginx и получите сертификат через Certbot.
Спасибо — теперь вы можете безопасно запустить собственный сайт объявлений на Osclass.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента