概述

其实在网上搭建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的数据库没有问题,但是打开页面时却提示连接不上数据库。很奇怪,可能是哪里配置有问题,这种配置很讨厌,你不熟悉的话很容易被坑一下。还不如使用官方的方式安装MySQL。

怎么解决???使用官方提供的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

写入如下信息

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

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

phabricator mysql_Phabricator服务的搭建相关推荐

  1. windows 下frp服务启动_内网穿透frp linux服务端搭建和windows客户端使用

    一.Linux 服务端搭建 1.下载安装 wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-in ...

  2. 基于SpringMVC下的Rest服务框架搭建【1、集成Swagger】

    基于SpringMVC下的Rest服务框架搭建[1.集成Swagger] 1.需求背景 SpringMVC本身就可以开发出基于rest风格的服务,通过简单的配置,即可快速开发出一个可供客户端调用的re ...

  3. php dubbo 接口测试工具,dubbo服务自动化测试搭建

    java实现dubbo的消费者服务编写:ruby实现消费者服务的接口测试:通过消费者间接测试dubbo服务接口的逻辑 内容包括:dubbo服务本地调用环境搭建,dubbo服务启动,消费者部署,脚本编写 ...

  4. linux配置一个ip san存储服务器,网络存储服务ip-san搭建

    网络存储服务ip-san搭建 网络存储服务ip-san搭建是一件很冗长的事情,看似间单,实则并不简单,让我们从下面开始学习吧. 一.准备工作 CentOS6.4服务器2台(1台用做IP-SAN存储服务 ...

  5. GIT Windows服务端搭建笔记

    GIT Windows服务端搭建笔记 所需软件: GIT服务端: Bonobo Git Server,下载最新版 https://bonobogitserver.com/ 一:配置服务端(基于Wind ...

  6. windows关闭svnserver_Windows停SVN服务的搭建和使用(二)-Win32Svn

    Windows下SVN服务的搭建和使用(二)-Win32Svn Windows下SVN服务的搭建和使用(二) VisualSVN-Server+TortoiseSVN是Windows下最方便易用的SV ...

  7. 使用Docker 实现微服务并搭建博客,一文全掌握

    转载自  使用Docker 实现微服务并搭建博客,一文全掌握 Docker 是一个容器工具,提供虚拟环境.很多人认为,它改变了我们对软件的认识. 本文,通过搭建一个博客的例子,来介绍如何使用Docke ...

  8. apache+php+mysql+phpadmin 服务环境搭建

    前些日子,有朋友问如何用apache/php/mysql/phpadmin搭建PHP网站服务环境.现在就这个问题,我把我的一些经验与大家分享.各位同行有何建议,敬请在评论区指出,谢谢!    1.下载 ...

  9. Linux中Tomcat 服务的搭建

    目录 一.Tomcat 服务简介: 二.Tomcat 服务的搭建 (1)需要学习: (2)安装 tomcat tomcat (3)确认安装 JDK (4)启动 tomcat (5)主机访问查看: (6 ...

最新文章

  1. android opencv 书籍,opencv android
  2. 设计模式-创建型模式-建造者模式
  3. 【正一专栏】《神秘巨星》总有一种真诚让你泪流满面
  4. 一看就会的OSPF路由协议综合实验
  5. 专科 java转go 翱翔之路(二)基础语法:匿名组合,方法,接口,map,json,异常处理,channel管道,select用法
  6. bootstrap的td可以增加title样式_3.CSS样式的三种使用方式
  7. hive - 解析 json
  8. 对于使用progisp软件进行ISP编程时进入不了编程模式的解决方法
  9. 美团起飞了?上半年营收418.76亿 同比增长58.9%
  10. 没有信号无服务器,没有信号不用怕“音离”你身边的便携式基站
  11. Java : java基础(1)
  12. 重磅炸弹!马云正式宣布:1天1个亿,全世界沸腾了!
  13. 在Ubuntu10.10下安装osd-lyrics
  14. 阿里云何云飞:如何利用云原生技术在AIoT领域成功落地 | 云栖大会
  15. 最详细的quartz表达式解释
  16. 社团管理系统数据流图_实例6:社团管理系统数据库设计
  17. 黄杏元《地理信息系统概论》考研复习考点精讲(六)
  18. 用R语言做数据分析——时间序列分类
  19. 代码合规性:开发人员使用Helix QAC的5大原因
  20. 雷达系统和雷达信号分析02

热门文章

  1. 组合枚举——妖梦拼木棒(洛谷 P3799)
  2. 卡耐基梅陇大学计算机学院名人,卡耐基梅陇大学
  3. 每隔10秒执行一次_(立下flag)每日10道前端面试题12 关于BOM十问
  4. java overriding_JAVA概念:Overloading与Overriding
  5. 不超过20位的小数正则_盘点贵州省的GDP增长:跃居全国20位,超过了两个难以超越的省份...
  6. openmv 神经网络 超出内存_【openmv】openmv各种bug问题记录
  7. 12.2 新特性:锁信息获取之在线删除索引
  8. 如何将外链接向内连接转换?
  9. 200 行代码实现一个滑动验证码
  10. 【Python3网络爬虫开发实战】3.1.2-处理异常