Утилита drush для обслуживания CMS Drupal

В этой статье мы рассматривали установку утилиты drush, настало время рассмотреть эту утилиту более подробно

Drupal sh или Drupal shell – именно так расшифровывается аббревиатура drush, которая является названием утилиты с интерфейсом командной строки. Эта утилита широко используется профессиональными веб-разработчиками Drupal для управления проектами и ходом разработки Drupal. Не менее полезна она и для администраторов, поскольку её возможности позволяют автоматизировать выполнение самих административных задач, касающихся проектов на CMS Drupal. Например, таким образом администраторы хостинг-площадок реализуют установку веб-приложений Drupal в «один клик», что очень удобно для пользователей — клиентов хостингов.

Как появилась drush?

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

Работа с CMS Drupal – это рутинное выполнение действий, за которые отвечает исключительно сам разработчик. Drupal ничего не скрывает от пользователя/разработчика, а потому предоставляет ему естественную и логически правильно выстроенную схему работы API, в которой нет отсутствующих или «непонятных» компонентов. Это всё даёт полный контроль над процессом разработки и обслуживания проектов на Drupal, однако всегда сопровождается большим количеством рутинных действий. Ярким примером является обновление Drupal. Для этого необходимо перевести проект в режим обслуживания, загрузить пакет обновления, выполнить резервное копирование, удалить старые файлы CMS, перенести конфигурацию и … т. д. Со временем стали появляться скрипты для отдельных и самых рутинных задач (таких как обновление), а позже всё это объединилось в единую реализацию утилиты drush, которая через командную консоль может выполнить самую сложную задачу (обновление, установка) буквально одной командой. Вот как выглядит команда drush обновления ядра Drupal:

$ drush up drupal

В процессе выполнения этой команды нужно только подтвердить обновление и пронаблюдать за ходом работы команды. Для того, чтобы вручную обновить Drupal, может потребоваться (если всё делать очень быстро) 10 минут и более. Утилита drush сделает то же самое за 15 секунд.

Как работает drush?

Утилита drush – это набор сценариев, написанных на PHP, интерфейс к которым предоставляется через объединяющий файл-сценарий drush. Утилита запускает команды, для которых в свою очередь предусмотрены опции. Например рассмотренная выше команда up drupal, является ничем иным как собственно, командой up (update – обновить) с опцией drupal, указывающей, что следует произвести обновление проекта под именем drupal – т. е. ядра CMS Drupal. В качестве проектов также указываются имена модулей, тем оформления, локализаций и т. д.

В большинстве случаев утилиту drush приходится устанавливать в систему вручную. Однако в некоторых дистрибутивах Linux она доступна в виде готовых пакетов.

Для того, чтобы иметь возможность управлять проектом Drupal с помощью утилиты drush, необходимо либо запускать её в каталоге с проектом (предварительно перейдя в него), либо указывать этот каталог с помощью дополнительной опции.

Основные команды и опции drush

Синтаксис утилиты drush классический и выглядит следующим образом:

drush команда [опции]

Список основных и часто используемых команд drush:























КомандаНазначение
cc, cache-clearОчистка кеша Drupal.
st, core-statusВыводит основную информацию о состоянии ядра Drupal, а также параметрах его проекта.
updb, updatedbВыполняет обновление БД Drupal, аналогично запуску скрипта update.php.
dd, drupal-directoryВозвращает абсолютный путь к проекту Drupal.
en, pm-enableВыполняет включение проекта (модуля или темы).
dis, pm-disableОтключает проект.
pm-infoВыводит информацию для одного или нескольких проектов (модулей или тем).
pm-uninstallУдаляет указанные проекты.
pm-listВыводит список всех проектов, доступных Drupal.
vsetУстанавливает значение переменных Drupal.
wsВыводит сообщения системного журнала Drupal.
ard, archive-dumpСоздаёт полный бекап сайта Drupal, включая БД.
up, pm-updateВыполняет обновление одного или нескольких проектов Drupal.
dl, pm-downloadЗагружает указанные проекты сразу в специальный системный каталог Drupal.
sql-confВыводит реквизиты подключения к БД Drupal.
sql-connectВыводит строку текущего активного подключения к БД.
sql-dumpВыполняет бекап БД.
sqlq, sql-queryВыполняет произвольный SQL-запрос к БД Drupal.
sql-syncВыполняет копирование БД при помощи Rsync.

