在 Debian Jessie 上使用 LDAP 身份验证设置 phabricator

Set up phabricator with LDAP authentication on Debian Jessie

在服务器 运行 Debian 8 上,如何设置 phabricator 以便使用本地 LDAP 服务器对用户进行身份验证?

(选择 LDAP 是因为相同的帐户以后也应该被同一服务器上的其他 Web 应用程序使用)

用安全密码替换所有出现的 ***** 并安全地存储它们。

将所有出现的 example.com 替换为合理的内容。

如果您没有本地 X,请为 jxplorer 应用程序使用 ssh X11 隧道。


apt-get install emacs aptitude dbconfig-common debconf fonts-font-awesome jq \
    php5-fpm libjs-raphael php5-cli php5-curl mysql-server php5-mysql \
    php5-ldap po-debconf ucf nginx php5-apcu php5-gd npm python mc git \
    default-jdk jxplorer slapd xauth

mysql root 用户的新密码:*****

LDAP 的管理员密码:*****


mysql -u root -p
mysql> grant all privileges on `phabricator\_%`.* to 'phabricator'@localhost identified by '*****';
mysql> exit

dpkg-reconfigure slapd

输入

  • 域:用户。example.com、
  • 公司名称:例子
  • 其他地方,接受默认值

启动jxplorer,连接,进入

  • 基本 DN:dc=users,dc=example,dc=com
  • 级别:用户+密码
  • 用户 DN:cn=a​​dmin,dc=users,dc=example,dc=com
  • 密码:您之前使用的密码

如果愿意,请保存连接设置

在 "users" 下面添加新用户,对象类帐户,simpleSecurityObject:

  • uid=developer,userPassword=*****,提交
  • uid=reviewer,userPassword=*****,提交
  • uid=webadmin,userPassword=*****,提交
  • uid=匿名,userPassword=*****,提交

退出 jxplorer


从测试发行版下载 debian 二进制包: phabricator,arcanist,libphutil。采用 https://packages.debian.org/testing/phabricator 找到下载链接

# in the directory where these 3 packages have been downloaded to
dpkg -i *.deb 

phabricator 域:phabricator。example.com 网络服务器:nginx MySQL 管理员帐户用户名:phabricator


设置 DNS:将 phabricator.example.com 指向您在 DNS 中的服务器。 或者在客户端的/etc/hosts文件中加入服务器的ip地址 作为 phabricator.example.com


service nginx restart

如果失败,则发出

nginx -t 

获取错误消息。

如果错误信息是

nginx: [emerg] 无法构建 server_names_hash,你应该增加 server_names_hash_bucket_size: 32 然后编辑 /etc/nginx/nginx.conf 以包含类似

的内容
http {
    server_names_hash_bucket_size 64;
    ...
}

在网络浏览器中打开 http://phabricator.example.com/。它显示:

身份验证失败。您的登录会话无效。尝试重新加载页面并重新登录。如果这不起作用,请清除浏览器 cookie。

所以我重新加载。


在网页上:

  • Phabricator 用户名:webadmin
  • 真实姓名:webadmin
  • 密码:*****
  • 邮箱:webadmin@example.com

打开授权应用程序,

  • 添加身份验证提供程序Username/Password
  • 添加身份验证提供程序 LDAP
  • 检查信任的电子邮件地址
  • LDAP 主机名:localhost
  • 基本可分辨名称:dc=users,dc=example,dc=com
  • 搜索属性:uid
  • 匿名用户名:uid=anonymous,dc=users,dc=example,dc=com
  • 匿名密码:我之前用的
  • 添加提供商

转到 phabricator 主页,打开 people 应用程序,选择 webadmin 编辑设置、身份验证外部帐户、添加外部帐户 LDAP

  • LDAP 用户名:webadmin
  • LDAP 密码:我之前用的
  • Link 帐户
  • 确认账户Link

检查通过 LDAP 登录是否有效:

  • 注销
  • 通过 LDAP 以网络管理员身份登录
  • 有效

现在可以禁用 user/password 身份验证提供程序。 注销并重新登录以检查


检查通过 LDAP 进行的用户注册是否有效:

  • 注销,
  • LDAP 用户名:开发者
  • LDAP密码:我之前设置的
  • Login/Register
  • Phabricator 用户名:开发者
  • 真实姓名:开发者
  • 邮箱:developer@example.com
  • 注册 Phabricator 帐户。

帐户需要批准


注销并以网络管理员身份重新登录

  • 打开人员应用程序
  • 审批队列
  • 点赞

转到 Phabricator 起始页

  • 打开配置应用程序
  • 身份验证
  • auth.require-批准
  • 将值设置为 false
  • 保存

注销


检查以开发者身份登录

  • 有效
  • 注销

检查注册为审稿人

  • 未经批准工作