Расширенная установка
Автор Аллен Эллис (ocProducts)Перевод Наталия Хорошая
Быстрая установка, без быстрого установщика!
Установка через оболочку Linux
Мы не несем ответственности за неправильное использование этих команд; если вы не знаете, какое влияние каждая из них окажет на вашу систему, не запускайте их, пока не узнаете. Не запускайте последующие команды, если одна из них не удалась, иначе вы можете создать беспорядок.
Необходимо выполнить последовательность команд, аналогичную следующей:
Войдите в веб-каталог:
|
cd httpdocs |
Скачайте архив с сайта https://compo.sr:
|
wget <url-to-composr-zip-file> |
Разархивируйте архив:
|
unzip cms-<version>.zip |
Удалить архив:
|
rm cms-<version>.zip -f |
Если вы используете веб-сервер, где веб-сервер работает с теми же учетными данными, что и пользователь учетной записи хостинга, не выполняйте следующие два шага.
Исправьте все необходимые права доступа к файлам:
|
sh fixperms.sh |
Затем вы должны запустить URL-адрес install.php в своем веб-браузере и выполнить шаги установки.
После этого необходимо удалить файл install.php:
|
rm install.php -f |
Распаковка из панели управления хостингом
Сделать это можно на архиве ручного установщика.
Разрешения.
Примечание для пользователей Linux-сервера |
---|
Если вы работаете в системе suEXEC, где PHP-скрипт запускается от имени вашего пользователя, то должны подойти разрешения по умолчанию 744 и 644 (с _config.php равным 600 для дополнительной безопасности). Установщик сообщит вам, если вы находитесь в системе suEXEC, в противном случае предположим, что это не так, и вам все равно нужно будет установить разрешения. Если вы выбрали ручную установку, теперь вам нужно установить соответствующие разрешения для ваших файлов и папок (читайте дальше). Обычно вам не нужно устанавливать какие-либо разрешения, если вы выбрали быструю установку. |
Если у вас есть «доступ к оболочке» (спросите своего веб-хостинга, если вы не знаете), вы можете автоматически установить эти разрешения, войдя на свой сервер с помощью такой программы, как PuTTY, и запустив файл fixperms.sh.
Если у вас нет доступа к оболочке, то вам нужно будет вручную установить для каждой папки правильные разрешения.
Вот каталоги, для которых требуется настройка прав доступа к файлам:

Отметьте (отметьте) выделенные поля для всех файлов/папок, перечисленных слева. Этот снимок экрана был сделан на 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
- 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-серверы
- Любой index.php файл
- Все файлы PHP в корневом каталоге, кроме _config.php
- Все файлы PHP в каталоге данных
- Все файлы PHP в основном каталоге для зоны (например /, и /adminzone) каталоги
Установка в Windows (IIS).
Есть две проблемы, связанные с правами доступа к файлам, которые усложняют установку в Windows. К сожалению, эти проблемы полностью находятся вне нашего контроля и применимы к любой системе PHP, установленной на сервере Windows: все, что мы можем сделать, это помочь вам справиться с ними. Большинство домашних систем имеют полные разрешения, установленные по умолчанию, поэтому на самом деле их проще установить, чем Linux. Однако веб-хостинговые компании часто применяют более жесткую схему разрешений из-за своей среды общего хостинга.
Первая проблема заключается в том, что в Windows нет реального стандарта, определяющего, какие права доступа к файлам являются подходящими. Чтобы понять права доступа к файлам, вы должны понимать, что веб-сервер (или клиент PHP CGI, если он работает в режиме CGI) запускает скрипты PHP под именем пользователя, которое не просто «Администратор» (что было бы очень глупо). Что это за имя пользователя, зависит от того, как была настроена среда; это может быть обычный веб-пользователь (обычно с именем IUSR_<computer-name>) или это может быть имя пользователя, связанное с вашей собственной учетной записью веб-хостинга. Именно это имя пользователя должно иметь доступ для записи в определенные каталоги и файлы внутри вашей установки.
Общий трюк состоит в том, чтобы использовать имя пользователя «Сеть» в качестве имени пользователя для предоставления разрешений. Хотя это не имя пользователя, под которым запускается сценарий, это виртуальное имя пользователя, представляющее любое имя пользователя в домене Windows, в котором находится компьютер; установка разрешений для этого должна помочь, но за счет этого предоставляется больше разрешений, чем требуется. В идеале вы должны выяснить, под каким именно именем пользователя запускаются PHP-скрипты, и предоставить ему разрешения.
Вторая проблема заключается в том, что нет автоматического способа установить права доступа к файлам на компьютере с Windows из скрипта PHP. Это оставляет три возможности для пользователя компьютера с Windows:
- Установите его так, чтобы каталог установки Composr имел полные права для пользователя PHP перед извлечением. Является ли это безопасным или нет, на самом деле зависит от вашей среды; если CGI отключен, а PHP open_base_dir включен, то он может быть защищен от несанкционированного доступа другими пользователями сервера. Кроме того, если нет других пользователей сервера, то это не должно быть проблемой. Этот трюк предполагает, что каталог настроен так, чтобы файлы, созданные в нем, наследуют разрешения; обычно это так.
- Попросите администратора сервера выполнить файл или найдите способ выполнить его самостоятельно fixperms.bat. Это установит права доступа к файлу для вас, но это расширенный параметр, который может быть подвержен проблемам с окружающей средой. При использовании быстрого установщика bat-файл нужно будет запустить в тот момент, когда установщик жалуется на права доступа к файлу; в противном случае его следует выполнить перед установкой.
- Вручную установите права доступа к файлам. См. руководство по установке для получения списка прав доступа к файлам, которые необходимо установить. Там, где для Linux потребуются разрешения «666» (для файла) или «777» (для каталога), вам нужно будет назначить права на запись, как указано выше.
Установка на облачном хостинге.
Облако Rackspace
- Откройте ваш SFTP/FTP-клиент и найдите install.php
- Получите доступ к разрешениям для файла и удалите write доступ для owner, group и others(код UNIX для этого 444).
Работа из 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 файлы.