Установка Open Source Social Network (OSSN) на Ubuntu 18.04 LTS
Кратко о OSSN
Open Source Social Network (OSSN) — это свободное программное обеспечение для создания собственной социальной сети, написанное на PHP. Подходит для публичных сетей, сообществ и приватных интранетов. Коротко: платформа даёт профиль пользователей, друзья, фото, чат, поиск и панель администратора.
Определение: LAMP — стек из Linux, Apache, MariaDB/MySQL и PHP.
Требования
- Сервер с Ubuntu 18.04 LTS
- Непользователь root с правами sudo
- Домен или запись в /etc/hosts, если домен не настроен в DNS
- Рекомендуется резервная копия перед установкой
1. Установка стека LAMP
OSSN работает поверх веб-сервера и требует PHP и MariaDB. На момент руководства OSSN не поддерживает PHP 7.2, поэтому используется PHP 7.1 из репозитория Ondřej.
Добавьте репозиторий:
sudo add-apt-repository ppa:ondrej/phpУстановите Apache, MariaDB, PHP 7.1 и необходимые расширения:
sudo apt-get install apache2 mariadb-server php7.1 php7.1-mysql php7.1-curl php7.1-json php7.1-cgi libapache2-mod-php7.1 php7.1-mcrypt php7.1-xmlrpc php7.1-gd php7.1-mbstring php7.1 php7.1-common php7.1-xmlrpc php7.1-soap php7.1-xml php7.1-intl php7.1-cli php7.1-ldap php7.1-zip php7.1-readline php7.1-imap php7.1-tidy php7.1-recode php7.1-sq php7.1-intl wget unzip -yЗапустите и включите службы Apache и MariaDB:
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mariadb
sudo systemctl enable mariadbВажно: команды выше нужно выполнять от пользователя с sudo.
2. Настройка MariaDB (базы данных)
После установки MariaDB рекомендуется запустить скрипт безопасности:
sudo mysql_secure_installationОтветьте на вопросы примерно так:
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 и создайте базу и пользователя:
mysql -u root -pВ SQL-консоли выполните:
CREATE DATABASE ossndb;
CREATE USER ossn;
GRANT ALL PRIVILEGES ON ossndb.* TO 'ossn'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;Примечание: замените ‘password’ на надёжный пароль и сохраните его — он понадобится при установке OSSN.
Важно: создание пользователя через CREATE USER ossn; без пароля обычно требует отдельного шага. Приведённый пример использует декларативную форму GRANT … IDENTIFIED BY для простоты.
3. Скачивание и размещение OSSN
Скачайте последнюю сборку OSSN и распакуйте её:
cd /tmp
wget https://www.opensource-socialnetwork.org/download_ossn/latest/build.zip
unzip build.zipСкопируйте файлы в корень веб-сервера, создайте папку для данных и назначьте права:
sudo cp -r ossn /var/www/html/
sudo mkdir /var/www/html/ossn_data
sudo chown -R www-data:www-data /var/www/html/ossn/
sudo chmod -R 755 /var/www/html/ossn/
sudo chown -R www-data:www-data /var/www/html/ossn_dataПояснение: www-data — стандартный пользователь Apache в Ubuntu; права 755 дают исполнение и чтение владельцу и группе, чтение остальным.
4. Конфигурация Apache для OSSN
Создайте файл виртуального хоста:
sudo nano /etc/apache2/sites-available/ossn.confВставьте конфигурацию:
ServerAdmin [email protected]
DocumentRoot /var/www/html/ossn
ServerName example.com
Options FollowSymlinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/ossn_error.log
CustomLog ${APACHE_LOG_DIR}/ossn_access.log combined
Замените example.com на ваш домен. Сохраните файл и включите сайт и модуль rewrite:
sudo a2ensite ossn.conf
sudo a2enmod rewrite
sudo systemctl restart apache2Важно: OSSN проверяет mod_rewrite через HTTP-запрос к самому себе. Домен в ServerName должен резолвиться в IP сервера либо через DNS, либо через /etc/hosts.
Если домен не существует в DNS, добавьте запись в /etc/hosts:
sudo nano /etc/hostsДобавьте строку вида:
192.168.1.100 example.com www.example.comСохраните файл.
Если этого не сделать, при установке появится ошибка “MOD_REWRITE REQUIRED”.
5. Доступ к веб-установщику и шаги инсталляции
Откройте браузер и перейдите по адресу http://example.com (замените на ваш домен или IP). Веб-установщик проведёт проверку системных требований.

Обязательно убедитесь, что все требования отмечены как выполненные, затем нажмите Далее.

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

Создайте администратора — укажите логин, email и пароль администратора.

По завершении установки вы увидите подтверждение. Нажмите Завершить.

Затем войдите в систему под учётной записью администратора.

После входа вы попадёте в панель администратора.

Через меню “просмотр сайта” можно увидеть фронтенд.

