Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
tristamoff
7 лет назад

Создание сайта на CMS Drupal 7. Урок 1


Друзья, хотелось бы поделиться своим опытом работы с этой CMS. Сразу оговорюсь - если вам будет интересно - продолжу уроки на эту тему от “накликать сайт мышкой” до “программирования собственных модулей”. Поэтому дайте знать в комментариях и голосами за пост.

Итак, поехали. Если вкратце - Drupal - Это очень гибкая, но прожорливая цмс`ка. В админке всё не совсем очевидно, поэтому порог вхождения у неё высокий. Но когда разберетесь - сможете очень быстро поднимать сайты со сложной логикой.
Ниже я покажу как поднять сайт на локальной машине под управлением Windows(Mac OS), никаких виртуалок не нужно. Затем мы русифицируем систему и создадим несколько материалов

В качестве локального сервера я использую XAMPP

https://www.apachefriends.org/ru/index.html (X - все операционные системы, A - Apache, M - MySQL, P - PHP, P - Perl)

https://i.imgur.com/Hg8Q2kn.png
Если вы использовали Denwer - это примерно тоже самое.
В принципе подойдет и любая сборка веб-сервера, но денвер использовать не рекомендую, так как он видимо давно не поддерживается и php там версии 5.3

Скачивайте установщик под вашу ОС, устанавливаете как обычную программу. Непосредственно к CMS это не относится, поэтому не буду заострять на этом внимание.

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

Чтобы сайт заработал - в Apache нужно создать хост(грубо говоря доменное имя, адрес сайта). Прописывается это в конфиге апача.
Сам конфиг лежит в <путь до xampp>\apache\conf\extra\httpd-vhosts.conf
В этом файле вы увидите примеры виртуальных хостов. Мой новый хост выглядит вот так:
<VirtualHost *:80>
DocumentRoot "F:/golos.local"
ServerName golos.local
<Directory "F:/golos.local">
# AllowOverride All # Deprecated
# Order Allow,Deny # Deprecated
# Allow from all # Deprecated

# --New way of doing it
Require all granted
</Directory>
</VirtualHost>

https://i.imgur.com/uS8pxvI.png
Это означает, что мой локальный сайт будет открываться в браузере по адресу golos.local , а файлы сайта лежат на диске F в папке golos.local

Имя папки может не совпадать с хостом. При одинаковых именах сайт просто удобно найти.

Теперь ОС нужно Сказать, что домен golos.local нужно искать на локальной машине. Для этого добавляем в файл hosts строчку 127.0.0.1 golos.local
Файл лежит тут C:\Windows\System32\drivers\etc\hosts

https://i.imgur.com/VPrh0z2.png
Теперь всё готово и можно запустить Apache. Если он уже запущен - то перезагрузите его или просто выключите и включите, после этого веб-сервер подхватит ваш виртуальный хост.
XAMPP прячется в трее, кликайте по ней дважды и откроется её окно. Напротив апача жмите Stop и затем Start. Если вы правильно прописали виртуальный хост - то ошибок быть не должно и апач корректно запустится.

https://i.imgur.com/QxMHpik.png
Теперь я попробую открыть свой сайт в браузере. Так как файлов сайта ещё нет - я получаю 403 ошибку. Это говорит о том, что веб сервер успешно работает и домен смотрит в папку сайта.
Если вы видите тоже самое - то можно приступать непосредственно к установке сайта.

https://i.imgur.com/pN7XvHy.png

Из чего состоит сайт и почему его надо устанавливать.

Сайт - это набор скриптов и файлов + база данных(БД). Для установки сайта необходимо скачать в директорию сайта сам движок сайта(все файлы) и подготовить базу данных, в которой установочные скрипты создадут все необходимые таблицы и в часть из них внесут данные.
Функциональность Drupal`а состоит из модулей. Каждый модуль несёт в себе какой-то функционал. Модули могут использовать функции ядра и других модулей. Они могут зависеть друг от друга и требовать библиотеки.
Оформление сайта находится в теме. Тем у сайта как правило две - админская и публичная.
На официальном сайте Drupal Все модули и темы движка бесплатны.

Подготовка движка

Сам движок можно скачать тут https://www.drupal.org/project/drupal

https://i.imgur.com/Rpjkxqp.png
Для скачивания доступны 7 и 8 версии CMS. И хотя восьмёрка вышла достаточно давно и в ней закрыли многие баги - использовать её я не рекомендую. Для неё не написаны многие модули и в целом она сыровата. Да, обратной совместимости тут нет - модули для 7 версии подойдут только к седьмому друпалу. Для 8 и 6 версий надо писать отдельные модули.
Так что скачивайте 7 версию. Я скачаю zip архив и распакую его в свою директорию указанную в виртуальном хосте.

https://i.imgur.com/h7OWoGj.png
Смотрите, чтобы в папке сайта не было вложенной папки с движком.

Теперь подготовим базу данных.

С XAMPP в комплекте идёт PHPMyAdmin - это самая распространённая web-админка для БД. Она доступна по адресу http://localhost/phpmyadmin/

