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

Установка Neos CMS с Apache на Ubuntu 20.04

5 min read CMS Обновлено 25 Nov 2025
Neos CMS на Ubuntu 20.04 — установка с Apache
Neos CMS на Ubuntu 20.04 — установка с Apache

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

Основная цель

Установить рабочую инстанцию Neos CMS на Ubuntu 20.04 с веб-сервером Apache и базой данных MariaDB, чтобы получить готовую панель администрирования и сайт.

Кому полезно

  • Сисадминам, которые разворачивают сайт на LAMP-стеке
  • Разработчикам, внедряющим Neos на проектах
  • Владельцам бизнеса, желающим локально протестировать Neos

Краткая структура статьи

  1. Требования и подготовка сервера
  2. Установка LAMP-компонентов (Apache, MariaDB, PHP)
  3. Создание базы данных для Neos
  4. Установка Composer и Neos
  5. Конфигурация Apache (виртуальный хост)
  6. Доступ и финальная настройка через веб-инсталлятор
  7. Чек-листы, безопасность и отладка

Предварительные требования

  • Сервер с Ubuntu 20.04 LTS
  • Домен, указывающий на IP сервера (например, neos.example.com)
  • Доступ root или пользователь с sudo
  • Открытые порты 80 (HTTP) и опционально 443 (HTTPS)

1. Подготовка системы

Всегда обновляйте кэш пакетов перед установкой:

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

Совет: установите базовый набор утилит (если ещё нет):

apt-get install -y curl unzip git nano

2. Установка LAMP-компонентов

Установите Apache, MariaDB, PHP и расширения, необходимые для Neos:

apt-get install -y apache2 mariadb-server php libapache2-mod-php php-common php-mysql php-gmp php-curl php-intl php-mbstring php-xmlrpc php-gd php-bcmath php-xml php-cli php-zip curl unzip git

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

nano /etc/php/7.4/apache2/php.ini

Пример изменяемых строк (подберите вашу таймзону, например Europe/Moscow для России):

short_open_tag = On
memory_limit = 256M
upload_max_filesize = 150M
max_execution_time = 360
date.timezone = Europe/Moscow

Сохраните файл и перезапустите Apache:

systemctl restart apache2

Замечание: если у вас другая версия PHP, отрегулируйте путь к php.ini.

3. Создание базы данных MariaDB для Neos

Запустите скрипт безопасной настройки MariaDB:

mysql_secure_installation

Отвечайте на вопросы по безопасности (рекомендуется включать удаление анонимных пользователей, запрет удалённого входа для root, удаление тестовой БД).

Войдите в MariaDB и создайте базу и пользователя (замените mypassword и neosname на свои значения):

mysql -u root -p

CREATE DATABASE neosdb;
CREATE USER 'neos'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON neosdb.* TO 'neos'@'localhost' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
ALTER DATABASE neosdb charset=utf8mb4;
FLUSH PRIVILEGES;
EXIT;

Измените конфигурацию MariaDB для оптимальной работы InnoDB (откройте файл):

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Добавьте или отредактируйте блок, включив следующие строки:

innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_file_per_table = 1
innodb_default_row_format = dynamic

Перезапустите MariaDB:

systemctl restart mariadb

Важно: используйте utf8mb4 для корректной поддержки эмодзи и всех символов Unicode.

4. Установка Composer и Neos CMS

Установите Composer (менеджер зависимостей PHP):

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

Перейдите в веб-корень Apache и создайте проект Neos:

cd /var/www/html/
composer create-project --no-dev neos/neos-base-distribution neoscms

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

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

Примечание: при работе в продакшне используйте более строгие права и разграничение пользователей.

5. Настройка Apache: виртуальный хост для Neos

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

nano /etc/apache2/sites-available/neoscms.conf

Вставьте конфигурацию (замените ServerName и ServerAdmin):


     ServerAdmin admin@example.com
     DocumentRoot /var/www/html/neoscms/Web
     ServerName neos.example.com
     
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     

     ErrorLog ${APACHE_LOG_DIR}/neos_error.log
     CustomLog ${APACHE_LOG_DIR}/neos_access.log combined

     
            RewriteEngine on
            RewriteBase /
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*) index.php [PT,L]
    

Активируйте сайт и модуль перезаписи URL:

a2ensite neoscms.conf
a2enmod rewrite
systemctl restart apache2
systemctl status apache2

Если планируете HTTPS, настройте Certbot и включите редирект с 80 на 443.

6. Доступ к веб-инсталлятору Neos

Откройте в браузере http://neos.example.com и следуйте веб-мастеру установки:

Главная страница инсталлятора Neos

  1. Нажмите «Go to setup». Используйте пароль из файла SetupPassword.txt.

Экран входа в установщик Neos

  1. Проверьте требования (PHP-расширения и права файлов).

Проверка требований Neos

  1. Укажите параметры базы данных (имя, пользователь, пароль, хост).

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

  1. Создайте административный аккаунт.

Создание аккаунта администратора Neos

  1. Создайте сайт (название, домен и т.д.) и завершите установку.

Завершение установки Neos

После успешной установки нажмите «Go to the backend» и войдите в админ-панель.

Neos CMS бэкенд

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

  • Веб-страница по ServerName открывается и показывает инсталлятор Neos
  • Инсталлятор принимает данные БД и успешно записывает конфигурацию
  • Админ-панель доступна, создан администратор и первая страница сайта доступна
  • Права на файлы и директории установлены корректно (www-data владелец)

Чек-лист для продакшна (минимум)

  • Заменить тестовые пароли на сильные
  • Настроить HTTPS (Let’s Encrypt/Certbot)
  • Настроить регулярные бэкапы базы данных и файлов
  • Включить firewall (ufw) и закрыть ненужные порты
  • Настроить мониторы и логирование (logrotate)

Ролевые задачи (кто что делает)

  • Системный администратор: установка LAMP, безопасность системы, бэкапы, SSL
  • Разработчик: Composer, кастомные пакеты, миграции, деплой
  • Контент-менеджер: наполнение сайта через бэкенд Neos

Безопасность и жёсткая конфигурация (рекомендации)

  • Отключите показ версий PHP/Apache в заголовках
  • Используйте ограниченную БД-учётную запись для Neos
  • Запретите доступ к каталогу /Configuration и /Packages через веб
  • Периодически выполняйте composer update на тестовой среде и тестируйте перед продом

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

  • 500 Internal Server Error после установки: проверьте права на файлы, логи Apache (/var/log/apache2/neos_error.log)
  • Ошибки подключения к БД: проверьте правильность имени БД, пользователя, пароля и хоста (localhost vs 127.0.0.1)
  • Отсутствие PHP-расширений: установите отсутствующие расширения и перезапустите Apache

Быстрый план действий для отката/rollback

  1. Отключить сайт: a2dissite neoscms.conf && systemctl reload apache2
  2. Восстановить бэкап базы данных: mysql -u root -p neosdb < backup.sql
  3. Восстановить файлы из архива: tar xzf neos_www_backup.tar.gz -C /var/www/html/
  4. Проверить логи и права, затем включить сайт снова

Мини-методология деплоя (на примере простой среды)

  1. Подготовить staging-сервер идентичный продакшну
  2. Выполнить composer install и миграции на staging
  3. Протестировать функциональность Neos и плагины
  4. Выполнить бэкап продакшна, затем деплой на прод

Факты и полезные заметки

  • Neos использует Symfony и требует поддерживаемых версий PHP и расширений
  • Рекомендуемая кодировка БД — utf8mb4 для полной совместимости Unicode
  • Composer — ключевой инструмент для установки и обновления зависимостей

Полезные команды для администрирования

  • Перезапуск Apache: systemctl restart apache2
  • Проверка статуса: systemctl status apache2
  • Перезапуск MariaDB: systemctl restart mariadb
  • Логи Apache: tail -f /var/log/apache2/neos_error.log

Заключение

Поздравляем — вы установили Neos CMS на Ubuntu 20.04 с Apache и MariaDB. После базовой установки обязательно настройте SSL, регулярно делайте бэкапы и проверьте требования безопасности. Если появятся ошибки — сначала смотрите логи и проверяйте права файлов, после — PHP-расширения и конфигурацию БД.

Важно: в рабочих средах избегайте использования root-паролей в явном виде в скриптах; применяйте секретные хранилища и CI/CD для безопасного деплоя.


Краткий список ссылок для чтения (официальные ресурсы):

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство