Установка SilverStripe CMS на Ubuntu 18.04
Введение
SilverStripe — свободная, открытая и гибкая CMS на PHP с веб-интерфейсом для управления контентом. Подходит для сайтов и веб-приложений: поддерживает кеширование, оптимизацию под нагрузку и многоязычность. В этом руководстве мы установим SilverStripe на Ubuntu 18.04 (Bionic Beaver) и приведём практичные рекомендации по безопасности и отладке.
Требования
- Сервер под управлением Ubuntu 18.04.
- Непользователь root с правами sudo.
- Доступ в терминал и базовые навыки работы с Linux.
Быстрый план действий
- Установить Apache, PHP 7.2 и MariaDB.
- Настроить php.ini (размеры загрузки, память, временная зона).
- Защитить MariaDB и создать базу данных/пользователя для SilverStripe.
- Скачать и распаковать SilverStripe в /var/www/html/silverstripe.
- Настроить виртуальный хост Apache и включить mod_rewrite.
- Завершить установку через веб-интерфейс.
Установка 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. Заполните поля конфигурации базы данных и создайте учётную запись администратора, затем нажмите кнопку установки.



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

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


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