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

О чём эта инструкция
Эта пошаговая инструкция показывает, как установить 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, например:
Следуйте мастеру установки: на экране будут проверены зависимости, затем нужно ввести настройки базы, создать администратора и завершить установку.







После входа вы увидите стандартную панель управления 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, безопасной конфигурацией и отладкой — всё, чтобы быстро запустить классифайд.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента