Page tree

Требования к хостингу

Требования для выкладки сайтов Canape CMS начиная с версии 3.23 и старше

  • Unix подобная операционная система
  • PHP 5.6+
  • Место на диске от 2 ГБ (для года работы)
  • Apache 2.4+ или nginx/1.14.0
mod_rewrite - обязателен
.htaccess_
mod_deflate (это для сжатия)
mod_expires (это для кэширования)
На странице:

  • модули PHP:
cgi, cli, curl, dev, dom, filter, gd (с поддержкой jpg), gettext, hash, json, libxml, mbstring, mcrypt, mysql, pear (не обязателен), pdo, readline, soap, xml, xsl
  • php.ini
memory_limit 64M
post_max_size 64M
upload_max_filesize 64M
  • Mysql 5.1+
  • Возможность добавлять задания CRON

Автоматическая выкладка

Инструкция для сайтов версии 3.23 и старше

Для корректной работы инсталлятора необходимо чтобы на хостинге были выполнены следующие условия:

  • safe_mode Off
  • рабочие функции exec() и shell_exec()

Подготовка к выкладке

  1. Получаем от менеджера следующие фалы - экспортная копия сайта и инсталлятор.

Выкладка сайта

  1. Авторизуемся на хостинге через файловый менеджер. Рекомендуется использовать менеджер WinSCP.  Скриншот.
  2. Закачиваем на хостинг, в корневую папку,  экспортный файл (целиком весь архив) и инсталлятор. Скриншот.  В программе WinSCP это осуществляется путем выделения файлов и переноса.
  3. Запускаем инсталлятор командой - домен_сайта/install_23.php
  4. На первом шаге заполняем  доступы к БД и нажимаем кнопку "Дальше". Скриншот
  5. На втором шаге проверяем, правильно ли прописан основной домен. Если нет, то указываем верный, обычно для этого достаточно либо дописать, либо стереть www. Так же на этом шаге можно указать дополнительные домены, если они есть. После проверки и правок жмем "Дальше". Скриншот.
  6. Если процесс выкладки сайта прошел без ошибок, то откроется сайт.
  7. После выкладки сайта, необходимо проверить:
    1. Файл Robots.txt. Чтобы его посмотреть набираем в строке браузера домен_сайта/robots.txt Если файл не похож на этот, то правим его.
    2. Файл sitemap.xml. Чтобы его посмотреть набираем в строке браузера домен_сайта/sitemap.xml. Если в файле присутствует тестовый домен, то его необходимо обновить.
  8. Устанавливаем задание на Cron, чтобы корректно и вовремя обновлялся файл sitemap.xml. Рассмотрим данный процесс на базе isp-панели:
    • Заходим в isp панель хостинга.
    • Находим пункт "Планировщик (cron)". Скриншот
    • Нажимаем кнопку "Создать" (Cкриншот) и заполняем следующие поля:
      • Команда - прописываем следующее wget -O /dev/null -q http://адрес_сайта/cron/index.php, где адрес_сайта - это адрес вашего сайта.
      • Период - выбираем пункт другое.
      • Минуты - выбираем "Каждые", а в появившемся пункте "Каждые" выбираем 05.
      • Остальные пункты не трогаем. Должно получиться вот так - Cкриншот
      • Добавляем данное задание, нажав ОК.
    • После постановки задачи на cron нужно его проверить:
      • Заходим в CMS и заводим тестовый раздел (обязательно добавляем информацию в поле редактор);
      • Ждем  около 10 минут со времени создания тестового раздела;
      • Открываем файл sitemap.xml и проверяем его на наличие тестового раздела.
      • Удаляем тестовый раздел
  9. Сайт выложен.


Ручная выкладка сайта

Инструкция для сайтов версии 3.23 и старше

Подготовка к выкладке

  1. Распаковываем содержимое архива (экспортный файл, который отдал вам менеджер компании) у себя на ПК. При этом не удаляем экспортный архив.
  2. В результате подготовки сайт к выкладке у вас на ПК должны быть следующие файлы -  распакованный архив (внутри файл БД и папка site c файлами).

