drupal index php index
Drupal Русскоязычное сообщество
Зачастую ломают сайт, причем довольно «бережно». Только заменяют содержимое index.php. Причем первый прецедент был довольно давно, сейчас за неделю 2 случая. Права на файл 644. С чего начать, как проанализировать, где находится дыра в безопасности? Может ли быть поломан фтп? Если он поломан, то почему только index.php меняют, а не делают более сложные махинации?
Комментарии
Как узнал что взломали?
Какой фтп?у меня win scp я надеюсь что он безопасный. ПОменяй все пороли не сохраняй пароли.Я бы переустановил vps,сменил все данные.
Могу помочь кстати. Проконсультировать.
пароли поди в фтпшнике хранишь?
взломать могут и хостера.
Александр_Броневой. Элементарно, при входе на сайт страница совсем другая. Бангладеш Тим вроде 
Вы имеете в виду, что вот создаю я фтп-соединения и забиваю туда данные для коннекта, то есть там пароль не следует хранить? Дурень я, что могу сказать. До меня так работали и меня так научили.
Элементарно, при входе на сайт страница совсем другая.
Еще раз говорю, весь фтп работает на pure-ftp c использованием бд, то есть логины и пароли там хранятся, все бы ничего, но меня удивляет, что там пароли в незашифрованном виде хранятся, вся ВДСка была настроена еще до меня. А так все данные хрнаятся локально. Доступа к ним нет.
С чего начать, как проанализировать, где находится дыра в безопасности?
результат сюда. там дальше можно думать.
да че думать. движок обновляй да пользователей подозрительных вычищай. не сделаешь за бангладешом x-sec team подтянется с роликом о тяжелой жизни в сирии и что асад тиран. песня завораживающая. на слезу пробмвает
Пока что могу сказать: в xferlog ничего нет, только моя работа отображается. Буду пробовать, как говорит господин ttenz. Hacked у меня стоит довольно давно.
У меня проверка манулом зависла на проверке локального репозитория гита =/ причем конкретно так, уже часа 3-4 висит на нем.
У меня проверка манулом зависла на проверке локального репозитория гита =/ причем конкретно так, уже часа 3-4 висит на нем.
ок, пропускай. тогда давай со 2 пункта.
Гугл ещё не сообщил о взломе?, если нет, то время ещё есть, а то понизит или выкинет из поиска.
У меня проверка манулом зависла на проверке локального репозитория гита =/ причем конкретно так, уже часа 3-4 висит на нем.
На кой хрен вам какие-то манулы если есть гит? git status и всё как бы.
Да вроде нет. Молчит 
git status мне ничего не дал, Итак, какую инфу дал мне Hacked:
1) В ядре ничего не обнаружил.
Измененные файлы:
Все изменения были сделаны довольно давно, перепроверил, ничего подозрительного не обнаружил.
2) Дальше список измененных модулей и их файлов:
Chaos tool suite (ctools) 7.x-1.0:
Vote Up/Down 7.x-1.0-alpha1
У всех файлов изменения датируются 2012-2013 годами. Пересмотрел все, ничего там нет. Пока пробую security_review.
Вот что обнуружил: tmp/hacked-cache-root/hackedProjectWebFilesDownloader/ ну и весь tmp завален подобным, я его удалил, почему гит его не обнаружил, пока не ясно.
почему гит его не обнаружил, пока не ясно
почему и не люблю гит в этом плане, подозреваю, что она была в исключениях.
интересно бы посмотреть содержимое файла index.php (код)
Ну он сразу же в первую очередь был вычищен мною. Просто надо было хоть сделать видимость, что сайт не поломан. Естественно, что там до кучи всего было напихано. Сейчас там стандартный код:
он сразу же в первую очередь был вычищен мною
понятно. возможно там были указания к каким папкам он обращается. ну да ладно, делай 4,5 шаг. уверен, что пароли ты везде сменил и запомнил в памяти своего разума, но не в компе и проверил права на tmp, если она тебе нужна, надеюсь что, не 777.
Вот что обнуружил: tmp/hacked-cache-root/hackedProjectWebFilesDownloader/ ну и весь tmp завален подобным, я его удалил, почему гит его не обнаружил, пока не ясно.
Судя по всему это кэш модуля hacked.
Кстати вот вполне. Знаю некоторые сайты работают на 7.2 еще)))))
На кой хрен вам какие-то манулы если есть гит? git status и всё как бы.
sprinter_90 Обновился уже давно. По крайней мере ядро обновлено.
Это не так делается.
Очень любопытно, и как же?
ttenz, sprinhost, но там VDS’ка. Настройкой сервера я не занимался, да я и не имею сильных познаний в этой области. До меня человек работал.
Решил для фтп оставить только папку с темой: перенес домашнюю дерикторию фтп из корня сайта и сделал симлинк на папку с темой сайта.
рекомендую использовать ssh, срочно.
что site_audit показал? не затягивай, это серьезно.
Не стал пока создавать новую тему. Очень похожий случай. Заметил, что сайт стал грузиться раз на пятый-седьмой. Посещалово упало на 40%. Посмотрел, а в корневой папке сайта добавился файл «ch» без расширения в котором, при открытии его нотпадом написано «windows-1251». И файл index.php имеет ту же дату модификации, что и дата создания файла «ch». Дата изменения/создания файлов примерно совпадает с началом глюков на сайте (вчера вечером все было норм, сегодня вечером глючит, файлы созданы прошедшей ночью).
Сравнил содержание бэкапного индекс пхп и нового. Обнаружил интересную вставочку:
Вот такие дела. Пока что исправил последствия, удалив «ch» и заменив индекс.пхп на бэкапный. Еще не разобрался, где дыра, как латать и есть ли еще места, где хакер порылся.
Версия ядра 6.35
Версия CCK 6.2.8
Сменил все пароли, пока проблем больше не обнаруживается.
у меня такое было, поменяю пароли всё тихо, потом опять, в самое неподходящее время, пока правильно не настроил.
Трекер
Как создать отдельную страницу с регистрацией и входом на сайт
Как в подвале views вывести текст видный только админу.
Spam webform?
Создание новой страницы на drupal7
Порядок ответов в комментариях
Не перестанавливаются блоки
Изменение формата номера телефона при импорте
Вывод словаря(с иерархией) в Drupal7.
Вопросы по системному модулю поиска
preprocess_views_view_fields
Новые материалы
Как в подвале views вывести текст видный только админу.
Spam webform?
Порядок ответов в комментариях
Создание новой страницы на drupal7
Как создать отдельную страницу с регистрацией и входом на сайт
Вопросы по системному модулю поиска
preprocess_views_view_fields
Изменение формата номера телефона при импорте
Темизация формы поиска в Drupal 7
Добавить Block в flippy—services.html.twig
На развитие drupal.ru
Ваша финансовая помощь дает нам возможность оплачивать хостинг и поддерживать стабильную работу сайта. Благодарим за поддержку!
Drupal Русскоязычное сообщество
Перевод был подготовлен сборной командой пользователей Drupal.ru в составе: Ch, graker, iHappy, kyky, mak-vardugin, P.Selfin, trubinovskaya, vgoodvin.
А вот kyky сделал отличную PDF-версию: скачать (3.7 МБ).
Начинаем работать с Drupal: полное практическое руководство
В этом руководстве мы на практике откроем для себя Друпал и создадим сайт с новым типом содержимого и страницами для его вывода.
Готовы? Погружаемся в исключительно мощную систему управления контентом!
Задачи
По прочтении данного руководства вы:
Что мы сделаем
Мы разработаем сайт на Друпале с доской объявлений о вакансиях, куда посетители смогут добавить вакансии и проекты. Наша цель состоит именно в том, чтобы вы сразу начали создавать сайты, а не просто читали, как это делается.
Почему именно Drupal?
Сперва коротко рассмотрим, какие достоинства (и недостатки) имеет Друпал, чтобы вы могли определиться, подходит ли вам данная CMS.
Достоинства
Гибкость конфигурирования. Главное достоинство Друпала кроется в его гибкой архитектуре. Вы можете применять его для построения сайтов любых типов: от социальных медиа-сайтов, позволяющих пользователям размещать собственное содержимое и голосовать за него, форумов и сайтов с вакансиями до галерей или публикаций портфолио дизайнеров. Друпал отлично справится с поставленной задачей (конечно, для этого вам придется немножко потрудиться).
Многочисленное и грамотное сообщество разработчиков. Вокруг Друпала сложилось многочисленное, яркое и открытое сообщество пользователей и разработчиков. Это значит, вам доступны отличные модули, своевременное исправление багов и обновление ядра, а также неиссякаемый поток документации и руководств в сети.
Модули. Для Друпала разработано огромное число модулей, расширяющих его исходный функционал (о том, что такое модуль, мы поговорим немного позже).
Легкость для разработчиков. Как веб-разработчик, вы не почувствуете ограничений при работе с Друпалом. Ведь Друпал разрабатывался с учетом потребностей именно разработчиков. Ошибкой некоторых основных CMS является чрезмерное акцентирование на пользовательском интерфейсе, что часто влечет недостаток внимания к нуждам тех, кто, собственно, будет разрабатывать и продвигать систему в дальнейшем. Но с Друпалом это не так.
Встроенная система кеширования. Друпал располагает встроенной системой кеширования, способной снизить нагрузку на сервер и сократить время генерации страницы. Кеширование позволяет избежать сложных запросов к базе данных, что повышает производительность сервера.
Достойная встроенная поисковая система. В отличие от других CMS, в Друпале есть очень неплохая система поиска, реализованная на уровне ядра. Конечно, она не может конкурировать с такими поисковыми сервисами как Google Search, или Yahoo! Search BOSS, но тем не менее вполне пригодна для работы.
Недостатки
Длительный процесс обучения. Да, это факт, что изучение Друпала дается несколько труднее, чем изучение других CMS. Я бы не рекомендовал Друпал, если вы хотите сделать первый сайт уже через неделю знакомства. У вас уйдет не один месяц, чтобы по-настоящему понять Друпал, и еще столько же на создание первого полноценного сайта. Однако следует заметить, что небольшой сайт вы сможете создать меньше, чем за день (именно этим мы с вами и займемся в данном руководстве).
Сложность для не-разработчиков. Поскольку потребности разработчиков здесь стоят во главе угла, тем, кто не очень знаком с информационными технологиями, потребуется некоторое время, чтобы привыкнуть к Друпалу. Это значит, что специалистам, разбирающимся в веб-разработке лишь поверхностно, будет сложно создавать (или даже администрировать) сайты на Друпале.
Сложный интерфейс. Интерфейс администрирования сайта в Друпале несколько сложен для понимания; в целом он не такой дружелюбный к пользователю, каким мог бы быть. (Впрочем, это скоро изменится).
Drupal против WordPress
Где бы ни обсуждали Друпал, всегда возникает непреодолимое желание сравнить его с другой ведущей открытой веб-платформой; как правило, это WordPress.
Иными словами, если вы делаете серьезный ресурс с регистрацией, аутентификацией, набором разрешений и ролей, нaпример, Интернет- мaгaзин, форум или сaйт с видео и аудио-материалами, которые добавляют сами пользователи, имеет смысл использовать более серьезную CMS, чем WordPress.
Я бы не рекомендовал вам использовать Друпал, если клиенту нужен только блог или простой сайт с портфолио, состоящий из нескольких страниц и базового содержимого: такие сайты быстрее и проще сделать на WordPress. Друпал для этого явно излишен.
Другой важный аргумент против использования Друпала — интерфейс, в котором непросто разобраться неопытным пользователям. Это веский аргумент в пользу WordPress.
Сайты, работающие на Drupal
Чтобы вас воодушевить, перечислю несколько сайтов на Друпале.
Mozilla
Мозилла, компания, ответственная за Firefox, использует Друпал практически во всех своих веб-проектах. Официальные сайты Мозиллы и Spread Firefox сделаны на Друпале. 
Spread Firefox
Ubuntu
Официальный сайт Ubuntu, популярного дистрибутива Linux, операционной системы, которая стоит на многих серверах, тоже сделан на Друпале. Обратите внимание на размер этого сайта и количество типов содержимого и функций; вскоре вы поймете, почему для Ubuntu выбрали именно Друпал.
Нужны еще примеры? Тогда посмотрите на эти замечательные Друпал-сайты.
Скачиваем и устанавливаем Drupal
В рамках данного руководства будем пользоваться последним стабильным релизом Друпала 6; скачайте его отсюда.
Устанавливаем Drupal на XAMPP
Здесь мы будем устанавливать Друпал себе на компьютер, но если хотите поставить его на настоящий сервер, процесс будет аналогичен.
Если у вас еще нет локального веб-сервера, установите XAMPP прямо сейчас.
Ниже приведена ссылка на простое руководство за авторством Якоба Гьюба (основателя и главного редактора Six Revisions), по которому вы очень быстро установите и настроите XAMPP (руководство написано для WordPress, так что следуйте только первой его части, шагам 1-26, держа в уме, что вы уставливаете не WordPress, а Друпал):
Далее в данном руководстве мы предполагаем, что вы используете XAMPP, так что, если вы выбрали другой серверный пакет, вам возможно придется немного изменить процесс инсталляции.
Скопируйте файлы Drupal в директорию XAMPP
Скопируйте пакет с Друпалом, который вы скачали ранее, в директорию xampp\htdocs. Распакуйте файлы и переименуйте папку в «drupal» для простоты навигации.
Теперь перейдите в папку xampp\htdocs\drupal\sites\default.
Создайте settings.php
Сделайте копию файла default.settings.php и переименуйте ее в settings.php.
Убедитесь, что вы не удалили default.settings.php, в противном случае установка Друпала прервется с ошибкой; это одна из самых частых ошибок, совершаемых начинающими разработчиками на Друпал.
Создаем базу данных MySQL
Друпал для хранения данных использует MySQL. Так что нам необходимо заранее настроить базу данных MySQL.
Для этого воспользуемся phpMyAdmin — веб-интерфейсом для удобного администрирования баз данных MySQL (он уже входит в дистрибутив XAMPP).
Зайдите в браузере на страницу phpMyAdmin по адресу:
Создание отдельного MySQL-пользователя для базы данных Drupal
В нашем примере я создам новый MySQL-аккаунт и назову его drupal_user. Для рабочих сайтов, однако, неплохо использовать неочевидное, случайное имя пользователя, чтобы снизить вероятность взлома при атаке перебором.
Для создания нового пользователя MySQL перейдите на главную страницу phpMyAdmin, а затем щелкните на вкладку «Привилегии».
Теперь нажмите «Добавить нового пользователя» и заполните поля ввода необходимыми данными. 
Пока вы работаете на локальной машине (то есть, Друпал установлен на вашем компьютере и работает на XAMPP), можете выбрать все доступные привилегии, но на рабочем сервере очень рекомендуется установить только те, которые действительно необходимы пользователю drupal_user.
Для нашего примера я выбрал только те привилегии, которые хочу предоставить пользователю drupal_user.
На этом мы заканчиваем работу с MySQL и phpMyAdmin.
Локализация Drupal (от переводчиков)
Чтобы процесс установки совпадал с иллюстрациями в этом руководстве, необходимо устанавливать русифицированную версию Друпала. Для этого нужно скачать его перевод. Переводы Друпала и его модулей на русский язык находятся на сайте Drupaler.ru. Чтобы скачать перевод самого Друпала, зайдите на эту страницу, заполните форму как показано на рисунке и нажмите «Экспорт». 
Затем распакуйте скачанный архив в ту же директорию, куда чуть раньше распаковывали Друпал.
Переводы дополнительных модулей Друпала также находятся на Drupaler.ru. Поскольку далее по ходу руководства нам потребуются модули CCK и Views, скачайте их переводы прямо сейчас со страниц «Перевод CCK» и «Перевод Views».
Инсталлируем Drupal с помощью мастера установки
Итак, введем в адресной строке нашего браузера следующий URL:
Как только вы перейдете по URL выше, сразу увидите меню установки Друпала. Вы можете выбрать нужный язык интерфейса Друпала на первой странице. Обратите внимание, что эту опцию можно будет изменить позже из админки. Мы продолжим установку на русском, поэтому давайте выберем «Установить Друпал на русском».
На следующем экране Друпал проверит, способен ли ваш сервер (в нашем случае, локальная машина) работать с Друпалом. Если у вас на сервере не хватает нужных для Друпала приложений, будет выведено сообщение об ошибке.
Далее вы увидите экран конфигурации базы данных. Здесь вам нужно предоставить ту информацию, которую вы использовали при создании таблицы drupal_db и пользователя drupal_user.
Там же, на экране настройки базы данных, щелкните на «Дополнительные настройки» и увидите опцию под названием «Префикс таблиц«, которая позволяет приписать к названию всех MySQL-таблиц Друпала заданную строку (напр. blackjack_drupal_table). Я рекомендую вам задать случайный префикс, понятный только вам; эта осторожность поможет снизить угрозу атаки на базу данных с помощью SQL-инъекций.
Если все предыдущие действия были выполнены правильно, Друпал начнет установку необходимых модулей, после чего вы будете перенаправлены на страницу конфигурирования сайта.
Параметры конфигурирования интуитивно понятны, так что я позволю вам ввести всю необходимую информацию самостоятельно.
Настройка чистых ссылок
Для работы чистых ссылок требуется, чтобы на сервере был установлен mod_rewrite (модуль Apache). Скорее всего, он уже у вас установлен.
Если mod_rewrite не установлен или не запущен (что маловероятно, если у вас сервер Apache), Друпал выдаст ошибку и использование чистых ссылок будет недоступно. Это не помешает нам в создании сайта, но по описанным выше причинам следует включить чистые ссылки как можно быстрее.
Установка завершена
Если вы безошибочно следовали руководству, то увидите вот такой экран: 
Не переживайте, если появится ошибка функции mail(): она возникает из-за того, что мы используем XAMPP на локальной машине и попросту не настроили почтовый сервер, следовательно Друпал не сможет отправлять письма администраторам.
Когда вы будете работать с настоящим сервером, эти вещи уже будут заранее настроены (если только вы не делаете собственный веб-сервер, который еще не сконфигурирован).
Заходим в админку Drupal
Теперь, когда вы установили Друпал, пора обсудить концепцию модулей.
Что такое модули Drupal?
Как добавить модули Drupal
Помимо модулей ядра, входящих в состав Друпала, вы можете скачать дополнительные модули из официального хранилища-репозитория. Кроме того, после получения навыков разработки на API модулей Друпала, вы можете создавать собственные модули.
После того, как вы найдете нужный модуль, скачайте его на свой компьютер.
Затем нужно перенести распакованный модуль в директорию:
Установка дополнительного модуля: модуль CCK
Во-первых, скачайте подходящую версию CCK. Затем распакуйте архив в drupal\sites\all\modules ; в ту же папку распакуйте скачанный ранее с Drupaler.ru архив с переводом модуля CCK.
Поздравляю! Вы только что установили модуль Друпала.
Страницы администрирования Drupal: ускоренный курс
Есть два варианта просмотра административных разделов Друпала:
Если вы выберете отображение «По задачам«, то страница будет организована по различным задачам администрирования.
Например, при организации страницы «По задачам» под заголовком «Содержание» вы увидите все задачи, связанные с работой с содержимым. «Содержимое», нaпример, позволяет просматривать, редактировать и удалять материалы, a «Настройки публикации» контролируют их поведение и отображение на сайте.
У каждой задачи под названием имеется краткое описание, которое поможет вам понять ее назначение.
Если же вы выберете отображение «По модулям«, то ссылки будут организованы по модулям.
Например, в отображении «По модулям» под заголовком модуля «System» вы найдете пункты «Настройка прав доступа», «Чистые ссылки», «Модули» и так далее.
Кривая изучения интерфейса админки
Привыкать к административному интерфейсу Друпала можно очень долго; впрочем, существует немало дополнительных модулей, существенно облегчающих работу с админкой.
Я советую вам установить модуль Administration menu, добавляющий в верхнюю часть всех страниц сайта выпадающее меню навигации, видимое только администратору.
Настраиваем главную страницу
Время действовать. Давайте создадим главную страницу. Для этого мы добавим на сайт первый материал типа «Страница». Перейдем в меню Содержание > Создать материал > Страница ( localhost / drupal / node / add / page ).
Параметры меню
Тема, которую Друпал использует по умолчанию, отображает меню навигации в верхнем правом углу. Настройки в секции «Параметры меню» определяют, включать ли ссылку на нашу страницу в навигацию, или нет.
Если вы хотите добавить ссылку на главную страницу в основное навигационное меню, выберите «Основные ссылки» в выпадающем меню «Родительский пункт».
Опция «Вес» позволяет организовать порядок вывода ссылок. Ссылки с меньшим весом будут выведены первыми, поскольку они «легче».
В нашем случае, оставляем вес «Главной страницы» неизменным (по умолчанию вес равен нулю).
Формат ввода
Селектор в секции «Формат ввода» позволяет выбрать способ ввода содержимого.
Используйте формат Filtered HTML, если админитраторы сайта не знакомы с HTML.
А для разработчиков следует использовать формат Full HTML. Использование этого формата предполагает, что вы хорошо знакомы с языком HTML.
Информация о редакции
Если созданием содержимого у вас на сайте занимается только один человек, эта опция вам, наверное, не пригодится (разве что, вы очень забывчивы).
Кроме того, при отмеченном флажке «Создавать новую редакцию» старая версия материала будет сохранена на случай, если вы захотите к ней вернуться.
Параметры комментариев
Эти параметры позволяют включить или отключить комментарии посетителей для данного материала. Нам, пожалуй, не нужны комментарии на главной странице, так что я выбрал пункт «Отключено«.
Информация об авторе
В этой секции вы можете изменить имя автора и дату публикации.
Вам не потребуется каждый раз заполнять данные параметры — Друпал это сделает сам при условии, что вы их не изменяли.
Настройки публикации
Эта секция задает настройки публикации материала.
Посмотрим на главную страницу
А вот и наша главная страница; пока она очень простая, но не волнуйтесь, вскоре мы ее усложним.
Чем займемся дальше
Дальше мы сделаем доску объявлений о вакансиях, наполняемую пользователями.
В процессе ее создания мы поработаем с пользовательскими типами материалов, представлениями Views и другими средствами разработки сайтов на Друпале.
Что такое нода в Drupal?
Прежде чем продолжить, необходимо обсудить одну из самых непонятных для новичков тем — концепцию нод.
Нода — это базовый элемент в структуре содержимого Друпала. Проще говоря, если представить Друпал зданием, то ноды будут кирпичиками. Каждая часть содержимого сайта является нодой — будь то страница, публикация в форуме, статья и т.д.
Помните, что страницы администрирования и пользовательского профиля не считаются нодами, поскольку они генерируются системой, а не пользователями.
Чтобы рассмотреть это на примере, давайте перейдем на главную страницу, созданную ранее. Обратите внимание на адресную строку браузера, в ней будет указано нечто вроде этого (если чистые ссылки отключены, адрес будет выглядеть иначе): 
В адресе вы увидите слово «node»; это значит, что данная страница является нодой.
Создание нового типа материала в Drupal
Создание нового типа материала — отличный способ настроить сайт для своих нужд. Для каждого типа вы можете определить способ отображения, назначить права доступа, присоединить дополнительные свойства — возможности просто бесконечны.
Создадим тип материала «Вакансия»
Для каждой вакансии нам потребуются следующие поля:
Работать с пользовательскими типами материала в Друпале легко. Сначала перейдите в Администрирование > Типы материала > Добавить тип содержимого. 
Почти все элементы страницы добавления нового типа материала снабжены пояснениями. Я считаю необходимым поговорить отдельно об элементе «Тип». Тип — это машинное имя нового типа материала, используемое в более сложных разработках.
В нашем случае, для вакансий мы зададим машинное имя типа материала «job». Это очень важный момент: в будущем, когда вы станете мастерами-ниндзя Друпала и захотите внести комплексные изменения в свой сайт, например, изменить способ отображения объявлений, вам потребуется создать файл с именем node-job.tpl.php (это уже выходит за рамки данного руководства).
Теперь заполните поля «Название», «Тип» и «Описание», и мы двинемся дальше.
Свойства формы
В данной секции у вас есть возможность создать и настроите форму для ввода объявлений о вакансиях; именно ее увидят пользователи, когда будут публиковать вакансии.
Настройка процесса публикации
Создаем тип материала «Вакансия»
Самое время нажать «Сохранить» и тем самым завершить создание нашего первого типа материала. Если вы следовали инструкции, в списке типов содержимого появится «Вакансия» (рядом со страницей, статьей и так далее).
Настройка типов содержимого с помощью CCK
CKK — это, как правило, первый модуль, который ставят на новоиспеченный сайт искушенные разработчики. Он настолько важен, что будет внедрен в ядро Друпала 7, после чего вам не придется больше скачивать его вручную.
К этому моменту вы уже должны были установить CCK согласно описанию работы с модулями в начале руководства.
Включим несколько подмодулей CCK
Для начала, пройдите в меню Администрирование> Конструкция > Модули.
Как администратор сайта, включайте только те модули и подмодули, которые вам действительно нужны.
Теперь давайте включим несколько подмодулей CCK, нужных нам для формы вакансий.
Вот какие подмодули нужно включить: 
Поскольку от пользователей может потребоваться ввод дробных чисел (например, необходимый опыт работы в годах), нам потребуется включить подмодуль Number.
Также нам понадобится модуль Option Widgets, позволяющий добавлять разные элементы ввода данных, например, флажки, группы переключателей и так далее.
Каждый из этих подмодулей зависит от модуля Content: вы не сможете их включить, пока Content выключен.
Добавляем поля в форму
Вы включили подмодули CCK? Прекрасно, настало время настроить форму публикации вакансий.
Перейдите в меню Администрирование > Содержание > Типы содержимого, затем щелкните на ссылку «Управлять полями» в столбце «Действия» напротив типа материала «Вакансия». Здесь-то мы и будем добавлять новые поля к форме. 
Сперва я добавлю поле «Отдел«, дающее пользователю возможность выбрать из выпадающего списка отдел, в котором возникла вакансия (отдел разработки, финансовый, отдел интерфейсов, ИТ и маркетинга). 
После нажатия кнопки «Сохранить», вас перенаправит на страницу, где можно окончательно подстроить поле «Отдел» и перечислить его допустимые значения. 
Следущее поле — «Опыт«, в него пользователь сможет вводить дробные числа (например, 3.5 года).
В поле «Справочный текст» добавьте подсказку о том, как правильно заполнять поле, чтобы посетители вводили верные значения.
В разделе «Общие настройки» вы можете ограничить значение поля. Например, если в поле «Минимум» задать 2.3, то при попытке разместить вакансию с опытом 1.4 пользователю будет показано сообщение об ошибке.
Последнее поле в типе материала «Вакансия» — «Заработная плата». Это целое число, например, 50 000 рублей.
После создания всех полей, их список для типа материала «Вакансия» будет выглядеть так:
Перетаскивая значок крестика слева от названия полей, вы можете изменить порядок их отображения в форме добавления вакансий.
Создайте несколько вакансий
Прежде чем мы двинемся дальше, создайте несколько вакансий, перейдя на страницу Создать материал > Вакансия. Их данные нам понадобятся в следующей части руководства.
CCK — очень мощный инструмент
Здесь мы работали с самыми простыми полями CCK, но этот модуль предоставляет и гораздо более серьезные средства организации содержимого. Например, вы можете установить модуль ImageField, чтобы пользователи могли размещать изображения (к примеру, пусть работодатели выкладывают фотографии рабочего места).
Если вам нужны дополнительные поля CCK, ознакомьтесь с этим списком.
Создадим страницу вакансий с помощью модуля Views
Хотя вы и можете самостоятельно писать запросы к базе данных для чтения содержимого, дело это долгое и сложное, даже с учетом мощного API Друпала.
Для построения страницы со списком вакансий мы задействуем Views — модуль, позволяющий извлекать содержимое из базы данных вообще без написания кода.
Устанавливаем Views
Прежде всего, нам нужно установить Views. После загрузки, установки и включения модуля, он будет доступен в секции меню «Конструкция сайта». При установке не забудьте распаковать в папку с модулем его перевод.
Создаем первое представление
Любой набор данных, выведенный модулем Views, называется представлением.
Мы создадим представление, отображающее на странице список доступных вакансий. Также с помощью Views вы можете делать вложения, блоки и настраиваемые RSS-ленты, но мы пока разберем что-нибудь попроще.
Перейдите в меню на страницу Конструкция сайта > Представления > Добавить и заполните поля так, как показано на изображении:
Затем Друпал отобразит пользовательский интерфейс создания представлений. Не пугайтесь, мы вскоре его обсудим.
Что такое вид?
Чтобы приступить к созданию представления, нам нужно понять, что такое вид. Виды отображают наши данные в различных стилях. В одном представлении может быть несколько видов.
Для представления вакансий мы создадим 2 вида: страничный и блочный. Вернемся к этой теме чуть позже.
Добавление полей в представление
Давайте добавим несколько полей в наше представление. Поля — это содержимое, которое мы хотим вывести на страницу. Нажмите на значок плюса (+) в области «Поля», чтобы добавить поля к представлению.
Мы будем выводить заголовок, дату создания, отдел, зарплату и опыт, заданные пользователем в форме размещения вакансии.
Эти поля нам нужно выбрать из дополнительного списка, который появится после нажатия кнопки с плюсом (+). Нас интересуют следующие поля:
После выбора нужных полей нажмите кнопку «Добавить», чтобы перейти к настройке каждого поля в отдельности.
После нажатия кнопки «Добавить» первой появится секция настройки поля Содержимое: Отдел. Оставьте все как есть, за исключением селектора «Формат», задав в нем значение «Простой текст»; затем нажмите «Обновить».
Теперь настройте поле Содержимое: Опыт. Ничего не меняйте, просто нажмите «Обновить». И то же самое проделайте с полем Заработная плата.
Когда закончите с полями содержимого, нужно будет настроить поле Материал: Дата создания. Просто измените поле Формат даты в значение «Время назад», чтобы в поле отображалось, сколько времени прошло с момента публикации вакансии (например, «12 дней назад»).
Предварительный просмотр
Можете использовать вкладку предварительного просмотра, чтобы увидеть результат ваших настроек:
Основные настройки
Теперь зададим основные настройки представления.
Мы выберем стиль «Без форматирования«, а данные будем выводить в табличном формате. Когда зададите эти настройки, нажмите «Обновить».
Как вы можете заметить, после всех этих манипуляций наше представление выглядит лучше, чем раньше. Но мы еще не закончили.
Фильтры представления
На текущий момент в представлении выводится все содержимое сайта, в том числе и не являющееся вакансиями. А мы хотим выводить только вакансии.
Для этого выберем два фильтра, задающих вывод только опубликованных вакансий:
Нажмите на значок плюса (+) в области «Фильтры», затем выберите Материал: Опубликовано и Материал: Тип; нажмите «Добавить».
Настройте фильтр Материал: Опубликовано: укажите значение «Да», это исключит из нашего представления неопубликованные материалы.
Настройте фильтр «Материал: Тип» так, чтобы в представление попадали только материалы типа «Вакансия».
Взгляните на результат работы фильтров в предварительном просмотре:
Критерии сортировки
Из предварительного просмотра видно, что вакансии сортируются по дате от старых к новым. Было бы здорово сперва выводить новые вакансии.
Чтобы выводить новые вакансии первыми, мы применим критерий сортировки. В списке полей для сортировки, который появится после нажатия на плюс в соответствующей области, выберите Материал: Дата создания.
Укажите порядок сортировки По убыванию.
Снова обновите предварительный просмотр; теперь последние вакансии будут выводиться первыми.
Изменение порядка вывода полей
Обновите предпросмотр: представление стало еще лучше.
Мы закончили с созданием представления; теперь добавим в него два вида.
Добавляем страничный вид
В левой части страницы представлений, выберите «Страница» и нажмите «Добавить вид«. Вас автоматически перенаправит в раздел «Настройки страницы».
Нам нужно указать путь к странице и выбрать место для ссылки на нее. Я указал вес, равный 2, чтобы отобразить ее после ссылки «Главная страница».
После ввода значений не забудьте нажать «Сохранить».
Теперь можно посмотреть, как ссылка (под названием «Имеющиеся вакансии») на страницу с нашим видом выглядит в основной навигации.
Создаем блочный вид
Блоки используются для вывода информации в различных регионах сайта. Это виджеты, в которых отображаются такие данные, как текущие события, пять самых популярных статей и так далее. Блоки выводятся в таких регионах как левая боковая панель, заголовок, подвал и других.
Вы можете размещать блоки в заголовке, подвале и левой и правой панелях в стандартной теме Друпала. Управление блоками осуществляется из меню Администрирование > Конструкция сайта > Блоки.
Теперь создадим еще один вид для представления «Вакансии»; вид, отображающий последние объявления о работе в правой панели.
Переходим в Администрирование > Конструкция сайта > Представления и жмем на ссылку редактировать представление «Вакансии». Слева выбираем «Блок» и нажимаем «Добавить вид», как и ранее.
Кнопка «Переопределить»
Мы удалим 3 поля из блочного вида, чтобы блок умещался в боковой панели и не был перегружен информацией. Для этого нажимаем на каждое поле в разделе «Поля». Перед удалением поля обязательно нажмите кнопку «Переопределить», иначе вы измените базовое представление и заодно страничный вид, который мы сделали чуть раньше.
Вы можете также изменить имя блока, которое будет показано на странице администрирования.
Добавляем блок на боковую панель
Перейдем к управлению блоками и добавим наш новый блочный вид на правую панель.
Идите в Администрирование > Конструкция сайта и жмите на Блоки.
В секции «Отключено» найдите вновь созданный блок и выберите правую колонку в столбце «Область«.
Не забудьте нажать «Сохранить» для подтверждения изменений.
Отлично! На этом разработка доски вакансий завершена.
Темы оформления Drupal
В заключение руководства давайте обсудим темы оформления. Темы используются для изменения внешнего вида сайта.
В интернете можно найти великое множество тем. Вот, например, список тем, выложенных на оффициальном сайте Друпала.
Чтобы включать и выключать темы, перейдите в Администрирование> Конструкция сайта > Темы оформления.
Всего в дистрибутиве Друпала идет 5 тем. Вот, например, я активировал тему Marvin, чтобы придать нашему новоиспеченному сайту свежий, новый вид:
Не забудьте отметить нужную тему используемой по умолчанию, чтобы на сайте использовалась именно она.
Подведем итоги
Если у вас есть вопросы, не стесняйтесь задавать их в комментариях. Я с радостью вам помогу.



















































