phabricator mysql_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的数据库没有问题,但是打开页面时却提示连接不上数据库。很奇怪,可能是哪里配置有问题,这种配置很讨厌,你不熟悉的话很容易被坑一下。还不如使用官方的方式安装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服务的搭建相关推荐
- windows 下frp服务启动_内网穿透frp linux服务端搭建和windows客户端使用
一.Linux 服务端搭建 1.下载安装 wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-in ...
- 基于SpringMVC下的Rest服务框架搭建【1、集成Swagger】
基于SpringMVC下的Rest服务框架搭建[1.集成Swagger] 1.需求背景 SpringMVC本身就可以开发出基于rest风格的服务,通过简单的配置,即可快速开发出一个可供客户端调用的re ...
- php dubbo 接口测试工具,dubbo服务自动化测试搭建
java实现dubbo的消费者服务编写:ruby实现消费者服务的接口测试:通过消费者间接测试dubbo服务接口的逻辑 内容包括:dubbo服务本地调用环境搭建,dubbo服务启动,消费者部署,脚本编写 ...
- linux配置一个ip san存储服务器,网络存储服务ip-san搭建
网络存储服务ip-san搭建 网络存储服务ip-san搭建是一件很冗长的事情,看似间单,实则并不简单,让我们从下面开始学习吧. 一.准备工作 CentOS6.4服务器2台(1台用做IP-SAN存储服务 ...
- GIT Windows服务端搭建笔记
GIT Windows服务端搭建笔记 所需软件: GIT服务端: Bonobo Git Server,下载最新版 https://bonobogitserver.com/ 一:配置服务端(基于Wind ...
- windows关闭svnserver_Windows停SVN服务的搭建和使用(二)-Win32Svn
Windows下SVN服务的搭建和使用(二)-Win32Svn Windows下SVN服务的搭建和使用(二) VisualSVN-Server+TortoiseSVN是Windows下最方便易用的SV ...
- 使用Docker 实现微服务并搭建博客,一文全掌握
转载自 使用Docker 实现微服务并搭建博客,一文全掌握 Docker 是一个容器工具,提供虚拟环境.很多人认为,它改变了我们对软件的认识. 本文,通过搭建一个博客的例子,来介绍如何使用Docke ...
- apache+php+mysql+phpadmin 服务环境搭建
前些日子,有朋友问如何用apache/php/mysql/phpadmin搭建PHP网站服务环境.现在就这个问题,我把我的一些经验与大家分享.各位同行有何建议,敬请在评论区指出,谢谢! 1.下载 ...
- Linux中Tomcat 服务的搭建
目录 一.Tomcat 服务简介: 二.Tomcat 服务的搭建 (1)需要学习: (2)安装 tomcat tomcat (3)确认安装 JDK (4)启动 tomcat (5)主机访问查看: (6 ...
最新文章
- android opencv 书籍,opencv android
- 设计模式-创建型模式-建造者模式
- 【正一专栏】《神秘巨星》总有一种真诚让你泪流满面
- 一看就会的OSPF路由协议综合实验
- 专科 java转go 翱翔之路(二)基础语法:匿名组合,方法,接口,map,json,异常处理,channel管道,select用法
- bootstrap的td可以增加title样式_3.CSS样式的三种使用方式
- hive - 解析 json
- 对于使用progisp软件进行ISP编程时进入不了编程模式的解决方法
- 美团起飞了?上半年营收418.76亿 同比增长58.9%
- 没有信号无服务器,没有信号不用怕“音离”你身边的便携式基站
- Java : java基础(1)
- 重磅炸弹!马云正式宣布:1天1个亿,全世界沸腾了!
- 在Ubuntu10.10下安装osd-lyrics
- 阿里云何云飞:如何利用云原生技术在AIoT领域成功落地 | 云栖大会
- 最详细的quartz表达式解释
- 社团管理系统数据流图_实例6:社团管理系统数据库设计
- 黄杏元《地理信息系统概论》考研复习考点精讲(六)
- 用R语言做数据分析——时间序列分类
- 代码合规性:开发人员使用Helix QAC的5大原因
- 雷达系统和雷达信号分析02
热门文章
- 组合枚举——妖梦拼木棒(洛谷 P3799)
- 卡耐基梅陇大学计算机学院名人,卡耐基梅陇大学
- 每隔10秒执行一次_(立下flag)每日10道前端面试题12 关于BOM十问
- java overriding_JAVA概念:Overloading与Overriding
- 不超过20位的小数正则_盘点贵州省的GDP增长:跃居全国20位,超过了两个难以超越的省份...
- openmv 神经网络 超出内存_【openmv】openmv各种bug问题记录
- 12.2 新特性:锁信息获取之在线删除索引
- 如何将外链接向内连接转换?
- 200 行代码实现一个滑动验证码
- 【Python3网络爬虫开发实战】3.1.2-处理异常