Расширенная установка

Автор Аллен Эллис (ocProducts)
Перевод Наталия Хорошая

Быстрая установка, без быстрого установщика!

 Если у вас возникли трудности с быстрой установкой и вы не хотите загружать все файлы и выполнять chmodding по отдельности, вы можете разархивировать их прямо на сервер. Обратите внимание, что если вы находитесь на сервере в стиле suEXEC, программа установки сообщит вам об этом и не нужно будет устанавливать разрешения.

Установка через оболочку Linux

 Из-за различных конфигураций серверов Linux невозможно предоставить точные инструкции, поэтому не рекомендуется выполнять установку, если вы еще не знакомы с оболочкой Linux. Также может оказаться, что у вас на самом деле нет доступа к оболочке на сервере, чтобы сделать это.
 Мы не несем ответственности за неправильное использование этих команд; если вы не знаете, какое влияние каждая из них окажет на вашу систему, не запускайте их, пока не узнаете. Не запускайте последующие команды, если одна из них не удалась, иначе вы можете создать беспорядок.

Необходимо выполнить последовательность команд, аналогичную следующей:

Войдите в веб-каталог:

Code (Bash)
cd httpdocs
 


Скачайте архив с сайта https://compo.sr:

Code (Bash)
wget <url-to-composr-zip-file>
 


Разархивируйте архив:

Code (Bash)
unzip cms-<version>.zip
 


Удалить архив:

Code (Bash)
rm cms-<version>.zip -f
 


Если вы используете веб-сервер, где веб-сервер работает с теми же учетными данными, что и пользователь учетной записи хостинга, не выполняйте следующие два шага.


Исправьте все необходимые права доступа к файлам:

Code (Bash)
sh fixperms.sh
 


Затем вы должны запустить URL-адрес install.php в своем веб-браузере и выполнить шаги установки.

После этого необходимо удалить файл install.php:

Code (Bash)
rm install.php -f
 

Распаковка из панели управления хостингом

Многие панели управления веб-хостингом позволяют распаковывать загруженные файлы с помощью своего файлового менеджера.
Сделать это можно на архиве ручного установщика.

Разрешения.

Если вам нужно использовать ручную установку и вы не используете систему в стиле suEXEC, вам нужно будет вручную установить права доступа к файлам и каталогам.
 
Примечание для пользователей Linux-сервера
  Если вы работаете в системе suEXEC, где PHP-скрипт запускается от имени вашего пользователя, то должны подойти разрешения по умолчанию 744 и 644 (с _config.php равным 600 для дополнительной безопасности). 
  Установщик сообщит вам, если вы находитесь в системе suEXEC, в противном случае предположим, что это не так, и вам все равно нужно будет установить разрешения. 
Если вы выбрали ручную установку, теперь вам нужно установить соответствующие разрешения для ваших файлов и папок (читайте дальше). Обычно вам не нужно устанавливать какие-либо разрешения, если вы выбрали быструю установку.

 Если у вас есть «доступ к оболочке» (спросите своего веб-хостинга, если вы не знаете), вы можете автоматически установить эти разрешения, войдя на свой сервер с помощью такой программы, как PuTTY, и запустив файл fixperms.sh.

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

 Вот каталоги, для которых требуется настройка прав доступа к файлам:

install_chmod.png

Отметьте (отметьте) выделенные поля для всех файлов/папок, перечисленных слева. Этот снимок экрана был сделан на Mac с помощью Cyberduck, но процесс аналогичен для другого программного обеспечения. Обычно, чтобы перейти к такому экрану, вы щелкаете правой кнопкой мыши файл/папку и выбираете что-то вроде «Свойства».

