MAMP(macOS) 搭建 Phabricator

想把Phabricator搭建在MAMP上,但是网上搜不到太多相关资料,因此自己借鉴LAMP及外国友人的做法,进行一下简单的移植。这里做个记录。

主要借鉴资料:
搭建安装Phabricator代码评审工具
CONFIGURING PHABRICATOR WITH MAMP

环境(2017.2.20):
macOS Sierra 10.12.3
MAMP Pro MAMP PRO 4.1.1(Apache 2.2.31 , PHP 7.1.1)
Phabricator最新版(要求 PHP 7.1+)

[TOC]

MAMP和Phabricator下载安装

MAMP

这个就不多说了,除了Phabricator站点,自己没事装个wiki还是其他网站还是很方便的。去官网下载安装即可。作为开发者,这种好东西还是可以去支持一把正版的。

我一般使用的端口号如下:

Paste_Image.png

另外,MAMP中MySQL的密码,为了安全,需要你自己去修改,这个资料多多,也很简单,这里就不赘述了。

Phabricator

选择一个你喜欢的目录存放Phabricator,我是扔到iCloud Drive中去了,进入文件夹,使用git 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

设置虚拟主机映射

MAMP新建host

  1. 设置IP,如果设置了内网IP,就可以在内网中使用了。
  2. 设置端口号,比如我这里设置为1234
  3. 将启动文件夹设置到habricator/webroot文件夹
  4. 在Extension中设置参数

效果图如下:


Paste_Image.png

设置Apache

  1. Options for <Directory> directive 使用默认勾选
  2. 在Additional for <VirtualHost>directive: 中加入以下代码:
RewriteEngine on
RewriteRule ^/rsrc/(.*)     -                       [L,QSA]
RewriteRule ^/favicon.ico   -                       [L,QSA]
RewriteRule ^(.*)$          /index.php?__path__=$1  [B,L,QSA]

示意图如下:

Paste_Image.png

这些数据是从LAMP那篇文章拿过来的,后来发现官方文档上就有。

Paste_Image.png

以后这个设置不灵光了,照着官网的写就可以了。

设置MySQL

启动服务器,现在你打开本站点,会发现是这样的图。

Paste_Image.png

按照它的提示,升级这4个值:

  • host:数据库的ip地址,这里在本机上,继续使用localhost即可。
  • port:数据库的端口地址,我用的3306,可以去Ports面板中查看。
  • user:数据库的user,还是本机,root即可
  • pass:user对应的密码,前面说了,自行修改

执行这4个命令,设置好之后,再刷新界面,如果提示你输入

./bin/storage upgrade

那么恭喜你,数据库对上了,关闭Apache,保持MySQL的打开,输入上述命令连接数据库吧。

设置Phabricator

到了这里,打开Phabricator网站(如host:port方式),你就能够进入Phabricator了,然后你会发现有一些Unresolved Setup Issues等待你去解决。

启动daemons

每次重启电脑后,也要记得把这个打开,这东西就是用来刷新数据的。

1.安装pcntl插件

首先你需要安装pcntl插件。因为MAMP用的自己的PHP,而macOS也自己内置了PHP,所以我也不知道pcntl到底是需要安装到哪里。因此,经过一轮又一轮的折腾,我把系统本身的PHP从5.6升级到了7.1.1,然后把pcntl插件各复制了一份,就好了😁。

#homebrew下载pcntl插件
brew install homebrew/php/php71-pcntl

复制到MAMP中的PHP插件中


Paste_Image.png

同理复制到系统的PHP的对应位置中。

然后修改phpX.X.X/conf/php.ini,也是2处,调用pcntl.so

Paste_Image.png

重启MAMP服务,看看是不是好了呢?这一步我也做的糊里糊涂的,欢迎小伙伴们进行反馈,一些工作肯定是多余了。

启动Phabricator中的daemons

进入Phabricator文件夹,使用以下命令对daemons进行控制。

启动:bin/phd start
停止:bin/phd stop
重启:bin/phd restarat
查看:bin/phd status

Base URI设置

网页提示已经够详细了,照着输入就可以了。

Base URI Not Configured
The base URI for this install is not configured, and major features will not work properly until you configure it.

You should set the base URI to the URI you will use to access Phabricator, like "http://phabricator.example.com/".

Include the protocol (http or https), domain name, and port number if you are using a port other than 80 (http) or 443 (https).

Based on this request, it appears that the correct setting is:

http://192.168.39.195:1234/

To configure the base URI, run the command shown below.
Run this command:

phabricator/ $ ./bin/config set phabricator.base-uri 'http://192.168.39.195:1234/'


## 提示设置storage.local-disk.path

如果有这个的提示,设置这个的命令如下:

phabricator/ $ ./bin/config set storage.local-disk.path


我也不知道有什么用,以及需不需要设置。

## 提示设置repository.default-local-path

同上,不知道什么用,以及需不需要设置,命令如下:

phabricator/ $ ./bin/config set repository.default-local-path


## PHP扩展提示启用

比如apcu,opchache扩展,PHP7.1.1自带,如果启用,那么MAMP其他的PHP站点也会启用,为了全局,愚见不建议启用。
如果要启用,`File > Edit Template > PHP (php.ini) ` 中打开相应注释。

## MySQL参数修改

比如` innodb_buffer_pool_size`字段,这里推荐设置成1G以上,个人服务器,没必要提升。
如果要修改,`File > Edit Template > MySQL ` 中修改相应字段。


## 其他

其他剩余issue我也就先扔那里了,反正phabricator能正常运行,暂时够用就行,以后再来更新,我还没开始玩phabricator呢。


# 尾声

剩余的设置Phabricator的账号密码啥的,这个简单,大家自己搞定,至少需要设置一个Provider。

放个图庆祝一下:


![Paste_Image.png](http://upload-images.jianshu.io/upload_images/637043-cff149c5de3904b7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)



经过这一轮2天的折腾,就算没有别的,对MAMP的使用和对PHP的理解倒是增强了不少,也算是意料之外的获得了。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容