21.Phabricator 安装

1.clone Phabricator项目文件

$ cd somewhere/ # pick some install directory
	somewhere/ $ git clone https://github.com/phacility/libphutil.git
	somewhere/ $ git clone https://github.com/phacility/arcanist.git
	somewhere/ $ git clone https://github.com/phacility/phabricator.git


	https://phabricator.webfuns.net/book/phabricator/article/installation_guide/


2.安装 MySQL

2.1 设置 phabricator 连接 MySQL
	phabricator/ $ /data/pha/phabricator/bin/config set mysql.host __host__
    phabricator/ $ /data/pha/phabricator/bin/config set mysql.user __username__
    phabricator/ $ /data/pha/phabricator/bin/config set mysql.pass __password__


    ./bin/storage upgrade // 升级

    https://phabricator.webfuns.net/book/phabricator/article/configuration_guide/


3.安装 Nginx

设置下phabricator的url:
	/data/pha/phabricator/bin/config set phabricator.base-uri 'http://phabricator.local'

https://phabricator.webfuns.net/book/phabricator/article/configuration_guide/


4.安装 PHP



5.浏览器应该可以访问Phabricator, 作为第一个访问用户,可创建管理员账号



6.配置邮件

 ./config set metamta.default-address [email protected]
	 ./config set metamta.domain wwdddd.com
	 ./config set metamta.can-send-as-user false
	 ./config set metamta.mail-adapter PhabricatorMailImplementationPHPMailerAdapter	
	 ./config set phpmailer.mailer smtp
	 ./config set phpmailer.smtp-host smtp.qq.com
	 ./config set phpmailer.smtp-port 465
	 ./config set phpmailer.smtp-user [email protected]
	 ./config set phpmailer.smtp-password xxx
	 ./config set phpmailer.smtp-protocol SSL


	 // 测试是否发送成功
	 ./bin/mail send-test --to [email protected] --subject hello < README.md



账号管理:
https://phabricator.webfuns.net/book/phabricator/article/configuring_accounts_and_registration/



{
  "phpmailer.smtp-password": "xxx",
  "phpmailer.smtp-user": "[email protected]",
  "phpmailer.smtp-port": 465,
  "phpmailer.smtp-protocol": "ssl",
  "phpmailer.smtp-host": "smtp.exmail.qq.com",
  "phpmailer.mailer": "smtp",
  "metamta.mail-adapter": "PhabricatorMailImplementationPHPMailerAdapter",
  "diffusion.ssh-port": 2222,
  "diffusion.ssh-user": "git",
  "phd.user": "daemon-user",
  "metamta.can-send-as-user": false,
  "metamta.domain": "aaabbb.com",
  "metamta.default-address": "[email protected]",
  "repository.default-local-path": "/data/repo",
  "phabricator.base-uri": "http://phabricator.aaabbb.com/",
  "mysql.pass": "",
  "mysql.user": "root",
  "mysql.host": "127.0.0.1",
  "storage.local-disk.path": "/data/phabricator/storage"
}

7.配置和自启动守护进程

Phabricator 通过后台进程发送邮件,所以需要先启动后台进程。 
	如果没有启动会有警告信息。关于使用后台进程的信息, 请参阅 用 phd 管理后台进程。

	http://url.../daemon  // 可以查看正在跑的 daemon 程序

	7.1 创建phd用户
	sudo adduser phd --home /home/phd

	7.2 使phd用户不可远程登录:
	sudo usermod -p NP phd

	7,3 创建和启动phd自启动服务
	创建systemd service文件/tmp/service.file

	[Unit]
	Description=phabricator-phd
	After=syslog.target network.target mysql.service
	Before=nginx.service

	[Service]
	Type=oneshot
	User=phd
	Group=phd
	Enviroment="PATH=/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin"
	ExecStart=/var/www/pha/phabricator/bin/phd start
	ExecStop=/var/www/pha/phabricator/bin/phd stop
	RemainAfterExit=yes

	[Install]
	WantedBy=multi-user.target

	将服务加入到systemd目录:
	sudo cp /tmp/service.file /lib/systemd/system/phabricator-phd.service

	使phabricator-phd.service可用:
	sudo systemctl enable phabricator-phd.service

	启动phabricator-phd.service服务:
	sudo systemctl start phabricator-phd

	如没有报错,访问:http://p.mydomain.com/daemon/ 可以看到Active Daemons不为空了。

	将phd用户设置为phd.user:
	sudo ./bin/config set phd.user phd

	注:其他用户如需操作git命令,需要sudo为phd用户,上面的设置就是告诉它们需要sudo的用户名。

	phd用户将守护进程跑起来后,就可以创建新用户了。通过管理员账号,选择people,添加standard用户。会收到邀请邮件,如果phd和邮箱配置都没问题的话。

	用这个standard用户登录,并上传public key,后面要用到。


8.配置SSH Git托管

1.准备工作
	将当前SSH服务转移到2222端口,将来运行的Git SSH服务使用22端口。这是多次配置后,觉得后续比较方便的做法。否则,Git用户都要自定义端口,给开发/部署带来不必要的麻烦。
	修改文件:
	sudo vim /etc/ssh/sshd_config
	将Port改为2222后重启ssh服务:
	sudo service ssh restart
	用2222端口ssh重新登录服务器:

	2.创建git用户
	sudo adduser git
	禁止登录:
	sudo usermod -p NP git
	设置git可以sudo为phd,修改/etc/sudoers,加入:
	git ALL=(phd) SETENV: NOPASSWD: /usr/bin/git-upload-pack, /usr/bin/git-receive-pack




https://www.jianshu.com/p/d7630e1fe4f9


https://phabricator.webfuns.net/book/phabricator/article/configuration_guide/

https://phabricator.webfuns.net/book/phabricator/article/diffusion_hosting/
https://secure.phabricator.com/book/phabricator/article/diffusion_hosting/
https://phabricator.webfuns.net/book/phabricator/article/configuring_outbound_email/



猜你喜欢

转载自blog.csdn.net/enlyhua/article/details/80780275