跳转到主要内容
首页

用户帐户菜单

  • 登录

主导航

  • 首页
  • 小公司运营
  • 网站建设
  • 创业杂谈
  • 兼职赚钱
  • 小微企业信息化
  • 手册教程
    • 《大伟哥的Drupal 8建站指南》
    • 《通过JohnChow.Com在网上赚钱》
  • 关于

面包屑

  • 首页
  • 使用www-data用户运行Composer

使用www-data用户运行Composer

By 大伟哥 | 2020-03-23,周一, 15:09

昨天只是按常规安装和配置了composer,现在我们在接下来的学习和实践中会碰到一个问题,就是如何以www-data的身份运行Composer。

为什么用www-data用户运行Composer?

因为Ubuntu Server下面,Apache的用户组www-data,运行PHP的也是www-data,把网站文件的所有者和组属性设置成www-data:www-data,可以在保证安全的前提下避免网站运行中出现权限问题,所以很多教程都会告诉你修改网站文件的所有权或者权限。

如果如果使用www-data用户运行Composer,那么下载下来的文件所有者就会自动设置为www-data,这样就可以避免每次都要手动运行chown命令了。

那么如何使用www-data用户运行Composer呢?

我们需要解决一个问题,就是www-data这个用户,不是一个普通的用户,没法直接登录。因为/etc/passwd文件里,www-data是这样定义的:

www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin

如果我们使用sudo su www-data切换用户,就会得到“This account is currently not available.”的错误提示。但我们可以使用sudo su - www-data -s /bin/bash命令给www-data用户启动一个bash,来执行composer命令:

daweibro@ubuntu:~$ sudo su - www-data -s /bin/bash
www-data@ubuntu:~$ ls
html

这时我们再次修改配置文件,使用阿里云给大家提供的国内Composer镜像:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

再查看composer的全局配置文件,就会发现Composer的运行环境都放在/var/www/目录下了:

www-data@KingChef-Workstation:~$ composer config -gl
[repositories.packagist.org.type] composer
[repositories.packagist.org.url] https://mirrors.aliyun.com/composer/
[process-timeout] 300
[use-include-path] false
[preferred-install] auto
[notify-on-install] true
[github-protocols] [https, ssh]
[vendor-dir] vendor (/var/www/vendor)
[bin-dir] {$vendor-dir}/bin (/var/www/vendor/bin)
[cache-dir] /var/www/.cache/composer
[data-dir] /var/www/.local/share/composer
[cache-files-dir] {$cache-dir}/files (/var/www/.cache/composer/files)
[cache-repo-dir] {$cache-dir}/repo (/var/www/.cache/composer/repo)
[cache-vcs-dir] {$cache-dir}/vcs (/var/www/.cache/composer/vcs)
[cache-ttl] 15552000
[cache-files-ttl] 15552000
[cache-files-maxsize] 300MiB (314572800)
[bin-compat] auto
[discard-changes] false
[autoloader-suffix]
[sort-packages] false
[optimize-autoloader] false
[classmap-authoritative] false
[apcu-autoloader] false
[prepend-autoloader] true
[github-domains] [github.com]
[bitbucket-expose-hostname] true
[disable-tls] false
[secure-http] true
[cafile]
[capath]
[github-expose-hostname] true
[gitlab-domains] [gitlab.com]
[store-auths] prompt
[archive-format] tar
[archive-dir] .
[htaccess-protect] true
[use-github-api] true
[lock] true
[home] /var/www/.config/composer

这样使用www-data用户配置网站服务,整个环境就会很清爽,也不会产生权限问题,我们就可以集中精力使用Drupal了。

网站建设
  • 1541 阅读
Drupal
Composer

Book traversal links for 使用www-data用户运行Composer

  • ‹ 使用composer安装Drupal及管理依赖(一)
  • 向上
  • 使用Composer的drupal/recommended-project默认模版下载Drupal核心文件 ›

添加新评论

此字段内容将保密,不会被其他人看见。
关于文本格式
  • 不允许使用HTML标签。
CAPTCHA
4 + 0 =
计算出这道简单的算术题并键入答案。例如、1+3,就输入 4。
发布评论前,请通过下面的验证,以免被当作垃圾评论机器人屏蔽。

搜索

手册导航

  • 网站本地测试开发要尽量使用linux环境
  • Ubuntu Server 16.04安装LAMP网络服务器套件
  • 在测试机上配置Apache服务器下的第一个虚拟主机
  • 在测试服务器上安装第一个Drupal网站
  • Drupal 8/9安装及配置中文语言包
  • Ubuntu Server下启用Apache Rewrite模块
  • drupal 8小版本间升级详细说明
  • Drupal 8多站点实现:使用一套Drupal代码运行多个不同网站
  • Drupal 8网站迁移的步骤和注意事项
  • Drupal 8设置信任主机
  • 安装Drupal 8后除了首页外全是not found
  • Drupal 8解决5次输入密码暂时锁定帐号登录
  • 使用Drupal的SMTP模块发送邮件
  • Drupal怎么进行分类和创建栏目?
  • 使用composer安装Drupal及管理依赖(一)
    • 使用www-data用户运行Composer
    • 使用Composer的drupal/recommended-project默认模版下载Drupal核心文件
    • 使用Composer下载和安装Drupal的命令行工具Drush
    • 使用Composer接管以前手动安装的Drupal网站
    • 使用Composer给Drupal打Patch补丁
    • Composer:PHP error: “The zip extension and unzip command are both missing, skipping.”
    • Composer: Could not delete web/sites/default/default.settings.php
  • 新安装的Drupal 8默认能实现什么功能?
  • 给Drupal8/9网站添加基本页面
  • 让Drupal 8/9显示内容最近编辑时间
  • 给Drupal安装后台搜索服务xunsearch
  • Drupal 8/9 让某个字段仅对注册登录用户显示
  • Drupal Commerce 电子商务方案指南

沪ICP备17000093号-1

公安备案沪公网安备 31011402008254号

© 2016-2022 大伟哥博客版权所有