Глобальные опции drush позволяют применять команды более гибко. Далее приведены самые распространённые из них:












ОпцияОписание
-r, —root=PATHЗадаёт путь к сайту на Drupal.
-y, —yesАвтоматически подтверждает выдаваемые drush запросы.
-n, —noАвтоматически отклоняет выдаваемые drush запросы.
-i, —includeПодключает дополнительные пути для поиска функций и/или команд drush.
-v, —verboseВключает подробный вывод.
-u, —userПозволяет выполнить авторизацию на сайте Drupal.
—phpЗадаёт произвольный путь к интерпретатору PHP.
-s, —simulateИмитирует выполняемые действия команд.

Управление проектами и обслуживание Drupal

Как уже было отмечено, в качестве проектов Drupal выступают его модули, темы, а также само ядро. Всеми этими структурными компонентами легко управлять из командной строки. Так, например, загрузить и установить модуль views можно командой:

$ drush dl views

При этом drush загрузит модуль именно туда, где ему место — в каталог sites/all/modules. Далее от пользователя требуется его только включить:

$ drush en views

The following projects have unmet dependencies:

views requires ctools

Would you like to download them? (y/n): y

Многие модули в Drupal имеют зависимости в виде других модулей (или библиотек). При включении модуля с зависимостями drush их самостоятельно отследит и предложит загрузить.

Загрузка и установка темы оформления «Zero Point»:

$ drush dl zeropoint

$ drush en zeropoint

Установка темы оформления «Zero Point» как темы по-умолчанию:

$ drush vset theme_default zeropoint

Перевод Drupal в режим обслуживания:

$ drush vset maintenance_mode 1

Соответственно для перевода в рабочий режим, следует задать значение «0». Для создания резервной копии базы данных Drupal:

$ drush sql-dump –-result-file=site_back.dump

Создание полной резервной копии сайта Drupal, включая и БД:

$ drush ard –-destination=/home/john/backups/site-drupal.tar

Восстановление из полной резервной копии в каталог /htdocs/drupal-site:

$ drush arr /home/john/backups/site-drupal.tar –-destination=~/htdocs/drupal-site

Запуск скрипта обновления БД:

$ drush updb

Обновление всех компонентов Drupal (ядро, модули, темы):

$ drush up

Обновить только модулей, не затрагивая ядро:

$ drush up –-no-core

Обновление только проектов, имеющих обновления безопасности:

$ drush up –-security-only

Просмотр записей системного журнала Drupal:

$ drush ws

Управление пользователями

Для создания пользователя необходимо выполнить команду user-create:

$ drush user-create username1 –-mail=”username1@mail.ru” --password=”notqwerty”

Назначение роли «moderators» пользователю username1:

$ drush user-add-role moderators username1

Смена пароля пользователя username1:

$ drush user-password username1 –-password=”password”

Удаление пользователя username1:

$ drush user-cancel username1

Заключение

В заключение важно заметить, что кроме глобальный опций drush существуют опции, характерный для отдельных команд. Для получения дополнительной информации о таких опциях следует выполнять команду вида drush help команда. Как можно видеть, утилита drush – незаменимый помощник если не обычному пользователю, то веб- разработчику и/или опытному системному администратору точно.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.



2019-03-25T11:57:33
Drupal

Как изменить Legacy BIOS на UEFI без переустановки Windows 10?

Некоторые материнские платы нового поколения для ПК и ноутбуков поддерживают как интерфейс UEFI, так и Unified Extensible Firmware Interface, а также BIOS или базовую систему ввода-вывода. Основное преимущество UEFI перед традиционным BIOS заключается в том, что UEFI поддерживает жесткий диск емкостью более 2 терабайт. Но недостатком UEFI является тот факт, что поддерживаются только 64-разрядные версии операционной системы Windows, а жесткий диск должен использовать структуру GPT. Если ваш компьютер поддерживает и совместим с UEFI, и вы хотите перейти с Legacy на UEFI, мы обсудим различные шаги для этого здесь.

Мы будем обсуждать следующие два метода, с помощью которых мы можем изменить Legacy на UEFI без переустановки Windows 10.

  1. Конвертировать MBR в GPT, используя встроенные утилиты Windows.
  2. Конвертировать MBR в GPT, используя среду восстановления.

Прежде чем мы продолжим, вам необходимо выполнить следующие предварительные условия:

  • Материнская плата вашего компьютера должна поддерживать как Legacy, так и UEFI.
  • Ваш компьютер должен работать под управлением Windows 10 версии 1703 или новее в разделе MBR.

1] Конвертировать MBR в GPT, используя утилиты Windows

Запустите CMD от имени администратора и выполните следующую команду:

mbr2gpt.exe /convert /allowfullOS

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

Когда это будет сделано, вам нужно перейти в BIOS вашего ПК.

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

Выберите «Устранение неполадок» → «Дополнительные параметры». На этом экране предлагаются дополнительные параметры, в том числе восстановление системы, восстановление запуска, возврат к предыдущей версии, командная строка, восстановление образа системы и параметры прошивки UEFI.

Выберите «Настройки прошивки UEFI», и он перейдет в BIOS. Каждый OEM имеет свой способ реализации опций.

Режим загрузки обычно доступен в разделе «Загрузка» → «Настройка загрузки». Установите его в UEFI .

Сохранить изменения и выйти. ПК теперь перезагрузится.

2] Преобразование MBR в GPT с использованием среды восстановления

Во время работы программы установки Windows, когда на экране появляется сообщение, нажмите Shift + F10, чтобы открыть командную строку.

Запустите командную строку от имени администратора и выполните следующие команды одну за другой:

mbr2gpt.exe /convert

Подождите, пока процесс не завершится.

Когда это будет сделано, вам нужно перейти в BIOS вашего ПК.

Режим загрузки обычно доступен в разделе «Загрузка» → «Настройка загрузки». Установите его в UEFI .

Сохраните изменения и выйдите. ПК теперь перезагрузится.



2019-03-25T11:55:16
Вопросы читателей

MikroTik Configuration with DHCP WAN Connection

MikroTik Router is one of the most popular routers because of having a lot of networking features. MikroTik DHCP Client is a special feature that is used to connect to any DHCP Server. So, if any uplink ISP provides DHCP connection, MikroTik Router is able to connect that DHCP Server using this DHCP Client. In my previous article, I discussed how to configure MikroTik Router with PPPoE WAN Connection. In this article, I will discuss how to configure MikroTik Router with DHCP WAN Connection.




Core Devices and IP Information




To configure MikroTik Router with DHCP WAN Connection, I am using a MikroTik RouterBoard 1100 AHX2 (RouterOS v6.38.1) and the LAN Gateway IP is 192.168.10.1/24. This information is just for my R&D purpose. Change this information according to your network requirements.




Network Diagram




To configure MikroTik Router with WAN DHCP Client, I am following a network diagram like the below diagram.




MikroTik Network with DHCP WAN Connection
MikroTik Network with DHCP WAN Connection




In this network diagram, MikroTik Router’s ether1 interface is connected to ISP network where  DHCP Server is enabled. So, we will create MikroTik DHCP Client in this interface so that MikroTik Router can connect with ISP DHCP Server and can access internet. Again, MikroTik Router’s ether2 interface is connected to a LAN switch having IP block 192.168.10.0/24. We are assigning static IP for LAN users but if we want, we can configure MikroTik PPPoE Server, MikroTik DHCP Server or MikroTik Hotspot Server on ether2 interface. We will also configure NATing in our MikroTik Router so that LAN users are able to get internet using this private IP block. 