Поздравляем — OSSN установлена на Ubuntu 18.04 LTS.
Важное после установки — безопасность и настройки
- Смените все пароли по умолчанию (SSH, MariaDB root, пользователь ossn, админ OSSN).
- Закройте доступ к SSH для root: в /etc/ssh/sshd_config установите PermitRootLogin no и перезапустите sshd.
- Настройте брандмауэр ufw: откройте порты 80 и 443, закройте лишние.
- Включите HTTPS: используйте Let’s Encrypt certbot для получения бесплатных сертификатов.
- Регулярно обновляйте систему и PHP-пакеты.
Критерии приёмки
- Сайт доступен по HTTP/HTTPS и открывается главная страница OSSN
- Панель администратора доступна и вы можете войти под заданным админом
- Создана и подключена база ossndb, пользователь ossn имеет привилегии
- Права на каталоги /var/www/html/ossn и /var/www/html/ossn_data принадлежат www-data
- mod_rewrite включён и работает
Тестовые сценарии и проверка
- Перейти на http://example.com — загрузка главной страницы OSSN
- Зайти в админку с логином и паролем администратора
- Создать новую учётную запись пользователя и добавить фото
- Проверить логирование ошибок Apache в /var/log/apache2/ossn_error.log
- Попробовать reset пароля администратора через email (если настроен почтовый сервис)
Техническое руководство по откату (incident runbook)
- Если сайт не запускается после изменения конфигурации Apache:
- Откатите файл /etc/apache2/sites-available/ossn.conf к предыдущей версии или временно отключите сайт: sudo a2dissite ossn.conf && sudo systemctl reload apache2
- Если база данных повреждена:
- Остановите приложение (закройте доступ через брандмауэр)
- Восстановите дамп базы из последней резервной копии: mysql -u root -p ossndb < backup.sql
- При ошибках прав доступа файлов:
- sudo chown -R www-data:www-data /var/www/html/ossn/
- sudo chmod -R 755 /var/www/html/ossn/
- Если PHP недоступен после обновления пакетов:
- Верните совместимую версию PHP (7.1) или проверьте логи /var/log/apache2/error.log
Советы по безопасности и жёсткая настройка
- Отключите неиспользуемые PHP-модули.
- Установите ограничение доступа к каталогу данных через .htaccess или конфигурацию Apache.
- Ограничьте доступ к административным маршрутам по IP, если возможно.
- Настройте бэкапы базы и файлов (ежедневно для БД, еженедельно для файлов).
- Установите мониторинг метрик (дискового пространства, использования памяти, количества процессов PHP).
Совместимость и миграция
- OSSN, описанное здесь, требует PHP 7.1. Для размещения на более новых версиях PHP проверьте официальные релизы OSSN: возможно, требуется патч или обновление кода.
- При миграции с другой машины: скопируйте /var/www/html/ossn и /var/www/html/ossn_data, выгрузите/загрузите базу через mysqldump.
- Убедитесь, что версии MySQL/MariaDB совместимы — типичные операции SQL в OSSN стандартные, но проверьте код пользовательских плагинов.
Роль‑ориентированные чек‑листы
Sysadmin:
- Проверка прав на директории
- Настройка брандмауэра и SSH
- Регулярное обновление и мониторинг
Dev / интегратор:
- Проверить расширения PHP и совместимость
- Настроить логирование ошибок и трассировку
- Тестировать плагины и темы OSSN в staging перед prod
Администратор сообщества:
- Настроить правила регистрации и модерации
- Проверить настройки почты и восстановления паролей
- Назначить резервных админов и права
Быстрая методология развертывания (мини‑метод)
- Подготовка сервера и резервные копии
- Установка Apache, PHP 7.1 и MariaDB
- Настройка базы данных и пользователя
- Размещение файлов OSSN и назначение прав
- Создание виртуального хоста и включение mod_rewrite
- Веб-установка и проверка функционала
- Настройка HTTPS, бэкапов и мониторинга
Диаграмма выбора: использовать ли виртуальную машину или реальный сервер
tree
root''Где разворачивать OSSN?''
development''Локальная/VM для разработки''
production''Продакшн-сервер''
development --> |'тест/плагины'| localvm''VM / VirtualBox / VMWare''
production --> |'высокая нагрузка'| cloud''Облачный VPS / Baremetal''
production --> |'малый проект'| smallvps''Небольшой VPS''Фактбокс — ключевые параметры
- Целевая ОС: Ubuntu 18.04 LTS
- Необходимая версия PHP: 7.1 (для данного релиза OSSN)
- СУБД: MariaDB (совместима с MySQL)
- Веб-сервер: Apache с mod_rewrite
Виртуальный образ этого руководства
Этот туториал доступен как готовая виртуальная машина в формате OVF/OVA (совместима с VMWare и VirtualBox). Учётные данные в образе (необходимо сменить пароли):
SSH / Shell: username: administrator, password: howtoforge (пользователь имеет sudo)
OSSN: username: admin, password: howtoforge
MySQL: username: root, password: howtoforge username: ossn, password: password
IP машины по умолчанию: 192.168.1.100 (файл /etc/netplan/01-netcfg.yaml)
Пожалуйста, немедленно поменяйте все пароли после запуска образа.
Частые ошибки и способы их устранения
- “MOD_REWRITE REQUIRED” — проверьте, включён ли модуль rewrite и правильно ли резолвится домен.
- Ошибки подключения к БД — проверьте правильность имени БД, пользователя и пароля, а также хост (обычно localhost).
- 403 Forbidden — проверьте права на папки и директивы AllowOverride/Require в конфигурации Apache.
Ссылки
Короткое резюме: OSSN можно быстро развернуть на Ubuntu 18.04 LTS при соблюдении требований к PHP и Apache. Следуйте чек‑листам безопасности и делайте регулярные бэкапы.
Важное: после установки обязательно смените пароли по умолчанию и настройте HTTPS.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента