Установка MODX revolution и настройка. Права на папки modx revo


Модель безопасности в MODX

Модель безопасности в MODX не самая очевидная. Хотя в MODX присутствуют примитивы, присущие, например, модели безопасности SQL, их предназначение в MODX несколько отличается. При настройке безопасности конечной целью является дать каждому пользователю соответвующий набор привилегий – разрешить ему совершать определенные действия в системе. Действия могут совершаться над различными объектами: страницами (resource), контекстами (context), чанками (chunk), переменными шаблонов (TV) и т.д. Сами действия могут быть очень разными, в простейшем случае это создание, просмотр, редактирование и удаление. Таким образом, задача настройки безопасности сводится к заданию отношений между пользователями, объектами и привилегиями.

Группы пользователей

Предположим, мы хотим дать пользователю partner доступ к странице «Проекты» на редактирование. В этом примере объектом является страница «Проекты», привилегией – редактирование, а пользователем – partner. Но для того, чтобы реализовать такую схему безопасности, потребуется создать группу пользователей. Дело в том, что в MODX права назначаются именно группе, а не пользователю. Группа – это множество пользователей, обладающих схожими правами. Разумеется, пользователь может состоять в нескольких группах.

Группы страниц

Дать доступ непосредственно к странице «Проекты» тоже не удастся, т.к. система безопасности MODX оперирует только с группами страниц (resource groups), а не с отдельными страницами. Если точнее, то управлять доступом можно на уровне следующих объектов:

Политики доступа

Не будет большой неожиданностью, что и привилегии в MODX объединяются в группы. Группы привилегий называются политиками доступа (access policy). Например, политика доступа может состоять из таких привилегий: Чтобы дать доступ на редактирование, потребуется создать политику доступа с привилегией «редактирование страниц». Конечно, чтобы пользователь смог редактировать страницу, ему понадобится и привилегия «чтение страниц». Учитывая всё вышесказанное, алгоритм настройки доступа в MODX можно представить так:
  1. выделить объекты, доступ к которым необходимо предоставить;
  2. если доступом к данным объектам нельзя управлять напрямую (например, это страница или чанк), создать группу страниц или категорию элементов и добавить туда интересующий объект;
  3. создать пользователя;
  4. создать группу, которая будет носителем прав доступа к интересующим объектам, и добавить пользователя в эту группу;
  5. создать политику доступа с набором привилегий, которые необходимо предоставить;
  6. присвоить политику доступа группе пользователей.

Шаблоны политик доступа

В MODX порядка 200 разных привилегий. Некоторые привилегии логически связаны, например, привилегии регулирующие доступ к страницам или привилегии, регулирующие доступ к чанкам. Для того, чтобы ориентироваться в таком количестве привилегий было проще, в MODX существуют шаблоны политик доступа. Шаблон состоит из набора привилегий, с которыми часто приходится работать вместе, например, если нужно дать доступ на просмотр страницы, велика вероятность, что понадобятся и привилегии на редактирование и создание. При создании политики доступа в MODX требуется указать шаблон политики доступа. Шаблон отличается от политики доступа тем, что шаблон только группирует привилегии, чтобы с ними было удобно работать в панели администрирования. Шаблон не даёт никаких привилегий, он лишь ограничивает количество привилегий, которые можно назначить политике. Сделано это для удобства: чтобы приходилось искать нужные привилегии не в списке из сотен пунктов, а в списке из пары десятков. Теоретически можно создать шаблон со всеми возможными привилегиями и пользоваться им, но на практике это не очень удобно. Стоит отметить, что каждая привилегия применима к определённому виду объектов. Например, привилегия на просмотр страниц не может быть использована для предоставления доступа на просмотр контекста, для этого есть отдельная привилегия. Шаблон объединяет привилегии относящиеся к одному типу объектов и, как следствие, определяет, к каким объектам будет применима политика доступа.

Роли

До сих пор мы не касались понятия роли, однако, на практике при попытке настроить права доступа, вы обязательно столкнётесь с ролями. В простых конфигурациях безопасности можно игнорировать роли и везде указывать одну и ту же роль (например, «Super User»), но разобраться в принципе работе ролей всё же стоит. Роли позволяют ограничивать привилегии пользователя внутри группы. Образно говоря, роли позволяют создать внутри группы пользователей «уровни доверия». Каждая роль имеет ранг: чем меньше числовое значение ранга, тем больше доверия соответствует этой роли. По сути, роль и ранг – почти одно и то же, роль – это ранг, которому присвоено некоторое имя, например «Super User». Когда пользователь добавляется в группу, ему назначается определённая роль. Если ранг роли равен нулю, пользователю оказывается максимально возможное для этой группы доверие, он получает доступ ко всем привилегиям группы. У каждой политики доступа, назначенной группе пользователей, задаётся минимальная роль, которой должен обладать пользователь, чтобы получить привилегии из этой политики. Здесь есть небольшая путаница: под минимальной ролью имеется в виду, что роль пользователя должна иметь ранг не выше указанного, чтобы он имел доступ к привилегиям из данной политики. Предположим, есть два пользователя partner и bestpartner с почти идентичным набором привилегий, но bestpartner помимо всех привилегий partner, может ещё редактировать страницу «О компании». Можно просто скопировать настройки доступа partner и присвоить копию пользователю bestpartner, добавив туда недостающую привилегию:
  1. создать группу bestpartner-group;
  2. назначить новой группе те же самые политики доступа, что были у группы partner-group;
  3. создать новую политику с недостающими привилегиями и назначить её группе bestpartner-group.
Используя роли, можно решить эту задачу так:
  1. назначить partner роль Member в группе пользователей partner-group;
  2. назначить bestpartner роль Super User в группе пользователей partner-group;
  3. для политик доступа, которые нужно назначить обоим партнёрам, установить минимальную роль Member;
  4. для политики доступа, специфичной для bestpartner, установить роль Super User.
Как видно из примера, одну и ту же задачу можно решить как с применением механизма ролей, так и без него. При выборе того или иного способа, стоит руководствоваться простотой конечного решения. Оригинал: https://modx.pro/security/3776-the-security-model-in-modx/

ilyaut.ru

Установка MODX revolution и настройка | Разработка сайтов

В продолжении темы о внедрении шаблона в MODX revo, или как создать сайт самому. В этой статье я расскажу как установить CMS/CMF MODX revolution и настроить его для дальнейшей работы. MODX — это бесплатный, с открытым кодом, движок. Очень прост в освоении, имеет дружественный интерфейс и такое же дружественное сообщество. Для работы с этим движком, вам не обязательно знать такие языки программирования, как PHP, Smarty, JS и т.д. Что вам нужно, это разбираться в HTML и CSS, остальное, за вас, сделает MODX при помощи плагинов и сниппетов, которые доступны в свободном скачивании и совершенно бесплатно.

Итак, скачиваем последнюю версию MODX revolution с сайта разработчиков. Выбирайте версию Traditional. Вообщем то, сама установка не сложна и требует от вас следовать инструкциям, которые появляются на каждом этапе установки.

Установка MODX revolution

Распакуйте скачанный архив в директорию вашего сайта. В адресной строке браузера запустите инсталляцию название_вашего_сайт.ru/setup/, может выпасть, зависит от настроек хостинга или локального сервера, такая ошибка:FATAL ERROR: MODX Setup cannot continue. Make sure your директория_вашего_сайта/core/cache directory exists and is writable by the PHP process.Установчик MODX говорит о том, что нужно проверить существует ли папка /cache/ в указанной директории и установить права на запись 777 для этой папки. Установите права доступу к папке — 777, любым доступным способом. Если всё сделано правильно, откроется страница выбора языка.

Я выбираю ru и жму select. На следующей странице MODX поприветствует вас, жмём далее.

На странице выбора параметров оставляем всё как есть и следуем далее.

На этой странице следует ввести информацию о подключении к базе данных.

После заполнения всех данных жмёмПроверить соединение с сервером баз данных и отобразить список доступных сопоставлений.MODX сам создаст базу данных, об этом и сообщит. Если этого не произошло (в чём сомневаюсь), то вам нужно создать БД самим. На этой-же странице — ниже.

Электронную почту администратора рекомендую указать действующий. Заполните все поля и жмём далее. На следующей странице вы увидите отчёт об установке. Если есть ошибки, они, как правило, сводятся к тому, что MODX не смог создать нужные папки и поменять права. Создайте необходимые. Если всё сделано правильно — жмём установить. Ознакомившись с отчётом об установке, следуем дальше.

Входим в систему и настраиваем.

Настройка MODX revolution

При первом входе, MODX поприветствует вас. Также, могут, выпасть предупреждения об изменении прав на файл /core/cofig/config.inc.php — установите права 444. И удалите папку /setup/, или вынесите из директории вашего сайта. Для настройки нужно перейти на вкладку Система->Настройка системы.

Настройка системы не сложна, внимательно читайте каждый пункт и отмечайте, зависит от ваших предпочтений. Я укажу, что делаю я. На второй странице, пункт Автоматически генерировать псевдонимы — Да. Это позволит MODX переписывать заголовки в урлы на латинице. Для этого, нужно будет установить плагин translit. Мы вернёмся к этому. Третья страница,

Пятая.На шестой странице:На седьмой — можно отключить rss-каналы от MODX.

Далее, переименовываем файл ht.access, который находится в корне вашего сайта, в .htaccess (точка впереди) и давайте загрузим и установим необходимые пакеты с репозитория MODX. Для этого переходим: Система -> Управление пакетами. Находим в поиске (название пакета + Enter) и устанавливаем пакеты:

В дальнейшем, по мере необходимости, мы будем добавлять нужные нам пакеты. Вот, на этом установка и настройка MODX revolution завершена.

Публикации по теме.

marabar.ru

Исправление «Каталог ядра в открытом доступе» в MODX

исправление ошибки Каталог ядра в открытом доступе" MODX 2.5

Всем привет! Недавно я сталкнулся с проблемой, а именно у меня возникала ошибка "Каталог ядра в открытом доступе" в MODX 2.5. Разработчики CMF добавили эту проверку вроде бы с версии 2.4, она связанна с безопасностью сайта.

Дело в том, что если не исправить данную ошибку, то злоумышленник сможет украть у Вас данные к БД, ну или узнать версию MODX. Так что лучше исправить эту проблему.

Начнем с простого

Для начала, давайте начнем с самых простых вещей, которые указаны в самой ошибки. Первым делом необходимо переименовать уже имеющийся там файл в папке /core  "ht.access" в ".htaccess" и очистить кэш.

Начиная с версии 2.5, содержимое ".htaccess" выглядит так:

# deny access to _all_ files in the core, including changelog.txt and error.log # original borrowed from owncloud # line below if for Apache 2.4 <ifModule mod_authz_core.c> Require all denied </ifModule> # line below if for Apache 2.2 <ifModule !mod_authz_core.c> deny from all Satisfy All </ifModule> # section for Apache 2.2 and 2.4 IndexIgnore *

Не помогло? Вот и мне не помогло :D, когда я пытался решить эту проблему с переносом сайта на другой хостинг.

Дело в том, что большинство хостинг компаний, используют следующую схему работы, при которой запросы к статичным файлам (в частности txt) обрабатываются с помощью Nginx, а остальные запросы передаются Apache.

Поэтому файл ".htaccess" не может использоваться для отключения доступа к статическим файлам, так как он обрабатывается только на уровне Apache. А MODX как раз-таки и проверяет файл (/core/docs/changelog.txt)

UPD. На некоторых сайтах использую

Deny from all AllowOverride None

Второй метод справления ошибки "каталог ядра в открытом доступе"

Что же делать? Как решить проблему "каталог ядра в открытом доступе"? Всё очень просто, для этого нужно перенести /core за пределы публичной части сайта (public_html).

Также меняем путь к папке /core в файлах:

И вручную удаляем содержимое папки /core/cache. Саму папку cache не удаляем! Вот и всё, мы исправили проблему "каталог ядра в открытом доступе" в MODX

Если у Вас возникли вопросы, задавайте через форму ниже.

Лучший способ выразить благодарность автору - поделиться с друзьями!

Спасибо, что поделились :)

31.07.2016 / 6924

igamov.ru

Установка MODX Revolution | Блог Ярослава Перелыгина

Перед вами стоит задача разработки гибкого и быстрого сайта? Тогда вы поступили правильно, что выбрали MODX Revolution. На этой CMF (Content Management Framework) можно разработать практически любые по сложности сайты, имея при этом минимум знаний в программировании.Сегодня мы с вами поговорим о том, как установить MODX Revolution. В принципе, ее установка практически ничем не отличается от установки других популярных CMS и CMF. Как всегда, нужно пройти несколько нетрудных шагов.

Я уже как-то писал статью об установке MODX Evolution. Кто не знает, это еще одна ветка MODX. Она кстати, появилась первой, но на данный момент развивается медленнее, чем Revolution.

Итак, первым делом вы, конечно же, должны были зарегистрировать домен и хостинг. Не буду подробно останавливаться на этом вопросе, скажу лишь, что в настройках домена обязательно должны быть прописаны DNS вашего хостинга. За помощью в данном случае можно обратиться к своему хостеру или регистратору доменов.

Далее нужно создать домен в панели управления хостингом. Я использую VPS (виртуальный сервер), на котором у меня установлена панелька ISPmanager. Для создания домена нужно авторизоваться в панели управления, перейти в раздел «WWW домены» и нажать кнопку «Создать» справа вверху.

В появившемся окошке укажите доменное имя, к примеру, «wp», владельца и IP-адрес, email, в выпадающем списке выберите «PHP как модуль Apache», поставьте галочку «Cgi-bin» и нажмите «ОК».

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

После этого на вашем сервере будет создана папка с именем вашего домена под ваш сайт. В нее мы и будем загружать файлы MODX Revolution, но перейдем к этому чуть позже.

Если вы уже создали базу данных для своего сайта, то следующие несколько абзацев можете пропустить. Если нет, то внимательно читайте о том, как это делается. Как я уже говорил, я использую в качестве панели управления ISPmanager. Если у вас установлена, к примеру, cPanel, то процесс создания БД будет немного отличаться.

Итак, если у вас VPS или выделенный сервер и в панели управления создано несколько пользователей, то после авторизации в ISPmanager нужно перейти в раздел «Пользователи» выбрать требуемого пользователя и нажать «Войти» справа вверху. Если же у вас нет прав администратора, а есть только права пользователя, то этого делать не нужно, вы и так авторизуетесь в панели управления под данными своего пользователя.

После этого вам нужно перейти в раздел «Базы данных» и нажать кнопку «Создать» справа вверху. В появившемся окошке введите имя базы, имя нового пользователя и пароль, в качестве кодировки выберите «utf 8 » и нажмите «ОК».

Создание базы данных в ISPmanager

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

Обязательно запомните имя базы данных, имя пользователя и пароль. Эти данные пригодятся вам при установке MODX Revolution, а также могут пригодиться в будущем.

После этих вводных шагов, которые я по идее мог и не рассматривать, переходим непосредственно к установке MODX Revolution на хостинг.

Как установить MODX Revolution

Итак, все подготовительные этапы пройдены. Дело осталось за малым. «Как за малым?» — Спросите вы — «Ведь осталось самое основное!» Да, остался действительно самый важный этап в этом вопросе, но, поверьте, установка MODX Revolution на хостинг очень проста и длится всего несколько минут.

Для начала перейдите сюда и скачайте архив с MODX Revolution. Рекомендую скачивать пакет «Traditional».

Далее разархивируйте файлы и закачайте их по FTP на свой сервер в корневую папку сайта. Не забудьте переименовать файл «ht.access» в «.htaccess». Процесс закачки файлов и папок будет выглядеть примерно так:

Как установить MODX Revolution на хостинг

Файлов у MODX Revolution достаточно много, поэтому процесс закачки может занять определенное время. В принципе, если вам некуда спешить, то можете закачать файлы именно такоим образом.

Гораздо быстрее закачать на сервер архив, а затем его там разархивировать.

Рекомендую вам воспользоваться моим советом и закачать на хостинг архив. В него положите все папки и файлы, находящиеся внутри папки «modx-2.2.13-pl», а не ее, как это было изначально. Ваша папка в зависимости от версии может называться иначе. Я использовал формат архива — RAR, метод сжатия — максимальный. Затем описанным выше способом через FTP закачайте архив на сервер. После того как архив будет закачен, зайдите в «Менеджер файлов» в панели управления вашим хостингом, найдите архив и нажмите кнопку «Извлечь» справа вверху. Процесс разархивации займет несколько секунд. После этого архив следует удалить.

Далее в адресной строке браузера введите site.ru/setup/, где site.ru — это адрес вашего сайта. Запустится процесс установки. В самом начале у меня возникла ошибка, связанная с директорией core/cache, но затем я задал ей права 777 и проблема решилась.

Забегая на несколько шагов вперед, рекомендую вам сразу зайти на сервер и проверить права еще и у следующих каталогов: core/config, core/export и core/packages. Если, как и у меня, у вас эти каталоги имеют права 755, то измените их на 777, так как в противном случае на последнем шаге могут возникнуть ошибки. Возвращаемся к установке.

Первым делом нам предлагают выбрать язык из выпадающего списка.

Как установить MODX Revolution

Затем будет еще одно окошко, где следует нажать кнопку «Далее».

На следующем шаге рекомендую оставить все как есть без изменений. Хотя некоторые вебмастера используют права 777 для своих каталогов, я в целях безопасности использую права 755 для каталогов и 644 для файлов.

Как установить MODX Revolution

На следующем шаге нужно проверить соединение с сервером базы данных. Для этого требуется ввести имя бд, имя пользователя и пароль. Мы задавали эти данные при создании базы данных в панели управления хостингом. Остальные поля оставьте без изменений. После того как данные будут введены, следует нажать на «Проверить соединение с сервером базы данных и …».

Как установить MODX Revolution

Если после этого появилась надпись «Подключение к серверу базы данных: Успех!», то нажимаем на «Создание и испытание выборки из базы данных». После этого вас должна ожидать надпись «Проверка базы данных: Успех!». Если это так, вам остается задать логин администратора, электронную почту и пароль. Эти данные вам потребуются для авторизации в админ-панели сайта. Нажимаем кнопку «Далее».

Как установить MODX Revolution

После этого последует отчет об установке. Если вы воспользовались моим советом и задали права 777 для требуемых каталогов, то никаких ошибок у вас возникнуть не должно. Когда я впервые устанавливал MODX Revolution, я еще не знал об этой проблеме, поэтому столкнулся с рядом ошибок, которые, в принципе, решились сразу же после изменения прав.

Далее последует пару нетрудных шагов. На последнем из них, где нас благодарят за установку MODX Revolution, у меня вывелось «Важное примечание» с требованием создать каталог core/components и задать ему права на запись.

Как установить MODX Revolution

Я создал этот каталог вручную. По идее он должен был создаться автоматически, но опять же этого не случилось из-за проблем с правами. Если честно я впервые столкнулся с такой ситуацией при установке CMS.

Теперь остается лишь нажать кнопку «Войти», чтобы пройти авторизацию в админ-панели сайта. Также проследите, чтобы под ней была установлена галочка для удаления установочных файлов.

На этом процедуру установки MODX Revolution можно считать завершенной. Мы столкнулись с определенными трудностями, но в целом с задачей справились. Про эту CMS (CMF) будет написана еще не одна статья, так что продолжение следует!

yaroslaff.su


Prostoy-Site | Все права защищены © 2018 | Карта сайта