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

Установка SilverStripe CMS на Ubuntu 18.04

• 4 min read • DevOps • Обновлено 19 Nov 2025
Установка SilverStripe на Ubuntu 18.04
Установка SilverStripe на Ubuntu 18.04

Введение

SilverStripe — свободная, открытая и гибкая CMS на PHP с веб-интерфейсом для управления контентом. Подходит для сайтов и веб-приложений: поддерживает кеширование, оптимизацию под нагрузку и многоязычность. В этом руководстве мы установим SilverStripe на Ubuntu 18.04 (Bionic Beaver) и приведём практичные рекомендации по безопасности и отладке.

Требования

  • Сервер под управлением Ubuntu 18.04.
  • Непользователь root с правами sudo.
  • Доступ в терминал и базовые навыки работы с Linux.

Быстрый план действий

  1. Установить Apache, PHP 7.2 и MariaDB.
  2. Настроить php.ini (размеры загрузки, память, временная зона).
  3. Защитить MariaDB и создать базу данных/пользователя для SilverStripe.
  4. Скачать и распаковать SilverStripe в /var/www/html/silverstripe.
  5. Настроить виртуальный хост Apache и включить mod_rewrite.
  6. Завершить установку через веб-интерфейс.

Установка LAMP

Установите Apache, PHP и MariaDB вместе с нужными PHP-расширениями:

sudo apt-get install apache2 libapache2-mod-php7.2 mariadb-server mariadb-client php7.2-curl php7.2-xml php7.2-soap php7.2-xmlrpc php7.2-gd php7.2-mbstring php7.2-intl php7.2-mysql php7.2-zip php7.2-tidy -y

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

sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mariadb
sudo systemctl enable mariadb

Настройка php.ini

Откройте файл конфигурации PHP для Apache и внесите изменения:

sudo nano /etc/php/7.2/apache2/php.ini

Измените/добавьте следующие параметры (в примере задана временная зона для России — Europe/Moscow):

file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_file_size = 128M
max_execution_time = 360
date.timezone = Europe/Moscow

Сохраните файл и закройте редактор. Затем перезапустите Apache, чтобы применить настройки:

sudo systemctl restart apache2

Важно: выберите timezone, соответствующую вашему местоположению.

Защита и настройка MariaDB

Запустите скрипт начальной защиты MariaDB:

sudo mysql_secure_installation

Следуйте подсказкам. Если при запросе пароля root вы не устанавливали пароль, просто нажмите Enter.

После этого зайдите в MariaDB и создайте базу данных и пользователя для SilverStripe:

mysql -u root -p

Если пароль root не установлен, при запросе пароля нажмите Enter.

Внутри MySQL выполните:

MariaDB [(none)]> CREATE DATABASE stripedb;
MariaDB [(none)]> CREATE USER 'stripeuser'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL ON stripedb.* TO 'stripeuser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit;

Примечание: замените ‘password’ на надёжный пароль. Для продакшена рекомендуется выдавать минимально необходимые привилегии и не использовать полные права WITH GRANT OPTION.

Important: если вы не уверены в схеме прав, используйте GRANT только на конкретные нужды и без WITH GRANT OPTION.

Установка SilverStripe CMS

Скачайте архив SilverStripe (версия из источника в примере — 4.0.1):

wget https://silverstripe-ssorg-releases.s3.amazonaws.com/sssites-ssorg-prod/assets/releases/SilverStripe-cms-v4.0.1.zip

Распакуйте в корень веб-сайта Apache:

sudo unzip SilverStripe-cms-v4.0.1.zip -d /var/www/html/silverstripe

Установите права и владельца:

sudo chown -R www-data:www-data /var/www/html/silverstripe/
sudo chmod -R 755 /var/www/html/silverstripe/

Настройка виртуального хоста Apache

Создайте файл конфигурации для вашего сайта:

sudo nano /etc/apache2/sites-available/silverstripe.conf

Вставьте следующий пример и замените ServerName и ServerAlias на ваш домен:


     ServerAdmin [email protected]
     DocumentRoot /var/www/html/silverstripe
     ServerName example.com
     ServerAlias www.example.com

    
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
     

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

Сохраните файл, затем активируйте сайт и включите модуль перезаписи:

sudo a2ensite silverstripe.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

Доступ к веб-интерфейсу установки

Откройте в браузере http://example.com (или ваш домен). Вы увидите страницу установки SilverStripe. Заполните поля конфигурации базы данных и создайте учётную запись администратора, затем нажмите кнопку установки.

Указание требований SilverStripe

Конфигурация базы данных для SilverStripe

Создание учётной записи администратора CMS

После успешной установки нажмите «Click here to delete the install files» для удаления установочных файлов (рекомендуется).

Установка SilverStripe завершена успешно

Затем войдите в панель управления, используя созданные учётные данные:

Страница входа в CMS

Рабочая область SilverStripe CMS (панель управления)

Проверка и приёмка

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

  • Страница сайта открывается без ошибки 500.
  • Вход в админ-панель проходит успешно.
  • Подключение к базе данных установлено и миграции прошли.
  • Установочные файлы удалены после установки.

Роли и чек-листы

Для системного администратора:

  • Установить обновления безопасности Ubuntu.
  • Настроить брандмауэр (ufw: открыть 80/443).
  • Настроить автоматическое резервное копирование папки /var/www/html/silverstripe и базы данных.
  • Проверить права файлов: www-data владелец, 755 для директорий, 640–644 для файлов по необходимости.

Для разработчика/контент-менеджера:

  • Проверить работу страниц в админке.
  • Настроить мультиязычность при необходимости.
  • Проверить загрузку файлов больших размеров (параметры PHP и права).

Отладка: частые ошибки и решения

  • Ошибка 500 — проверьте логи Apache (/var/log/apache2/error.log) и права на файлы.
  • Проблемы с доступом к базе — убедитесь, что параметры DB в интерфейсе установки соответствуют данным в MariaDB; если root без пароля, при входе нажмите Enter.
  • Чёрный экран или 502 — проверьте модуль PHP и соответствие версии PHP требованиям SilverStripe.
  • mod_rewrite не работает — убедитесь, что AllowOverride All включён и a2enmod rewrite активирован.

Дополнительные рекомендации по безопасности

  • Не используйте привилегию WITH GRANT OPTION для приложения в продакшене.
  • Отключите доступ к папке установщика сразу после инсталляции.
  • Настройте HTTPS (Let’s Encrypt) и перенаправление с HTTP на HTTPS.
  • Отключите отображение ошибок PHP в продакшене (display_errors = Off).

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

  • Использовать Docker-контейнеры (официальные/сообщества) для изоляции окружения.
  • Установить Nginx вместо Apache в сочетании с PHP-FPM для лучшей производительности.
  • Использовать отдельный сервер БД для высокой нагрузки.

Краткое резюме

Установка SilverStripe на Ubuntu 18.04 — это стандартный процесс LAMP-развертывания: подготовка сервера, настройка PHP и MariaDB, развертывание файлов и настройка виртуального хоста. Обратите внимание на безопасность: используйте надёжные пароли, ограничивайте права БД и включайте HTTPS.

Important: всегда создавайте резервные копии перед обновлениями или изменениями в конфигурации.

1-line глоссарий:

  • LAMP: стек Linux + Apache + MySQL/MariaDB + PHP.
  • mod_rewrite: модуль Apache для перезаписи URL.
  • www-data: системный пользователь Apache в Ubuntu.

Конец руководства.

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