Phabricator的安装还是挺麻烦的、又有数据库、又有Nginx。有没有已经做好了的Docker镜像直接使用?答案肯定是有的。
依赖
安装
下载docker-compose.yml文件
curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-phabricator/master/docker-compose.yml > docker-compose.yml
修改docker-compose.yml
version: '2'
services:
mariadb:
image: 'bitnami/mariadb:10.3'
environment:
- ALLOW_EMPTY_PASSWORD=yes
- MARIADB_EXTRA_FLAGS=--local-infile=0
volumes:
- 'mariadb_data:/bitnami'
phabricator:
image: 'bitnami/phabricator:2019'
ports:
- '80:80'
- '443:443'
volumes:
- 'phabricator_data:/bitnami'
- '/root/docker/my_vhost.conf:/opt/bitnami/apache/conf/vhosts/my_vhost.conf'
environment:
- PHABRICATOR_PASSWORD=Abc123456
# 可选配置...
depends_on:
- mariadb
volumes:
mariadb_data:
driver: local
phabricator_data:
driver: local
my_vhost.conf文件
<VirtualHost *:80>
ServerName localhost
# 可以修改为域名或者IP
DocumentRoot "/opt/bitnami/phabricator/webroot"
<Directory "/opt/bitnami/phabricator/webroot">
Options Indexes FollowSymLinks Includes execCGI
AllowOverride All
Require all granted
</Directory>
RewriteEngine on
RewriteRule ^/rsrc/(.*) - [L,QSA]
RewriteRule ^/favicon.ico - [L,QSA]
RewriteRule ^(.*)$ /index.php?__path__=$1 [B,L,QSA]
</VirtualHost>
启动
docker-compose up -d
启动登录 http://localhost 会出现如下类似错误
Site Not Found
This request asked for "/" on host "localhost", but no site is configured which can serve this request.
登录容器添加配置
docker exec -ti docker_phabricator_1 bash
/opt/bitnami/phabricator/bin/config set phabricator.base-uri 'http://localhost'
重启即可
docker-compose restart
可选配置
-
PHABRICATOR_HOST
:Phabricator主机名。默认值:127.0.0.1 -
PHABRICATOR_USERNAME
:Phabricator应用程序的用户名。默认值:user -
PHABRICATOR_PASSWORD
:Phabricator应用程序密码。默认值:bitnami1 -
PHABRICATOR_EMAIL
:Phabricator应用程序电子邮件。默认值:user@example.com -
PHABRICATOR_FIRSTNAME
:Phabricator用户的名字。默认值:FirstName -
PHABRICATOR_LASTNAME
:Phabricator用户的姓氏。默认值:** LastName** -
PHABRICATOR_ALTERNATE_FILE_DOMAIN
:Phabricator文件域。 -
PHABRICATOR_USE_LFS
:将Phabricator配置为使用Git LFS。默认值:no -
PHABRICATOR_SSH_PORT_NUMBER
:SSH服务器端口。默认值:22 -
PHABRICATOR_ENABLE_GIT_SSH_REPOSITORY
:使用SSH身份验证配置自托管的GIT存储库。默认值:no -
MARIADB_USER
:MariaDB数据库的根用户。默认值:root -
MARIADB_PASSWORD
:MariaDB的根密码。 -
MARIADB_HOST
:MariaDB服务器的主机名。默认值:mariadb -
MARIADB_PORT_NUMBER
:MariaDB服务器使用的端口。默认值:3306
中文汉化
进行phabricator
容器
docker exec -ti docker_phabricator_1 bash
cd /opt/bitnami/phabricator/src/extensions
curl -O https://raw.githubusercontent.com/arielyang/phabricator_zh_Hans/master/dist/PhabricatorSimplifiedChineseTranslation.php
语言页面设置
http://localhost/settings/user/user/page/language/saved

选择Chinese(Simplified)保存即可
邮件配置
- 登录phabricator窗口
2.配置发送来源
bin/config set metamta.default-address admin@example.com
- 配置smtp
创建mailers.json文件
cat <<EOF > mailers.json
> [
> {
> "key": "stmp-mailer",
> "type": "smtp",
> "options": {
> "host": "smtp.exmail.qq.com",
> "port": 465,
> "user": "admin@example.com",
> "password": "abc123",
> "protocol": "ssl"
> }
> }
> ]
> EOF
导入配置
config set cluster.mailers --stdin < mailers.json
发送邮件测试
bin/mail send-test --to lake@example.com --subject hello < mailers.json
Reading message body from stdin...
Mail sent! You can view details by running this command:
phabricator/ $ ./bin/mail show-outbound --id 27
HTTPS设置
登录容器
设置允许使用https
config set security.require-https true
nginx转发配置
server {
listen 443 ssl;
server_name pha.example.com;
ssl_certificate /etc/nginx/conf.d/ssl/example.com.pem;
ssl_certificate_key /etc/nginx/conf.d/ssl/example.com.key;
location / {
proxy_pass https://pha.example.com:8002;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
server {
listen 80;
server_name pha.example.com;
rewrite ^(.*)$ https://$host$1 permanent;
}
网友评论