MikroTik Configuration with WAN DHCP Client




We will now start our MikroTik Router configuration with WAN DHCP client according to the above network diagram. Complete MikroTik configuration with DHCP WAN connection can be divided into the following three steps.




  • MikroTik DHCP Client Configuration on WAN Interface
  • Assigning LAN Gateway
  • NATing configuration




Step 1: MikroTik DHCP Client Configuration on WAN Interface




If your uplink ISP provides DHCP connection, you must configure MikroTik DHCP Client on your WAN interface. The following steps will show how to configure DHCP Client on MikroTik WAN interface.




  • Login to MikroTik Router using Winbox with admin privilege credential.
  • Click on IP > DHCP Client menu item. DHCP Client window will appear. Click on PLUS SIGN (+). New DHCP Client will appear.
  • Choose WAN interface (ether1) from Interface dropdown menu.
  • Make sure that Use Peer DNS and Use Peer NTP is selected if your ISP includes DNS and NTP Server Information with DHCP connection. Usually, DNS IP is provided with every DHCP connection.
  • Choose yes from Add Default Route dropdown menu otherwise you and your LAN user cannot communicate with the internet.
  • Click Apply and OK button.




MikroTik DHCP Client Configuration
MikroTik DHCP Client Configuration




If your WAN interface is connected to your uplink ISP network, your DHCP Client will be connected with the ISP DHCP Server and you will find connection status with assigned IP information from Status tab in respected DHCP Client window.




You will also find that a dynamic IP is added in IP > Address list window, Dynamic DNS Servers are added in IP > DNS window and a default route is automatically added in IP > Routes list by MikroTik DHCP client.




Step 2: Assigning LAN Gateway




After MikroTik DHCP Client configuration, we will now assign LAN Gateway IP so that LAN user can communicate through MikroTik Router. The following steps will show how to assign LAN Gateway IP in MikroTik Router.




  • Go to IP > Addresses menu item. Address List window will appear.
  • Click on PLUS SIGN (+) and put your LAN gateway IP (192.168.10.1/24) in Address input field.
  • Choose your LAN interface (ether2) from Interface dropdown menu.
  • Click Apply and OK button.




LAN Gateway IP has been assigned. Now we will configure NATing so that LAN user can get internet through MikroTik Router.


Step 3: NATing Configuration




We will now create a NAT rule in MikroTik Firewall for masquerading our LAN IP block. Otherwise, our LAN user cannot access internet through our MikroTik router. The following steps will show how to create the masquerade firewall rule in MikroTik router.




  • Go to IP > Firewallmenu and click on NAT tab and then click on PLUS SIGN (+). New NAT Rule window will appear now.
  • Choose srcnatfrom Chain dropdown menu and put LAN IP block (192.168.10.0/24) in Address input field.
  • Click on Action tab and choose masqueradefrom Action dropdown menu.
  • Click Applyand OK




NATing configuration in MikroTik router has been completed as well as all our necessary steps to configure MikroTik Router with WAN DHCP Client have been completed. Now connect your LAN users to MikroTik Router through a LAN switch. If everything is OK, your LAN users will able to get internet through MikroTik Router.






I have used static IP for LAN users for making this article simple but in real situation you will prefer MikroTik DHCP Server or MikroTik PPPoE Server or MikroTik Hotspot Server for connecting your LAN users. So, follow my articles about MikroTik DHCP Server Configuration, MikroTik PPPoE Server Configuration and MikroTik Hotspot Server Configuration and choose which is suitable for your network.




If you face any confusion to follow the above steps properly, watch the below video about MikroTik DHCP Client configuration. I hope it will reduce your any confusion about MikroTik DHCP client configuration on WAN interface.