使用Drush命令行外壳管理Drupal CMS

这是续集。
您可以通过以下链接以PDF格式下载本文,以为我们提供支持。

以PDF格式下载指南


这是续集。

这是续集。
这是续集。

Drush是Drupal的命令行外壳和脚本界面。 Drupal是一款真正的瑞士军刀,旨在破解命令提示并为度过时光的人们带来更轻松的生活。

Drush Core附带了许多有用的命令,可用于处理模块/主题/配置文件等代码。同样,运行update.php,执行SQL查询和数据库迁移,并运行其他实用程序,例如运行cron和清除缓存。开发人员喜欢“生成”命令,它允许您通过创建可以立即自定义的PHP和YML文件立即启动编码项目。

在本指南中,我们将在Ubuntu 20.04上运行drush命令。跟随

服务器要求

使用Drush之前,确保您的服务器满足以下要求很重要:

  • Nginx或Apache(如果启用了mod_rewrite)
  • 自PHP 7.2.9起的扩展:curl,dom,gd,json,mbstring,openssl,pdo_mysql,tokenizer,zip
  • MySQL 5.6或更高版本或MariaDB 10.0.5或更高版本
  • SSH(命令行)访问以运行Composer
  • 您的Drupal网站必须使用Composer构建,并且Drush被列为依赖项。
  • 选项。为了能够从任何地方调用Drush,请安装Drush启动器

步骤1:更新并安装重要工具

在新的Ubuntu服务器终端中,更新并安装在安装过程中将使用的必需工具。

sudo apt update && sudo apt upgrade
sudo apt install vim wget unzip curl -y

步骤2:数据库安装和设置

使用MariaDB进行此设置。幸运的是,我们已经有了安装MariaDB数据库服务器的详细指南。

退房:

如何在Ubuntu 20.04(Focal Fossa)上安装MariaDB

安装数据库后,下一步是创建Drupal CMS数据库和用户。创建数据库和用户名,如下所示。随时重命名数据库和用户,并使用安全密码。

$ mysql -u root -p
Enter password: 

MariaDB [(none)]> CREATE DATABASE drupaldb;
MariaDB [(none)]> CREATE USER 'drupaluser'@'localhost' IDENTIFIED BY 'StrongPassword';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON drupaldb.* TO 'drupaluser'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit;

步骤3:设置PHP和Web服务器

需要Web服务器来提供Drupal页面。在这里,您可以自由选择Apache或Nginx。本指南使用Nginx。另外,Drupal需要PHP,因此您还需要设置PHP。有完整的指南介绍如何在Ubuntu上安装Nginx和PHP-FPM。请继续进行下一步。

添加推荐的PHP设置

打开php-fpm ini文件,然后添加/编辑如下所示的详细信息。包含时区和内存限制设置。添加date.timezone(第955行),并将memory_limit(第400行)更改为512MB。

$ sudo vim /etc/php/7.4/fpm/php.ini

memory_limit = 512M

[Date]
date.timezone = Africa/Nairobi

安装作曲家

需要Composer来安装Drupal核心文件及其依赖项。要设置Composer,请执行以下步骤

cd ~
curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

运行composer命令以测试composer是否已成功安装。

$ composer -V
Composer version 1.10.9 2020-07-16 12:57:00

步骤4:创建一个Drupal项目并配置Nginx

在此步骤中,您将下载Drupal核心并运行作曲家安装以清理所有PHP依赖项。

根目录是Web服务器检出Drupal文件并根据请求提供文件的文件夹。您可以根据需要创建另一个。

$ cd ~
$ composer create-project drupal/recommended-project drupalcore

Creating a "drupal/recommended-project" project at "./drupalcore"
Installing drupal/recommended-project (9.0.2)

上面的命令可能需要一些时间才能完成。

将在主目录中创建一个名为drupalcore的新目录,并将文件复制到该目录。创建的新目录(drupalcore)被复制或移动到Nginx可以读取的任何webroot目录。

sudo cp -rv ~/drupalcore /var/www/html/

配置Nginx

您需要通过向Drupal添加所需的详细信息来对Nginx配置默认值进行一些更改。使站点感知,备份默认文件,并使用新配置创建新文件。

cd /etc/nginx/sites-enabled/
sudo mv default /tmp

创建一个新文件并添加如下所示的详细信息。如果您有FQDN,请用FQDN替换example.com。

$ sudo vim /etc/nginx/sites-enabled/drupal.conf

server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  example.com;
        root         /var/www/html/drupalcore/web;
        index index.html index.htm index.php;

        location / {
                try_files $uri /index.php$is_args$args;
        }

        location ~ .php$ {
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        fastcgi_read_timeout 240;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_split_path_info ^(.+.php)(/.+)$;
        }
    }

更改Drupal文件权限

为了使Nginx读取文件,您需要授予它权限和适当的权限。发出以下命令以运行它。

sudo chown -R www-data:www-data /var/www/html/drupalcore
sudo chmod -R 755 /var/www/html/drupalcore/
sudo systemctl restart nginx php7.4-fpm

步骤5:使用命令行安装Drupal

您可以使用Drush从命令行安装Drupal。通过运行以下命令将Drush添加到您的项目中:作曲家要求加急/加急。

cd /var/www/html/drupalcore
sudo composer require drush/drush

安装Drush Launcher

Drush Launcher是Drush全局$ PATH的一个小包装。您可以从设备上的任何位置调用drush命令,而不仅仅是在Drupal项目中。

通过在本地计算机上全局安装Drush启动器,您只需在命令行中输入drush,启动器就会在项目的供应商目录中找到并运行特定于项目的drush版本。

安装– Phar

通过CLI下载最新的稳定版本,如下面的代码所示。

cd ~
wget -O drush.phar https://github.com/drush-ops/drush-launcher/releases/latest/download/drush.phar

使下载的文件可执行。

chmod +x drush.phar

将drush.phar移至$ PATH中列出的位置,并将其重命名为drush。

sudo mv drush.phar /usr/local/bin/drush

执行Drush命令

drush --root=/var/www/html/drupalcore

如果收到此错误消息:“ Drush Launcher无法找到要运行的Drupal站点。请执行以下一项操作:”

  • 转到Drupal项目中的任何地方,然后重试。
  • 在– drupal中添加–root = / path /,以使Drush知道您的站点在哪里。

请执行下列操作:

$ vim ~/.bash_profile

export PATH="$PATH:/var/www/html/drupalcore/vendor/bin/"

编辑.bash_profile文件之后。采购如下

source ~/.bash_profile

现在,如果您不在Drupal根目录下,则可以运行drush –root = / path /到/ drupal / root以获取drupal的所有选项。

使用Drush安装Drupal

使用drush站点运行命令行设置向导:安装。不带参数的情况下,将安装标准概要文件,并且仅需要数据库凭据。

cd /var/www/html/drupalcore/
sudo drush site:install

您将看到类似于以下内容的输出请求数据库凭据的信息,Drupal安装将开始。

Database name [drupal]:
 > drupaldb

 Database driver [mysql]:
 > 

 Database username [drupal]:
 > drupaluser

 Database password [drupal]:
 > 

 Database host [127.0.0.1]:
 > 

 Database port [3306]:
 >

 You are about to:
 * Create a sites/default/settings.php file
 * DROP all tables in your 'drupaldb' database.

 Do you want to continue? (yes/no) [yes]:
 > 

 [notice] Starting Drupal installation. This takes a while.
 [notice] Performed install task: install_select_language
 [notice] Performed install task: install_select_profile
 [notice] Performed install task: install_load_profile
 [notice] Performed install task: install_verify_requirements
 [notice] Performed install task: install_settings_form
 [notice] Performed install task: install_verify_database_ready
 [notice] Performed install task: install_base_system
 [notice] Performed install task: install_bootstrap_full
 [notice] Performed install task: install_profile_modules
 [notice] Performed install task: install_profile_themes
 [notice] Performed install task: install_install_profile
 [notice] Performed install task: install_configure_form
 [notice] Cron run completed.
 [notice] Performed install task: install_finished
 [success] Installation complete.  User name: admin  User password: WTcLHCPWUg

安装Drupal之后,您可以照常通过将浏览器指向站点的IP或FQDN来通过Web访问Drupal。

步骤6:使用Drush的示例

您可以通过在项目根目录或Drupal中的任何位置键入“ drush”在外壳程序中运行Drush。转到根目录并运行drush命令

$ cd /var/www/html/drupalcore/
$ drush --version

Drush Launcher Version: 0.6.0
Drush Commandline Tool 10.3.1

Drush命令具有以下语法

drush [options]  [argument1] [argument2]

使用list命令获取可用命令的列表。

drush list

drush命令的示例包括:

环境概述– Drush和Drupal。

通过运行以下命令(Drush和Drupal)获得环境概述

$drush core:status

Drupal version   : 9.0.2                                                 
 Site URI         : http://default                                        
 DB driver        : mysql                                                 
 DB hostname      : 127.0.0.1                                             
 DB port          : 3306                                                  
 DB username      : drupaluser                                            
 DB name          : drupaldb                                              
 Database         : Connected                                             
 Drupal bootstrap : Successful                                            
 Default theme    : bartik                                                
 Admin theme      : seven                                                 
 PHP binary       : /usr/bin/php7.4                                       
 PHP config       : /etc/php/7.4/cli/php.ini                              
 PHP OS           : Linux                                                 
 Drush script     : /usr/local/bin/drush                                  
 Drush version    : 10.3.1                                                
 Drush temp       : /tmp                                                  
 Drush configs    : /var/www/html/drupalcore/vendor/drush/drush/drush.yml 
 Install profile  : standard                                              
 Drupal root      : /var/www/html/drupalcore/web                          
 Site path        : sites/default                                         
 Files, Public    : sites/default/files                                   
 Files, Temp      : /tmp                                                  

创建一个用户

Drush提供了一个简单而快速的界面,用于在您的Drupal网站上创建用户,如下所示:

$ drush user:create tech
[success] Created a new user with uid 2

为您创建的新用户设置密码

运行以下命令,以指定名称设置用户帐户的密码。

$ drush user:password tech "StrongPassword"
[success] Changed password for tech.

打印有关指定用户的信息

这是在终端中运行的简单命令,可获取有关您环境中用户的更多信息

$ drush user:information user
$ drush user:information admin

+---------+-----------+-------------------+---------------+-------------+
| User ID | User name | User mail         | User roles    | User status |
+---------+-----------+-------------------+---------------+-------------+
| 1       | admin     | [email protected] | authenticated | 1           |
|         |           |                   | administrator |             |
+---------+-----------+-------------------+---------------+-------------+

如果需要更多文档,请使用topic命令。

$ drush topic

Choose a topic:
  [0 ] Cancel
  [1 ] All global options. (core:global-options)
  [2 ] Bashrc customization examples for Drush. (docs:bashrc)
  [3 ] Bootstrap explanation: how Drush starts up and prepares the Drupal environment. (docs:bootstrap)
  [4 ] Configuration overview with examples from example.drush.yml. (docs:configuration)
  [5 ] Creating site aliases for running Drush on remote sites. (docs:aliases)
  [6 ] Crontab instructions for running your Drupal cron tasks via `drush cron`. (docs:cron)
  [7 ] Deploy command for Drupal. (docs:deploy)
  [8 ] Drupal config export instructions, including customizing config by environment. (docs:config:exporting)
  [9 ] Drush's support for Git Bisect. (docs:bisect)
  [10] Example Drush command file. (docs:examplecommand)
  [11] Example policy file. (docs:policy)
  [12] Extend sql-sync to allow transfer of the sql dump file via http. (docs:example-sync-via-http)
  [13] Instructions on creating your own Drush commands. (docs:commands)
  [14] Instructions on creating your own Drush Generators. (docs:generators)
  [15] Output formatters and filters: how to control the output produced by Drush commands (docs:output-formats-filters)
  [16] README.md (docs:readme)

您可以想象,Drush拥有一个丰富的生态系统,其中包含来自开发人员和贡献者的大量命令和支持。本指南无法解释Druch可以做的所有细节。想要查询更多的信息, 冲刷使用情况页面GitHub页面 与…相同 突击命令 完整的文档和参考。

结论

Drupal是一个开源CMS,可帮助开发人员提供庞大,雄心勃勃,优雅且高性能的数字体验。充分利用其功能,并将其与Drush结合使用,使您的工作异常出色。最后,我们感谢您的访问,希望该指南对您有所帮助。您可以跳到下面的类似指南,以使其更加有趣。

在CentOS 8上安装和配置Drupal 9 CMS

如何在Ubuntu上安装Drupal 9 CMS

在CentOS 8 / RHEL 8上安装和配置Drupal 8

Drupal 8可以做什么

10月CMS在CentOS 8上的安装和配置

这是续集。
您可以通过以下链接以PDF格式下载本文,以为我们提供支持。

以PDF格式下载指南


这是续集。

这是续集。
这是续集。

Sidebar