前言

最近正好准备未来的几个项目,需要有自己的管理软件,方便记录和管理,因此找了几个开源的程序。

这次就简单安装了OpenProject,准备体验一下。

简介

OpenProject 是开源工具中比较好用的项目管理工具,包括项目基础信息、任务包的灵活管理,输入即保存等友好特性。还能够录入任务工时,统计等。

安装

我的服务器是 Ubuntu 22.04 Jammy 版本的,下面就以我的服务器安装为例。

如果是其他系统的,可以查看官方的安装指南

1. 更新软件包索引并安装软件包

1
2
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates wget

2. 导入用于签署软件包的 PGP 密钥:

1
wget -qO- https://dl.packager.io/srv/opf/openproject/key | sudo apt-key add -

注意:导入密钥时可能会收到警告。

Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8))

发生这种情况是因为 APT 已经更新了它管理签名密钥的方式,而包提供程序尚不支持新方式。

3. 添加 OpenProject 包源代码:

1
2
sudo wget -O /etc/apt/sources.list.d/openproject.list \
https://dl.packager.io/srv/opf/openproject/stable/12/installer/ubuntu/22.04.repo

4. 下载 OpenProject 软件包:

1
2
sudo apt-get update
sudo apt-get install openproject

配置

启动配置向导前建议先创建数据库:

1
2
3
>sudo -i -u postgres psql -c "CREATE DATABASE openproject;"
>sudo -i -u postgres psql -c "CREATE USER openproject WITH password 'xxxxxxxxx';"
>sudo -i -u postgres psql -c "GRANT ALL privileges ON DATABASE openproject TO openproject;"

1. 启动配置向导

1
2
sudo openproject reconfigure    #交互式 - 手动选择存储在 /etc/openproject/installer.dat
sudo openproject configure #非交互式 - 使用存储在 /etc/openproject/installer.dat 中的值

我这边选择 交互式 方式运行。

2. 选择 OpenProject 版本

OpenProject 有两个版本:

  • 默认版本,面向常规项目管理。

  • BIM版,专门针对建筑行业。

一般选择 default 默认版本

3. PostgreSQL 数据库配置

3.1 我已经安装过了,就不安装,直接选择 reuse

3.2 输入数据库地址

3.3 输入数据库端口

3.4 输入数据库用户名

3.5 输入数据库密码

3.6 输入数据库名称

如果选择 skip 的话,可以通过以下命令自行设置(不建议):

1
>sudo openproject config:set DATABASE_URL="postgresql://[user[:password]@][host][:port][/dbname][?param1=value1&...]

4. 安装Apache2服务器

一般来说,肯定有自己的服务器了,所以这边直接 Skip ,稍后自行配置

5. 安装memcached缓存

如果你系统中已经有了,可以选择 Skip

6. 输入完整的域名

7. 是否使用SSL连接,根据自己选择。

8. 设置管理员邮箱

之后等待配置完成:

9. 配置服务器

根据官方推荐:

Apache2的配置为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<VirtualHost *:443>
ServerName openproject.example.com

# Logging
LogLevel Warn
ErrorLog /var/log/httpd/openproject.example.com-error.log
CustomLog /var/log/httpd/openproject.example.com-access.log combined

# Reverse Proxy
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://[OPENPROJECT-HOST-IP]/
ProxyPassReverse / http://[OPENPROJECT-HOST-IP]/
#ProxyPass / https://[OPENPROJECT-HOST-IP]/ # if openproject's internal apache2 server/ssl is YES
#ProxyPassReverse / https://[OPENPROJECT-HOST-IP]/ # if openproject's internal apache2 server/ssl is YES

# Request Header
RequestHeader set "X-Forwarded-Proto" https

# SSL Certificate that was created by LetsEncrypt
Include /etc/letsencrypt/options-ssl-apache.conf
SSLEngine On
#SSLProxyEngine On # if openproject's internal apache2 server/ssl is YES
SSLCertificateFile /etc/letsencrypt/live/openproject.example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/openproject.example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/openproject.example.com/chain.pem # optional
</VirtualHost>

Nginx的配置为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# assume :
# - openproject installed in /opt/openproject
# - local port: 6000
# - external port: 6020

server {
listen 6020;
server_name SERVER_DOMAIN_NAME;
root /opt/openproject/public;

location ~ / {
proxy_pass_request_headers on;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:6000;
}
}

访问

登录网站,点击右上角 Sign in ,首次默认账号名和密码为 admin ,登录后提示需要更改密码。

之后跳转到前台,选择 语言 - 简体中文

之后会有个教程,可谓用心良苦。

扩展:与nextcloud个人网盘应用集成

1. 在 Nextcloud 中添加 OpenProject Integration 应用

首先以管理员身份打开您的 Nextcloud 实例。

单击右上角的 头像 - 应用 ,导航到 Nextcloud应用商店

在左侧菜单中,单击集成并查找 OpenProject 集成 应用程序。

或者使用右上角的搜索字段搜索 OpenProject 来查找它。找到应用程序后,单击 下载并启用 按钮。

2. 配置OpenProject集成

下载并启用 OpenProject 集成应用程序后,通过单击右上角的头像导航到 设置页面 - 设置。在左侧菜单中,单击 OpenProject

在出现的配置页面中,将看到一个名为 OpenProject 主机的空白文本字段。输入您要与Nextcloud连接的OpenProject实例的地址(包括 https:// )。

这边后面我就不演示了,由于我用的是NC26测试版的,还没有正式版发布,可能还未兼容。以后再来补充吧。

可以查看官网的配置流程

附官网的截图:

最后

简单使用了一下,感觉还不错,设置简单,界面简洁。各方面功能完全足够使用。

与它相对应的还有 RedmineRedmine 安装上会比 OpenProject 麻烦不少(按官方文档指导),但 Redmine 一找第三方的安装包,基本上是一键安装,省去不少麻烦。OpenProject 按官方指导安装就好。