Redmine 是一个开源的项目管理和问题跟踪工具,基于 Ruby on Rails 框架构建,它支持多项目、wiki、问题跟踪系统、论坛、日历和邮件通知等功能,适用于多种操作系统和数据库,在 CentOS 上安装和配置 Redmine 可以按照以下步骤进行:
前提条件
1、确保你有指向服务器公网 IP 的域名。
2、以 root 用户或其他有 sudo 权限的用户身份登录。
3、确保已经安装了 MariaDB 或 MySQL,如果没有,请参照以下命令进行安装:
```bash
sudo dnf install mariadbserver mariadb
sudo systemctl enable mariadb now
```
创建 MySQL 数据库
1、以 root 用户身份登录 MySQL:
```bash
sudo mysql u root p
```
2、在 MySQL Shell 中运行以下 SQL 语句来创建数据库和用户并授予权限:
```sql
CREATE DATABASE redmine CHARACTER SET utf8mb4;
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'changewithstrongpassword';
FLUSH PRIVILEGES;
EXIT;
```
安装 Passenger, Apache 和 Ruby
1、启用 EPEL repository:
```bash
sudo dnf install epelrelease
sudo dnf configmanager enable epel
```
2、更新软件包列表并安装必要的软件:
```bash
sudo dnf update
sudo dnf install httpd mod_passenger passenger passengerdevel ruby
```
3、启动并设置 Apache 服务开机自启:
```bash
sudo systemctl enable httpd now
```
创建新系统用户
1、创建一个新的用户和用户组,用于运行 Redmine 实例:
```bash
sudo useradd m U r d /opt/redmine redmine
```
2、将 apache 用户添加到 redmine 用户组,并修改目录权限:
```bash
sudo usermod a G redmine apache
sudo chmod 750 /opt/redmine
```
安装 Redmine
1、安装构建 Redmine 所需的 GCC 编译器和库:
```bash
sudo dnf group install "Development Tools"
sudo dnf install zlibdevel curldevel openssldevel mariadbdevel rubydevel
```
2、切换到 redmine 用户并下载 Redmine:
```bash
sudo su redmine
curl L http://www.redmine.org/releases/redmine4.1.0.tar.gz o redmine.tar.gz
tar xvf redmine.tar.gz
cd redmine4.1.0
```
配置 Redmine 数据库
1、拷贝示例数据库配置文件并进行编辑:
```bash
cp config/database.yml.example config/database.yml
nano config/database.yml
```
2、找到 production 章节,并输入之前创建的数据库和用户信息:
```yaml
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "changewithstrongpassword"
encoding: utf8mb4
```
3、保存文件并退出编辑器。
安装 Ruby 依赖
1、安装 Bundler:
```bash
gem install bundler nordoc nori
```
2、安装其他依赖:
```bash
bundle install without development test postgresql sqlite path vendor/bundle
```
生成数据库密钥并迁移数据
1、生成数据库密钥:
```bash
bundle exec rake generate_secret_token
```
2、迁移数据库:
```bash
RAILS_ENV=production bundle exec rake db:migrate
```
配置 Apache 虚拟主机
1、编辑 Apache 配置文件:
```bash
sudo nano /etc/httpd/conf.d/redmine.conf
```
2、添加以下内容:
```apache
<VirtualHost *:80>
ServerName redmine.com
ServerAlias www.redmine.com
DocumentRoot /opt/redmine/redmine4.1.0/public
<Directory /opt/redmine/redmine4.1.0/public>
Options Indexes ExecCGI FollowSymLinks
Require all granted
AllowOverride all
</Directory>
ErrorLog /var/log/httpd/example.comerror.log
CustomLog /var/log/httpd/example.comaccess.log combined
</VirtualHost>
```
3、重启 Apache 服务:
```bash
sudo systemctl restart httpd
```
测试 Redmine
打开浏览器,访问http://yourdomainname
,你应该能看到 Redmine 的登录页面,如果遇到任何问题,可以检查 Apache 和 Redmine 的日志文件以获取更多信息。
相关问答FAQs
Q1: 如果忘记了 Redmine 管理员密码怎么办?
A1: 你可以通过修改数据库中的密码来重置 Redmine 管理员密码,使用以下命令登录到 MySQL:
sudo mysql u root p
然后运行以下 SQL 语句来更新密码:
USE redmine; UPDATE users SET hash_password = MD5('newpassword') WHERE login = 'admin'; FLUSH PRIVILEGES; EXIT;
替换newpassword
为你想要设置的新密码,完成后,使用新密码登录 Redmine。
Q2: Redmine 无法连接到数据库怎么办?
A2: Redmine 无法连接到数据库,可能是由于数据库配置不正确或服务未启动,确保 MariaDB 服务正在运行:
sudo systemctl status mariadb
如果服务未启动,使用以下命令启动它:
sudo systemctl start mariadb
检查config/database.yml
文件中的数据库连接设置是否正确,确保username
、password
、database
和host
字段与实际数据库设置一致,如果问题仍然存在,可以查看 Apache 和 Redmine 的日志文件以获取更多信息。