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

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

• 5 min read • CMS • Обновлено 21 Nov 2025
Установка Croogo CMS на Ubuntu 18.04
Установка Croogo CMS на Ubuntu 18.04

Скриншот логотипа или заставки Croogo

Croogo — свободная CMS с открытым исходным кодом на PHP. Она построена на фреймворке CakePHP MVC. Исходный код Croogo размещён на GitHub. В этом руководстве вы пройдёте процесс установки Croogo на чистый сервер Ubuntu 18.04 LTS.

Требования

  • PHP 5.6 или новее (в примерах используется PHP 7.2)
  • MySQL 5.7 или новее (или MariaDB)
  • Веб-сервер: Apache с модулем mod_rewrite или Nginx

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

  • Сервер с Ubuntu 18.04
  • Пользователь без root, но с sudo-привилегиями

Начальные действия

Проверьте версию Ubuntu:

lsb_release -ds
# Ubuntu 18.04 LTS

Установите временную зону (пример — Europe/Moscow):

timedatectl list-timezones
sudo timedatectl set-timezone 'Europe/Moscow'

Обновите пакеты ОС:

sudo apt update && sudo apt upgrade -y

Установите утилиты vim, git и socat:

sudo apt install -y vim git socat

Шаг 1 — Установка PHP

Установите PHP и необходимые расширения:

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-xml php7.2-intl php7.2-mbstring php7.2-mysql php7.2-pgsql php7.2-sqlite3 php7.2-curl php7.2-xmlrpc php7.2-zip php7.2-gd

Проверьте версию PHP:

php --version
# PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul  4 2018 16:55:24) ( NTS )

Отредактируйте php.ini для PHP-FPM:

sudo vim /etc/php/7.2/fpm/php.ini

Установите основные директивы (пример):

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Europe/Moscow

После изменения перезапустите службу PHP-FPM:

sudo systemctl restart php7.2-fpm.service

Important: если вы используете другую версию PHP, замените пути и имена служб на соответствующие (например, php7.4-fpm).

Шаг 2 — Установка MySQL и создание базы данных для Croogo

Croogo поддерживает MySQL/MariaDB, PostgreSQL и SQLite3. В этом руководстве используется MySQL.

Установите MySQL сервер:

sudo apt install -y mysql-server

Проверка версии MySQL:

mysql --version
# mysql  Ver 14.14 Distrib 5.7.23, for Linux (x86_64) using  EditLine wrapper

Запустите скрипт для повышения безопасности и установки пароля root:

sudo mysql_secure_installation

Пример ответов на вопросы сценария:

Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
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

Подключитесь к MySQL как root:

sudo mysql -u root -p
# Введите пароль

Создайте базу данных с кодировкой utf8mb4 и пользователя для Croogo:

mysql> CREATE DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;

Замените dbname, username и password на свои значения.

mysql> exit

Note: utf8mb4 нужна для корректного хранения эмодзи и символов за пределами базовой BMP.

Шаг 3 — Установка acme.sh и получение сертификата Let’s Encrypt (необязательно)

HTTPS не обязателен, но настоятельно рекомендуется. В этом примере используется acme.sh — простая оболочка без внешних зависимостей.

Установите acme.sh:

sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~

Проверьте версию:

/etc/letsencrypt/acme.sh --version
# v2.8.0

Получите сертификаты RSA и ECDSA (пример для example.com):

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength ec-256

После этого сертификаты окажутся в каталогах:

  • Для RSA: /etc/letsencrypt/example.com
  • Для ECDSA: /etc/letsencrypt/example.com_ecc

Notes: acme.sh может запускаться в режиме standalone (останавливает локальный веб-сервер) или через Webroot/DNS для автоматизации.

Шаг 4 — Установка и настройка Nginx

В примере используется Nginx.

Установите Nginx:

sudo apt install -y nginx

Проверка версии:

sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)

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

sudo vim /etc/nginx/sites-available/croogo.conf

Вставьте следующую конфигурацию (замените example.com и пути к сертификатам на свои):

server {

  listen 80;
  listen [::]:80;
  listen 443 ssl;
  listen [::]:443 ssl;

  server_name example.com;

  root /var/www/croogo/webroot;

  index index.php;

  ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;

  location / {
    try_files $uri /index.php$is_args$args;
  }

  location ~ \.php$ {
    try_files $uri =404;
    include fastcgi_params;
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_index index.php;
    fastcgi_keep_conn on;
  }

}

Активируйте сайт:

sudo ln -s /etc/nginx/sites-available/croogo.conf /etc/nginx/sites-enabled/

Проверьте конфигурацию и перезагрузите Nginx:

sudo nginx -t
sudo systemctl reload nginx.service

Note: для Apache потребуется альтернативная конфигурация с mod_rewrite. См. раздел «Альтернативные подходы».

Шаг 5 — Установка Composer

Установите Composer глобально:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

php composer-setup.php

php -r "unlink('composer-setup.php');"

sudo mv composer.phar /usr/local/bin/composer

Проверьте версию Composer:

composer --version
# Composer version 1.7.2 2018-08-16 16:57:12

Шаг 6 — Установка Croogo

Создайте корневую директорию сайта:

sudo mkdir -p /var/www/croogo

Перейдите в директорию:

cd /var/www/croogo

Измените владельца на вашего пользователя (пример johndoe):

sudo chown -R johndoe:johndoe /var/www/croogo

Установите unzip, если нужно:

sudo apt install -y unzip

Скачайте последнюю версию Croogo через Composer:

composer create-project croogo/app .
composer install

Отредактируйте настройки базы в config/app.php:

vim config/app.php

Найдите и измените следующие параметры в секциях default и test:

'username' => 'your_db_username',
'password' => 'your_db_password',
'database' => 'your_db_name',
'encoding' => 'utf8mb4'

Верните владельца директории веб-сервера:

sudo chown -R www-data:www-data /var/www/croogo

Откройте сайт в браузере и следуйте инструкциям для завершения установки.

Шаг 7 — Завершение настройки Croogo

Откройте сайт в браузере. Если все требования выполнены, нажмите кнопку “Start installation” для запуска установки.

Кнопка

Введите настройки базы данных:

Форма настройки базы данных Croogo

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

Форма создания учетной записи администратора Croogo

Установка завершена:

Экран успешной установки Croogo

После установки для доступа к административной панели добавьте /admin к URL вашего сайта.

Альтернативные подходы и замечания

  • Apache: если вы предпочитаете Apache, включите mod_rewrite и используйте виртуальный хост с DocumentRoot, указывающим на /var/www/croogo/webroot. Croogo совместим с Apache.
  • Docker: можно запускать Croogo в контейнере Docker с образами PHP-FPM + Nginx / Apache. Это упрощает управление версиями и изоляцию.
  • Базы данных: если вы хотите использовать PostgreSQL или SQLite, проверьте наличие соответствующих PHP-расширений и адаптируйте конфигурацию в config/app.php.

Когда установка может не сработать

  • Неправильные права на файлы: проверьте, что веб-сервер имеет доступ к /var/www/croogo и webroot.
  • Неполные PHP-расширения: отсутствующие mbstring, intl или pdo-содержат ошибки при установке.
  • Неверные настройки доступа к MySQL: убедитесь, что пользователь имеет права на выбранную базу данных.
  • Порт 80/443 занят: standalone-режим acme.sh останавливает веб-сервер; используйте webroot-метод или временно остановите Nginx/Apache.

Рекомендации по безопасности

  • Ограничьте права на директории: минимум необходимых прав для www-data.
  • Регулярно обновляйте PHP, Nginx и Croogo.
  • Настройте автоматическое обновление сертификатов Let’s Encrypt через cron, если используете acme.sh.
  • Отключите доступ к конфигурационным файлам через веб (на уровне Nginx).
  • Включите бэкапы базы данных и файлов с проверкой целостности.

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

DevOps / администратор сервера:

  • Установить и обновить ОС
  • Настроить PHP-FPM и необходимые расширения
  • Настроить MySQL и создать базу данных
  • Настроить Nginx/Apache и SSL
  • Настроить права и владельцев для /var/www/croogo

Разработчик / интегратор:

  • Установить Composer и зависимости
  • Проверить config/app.php и тестовые настройки
  • Развернуть тему/плагины и протестировать

Контент-менеджер / администратор сайта:

  • Создать админ-учётку
  • Проверить метаданные сайта и базовые страницы
  • Настроить резервное копирование контента

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

  • Страница сайта доступна по HTTP(S) и отображает Croogo
  • Админ-панель доступна по /admin
  • Пользователь администратора создан и может войти
  • Сайт подключен к базе данных, записи сохраняются и читаются
  • SSL-сертификат установлен и корректно обслуживается (если использовался)

Mini-методология развёртывания (быстрая последовательность)

  1. Подготовка сервера и обновление пакетов
  2. Установка PHP и расширений
  3. Установка и защита MySQL, создание базы
  4. Установка Nginx и получение сертификата
  5. Установка Composer и Croogo
  6. Настройка прав и финальная веб-инсталляция

Ссылки


Краткое содержание:

  • Установка PHP, MySQL и Nginx
  • Получение сертификата Let’s Encrypt (опционально)
  • Установка Croogo через Composer и финальная настройка в браузере
Поделиться: 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 быстро