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

Установка OSClass на Ubuntu 18.04 — пошаговая инструкция

• 6 min read • Linux • Обновлено 24 Nov 2025
Установка OSClass на Ubuntu 18.04 — пошагово
Установка OSClass на Ubuntu 18.04 — пошагово

Коротко: обновите Ubuntu 18.04, установите стек LEMP (Nginx, MariaDB, PHP 7.2), создайте базу данных, распакуйте OSClass в /var/www/html/osclass, настройте config.php и виртуальный хост Nginx. В статье приведены команды, советы по безопасности, отладке и альтернативные варианты развёртывания.

Логотип OSClass и пример сайта

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

Эта пошаговая инструкция показывает, как установить OSClass — свободный PHP-скрипт для доски объявлений — на сервер с Ubuntu 18.04. Подойдёт для сайтов с товарами, услугами, вакансиями и недвижимостью. Приведены команды, конфигурации Nginx и MariaDB, рекомендации по безопасности и проверки работоспособности.

Важно: инструкция ориентирована на окружение с root-доступом или эквивалентными правами sudo.

Требования

  • Сервер с Ubuntu 18.04.
  • Доступ root или пользователь с правами sudo.
  • Домен (рекомендуется) или публичный IP для тестирования.

Шаг 1 — Обновление системы

Перед началом обновите пакеты:

apt-get update -y
apt-get upgrade -y

После обновления перезагрузите сервер, чтобы применить изменения.

Шаг 2 — Установка LEMP (Nginx, MariaDB, PHP)

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

apt-get install nginx mariadb-server php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mysql php7.2-gd php7.2-xml unzip -y

Запустите сервисы и включите автозапуск:

systemctl start nginx
systemctl start mariadb
systemctl enable nginx
systemctl enable mariadb

Важно: проверьте версию PHP-FPM и путь сокета (например, /var/run/php/php7.2-fpm.sock). Этот путь используется в конфигурации Nginx.

Шаг 3 — Настройка базы данных для OSClass

Защитите MariaDB (интерактивный скрипт):

mysql_secure_installation

Рекомендуемые ответы (примеры при пустом пароле root):

Enter current password for root (enter for none):
Set root password? [Y/n]: N
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 и создайте базу и пользователя для OSClass (замените пароль на надёжный):

mysql -u root -p

MariaDB [(none)]> CREATE DATABASE osclassdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON osclassdb.* TO 'osclass'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Короткое определение: FLUSH PRIVILEGES — применяет изменения привилегий без перезапуска сервера БД.

Важно: в продакшне используйте сложные пароли и, при возможности, отдельного пользователя с ограниченными правами.

Шаг 4 — Загрузка и установка OSClass

Скачайте последнюю версию OSClass и распакуйте её в корень веб-сайта:

wget https://static.osclass.org/download/osclass.3.8.0.zip
unzip osclass.3.8.0.zip -d /var/www/html/osclass

Перейдите в каталог и создайте файл конфигурации на основе образца:

cd /var/www/html/osclass
cp config-sample.php config.php

Откройте config.php и укажите настройки базы данных и базовый URL:

nano config.php

Отредактируйте следующие строки в файле:

define('MULTISITE', 0);
define('DB_NAME', 'osclassdb');
define('DB_USER', 'osclass');
define('DB_PASSWORD', 'password');
define('DB_HOST', 'localhost');
define('DB_TABLE_PREFIX', 'oc_');
define('REL_WEB_URL', 'rel_here');
define('WEB_PATH', 'http://localhost');

Затем установите владельца и права для папки OSClass:

chown -R www-data:www-data /var/www/html/osclass
chmod -R 755 /var/www/html/osclass

Важно: избегайте установки прав 777 в продакшне. Если нужен разрешённый доступ для загрузки файлов, ограничивайте права только на нужные папки.

Шаг 5 — Настройка Nginx для OSClass

Создайте файл виртуального хоста:

nano /etc/nginx/sites-available/osclass.conf

Добавьте конфигурацию (замените example.com на ваш домен):

server {
    listen 80;
    listen [::]:80;

    server_name example.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.2-fpm.sock; # Check this
    }
}

Совет: проверьте путь к сокету PHP-FPM — он может отличаться в зависимости от установленной версии PHP (php7.2, php7.4 и т.д.).

Активируйте сайт и проверьте конфигурацию Nginx:

ln -s /etc/nginx/sites-available/osclass.conf /etc/nginx/sites-enabled/
nginx -t
systemctl restart nginx
systemctl status nginx

Ожидаемый результат команды nginx -t: синтаксис OK и тест успешен.

Шаг 6 — Доступ к веб-интерфейсу OSClass

Откройте браузер и перейдите по адресу вашего домена или IP, например:

http://example.com

Следуйте мастеру установки: на экране будут проверены зависимости, затем нужно ввести настройки базы, создать администратора и завершить установку.

Начало установки OSClass — проверка зависимостей

Проверка готовности к установке — все зависимости в порядке

Подключение к базе данных — заполните имя базы, пользователя, пароль

Настройка учётной записи администратора и названия сайта

Обзор установки — завершение процесса

Вход в административную панель OSClass

Панель управления OSClass после успешного входа

После входа вы увидите стандартную панель управления OSClass. Поздравляем — установка завершена.

Проверки и тесты после установки

Рекомендованные проверки:

  • Откройте главную страницу и несколько внутренних страниц.
  • Проверьте возможность создания объявления как пользователь.
  • Загрузите изображение в объявление — убедитесь, что файловая система позволяет запись.
  • Проверка логов Nginx: /var/log/nginx/error.log и access.log.
  • Проверка логов PHP-FPM (обычно в /var/log/php7.2-fpm.log или systemd journal).

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

  • Главная страница доступна по HTTP/HTTPS.
  • Подключение к базе данных успешно и выполняются запросы.
  • Админ-панель открывается, возможен вход под администратором.
  • Загрузка файлов работает, права настроены корректно.

Отладка типичных проблем

Ошибка 502 Bad Gateway

  • Проверьте, что PHP-FPM запущен: systemctl status php7.2-fpm.
  • Убедитесь, что путь fastcgi_pass в конфиге Nginx соответствует реальному сокету.

Проблемы с правами при загрузке файлов

  • Проверьте владельца папки: chown -R www-data:www-data /var/www/html/osclass.
  • Проверьте SELinux/AppArmor (если используются) — они могут блокировать запись.

Проблемы с подключением к базе

  • Убедитесь, что DB_NAME/DB_USER/DB_PASSWORD/DB_HOST в config.php верны.
  • Попробуйте подключиться к БД вручную: mysql -u osclass -p -D osclassdb.

Безопасность и жёсткие настройки

  • Переключитесь на HTTPS: получите сертификат Let’s Encrypt и добавьте перенаправление 80 → 443.
  • Установите сложные пароли для БД и админа.
  • Ограничьте доступ к phpMyAdmin (если установлен) по IP или отключите.
  • Регулярно применяйте обновления для Ubuntu, PHP, Nginx и пакетов.
  • Настройте бэкапы базы данных и каталога /var/www/html/osclass.

Пример быстрой команды для HTTPS с Certbot:

apt-get install certbot python3-certbot-nginx -y
certbot --nginx -d example.com

Альтернативные подходы

  • Apache вместо Nginx: если вы предпочитаете Apache, используйте модуль PHP-FPM или mod_php.
  • Docker: можно запускать OSClass в контейнере с образами Nginx+PHP-FPM+MariaDB — удобно для изоляции и миграций.
  • Управляемый хостинг: выбрать PHP-хостинг с поддержкой MySQL/MariaDB и загрузить файлы через FTP.

Краткое сравнение (когда использовать):

  • Nginx + PHP-FPM — лёгкий, производительный для статических ресурсов и проксирования.
  • Apache — проще для модулей, если вам нужны .htaccess-правила.
  • Docker — хорош для CI/CD и воспроизводимости окружения.

Контрольные списки

Перед переходом в продакшн:

  • Сертификат HTTPS установлен и перенаправление работает.
  • Резервные копии БД настроены и протестированы.
  • Права на файлы ограничены (не 777).
  • Пароли сильные, доступ ограничен.
  • Логи мониторятся, настроены ротация логов.

Роль разработчика

  • Проверить рабочие маршруты и CRUD для объявлений.
  • Провести нагрузочное тестирование на пиковые сценарии.

Роль администратора

  • Настроить бэкапы и обновления.
  • Мониторить использование диска и БД.

Тестовые случаи и приёмка

  • Создать объявление с изображениями — должно появиться в списке.
  • Зарегистрировать нового пользователя и выполнить вход.
  • Изменить настройки сайта в админке и проверить отображение.

Краткий глоссарий

  • LEMP — Linux, Nginx, MariaDB, PHP-FPM (стек для веб-приложений).
  • PHP-FPM — FastCGI Process Manager для обработки PHP-запросов.
  • fastcgi_pass — директива Nginx, указывающая PHP-FPM сокет или порт.

Часто задаваемые вопросы

Как проверить путь сокета PHP-FPM?

Проверьте файл /etc/php/7.2/fpm/pool.d/www.conf или выполните systemctl status php7.2-fpm. В www.conf ищите listen = /var/run/php/php7.2-fpm.sock.

Можно ли использовать другую версию PHP?

Да. Установите нужную версию PHP и замените пакеты и путь к сокету в конфигурациях.

Что делать, если сайт показывает белый экран?

Включите отображение ошибок в PHP (временно) или проверьте логи Nginx и PHP-FPM, чтобы найти причину (ошибки PHP или отсутствие зависимостей).

Резюме

  • Установка OSClass сводится к подготовке LEMP, настройке БД, копированию файлов и конфигурации Nginx.
  • Проведите базовую отладку и настройте безопасность перед размещением в продакшн.
  • Рассмотрите Docker или управляемый хостинг как альтернативу для упрощения развёртывания.

Важно: заменяйте примеры паролей и доменов на ваши реальные значения и храните резервные копии.

Социальный тизер

Установка OSClass на Ubuntu 18.04: полная инструкция с командами, настройкой Nginx, MariaDB, безопасной конфигурацией и отладкой — всё, чтобы быстро запустить классифайд.

Поделиться: 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 быстро