尝试启动Notification Server时出错

时间:2015-11-16 19:15:59

标签: phabricator

我试图启动Phabricator的 Notification Server ,但遇到以下错误:

/phabricator/phabricator/bin/aphlict start

[2015-11-16 18:41:08] EXCEPTION: (FilesystemException) Requested path '/var/tmp/aphlict/pid' is not writable. at [<phutil>/src/filesystem/Filesystem.php:1081]
arcanist(head=master, ref.master=9dd6eafb5254), phabricator(head=master, ref.master=50d158a8c4d9), phutil(head=master, ref.master=e9ed72483a14)
  #0 Filesystem::assertWritable(string) called at [<phutil>/src/filesystem/Filesystem.php:73]
  #1 Filesystem::assertWritableFile(string) called at [<phutil>/src/filesystem/Filesystem.php:89]
  #2 Filesystem::writeFile(string, string) called at [<phabricator>/src/applications/aphlict/management/PhabricatorAphlictManagementWorkflow.php:140]
  #3 PhabricatorAphlictManagementWorkflow::willLaunch() called at [<phabricator>/src/applications/aphlict/management/PhabricatorAphlictManagementWorkflow.php:249]
  #4 PhabricatorAphlictManagementWorkflow::executeStartCommand() called at [<phabricator>/src/applications/aphlict/management/PhabricatorAphlictManagementStartWorkflow.php:15]
  #5 PhabricatorAphlictManagementStartWorkflow::execute(PhutilArgumentParser) called at [<phutil>/src/parser/argument/PhutilArgumentParser.php:406]
  #6 PhutilArgumentParser::parseWorkflowsFull(array) called at [<phutil>/src/parser/argument/PhutilArgumentParser.php:301]
  #7 PhutilArgumentParser::parseWorkflows(array) called at [<phabricator>/support/aphlict/server/aphlict_launcher.php:23]

有问题的目录似乎是可写的:

ls -l /var/tmp/aphlict

total 4
drwxr-xr-x 2 root root 4096 Nov 16 13:40 pid

如果重要的话,我将所有操作作为非 - &#39; root&#39;在Ubuntu 14.04 LTS系统上。

1 个答案:

答案 0 :(得分:4)

我刚想通了这个。正如我在最近的更新中所说的那样,我试图将通知服务器作为非 - &#39; root&#39;来启动。再看一下/var/tmp/aphlict/pid文件夹的权限,这个问题突然变得非常明显和微不足道。

ls -l /var/tmp/aphlict

total 4
drwxr-xr-x 2 root root 4096 Nov 16 13:40 pid

因此,解决问题所需要做的就是让每个人都可以编写目录(我希望这种方法不会产生潜在的安全问题):

chmod go+w /var/tmp/aphlict/pid

su MY_NON_ROOT_USER_NAME -c './bin/aphlict start'
Aphlict Server started.

问题解决了。顺便说一下,为了让Notification Server正常工作,除了已经打开22280之外,我还需要打开端口22281吗? (请在评论中回答。谢谢!)