Open Project 系列1 --- 安装
一、概要
1. 系列
2. 环境
(1) Rocky Linux 9.1
(2) Open Project 12.5.6
3. 依赖
(1) SSL证书
a. 创建私钥目录
sudo mkdir /etc/ssl/private
b. 生成证书和密钥
c. 移动证书
sudo mv openproject.example.com.crt.pem /etc/ssl/certs
sudo mv openproject.example.com.key.pem /etc/ssl/private
(2) 解决Open SSL的版本问题
Rocky Linux自带的Open SSL是3.0.7,但目前Open Project所依赖的Ruby需要1.1.1版本,所以我们需要为其搭建一个专用的1.1.1版本的Open SSL。
参考:Rocky Linux 安装 OpenSSL 1.1.1
(3) Nginx配置文件
a. 创建配置文件
sudo vi /etc/nginx/conf.d/openproject.conf
b. 初始化配置文件
server { listen 80; server_name .openproject.example.com; rewrite ^(.*)$ https://${server_name}$1 permanent; } server { listen 443 ssl; listen [::]:443 ssl; server_name .openproject.example.com; root /opt/openproject/public; ssl_certificate /etc/ssl/certs/openproject.example.com.crt.pem; ssl_certificate_key /etc/ssl/private/openproject.example.com.key.pem; ssl_session_timeout 1d; ssl_session_tickets on; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers 'TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5'; ssl_prefer_server_ciphers on; access_log /var/log/nginx/openproject.example.com-access.log; error_log /var/log/nginx/openproject.example.com-error.log; 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_set_header X-Forwarded-Proto https; proxy_pass http://127.0.0.1:6000; } }
(4) 数据库
a. 安装
b. 创建数据库
(5) Memcache
a. 安装
sudo dnf install memcached -y
memcached --version
b. 启动服务
sudo systemctl start memcached sudo systemctl enable memcached
systemctl status memcached
二、安装与配置
1. 安装
(1) 获取仓库文件
sudo wget -O /etc/yum.repos.d/openproject.repo https://dl.packager.io/srv/opf/openproject/stable/12/installer/el/8.repo
(2) 安装
sudo dnf install openproject -y
(3) 本地安装
sudo dnf localinstall openproject-13.1.2-1703253879.cd4ce02c.centos9.x86_64.rpm -y
2. 环境变量配置
Open Project允许用户使用环境变量的方式配置必要的项目,比如数据库链接,Memcached等。
(1) 配置示例位于 /opt/openproject/.env.example,这是一个模板,Open Project并不会在运行时使用它。
(2) 配置方法
a. 查看所有配置
sudo openproject config
b. 查看某一项配置
sudo openproject config:get KEY
c. 配置
sudo openproject config:set VARIABLE=value
通过该命令配置的项目会被保存到:
/etc/openproject/conf.d/other
(3) 配置目录
/etc/openproject/conf.d/
该目录是Open Project的一个配置目录,Open Project启动时会加载并解析里面的配置文件,并将解析出来的环境变量加载到运行时。
此外,我们可以复制.env.example到该目录,命名为env:
sudo cp -v /opt/openproject/.env.example /etc/openproject/conf.d/env
(4) 注意
对配置文件修改完毕之后,需要运行:
sudo openproject configure
(5) Memcached
sudo openproject config:set OPENPROJECT_CACHE__MEMCACHE__SERVER="127.0.0.1:11211"
由于这是第一次配置,所以我们不需要运行openproject configure命令。
(6) Fix Bug
sudo openproject config:set RECOMPILE_ANGULAR_ASSETS=true
这是Open Project遗留的一个Bug,目的是每次configure时重新编译Angular.js文件。
3. 系统配置
(1) 启动配置UI
sudo openproject reconfigure
该命令可重复执行,该命令执行后,配置数据会被存储进:
/etc/openproject/installer.dat
(2) PostpreSQL
a. 数据库安装选择
点击“reuse->OK”。
b. 数据库Host地址
c. 端口号
d. 用户名
e. 密码
f. 数据库名称
(2) Web服务器
由于我们使用Nginx,所以此处选择"skip->OK";
如果希望使用Apache 2服务器,则可以选择“install->OK”。
(3) 缓存
RHEL 9系列建议安装单独安装memcache server,稍后再进行配置。这里选择"skip->OK";
(4) Domain name
(5) SSL
(6) Admin Email
配置完成之后,Open Project会安装各种依赖,最终会启动openproject.service服务。
(7) 端口号
sudo vi /etc/openproject/conf.d/env
4. Open Project服务和站点
(1) 服务
systemctl status openproject
(2) 重启站点
sudo openproject restart
5. 测试
(1) 访问
https://openproject.example.com
(2) Sign In
三种Board,仅有Basic board免费。
(3) Basic board
6. 二次安装
(1) dnf remove命令并不会将所有OpenProject的文件删除,需要手动查询并将其删除:
sudo find / -name "*openproject*"
(2) 删除
sudo rm -rf /opt/openproject
(3) 如果不这么做,二次安装时会报错 "error unpacking rpm package":
三、参考
1. 官方
(1) 安装与配置
(2) Open SSL版本问题
https://community.openproject.org/topics/16321
2. Memcached
https://www.golinuxcloud.com/install-memcached-rocky-linux-9/
3. 其他
https://www.centlinux.com/2021/04/install-openproject-management-software-rhel-8.html