使用Composer的drupal/recommended-project默认模版下载Drupal核心文件

大伟哥 提交于 2020-03-24,周二, 21:03

经过前面对composer的安装和调试,我们终于可以用www-data用户的身份运行Composer来管理Drupal文件了。

虽然有好几种办法使用composer来安装Drupal,但是现在Drupal官方推荐的方法却只有一种,那就是使用drupal/recommended-project这个composer模版。

注意,在Drupal 8.8.0之前,官方推荐的composer模版是drupal-composer/drupal-project,但随着Drupal 8.8.0的发布,官方支持的composer模版就变成drupal/recommended-project了。如果你现在看到网上其他的教程还是让你使用drupal-composer/drupal-project,那就过时了。当然你也可以根据自己的服务器配置和自己的熟悉习惯来选择合适的composer方案。

我们来看一下使用官方推荐的Composer模版drupal-composer/drupal-project安装Drupal和其他模版来安装Drupal有什么区别:

如果使用drupal-composer/drupal-project模版安装,你将:

  • 不需要手动编辑composer的JSON配置文件
  • 把程序统一安装到web子目录

如果不使用drupal-composer/drupal-project模版安装,你可以:

  • 只安装你想要安装的部分
  • 把程序安装到你想要的路径下,比如wwwroot,www,html,app等目录

下面我们使用drupal/recommended-project模版进行默认安装。

使用默认模版安装,会把最新版的drupal/recommended-project项目下载到你的项目文件夹里,这里我们以”my_site_name_dir“为例进行说明。这个文件夹里,将会存放一些不应该放在网站根目录里的文件,比如composer.json, bash脚本还有一些Vendor文件夹,这些文件都是不能被网站服务器进程访问的。而我们用到的网站文件,则统一放置在”my_site_name_dir/web“目录里。然后composer会自动运行composer install来下载最新版的Drupal和它依赖的库文件(不需要你手动运行composer install)。

执行composer命令前,切换到www-data用户,并切换到Apache默认的网站目录/var/www/html,我们将在这里创建一个新的目录my_site_name_dir作为新项目的文件夹:

sudo su - www-data -s /bin/bash
cd /var/www/html

然后就可以使用composer create-project创建项目了,这个命令有很多选项,一般来说使用默认选项就可以了:

composer create-project drupal/recommended-project my_site_name_dir

终端上会有很长一大串的输出:

composer create-project drupal/recommended-project my_site_name_dir
Creating a "drupal/recommended-project" project at "my_site_name_dir"
Installing drupal/recommended-project (8.8.4)
  - Installing drupal/recommended-project (8.8.4): Downloading (100%)         
Created project in /var/www/html/my_site_name_dir
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 56 installs, 0 updates, 0 removals
  - Installing drupal/core-composer-scaffold (8.8.4): Downloading (100%)         
  - Installing drupal/core-project-message (8.8.4): Downloading (100%)         
  - Installing composer/installers (v1.7.0): Downloading (100%)         
  - Installing zendframework/zend-stdlib (3.2.1): Downloading (100%)         
  - Installing zendframework/zend-escaper (2.6.1): Downloading (100%)         
  - Installing zendframework/zend-feed (2.12.0): Downloading (100%)         
  - Installing psr/http-message (1.0.1): Downloading (100%)         
  - Installing zendframework/zend-diactoros (1.8.7): Downloading (100%)         
  - Installing typo3/phar-stream-wrapper (v3.1.3): Downloading (100%)       
...
  Congratulations, you’ve installed the Drupal codebase  
  from the drupal/recommended-project template!  

Next steps:
  * Install the site: https://www.drupal.org/docs/8/install
  * Read the user guide: https://www.drupal.org/docs/user_guide/en/index.html
  * Get support: https://www.drupal.org/support
  * Get involved with the Drupal community:
      https://www.drupal.org/getting-involved
  * Remove the plugin that prints this message:
      composer remove drupal/core-project-message
  * Homepage: https://www.drupal.org/project/drupal
  * Support:
    * docs: https://www.drupal.org/docs/user_guide/en/index.html
    * chat: https://www.drupal.org/node/314178

至此,composer已经帮我们把Drupal核心下载完成了,我们就可以打开浏览器输入网站的网址开始安装Drupal了。正常的安装过程可以参考这里:在测试服务器上安装第一个Drupal网站

如果你希望使用命令行安装Drupal,你可以先composer require drush/drush来安装drush,然后使用drush site:install命令来运行命令行安装向导。

文章分类

标签

评论

请问,按照你这个方法用composer create-project 下载drupal,composer create-project drupal/recommended-project newhome,下载下来的文件目录是/var/www/html/newhome/web和/var/www/html/newhome/vendor,drupal代码还在web里面去了,drupal代码应该直接就在newhome里面啊。

不需要的,你需要创建虚拟主机的配置文件来配置多个站点,每个站点都能使用不同的域名。

在站点的配置文件里,你设置documentroot为/site1/web目录就可以了。这样的话安装和浏览网站时url里不需要加上/web。

我不清楚你用的服务器是Apache还是Nginx,可能配置方法不一样,但原理是一样的。

添加新评论

此字段内容将保密,不会被其他人看见。

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。
验证码
发布评论前,请通过下面的验证,以免被当作垃圾评论机器人屏蔽。
15 + 3 =
计算出这道简单的算术题并键入答案。例如、1+3,就输入 4。