安装Redmine(CenterOS 8)解决403问题

Redmine 是一个开源的项目管理和问题跟踪应用。它是一个跨平台并且跨数据库的应用,构建于 Ruby on Rails 框架之上。

Redmine 包括多项目支持,wiki,问题跟踪系统,论坛,日历,邮件提醒等等。

这个指南讲解如何在 CentOS 8 上安装和配置最新版本的 Redmine。 我们将会使用MariaDB作为数据库 和 Passenger + Apache 作为 Ruby 应用服务器。

一、前提条件

确保你满足下面的条件:

指向你服务器公网 IP 的域名

以 root 或者其他有 sudo 权限的用户身份登录

二、创建一个 MySQL数据库

Redmine 支持MySQL/MariaDB, MicrosoftSQL Server, SQLite 3, 和 PostgreSQL。我们将会选择 MariaDB 作为数据库后端。

如果你没有在你的 CentOS 系统上安装 MariaDB 或者 MySQL,你可以按照下面的指令安装它.https://linuxize.com/post/how-to-install-mariadb-on-centos-8/

对于Mysql的安装请参见:

https://www.jianshu.com/p/06e06867bfc8

三、 安装 Passenger, Apache and Ruby

Passenger 是一个很快速,轻量的网络应用服务器,适用于Ruby, Node.js, and Python,它还可以与Apache 、 Nginx集成。

我们将会安装 Passenger 作为一个 Apache 模块。

启用EPEL repository:

sudo dnf install epel-release

sudo dnf config-manager--enable epel


一旦源被启用,更新软件包列表,并且安装 Ruby,Apache 和 Passenger:

sudo dnf install httpd mod_passenger passenger passenger-devel ruby


开启 Apache 服务并且启用开机启动:

sudo systemctl enable httpd    --now

四、 创建新系统用户

创建一个新的用户和用户组,主目录为/opt/redmine,用于运行 Redmine 实例:

sudo useradd -m -U -r -d /opt/redmine redmine

添加apache用户到 redmine用户组,并且修改/opt/redmine目录权限以便 Apache 能够访问它:

sudo usermod -a -G redmine apache

sudo chmod 750 /opt/redmine

五、安装 Redmine

在写作的时候,Redmine最新稳定版本是 4.1.0

在继续下一步之前,浏览Redmine下载页面,看看有没有更新的版本可用。

安装 构建 Redmine 所需要的 GCC 编译器和库:

sudo dnf group install "Development Tools"

sudo dnf install zlib-devel curl-devel openssl-devel mariadb-devel ruby-devel



确定你使用redmine用户运行下面的步骤:

sudo su - redmine

5.1 下载 Redmine

使用curl下载 Redmine 压缩包:

curl -L http://www.redmine.org/releases/redmine-4.1.1.tar.gz -o redmine.tar.gz


一旦下载完成,解压这个压缩包:

tar -xvf redmine.tar.gz

5.2 配置 Redmine 数据库

拷贝 Redmine 示例数据库配置文件:

cp /opt/redmine/redmine-4.1.1/config/database.yml.example /opt/redmine/redmine-4.1.1/config/database.yml

使用文本编辑器打开文件:

nano /opt/redmine/redmine-4.1.1/config/database.yml

搜索production章节,并且输入我们之前创建的 MySQL 数据库 和 用户信息:

一旦完成,保存你的文件,并且退出编辑器。

5.3 安装  Ruby 依赖

切换到redmine-4.1.0目录并且安装 Ruby 依赖包:

cd ~redmine-4.1.1/

gem install bundler --no-rdoc --no-ri

bundle install --without development test postgresql sqlite --path vendor/bundle

另可以更新国内的源镜象

gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

bundle config mirror.https://rubygems.org https://gems.ruby-china.com

此界面不要着急,会自动安装需要的依赖。

5.4 生成密钥,并且迁移数据库

运行下面的命令来生成密钥,并且迁移数据库:

bundle exec rake generate_secret_token

RAILS_ENV=production bundle exec rake db:migrate

六、配置 Apache

切换回你的 sudo 用户,并且创建 Apache Vhost文件:

exit

sudo nano /etc/httpd/conf.d/example.com.conf

    ServerName example.com

    ServerAlias www.example.com

    DocumentRoot /opt/redmine/redmine-4.1.0/public

   

        Options Indexes ExecCGI FollowSymLinks

        Require all granted

        AllowOverride all

   

    ErrorLog /var/log/httpd/example.com-error.log

    CustomLog /var/log/httpd/example.com-access.log combined

不要忘记将example.com替换成你的 Redmine 域名。

重启 Apache 服务,输入

sudo systemctl restart httpd

验证Apache下配置

apachectl configtest

添加ServerName

vim cd /etc/httpd/conf/httpd.conf

六、 访问 Redmine

打开你的浏览器,输入你的域名,并且如果安装过程很成功,那么一个类似下面的界面将会出现:

重点来了,不成功,报403错误。

为难了我好多天,感谢洪波的指导下。添加如下语句并开启3000端口:

bundle exec rails server webrick -e production

sudo firewall-cmd --permanent --zone=public --add-port=3000/tcp

sudo firewall-cmd --reload

运行WEBRICK服务,启动项目

nohup bundle exec rails server webrick -e production -b 0.0.0.0 -p 3000&

说明:官方命令为bundle exec rails server webrick -e production,这里做了一点装饰。nohup 不挂断地运行命令,& 让程序在后台自动运行,-b 0.0.0.0 授权所有IP访问权限,-p 3000 端口。另外nohup使原程序的的标准输出自动改向到当前目录下的nohup.out文件,起到了log的作用。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。

启动成功!

可通过ip:3000端口访问redmine主页了,admin初始密码为admin,第一次登录要求更改管理员密码。

打开浏览器:http://IP:3000

默认的登录凭据如下:

用户名: admin

密码: admin

当你第一次登录时,你将会被提示修改密码,类似下面:


一旦你修改了密码,你将会被转向用户页面。


7 配置 Apache SSL【未验证过。从别处采集,慎用】

如果你没有一个可信任的SSL 证书,你可以按照这些指令,生成一个免费的Let’s Encrypt证书。https://linuxize.com/post/secure-apache-with-let-s-encrypt-on-centos-8/

一旦证书被生成,编辑类似下面的 Apache 配置文件:

sudo nano /etc/httpd/conf.d/example.com.conf

/etc/httpd/conf.d/example.com.conf

  ServerName example.com

  ServerAlias www.example.com

  Redirect permanent / https://example.com/

  ServerName example.com

  ServerAlias www.example.com

  Protocols h2 http:/1.1

 

    Redirect permanent / https://example.com/

 

  DocumentRoot /opt/redmine/redmine-4.1.0/public

  ErrorLog /var/log/httpd/example.com-error.log

  CustomLog /var/log/httpd/example.com-access.log combined

  SSLEngine On

  SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem

  SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

 

    Options Indexes ExecCGI FollowSymLinks

    Require all granted

    AllowOverride all

 

不要忘记将example.com替换成你的Redmine域名,设置正确的 SSL 证书文件路径。所有的 HTTP 请求都转向 HTTPS。


8.如何使redmine开机运行(其他服务类似)

1、首先确定手动执行redmine启动语句可行

bundle exec rails server webrick -e  production -b

ruby ./bin/rails server webrick -e production -d -b 0.0.0.0

-b表示后台运行,不会因为ctrl+c等终结

2、然后在/etc/rc.local中写入要执行脚本,如redmine_startup路径:

    /usr/local/www/redmine/redmine_startup

3、在此路径下vi 编辑redmine_startup,写入:

控制台显示语句 echo "start redmine:" 

(cd  /usr/local/www/redmine && ruby ./bin/rails server webrick -e production -d -b 0.0.0.0)

4、可手动sh /etc/rc.local启动服务

5、重启linux即可开机运行

你可能感兴趣的:(安装Redmine(CenterOS 8)解决403问题)