前提:
安装mysql并新建数据库--教程太多了此步骤省略;
用sqlyog连上mysql创建数据库redmine;
1.下载redmine-5.1.1.tar.gz,上传到/usr/local/software目录下;
2.解压
cd /usr/local/software tar -zxvf redmine-5.1.1.tar.gz
配置mysql
cd /usr/local/software/redmine-5.1.1 #复制一份配置文件 cp config/database.yml.example config/database.yml #编辑配置文件 vi config/database.yml #修改后的内容如下 production: adapter: mysql2 database: redmine host: localhost username: root password: Test@2024 # Use "utf8" instead of "utfmb4" for MySQL prior to 5.7.7 encoding: utf8mb4 variables: # Recommended `transaction_isolation` for MySQL to avoid concurrency issues is # `READ-COMMITTED`. # In case of MySQL lower than 8, the variable name is `tx_isolation`. # See https://www.redmine.org/projects/redmine/wiki/MySQL_configuration transaction_isolation: "READ-COMMITTED" #development: #adapter: mysql2 #database: redmine_development #host: localhost #username: root #password: "" # Use "utf8" instead of "utfmb4" for MySQL prior to 5.7.7 #encoding: utf8mb4 #variables: #transaction_isolation: "READ-COMMITTED" # Warning: The database defined as "test" will be erased and # re-generated from your development database when you run "rake". # Do not set this db to the same as development or production. #test: #adapter: mysql2 vdatabase: redmine_test #host: localhost #username: root #password: "" # Use "utf8" instead of "utfmb4" for MySQL prior to 5.7.7 #encoding: utf8mb4 #variables: #transaction_isolation: "READ-COMMITTED" # PostgreSQL configuration example #production: # adapter: postgresql # database: redmine # host: localhost # username: postgres # password: "postgres" # SQLite3 configuration example #production: # adapter: sqlite3 # database: db/redmine.sqlite3 # SQL Server configuration example #production: # adapter: sqlserver # database: redmine # host: localhost # username: jenkins # password: jenkins #然后执行保存 wq
3.安装需要的库
yum install -y gcc gcc-c++ make automake cmake autoconf curl-devel openssl-devel zlib-devel httpd-devel apr-devel apr-util-devel mysql-devel ruby ruby-devel rubygems
4.安装rvm
curl -L get.rvm.io | bash -s stable
如果报错拒接链接如下图
则添加代理:
vi /etc/hosts #增加下面这行 199.232.28.133 raw.githubusercontent.com #保存 wq
然后再执行
curl -L get.rvm.io | bash -s stable
find / -name rvm.sh
source /etc/profile.d/rvm.sh rvm -v
rvm requirements
rvm install 3.0
ruby -v gem -v
gem sources --remove https://rubygems.org/ gem sources -a https://gems.ruby-china.com/
gem install rails -v 6.1.7.6
如果安装rails报错如下:
ERROR: SSL verification error at depth 3: certificate has expired (10) /usr/local/rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/net/protocol.rb:46: warning: exception in verify_callback is ignored ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) SSL_connect returned=1 errno=0 state=error: certificate verify failed (certificate has expired) (https://index.ruby-china.com/quick/Marshal.4.8/rails-6.1.7.6.gemspec.rz)
解决方式:
1)下载证书:https://curl.se/ca/cacert.pem
2)上传证书到服务器:/home/ssl/cacert.pem
3)配置环境变量
vi /etc/profile #增加 export SSL_CERT_FILE=/home/ssl/cacert.pem wq source /etc/profile
然后执行: gem install rails -v 6.1.7.6
配置bundler国内源
bundle config mirror.https://rubygems.org https://gems.ruby-china.com
执行安装依赖
bundle install
如果报这个错:
mysql2 0.5.5安装失败,需要执行下面命令安装依赖
yum install mysql-devel --nogpgcheck
然后再执行
bundle install
至此bundle的依赖安装完成
5.添加会话缓存
bundle exec rake generate_secret_token
6.生成库表结构
RAILS_ENV=production bundle exec rake db:migrate
7.加载默认数据
RAILS_ENV=production bundle exec rake redmine:load_default_data
选择zh即中文
8.文件系统权限设置
#1.创建目录 mkdir -p tmp tmp/pdf public/plugin_assets #2.目录所属用户配置 #如果创建了redmine用户执行 sudo chown -R redmine:redmine files log tmp public/plugin_assets #如果直接用root用户执行 sudo chown -R root:root files log tmp public/plugin_assets #3.目录权限配置 sudo chmod -R 755 files log tmp public/plugin_assets
9.启动服务
nohup bundle exec rails server -e production -b 0.0.0.0 -p 3000 &
通过curl可以看到服务已经启动成功了
如果防火墙没有关闭,需要把3000端口开放一下,执行命令
#开放3000端口,以便局域网可以访问 firewall-cmd --permanent --add-port=3000/tcp #重启防火墙生效 firewall-cmd --reload
此时通过局域网浏览器输入
http://局域网ip:3000看到下面页面即安装成功
10.登录
默认账号admin,默认密码admin
登录成功需要重置默认密码
其他操作这里就不细述了。。。