Выкладка сайта

  1. Авторизуемся на хостинге через файловый менеджер. Рекомендуется использовать менеджер WinSCP.  Скриншот.
  2. Закачиваем на хостинг, в корневую папку,  файлы из папки site (не папку site, а именно файлы из нее). Скриншот.  В программе WinSCP это осуществляется путем выделения файлов и переноса.
    Внимание! Процесс закачки файлов весьма длительный, наберитесь терпения. Можете пока перейти к пункту 3.
  3. Импортируем базу данных сайта на хостинг:
    • Авторизуемся в панели хостинга.
    • Находим пункт, связанный с базами данных, в нем ищем пункт PhpMyAdmin. Нажимаем на него и переходим на интерфейс авторизации PhpMyAdmin. Скриншот
    • Авторизуемся. Слева выбираем свою БД и нажимаем на нее. Скриншот
    • В открывшемся интерфейсе, в правой его части нажимаем на кнопку "Импорт". Скриншот
    • Открылся интерфейс импорта, в нем нажимаем на кнопку "Обзор", затем находим файл БД сайта (она лежит в папке с распакованным экспортным архивом) и выделив его жмем "Открыть". Скриншот
    • После того как файл БД добавился, его название появиться рядом с кнопкой "Обзор". Затем нажмите кнопку "ОК". Скриншот. Начнется прогресс импорта БД.
    • В конце импорта вы увидите сообщение, об успешном завершении процесса и слева появятся названия таблиц БД. Скриншот. Не закрывая вкладку с PhpMyAdmin, переходим к следующему пункту.
  4. Указываем домен в базе данных:
    • находим в левой части таблицу domains (скриншот). нажимаем на нее.
    • вверху нажимаем на кнопку "Вставить". скриншот
    • в открывшемся интерфейсе заполняем поля (данные вносим только в колонку "Значение" скриншот):
      • поле d_id указываем число 1
      • поле domain_idуказываем число 1
      • поле domain прописываем домен,без http://
      • поле prim указываем 1, если домен основной, и 0, если не основной.
      • аналогично делаем для 2 набора полей, должно получиться так - скриншот, сохраняем изменения, нажав кнопку "ОК"
      • на следующей странице нажмите на название таблицы domains и если вы увидите следующее - скриншот, то сделано все правильно.
  5. Проверяем, закончился ли в файловом менеджере процесс по закачиванию файлов. Если закончился, то переходим к следующему пункту, если нет, то ждем окончания и потом переходим к следующему пункту.
  6. Прописываем настройки базы данных сайта:
    • открываем с помощью текстового редактора файл config.db.php. Файл лежит в папке config. (скриншот)
    • в строке ‘dsn' => 'mysql:host=localhost;dbname=rc37', прописываем следующее. (скриншот):
      • в части mysql:host=localhost вместо localhost прописываем хостинг базы. (но в большей части случаев этот параметр менять не надо)
      • в части dbname=rc37 вместо rc37 прописываем имя базы данных
    • в строчке  'username' => 'rc37' вместо rc37 прописываем имя пользователя базы данных. Скриншот
    • в строчке  'password' => 'vrtrrtBRoertytteBJrtYagertrtr8AwF' вместо VBRoBJYagJIC8AwF прописываем пароль для базы данных. Скриншот
    • сохраняем изменения.
  7. Прописываем настройки конфигурации сайта:
    • определяем корневой путь до папки сайта - скачиваем файл, потом закачиваем его в папку web сайта, переименовываем расширение с txt на php, и открываем в строке браузера, набрав домен_сайта/home.php. В результате получим полный путь до папки с сайтом (скриншот). Запишите его в блокноте, он понадобиться.
    • открываем  файл constants.generated.php. Файл лежит в папке config (скриншот):.
      • в строчке define('USECLUSTERBUILD', 1); вместо 1 пишем false Скриншот
      • в строчке define('INCLUSTER', true); вместо true пишем false Скриншот
      • в строчке define('ROOTPATH', '/var/www/test-obn/'); вместо /var/www/test-obn/ указываем полный путь до папки сайта (мы его узнали пунктом выше). Скриншот  Обязательно должен быть открывающий и закрывающий /
      • в строчке define('WEBPATH', '/var/www/rc37/web/'); меняем '/var/www/rc37/web/' на ROOTPATH.'web/' Скриншот Обязательно должен быть закрывающий /. Если строчка отсутствует, то добавляем ее.  
      • в строчке define('RELEASEPATH', '/var/skewerCluster/canape/0023/skewer/'); меняем '/var/skewerCluster/canape/0023/skewer/' на ROOTPATH.'skewer/' Скриншот Обязательно должен быть закрывающий /
      • должен получиться файл вида - скриншот
    • Сохраняем изменения.
  8. Проверяем .htaccess, находящийся в папке web (скриншот):
    • открываем файл .htaccess. Если вы его не видите, то необходимо в файловом менеджере включить просмотр скрытых файлов.
      • ErrorDocument 404 /404.php

        Options +FollowSymLinks
        Options -Indexes
        rewriteEngine on

        RedirectMatch 404 /\..*$

        RewriteCond %{REQUEST_URI} robots\.txt*
        RewriteRule ^(.*)$ index.php [L]

        RewriteCond %{REQUEST_URI} /gateway/index\.php*
        RewriteRule ^(.*)$ index.php [L]

        #RewriteCond %{REQUEST_URI} ^/skewer/build(.*)$
        #RewriteRule ^(.*)$ redirect.php?get=$1 [L]

        RewriteRule ^skewer_build/(.+)$ /skewer/build/$1

        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_URI} ![.][^\/]*$
        RewriteRule ^(.*)$ /index.php

        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_URI} (.*)\.php$
        RewriteRule ^(.*)$ /index.php
      • ErrorDocument 404 /404.php

        Options +FollowSymLinks
        Options -Indexes
        rewriteEngine on

        # блокируем все url начинающаяся с точкой(.git,.idea)
        RedirectMatch 404 /\..*$

        RewriteCond %{REQUEST_URI} robots\.txt*
        RewriteRule ^(.*)$ index.php [L]

        RewriteCond %{REQUEST_URI} /gateway/index\.php*
        RewriteRule ^(.*)$ index.php [L]

        RewriteCond %{HTTP_HOST} ^адрес сайта
        RewriteRule (.*) http://адрес сайта/$1 [R=301,L]

        RewriteRule ^skewer_build/(.+)$ /skewerCluster/canape/0023m3/build/$1 [L]
        RewriteRule ^skewer/build/(.+)$ /skewerCluster/canape/0023m3/build/$1 [L]
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_URI} ![.][^\/]*$
        RewriteRule ^(.*)$ /index.php

        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_URI} (.*)\.php$
        RewriteRule ^(.*)$ /index.php

      • в строчке RewriteCond %{HTTP_HOST} ^адрес сайта  вместо адрес сайта указываем не основной домен сайта, без http://
      • в строчке RewriteRule (.*) http://адрес сайта/$1 [R=301,L]  вместо адрес сайта указываем основной домен сайта, без http://
      • должен получиться такой файл - скриншот. Cохраняем изменения в документе.
  9. Вводим в браузере адрес сайта, проверяем, чтобы он открылся без ошибок.
  10. Обновляем Robots.txt и sitemap.xml:
      • Авторизуемся на FTP сайта
      • Открываем файл robots.txt, он лежит в папке web.
      • Прописываем файл robots.txt:
      • User-Agent: *

        Disallow: /admin/

        Disallow: /search/

        Disallow: /profile/

        Disallow: /pda/

        Disallow: /cart/

        Disallow: /auth/

        Disallow: /*view=

        Disallow: /*sort=

        Disallow: /skewer/

        Host: адрес_сайта

        Sitemap: http://адрес_сайта/sitemap.xml

      • Сохраняем изменения.
    • Обновляем sitemap.xml:
      • Авторизуемся в системе администрирования по ссылке http://адрес_сайта/admin
      • Создаем новый раздел, добавляем любой текст в поле "Текст раздела", сохраняем изменения.
      • Открываем вкладку соседнюю вкладку с адресом http://адрес_сайта/cron. Должна появиться 1.
      • Проверяем sitemap.xml, в нем должны быть ссылки на домен сайта, для этого набираем строке браузера http://адрес_сайта/sitemap.xml
      • Удаляем тестовый раздел
  11. Устанавливаем задание на Cron, чтобы корректно и вовремя обновлялся файл sitemap.xml. Рассмотрим данный процесс на базе isp-панели:
    • Заходим в isp панель хостинга.
    • Находим пункт "Планировщик (cron)". Скриншот
    • Нажимаем кнопку "Создать" (Cкриншот) и заполняем следующие поля:
      • Команда - прописываем следующее wget -O /dev/null -q http://адрес_сайта/cron/index.php, где адрес_сайта - это адрес вашего сайта.
      • Период - выбираем пункт другое.
      • Минуты - выбираем "Каждые", а в появившемся пункте "Каждые" выбираем 05.
      • Остальные пункты не трогаем. Должно получиться вот так - Cкриншот
      • Добавляем данное задание, нажав ОК.
    • После постановки задачи на cron нужно его проверить:
      • Заходим в CMS и заводим тестовый раздел (обязательно добавляем информацию в поле редактор);
      • Ждем  около 10 минут со времени создания тестового раздела;
      • Открываем файл sitemap.xml и проверяем его на наличие тестового раздела.
      • Удаляем тестовый раздел
  12. Сайт выложен.