Гид по технологиям

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

• 6 min read • DevOps • Обновлено 24 Nov 2025
Установка Osclass на Ubuntu 20.04 с Nginx и SSL
Установка Osclass на Ubuntu 20.04 с Nginx и SSL

Скриншот начальной страницы Osclass

О чем эта инструкция

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. Вы будете перенаправлены на страницу установки.

Старт установки Osclass

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

Проверка требований

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

Ввод данных базы данных

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

Создание администратора

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

Успешная установка

Экран входа в Osclass

Панель управления Osclass

Критерии приёмки

  • Сайт доступен по 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: проверка прав доступа, аудит логов, регулярное тестирование восстановления.

Короткая методология развёртывания (минимум шагов)

  1. Подготовка сервера и DNS.
  2. Установка LEMP и зависимостей.
  3. Создание БД и пользователя.
  4. Размещение файлов Osclass и права файлов.
  5. Настройка Nginx и тестирование.
  6. Получение 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.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро