Установка и настройка Pico CMS

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Установка и настройка Pico CMS
Простая
от 4 часов до 2 рабочих дней
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    874
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    851

Установка и настройка Pico CMS

Pico устанавливается через Composer либо загрузкой готового архива. Требования минимальны: PHP 7.0+ (рекомендуется 8.0+), расширения mbstring и dom. База данных не нужна.

Установка через Composer

composer create-project picocms/pico-composer /var/www/mysite
cd /var/www/mysite

Установка из архива

curl -L https://github.com/picocms/Pico/releases/latest/download/pico-release-v3.0.0.zip -o pico.zip
unzip pico.zip -d /var/www/mysite

Nginx-конфигурация

server {
    listen 80;
    server_name mysite.com;
    root /var/www/mysite;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    # Закрыть служебные директории
    location ~ ^/(config|content|lib|vendor|\.git) {
        deny all;
        return 404;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Apache (.htaccess)

Pico поставляется с готовым .htaccess:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]

# Защита контентных директорий
<FilesMatch "\.(md|yml|yaml|twig)$">
    Order allow,deny
    Deny from all
</FilesMatch>

Конфигурация config/config.yml

site_title: Мой Сайт
base_url: ~                  # автоопределение; задать явно при проблемах

theme: my-theme
twig_config:
  autoescape: false
  cache: false               # включить в продакшене: 'cache/twig'
  debug: false

content_dir: content/
content_ext: .md

date_format: 'd.m.Y'
timezone: 'Europe/Minsk'
locale: ru_RU.UTF-8

rewrite_url: true            # ЧПУ через mod_rewrite/Nginx

# Мета по умолчанию
meta:
  - name: description
  - name: author
  - name: date
  - name: robots
  - name: template

# Порядок страниц
pages_order:
  by: alpha
  asc: true

# Плагины
PicoFeed:
  enabled: true
PicoSitemapPlugin:
  enabled: true

Установка плагинов

Плагины располагаются в plugins/. Установка вручную:

# Плагин для генерации sitemap
cd /var/www/mysite/plugins
git clone https://github.com/picocms/pico-plugin-sitemap.git PicoSitemap

# Или через composer если плагин опубликован
composer require picocms/pico-plugin-sitemap

Pico автоматически подключает все плагины из plugins/, где есть файл {PluginName}.php.

Структура контентной директории

content/
  index.md              # главная
  404.md                # страница ошибки
  _navigation.md        # _ в начале = скрытая (не в навигации)
  about.md
  services/
    index.md
    web-dev.md
    mobile.md
  blog/
    index.md
    %year%/
      my-post.md        # /blog/2024/my-post

Страницы сортируются по имени файла; для ручной сортировки добавляют числовой префикс: 01.about.md, 02.services.md.

Twig-кэш в продакшене

# config/config.yml
twig_config:
  cache: 'cache/twig'
# Очистить кэш при обновлении контента/шаблонов
rm -rf /var/www/mysite/cache/twig/*