Установите следующее значение 777 (полные права доступа к каталогу):

  • adminzone/pages/comcode_custom/<for-each-language>
  • adminzone/pages/html_custom/<for-each-language>
  • caches/guest_pages
  • caches/lang/<for-each-language>
  • caches/lang
  • caches/persistent
  • caches/self_learning
  • cms/pages/comcode_custom/<for-each-language>
  • cms/pages/html_custom/<for-each-language>
  • collaboration/pages/comcode_custom/<for-each-language>
  • collaboration/pages/html_custom/<for-each-language>
  • data_custom/modules/admin_backup
  • data_custom/modules/admin_stats
  • data_custom/modules/chat
  • data_custom/modules/web_notifications
  • data_custom/sitemaps
  • data_custom/spelling/personal_dicts
  • data_custom/xml_config
  • exports/*
  • forum/pages/comcode_custom/<for-each-language>
  • forum/pages/html_custom/<for-each-language>
  • imports/*
  • lang_custom/<for-each-language>
  • lang_custom
  • pages/comcode_custom/<for-each-language>
  • pages/html_custom/<for-each-language>
  • safe_mode_temp
  • site/pages/comcode_custom/<for-each-language>
  • site/pages/html_custom/<for-each-language>
  • text_custom/<for-each-language>
  • text_custom
  • themes/<for-each-theme>/css_custom
  • themes/<for-each-theme>/images_custom
  • themes/<for-each-theme>/javascript_custom
  • themes/<for-each-theme>/templates_cached/<for-each-language>
  • themes/<for-each-theme>/templates_custom
  • themes/<for-each-theme>/text_custom
  • themes/<for-each-theme>/xml_custom
  • themes
  • tmp (это папка нужна только быстрому установщику — и вам нужно будет сделать ее и сразу же установить разрешения или подождать, пока быстрый установщик сделает это, а затем выйдет из строя из-за отсутствия разрешений на нее)
  • uploads/attachments
  • uploads/attachments_thumbs
  • uploads/auto_thumbs
  • uploads/banners
  • uploads/catalogues
  • uploads/cns_avatars
  • uploads/cns_cpf_upload
  • uploads/cns_photos
  • uploads/cns_photos_thumbs
  • uploads/downloads
  • uploads/filedump
  • uploads/galleries
  • uploads/galleries_thumbs
  • uploads/incoming
  • uploads/personal_sound_effects
  • uploads/repimages
  • uploads/watermarks
  • uploads/website_specific
Установите следующее значение 666 (полные права на чтение/запись):
  • adminzone/pages/comcode_custom/<for-each-language>/*.txt
  • adminzone/pages/html_custom/<for-each-language>/*.htm
  • cms/pages/comcode_custom/<for-each-language>/*.txt
  • cms/pages/html_custom/<for-each-language>/*.htm
  • collaboration/pages/comcode_custom/<for-each-language>/*.txt
  • collaboration/pages/html_custom/<for-each-language>/*.htm
  • data_custom/errorlog.php
  • data_custom/firewall_rules.txt
  • data_custom/modules/admin_backup/*
  • data_custom/modules/admin_stats/*
  • data_custom/modules/chat/*
  • data_custom/modules/web_notifications/*
  • data_custom/sitemaps/*
  • data_custom/spelling/personal_dicts/*
  • data_custom/xml_config/*.xml
  • exports/*/*
  • forum/pages/comcode_custom/<for-each-language>/*.txt
  • forum/pages/html_custom/<for-each-language>/*.htm
  • imports/*/*
  • lang_custom/<for-each-language>/*.ini
  • pages/comcode_custom/<for-each-language>/*.txt
  • pages/html_custom/<for-each-language>/*.htm
  • safe_mode_temp/*
  • site/pages/comcode_custom/<for-each-language>/*.txt
  • site/pages/html_custom/<for-each-language>/*.htm
  • text_custom/*.txt
  • text_custom/<for-each-language>/*.txt
  • themes/<for-each-theme>/css_custom/*
  • themes/<for-each-theme>/images_custom/*
  • themes/<for-each-theme>/javascript_custom/*
  • themes/<for-each-theme>/templates_custom/*
  • themes/<for-each-theme>/text_custom/*
  • themes/<for-each-theme>/theme.ini
  • themes/<for-each-theme>/xml_custom/*
  • themes/map.ini
  • uploads/attachments/*
  • uploads/attachments_thumbs/*
  • uploads/auto_thumbs/*
  • uploads/banners/*
  • uploads/catalogues/*
  • uploads/cns_avatars/*
  • uploads/cns_cpf_upload/*
  • uploads/cns_photos/*
  • uploads/cns_photos_thumbs/*
  • uploads/downloads/*
  • uploads/filedump/*
  • uploads/galleries/*
  • uploads/galleries_thumbs/*
  • uploads/personal_sound_effects/*
  • uploads/repimages/*
  • uploads/watermarks/*
  • uploads/website_specific/*
  • _config.php
Помните: если вы выбрали вариант быстрой установки, вполне вероятно, что ни один из этих параметров разрешений не потребуется.

CGI-серверы

 Известно, что некоторые установки PHP на основе CGI (в отличие от установок PHP на основе модулей) требуют, чтобы PHP-скрипты имели разрешение на «выполнение». Это очень редкая и небезопасная конфигурация, но если есть такое требование, необходимо дать разрешение на выполнение следующим файлам…
  • Любой index.php файл
  • Все файлы PHP в корневом каталоге, кроме _config.php
  • Все файлы PHP в каталоге данных
  • Все файлы PHP в основном каталоге для зоны (например /, и /adminzone) каталоги
Быстрый установщик обрабатывает это автоматически.

Установка в Windows (IIS).

 Этот раздел в основном применим только в том случае, если вы используете веб-сервер Microsoft, Internet Information Server (IIS).
 См. руководство по установке Composr на рабочий стол Windows, если вы просто хотите установить на свой компьютер и используете свой веб-сайт локально за брандмауэром или, если вы устанавливаете через галерею веб-приложений Microsoft, которая установит разрешения для вас.
 Есть две проблемы, связанные с правами доступа к файлам, которые усложняют установку в Windows. К сожалению, эти проблемы полностью находятся вне нашего контроля и применимы к любой системе PHP, установленной на сервере Windows: все, что мы можем сделать, это помочь вам справиться с ними. Большинство домашних систем имеют полные разрешения, установленные по умолчанию, поэтому на самом деле их проще установить, чем Linux. Однако веб-хостинговые компании часто применяют более жесткую схему разрешений из-за своей среды общего хостинга.

 Первая проблема заключается в том, что в Windows нет реального стандарта, определяющего, какие права доступа к файлам являются подходящими. Чтобы понять права доступа к файлам, вы должны понимать, что веб-сервер (или клиент PHP CGI, если он работает в режиме CGI) запускает скрипты PHP под именем пользователя, которое не просто «Администратор» (что было бы очень глупо). Что это за имя пользователя, зависит от того, как была настроена среда; это может быть обычный веб-пользователь (обычно с именем IUSR_<computer-name>) или это может быть имя пользователя, связанное с вашей собственной учетной записью веб-хостинга. Именно это имя пользователя должно иметь доступ для записи в определенные каталоги и файлы внутри вашей установки.
Общий трюк состоит в том, чтобы использовать имя пользователя «Сеть» в качестве имени пользователя для предоставления разрешений. Хотя это не имя пользователя, под которым запускается сценарий, это виртуальное имя пользователя, представляющее любое имя пользователя в домене Windows, в котором находится компьютер; установка разрешений для этого должна помочь, но за счет этого предоставляется больше разрешений, чем требуется. В идеале вы должны выяснить, под каким именно именем пользователя запускаются PHP-скрипты, и предоставить ему разрешения.

 Вторая проблема заключается в том, что нет автоматического способа установить права доступа к файлам на компьютере с Windows из скрипта PHP. Это оставляет три возможности для пользователя компьютера с Windows:
  1. Установите его так, чтобы каталог установки Composr имел полные права для пользователя PHP перед извлечением. Является ли это безопасным или нет, на самом деле зависит от вашей среды; если CGI отключен, а PHP open_base_dir включен, то он может быть защищен от несанкционированного доступа другими пользователями сервера. Кроме того, если нет других пользователей сервера, то это не должно быть проблемой. Этот трюк предполагает, что каталог настроен так, чтобы файлы, созданные в нем, наследуют разрешения; обычно это так.
  2. Попросите администратора сервера выполнить файл или найдите способ выполнить его самостоятельно fixperms.batЭто установит права доступа к файлу для вас, но это расширенный параметр, который может быть подвержен проблемам с окружающей средой. При использовании быстрого установщика bat-файл нужно будет запустить в тот момент, когда установщик жалуется на права доступа к файлу; в противном случае его следует выполнить перед установкой.
  3. Вручную установите права доступа к файлам. См. руководство по установке для получения списка прав доступа к файлам, которые необходимо установить. Там, где для Linux потребуются разрешения «666» (для файла) или «777» (для каталога), вам нужно будет назначить права на запись, как указано выше.
 Из-за этих проблем мы должны порекомендовать, если у вас есть выбор, не использовать веб-хост Windows, если вы не знакомы с моделью безопасности Windows. Она сложнее, менее стандартна и менее документирована, чем модель Linux (хотя на самом деле намного мощнее).

Установка на облачном хостинге.

 Ничто не мешает Composr работать на совместимом облачном хостинге.
 Следует отметить, что провайдеры PaaS могут размещать файлы отдельно от того места, где происходит выполнение, и это может замедлить доступ к диску. Возможно, вам придется изменить «Количество файлов за цикл» в программе быстрой установки на что-то меньшее, например 50, чтобы избежать тайм-аутов, например, белых экранов.

Облако Rackspace

 В частности, в Rackspace Cloud вам нужно будет установить разрешения на выполнение install.php файла ниже, чем значения по умолчанию, которые могли быть после загрузки:
  • Откройте ваш SFTP/FTP-клиент и найдите install.php
  • Получите доступ к разрешениям для файла и удалите write доступ для ownergroup и others(код UNIX для этого 444).

Работа из git.

 Composr можно запустить прямо из главного репозитория git .
 Однако имейте в виду, что основной репозиторий git содержит все несвязанные дополнения. Он используется разработчиками, которые хотят, чтобы все в экосистеме было в гармонии при разработке новых функций.
 Если вы собираетесь запускать из основного репозитория git, лучше установить его правильно, а не просто загружать ZIP-файл с GitLab. Затем вы можете выполнять git pull команды всякий раз, когда хотите обновить код с последними изменениями.

 Если вы программист, создающий свой собственный автономный сайт, вы можете использовать git, но вам следует создать собственный репозиторий из обычной установки Composr.

Вот несколько конкретных советов для тех, кто работает с нашим git-репозиторием:
  • Чтобы временно отключить надстройки, используйте безопасный режим ( &keep_safe_mode=1)
  • Вы захотите удалить множество несвязанных дополнений, размещенных в репозитории. При слиянии с апстримом файлы могут возвращаться, поэтому есть скрипт delete_alien_files.php, который должен помочь вам решить, какие файлы удалять.
  • Запуск из git запускает Composr в режиме разработки, что добавляет дополнительные ограничения и проверки (или, возможно, даже удаляет некоторые из них, предназначенные для живых сайтов). Ни один работающий сайт никогда не должен оставаться в режиме разработки. Чтобы изменить это, добавьте это к _config.php:$SITE_INFO['dev_mode'] = '0';
  • Чтобы остановить жалобы Composr на наличие установщика, а также заблокировать запуск установщика, создайте пустые install_ok и install_locked файлы.

Смотрите также: