• 中美研究人员发现新型狗流感病毒 2019-05-29
  • 豫园商城升级改造:这些楼顶可见最好的风景--旅游频道 2019-05-14
  • 头条 —频道 春城壹网 七彩云南 一网天下 2019-05-14
  • 人为某种意识而奋斗是幸福的,获得成绩或成就更幸福。 2019-05-10
  • 【专题】省违反中央八项规定精神和“四风”问题线索举报平台 2019-05-09
  • 确定这是热身赛?吴前拼到大腿抽筋 拆绷带继续干 2019-05-09
  • 应对排放新规 大众德国工厂计划短暂停产 2019-04-26
  • 一师一团土地确权登记颁证工作全面展开 2019-04-26
  • 一语惊坛(5月31日):“我们不一样”,中国向世界许下一个承诺。 2019-04-22
  • 俄罗斯世界杯F组:球迷风采 2019-04-10
  • 5月份国民经济数据发布:中国经济持续稳中向好 2019-04-10
  • 贵州宣讲十九大:干部争当宣讲员 群众心窝暖洋洋 2019-03-25
  • 别空谈,说说看,这个“简单的逻辑关系”是什么关系? 2019-03-25
  • 快过闪电,MIUI 10与MIUI 9速度对比 2019-03-21
  • 泽州去年“免费教育”资金达5211万元 2019-03-19
  • 宁夏新11选五开奖结果:蜗牛大师

    快乐彩开奖号码 www.752o.com 不积跬步无以至千里

    导航

    统计

    Phabricator服务的搭建

    概述

    其实在网上搭建Phabricator环境文章很多,我写这篇文章的主要目的就是记录自己遇到的坑,顺便写一下安装步骤,其实安装步骤按照官网文档一步一步配置即可,很简单。只不过官方提供的一键安装脚本都是基于apache的,如果想使用Nginx的话,则不能使用官方提供过的脚本安装。

    遇到的坑-Phabricator连接不上MySQL

    为什么连接不上MySQL呢???使用./bin/storage upgrade可以正常初始化Phabricator的数据库,但是使用页面访问时就是连接不上。

    搜了大量文章也没有说明这一点的,可能就是大家比较幸运,没遇到这个问题。这个问题的根源就是MySQL的问题,是这样的。

    Ubuntu中默认使用apt install mysql-server安装MySQL,安装完之后启动mysql服务,发现使用mysql -uroot -p登录时,无论怎么输入密码都能正确登录,即使我输错密码也可以,很奇怪。这时使用./bin/storage upgrade初始化Phabricator的数据库没有问题,但是打开页面时却提示连接不上数据库。很奇怪,可能是哪里配置有问题,这种配置很讨厌,你不熟悉的话很容易被坑一下?;共蝗缡褂霉俜降姆绞桨沧癕ySQL。

    怎么解决???使用官方提供的MySQL安装方式,一定要完全卸载完旧的mysql再安装新的,包括配置文件,完全卸载!。安装步骤在下面,但是这时还需要注意一下,安装时MySQL的密码加密方式,选择第二个(5.x)的方式,不要选择MySQL推荐的,否则会出现./bin/storage upgrade时连接不上MySQL的问题。

    准备环境

    本文使用的系统是ubuntu-18.04.2,因为Phabricator是基于PHP开发的,所以我使用了Nginx配合php-fpm进行访问的。

    安装软件

    安装Nginx

    运行命令apt install nginx安装Nginx即可。

    配置文件在:/etc/nginx/nginx.conf

    安装MySQL

    使用MySQL标准的安装步骤,从官网上下载deb包(mysql-apt-config_0.8.12-1_all.deb)。

    运行dpkg -i mysql-apt-config_0.8.12-1_all.deb进行安装,进入字符界面,直接点OK即可。

    然后执行apt update更新源,发现列出了MySQL的源。

    然后执行apt install mysql-server,然后输入两次密码,选择密码加密方式,一定要选择第二个(5.x)的那个,选择第一个时Phabricator会连接不上。

    安装PHP

    运行apt install php php-fpm php-mysql安装php。

    其中php-fpm是配置ngxin解析php的,php-mysql就是连接mysql的。

    下载Phabricator

    使用git下载到你想要的目录中,我放在/var/www/phabricator目录中。

    cd /var/www/phabricator
    git clone https://github.com/phacility/libphutil.git
    git clone https://github.com/phacility/arcanist.git
    git clone https://github.com/phacility/phabricator.git

    一定要保证libphutil、arcanist和phabricator位于同级目录。

    配置

    配置nginx和php

    进入nginx的/etc/nginx/sites-enabled目录中,有一个默认的配置文件,因为该文件配置绑定了80端口,所以我们将其移除,因为该文件是连接文件,所以改名是无效的。移除后,新建phabricator.conf文件,将官方推荐配置写入

    server {
      listen      80; # 官方没有加,这里需要加
      server_name phabricator.example.com;
      root        /var/www/phabricator/phabricator/webroot; # 修改为你的phabricator目录
    
      location / {
        index index.php;
        rewrite ^/(.*)$ /index.php?__path__=/$1 last;
      }
    
      location /index.php {
        fastcgi_pass   localhost:9000;
        fastcgi_index   index.php;
    
        #required if PHP was built with --enable-force-cgi-redirect
        fastcgi_param  REDIRECT_STATUS    200;
    
        #variables to make the $_SERVER populate in PHP
        fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param  QUERY_STRING       $query_string;
        fastcgi_param  REQUEST_METHOD     $request_method;
        fastcgi_param  CONTENT_TYPE       $content_type;
        fastcgi_param  CONTENT_LENGTH     $content_length;
    
        fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
    
        fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
        fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
    
        fastcgi_param  REMOTE_ADDR        $remote_addr;
      }
    }

    写入完之后,配置php的user和group, 编辑/etc/php/7.2/fpm/pool.d/www.conf文件,修改一下内容

    user = nginx
    group = nginx
    # 注释掉listen = /run/php/php7.2-fpm.sock
    # 增加listen = localhost:9000
    listen = localhost:9000

    配置phabricator

    运行如下命令配置连接数据库

    cd phabricator
    mkdir conf/custom
    vim conf/custom/mysql.conf.php

    写入如下信息

    <?php
    return array(
      'mysql.host' => 'localhost',
      'mysql.port' => '3306',
      'mysql.user' => 'root',
      'mysql.pass' => '',
    );

    将配置文件加入到phabricator的配置中

    echo custom/mysql > conf/local/ENVIRONMENT

    然后运行./bin/storage upgrade进行phabricator的数据库初始化

    启动nginx和php-fpm

    # 启动nginx
    nginx
    
    # 启动php-fpm
    systemctl start php7.2-fpm

    然后通过浏览器打开网页进行后续配置即可。

    posted on 2019-03-16 22:15 蜗牛大师 阅读(...) 评论(...) 编辑 收藏

  • 中美研究人员发现新型狗流感病毒 2019-05-29
  • 豫园商城升级改造:这些楼顶可见最好的风景--旅游频道 2019-05-14
  • 头条 —频道 春城壹网 七彩云南 一网天下 2019-05-14
  • 人为某种意识而奋斗是幸福的,获得成绩或成就更幸福。 2019-05-10
  • 【专题】省违反中央八项规定精神和“四风”问题线索举报平台 2019-05-09
  • 确定这是热身赛?吴前拼到大腿抽筋 拆绷带继续干 2019-05-09
  • 应对排放新规 大众德国工厂计划短暂停产 2019-04-26
  • 一师一团土地确权登记颁证工作全面展开 2019-04-26
  • 一语惊坛(5月31日):“我们不一样”,中国向世界许下一个承诺。 2019-04-22
  • 俄罗斯世界杯F组:球迷风采 2019-04-10
  • 5月份国民经济数据发布:中国经济持续稳中向好 2019-04-10
  • 贵州宣讲十九大:干部争当宣讲员 群众心窝暖洋洋 2019-03-25
  • 别空谈,说说看,这个“简单的逻辑关系”是什么关系? 2019-03-25
  • 快过闪电,MIUI 10与MIUI 9速度对比 2019-03-21
  • 泽州去年“免费教育”资金达5211万元 2019-03-19
  • 31选7开奖查询结果 时时彩计划后二 御龙在天手游主播小北 四川时时彩玩法介绍 羽毛球球拍英语 PT电子游戏在哪下载 主机游戏房间 花花公子走势图 福彩35选7综合走势 明日之后官网新区开服表 空白彩票走势图 体育彩票6十1几点开 七星彩走势图彩票大赢家 天天酷跑新版本下载 福建十一选五前三 qq飞车手游2019新车预告