https://i.imgur.com/23tWcOy.png
По-умолчанию логин root и пароль root(или вообще нет пароля). На локальной машине это нормально, но на сервере пароль должен быть сложным.
Открывайте в ней пункт Базы данных и в поле Имя базы данных вписывайте название БД, которую вы хотите создать. Я назову её mygolos. Сравнение выбирайте utf8mb4_unicode_ci - это кодировка БД.

Почему я выбрал utf8mb4_unicode_ci, а не utf8_unicode_ci. Если при добавлении информации в БД вы попытаетесь добавить туда смайлики(с iOS/Android) - то база с кодировкой utf8_unicode_ci выдаст ошибку. utf8mb4_unicode_ci корректно прожуёт такие символы.


https://i.imgur.com/jteTOb5.png
После создания БД она у вас сразу откроется. Теперь вам нужно создать пользователя для работы с этой базой.
Заходите в “Привилегии” и жмите “Добавить учетную запись пользователя”

https://i.imgur.com/mgtdMFA.png
Имя пользователя пишем golos_user (или любое другое)
Имя хоста пишем localhost
Пароль golosPass (на локалке можно простой пароль)
Глобальные привилегии - жмите “Отметить все”.
Внизу кнопка “Вперёд”

https://i.imgur.com/JnohFHx.png
Всё, пользователь готов.
Открываем в браузере наш виртуальный хост и друпал перекидывает нас на установщик.

https://i.imgur.com/TcXK3ys.png
Установку выбирайте стандартную. Язык тоже оставляем английский, перевод сделаем после установки.
Указывайте данные для доступа к БД.

Префикс необязателен, но он будет очень полезен в том случае, если у вас на сервере будет несколько друпал сайтов и один из них начнёт давать нагрузку на БД. Тогда по запросам вы легко отследите проблемный сайт.

Я укажу префикс gol_

https://i.imgur.com/6RGaoLd.png
Жмите далее. Начнётся установка.

https://i.imgur.com/acPNP73.png
Задавайте имя суперадминистратора(в друпале это пользователь под номером 1) и пароль.

Локализация

Руссифицируется друпал очень легко.
Открывайте раздел Modules и ищите модуль Locale. Отмечайте его и жмите Save.

https://i.imgur.com/l3HcNOV.png
После этого жмите пункт Configuration в меню и ниже ищите Languages

https://i.imgur.com/u1FB94H.png
Тут жмите Add language и выбирайте свой язык.

https://i.imgur.com/TDEISdB.png
Отметьте его как язык по-умолчанию.

https://i.imgur.com/II7wQ8Y.png
Теперь, чтобы поддерживать локализацию в актуальном состоянии скачайте модуль Localization update.
Данный модуль есть только для 7 версии. Если какой-то модуль есть для 6,7 и 8 - то скачивайте только для 7. Я скачаю zip архив версии 7.x-2.1(актуальна на сегодняшний день)

https://i.imgur.com/N0kQoM7.png
Распакуйте архив и закиньте его в папку sites/all/modules. Именно туда, а не просто в modules, друзья мои хорошие!

https://i.imgur.com/hu9kHgB.png

Опять хочу обратить ваше внимание - никаких вложенных папок(с версией модуля в имени папки) быть не должно. Хотя, если вы сделаете там вложенную папку - друпал рекурсивно всё обойдёт и найдёт ваш модуль.

После этого модуль будет доступен в разделе модулей. Включайте его.

https://i.imgur.com/nf1ad9p.png
При первом включении будет скачан перевод для включаемого модуля, это займёт немного времени.

https://i.imgur.com/3VvYXs3.png
При включении новых модулей их локализация будет происходить автоматически.

Локализация ядра

Открываем Configuration и внизу пункт Translate interface

https://i.imgur.com/i4EV8n3.png
В открывшемся окне переключайтесь на таб Обновить (этот пунт меню создан модулем Localization update, который был локализован при включении, поэтому он уже переведён) и нажмите на Проверить вручную*.

https://i.imgur.com/Pree6TM.png
После этого модуль Localization update дёрнет сервер переводов и сообщит, что есть переводы для ядра.
Оставляете отмеченным чекбокс с вашим языком и жмёте Обновить переводы.

https://i.imgur.com/9XE34od.png
Сейчас будет происходить обновление переводов ядра и всех контрибных(включенных в состав ядра) модулей.

https://i.imgur.com/UCu0xox.png

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

Теперь у вас есть полностью рабочий сайт на друпале на вашем языке. Нажмите F5 и главное меню “переведётся”.

Теперь можете нажать пункт на тулбаре Добавить материал и создать материал либо типа Article, либо Basic page. Подробнее о типах материалов будет в следующем уроке.

https://i.imgur.com/zrXHrFU.png
После сохранения материала он сразу же будет доступен.

https://i.imgur.com/111JuU8.png

На первый раз всё. Традиционно большое количество изображений и минимум пока ещё необязательных подробностей.

Итог

Если у вас получилось всё это повторить - то вы готовы к следующему уроку. А пока можете покопаться в админке, посмотреть что там к чему.

В следующем уроке я расскажу что такое типы материалов, для чего они нужны и как их расширять.

76
29.958 GOLOS
На Golos с January 2017
Комментарии (10)
Сортировать по:
Сначала старые