centos7.9安裝Redmine 5.1

Hiro-D發表於2024-09-10

安裝前提:先安裝好mysql,並且新建資料庫redmine

安裝資料庫在上一篇部落格寫了,可以點連線進入檢視

新建資料庫簡單說一下:

1.登入 MySQL

你需要使用 MySQL 客戶端登入到 MySQL 伺服器。可以使用以下命令:

mysql -u username -p

輸入你的 MySQL 使用者名稱和密碼

2.建立資料庫

登入後,使用以下 SQL 語句建立資料庫:

CREATE DATABASE redmine;

3.檢視已建立的資料庫

您可以使用以下命令檢視當前 MySQL 伺服器上的所有資料庫:

SHOW DATABASES;

前提工作都做好了,下面開始正式部署安裝redmine

1:下載redmine-5.1.1.tar.gz,上傳到/usr/local/software目錄下;

連結裡面的是5.11版本,大家也可以到官網下載自己想要的版本:https://www.redmine.org/projects/redmine/wiki/Download

2:解壓壓縮包

cd /usr/local/software
tar -zxvf redmine-5.1.1.tar.gz

3:配置mysql

3.1:先到/usr/local/software/redmine-5.1.1路徑下,就是剛剛解壓的檔案路徑下

cd /usr/local/software/redmine-5.1.1

3.2:複製一份資料庫配置檔案

cp config/database.yml.example config/database.yml

3.3:編輯配置檔案

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

因為我用的是mysql,主要就是修改紅框中的配置,資料庫名,地址,還有使用者名稱和密碼,填入自己的配置即可

4:安裝需要的庫

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

5:安裝rvm

  • 透過 curl 下載並安裝 RVM(Ruby Version Manager),用於管理 Ruby 的版本。-L 選項允許跟隨重定向。
curl -L get.rvm.io | bash -s stable

如果報錯拒絕連結

5.1:新增代理

vi /etc/hosts
#增加下面這行
199.232.28.133 raw.githubusercontent.com
#儲存
wq

5.2:然後再執行下載安裝命令

curl -L get.rvm.io | bash -s stable

5.3:執行搜尋命令,確認rvm是否安裝

find / -name rvm.sh
  • 在整個檔案系統中搜尋名為 rvm.sh 的檔案,通常用於確認 RVM 是否已正確安裝。

5.4:然後執行:

source /etc/profile.d/rvm.sh
rvm -v

這兩個命令的作用如下:

  1. source /etc/profile.d/rvm.sh

    • 這個命令用於載入 RVM 的環境變數和配置,使得當前 shell 會話可以識別 RVM 命令。/etc/profile.d/rvm.sh 是 RVM 安裝時建立的指令碼,通常用於設定 RVM 的路徑和相關環境變數。
  2. rvm -v

    • 這個命令用於顯示當前安裝的 RVM 版本,確認 RVM 是否已正確安裝並可用。

這兩個命令通常是在安裝 RVM 後執行的,以確保環境配置正確並且可以使用 RVM 進行 Ruby 版本管理。

5.5:執行檢查安裝命令:

rvm requirements

這是在檢查安裝 Ruby 所需的依賴項和系統要求

5.6:使用RVM安裝Ruby3.0版本

rvm install 3.0

5.7:檢查Ruby和gem版本,確保安裝成功並且工具可用

ruby -v
gem -v

5.8:給gem換個國內的源,提高下載速度

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

    • 從 gem 源中移除官方 RubyGems 源。這通常是為了切換到其他源。
  2. gem sources -a https://gems.ruby-china.com/

    • 新增 Ruby China 源作為 gem 的新源,以提高 gem 的下載速度

5.9:安裝Rails6.1.7.6

 gem install rails -v 6.1.7.6

5.10:配置 Bundler 使用 Ruby China 源作為 RubyGems 的映象,以加快 gem 的安裝速度。

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

5.11:根據 Gemfile 安裝專案所需的所有 gem

bundle install

5.12:生成一個新的安全令牌,用於 Rails 應用的會話和 Cookie 加密

bundle exec rake generate_secret_token

5.13:在生產環境中執行資料庫遷移,更新資料庫結構以匹配應用的當前版本,生成庫表結構

RAILS_ENV=production bundle exec rake db:migrate

5.14:載入 Redmine 的預設資料到資料庫中,以便進行初始設定和配置。

RAILS_ENV=production bundle exec rake redmine:load_default_data

選擇zh就是選擇中文

5.15:檔案系統許可權設定

#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

這些命令用於設定 Redmine 應用的檔案和目錄結構,確保正確的使用者許可權和訪問許可權。具體解釋如下:

mkdir -p tmp tmp/pdf public/plugin_assets::

建立名為 tmp、tmp/pdf 和 public/plugin_assets 的目錄。-p 選項允許建立多級目錄,如果上級目錄不存在,會自動建立。


目錄所屬使用者配置:

1:sudo chown -R redmine:redmine files log tmp public/plugin_assets:
如果以 redmine 使用者身份執行,遞迴地將 files、log、tmp 和 public/plugin_assets 目錄的所有權更改為 redmine 使用者及其組。


2:sudo chown -R root:root files log tmp public/plugin_assets:
如果以 root 使用者身份執行,遞迴地將這幾個目錄的所有權更改為 root 使用者及其組。


目錄許可權配置:

1:sudo chmod -R 755 files log tmp public/plugin_assets:
遞迴地設定 files、log、tmp 和 public/plugin_assets 目錄的許可權為 755,即所有者具有讀、寫和執行許可權,組使用者和其他使用者具有讀和執行許可權。這通常是為了確保 Web 伺服器或應用能夠訪問這些目錄,但不允許其他使用者隨意修改它們。

這些步驟確保了 Redmine 應用在執行時能夠正確訪問和管理其所需的檔案和目錄,同時也保護了這些檔案和目錄的安全性。

5.16:啟動服務

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看到下面頁面即安裝成功

這是安裝順利的情況,下面講講啟動失敗的情況

在執行啟動命令是會發現並沒有繫結埠啟動,然後用curl命令也會連線失敗

那我們執行把啟動服務命令的 nohup去掉,會把報錯資訊列印出來

bundle exec rails server -e production -b 0.0.0.0 -p 3000

如果發現報錯資訊是cannot load such file -- blankslate (LoadError),就是我們的gem裡面缺少blankslate,redmine官網也有同樣的問題

那我們知道現在缺少了blankslate我們安裝即可

1:首先,我們進入到redmine資料夾的路徑下,找到Gemfile

2:然後在gemfile裡面新增一行 gem 'blankslate'

vi GemFile

插入

gem 'blankslate'

然後wq儲存退出

3:重新安裝gem

bundle install

4:重新啟動服務

bundle exec rails server -e production

這次可以了

還有一個坑

就是在進入到redmine目錄時會提示ruby的版本不符合,檢視了發現明明安裝的版本是3.0.0,要求是在2.7.0到3.3.0之間,但是還是提示這個,只要我們的Rubs,Rails和Mysql版本和官網給的要求對得上即可,上面那個就是指關於RVM的一些警告提示,可以忽略

要解決這個提示,我們修改一下 Gemfile

把原來的 ruby '>= 2.7.0', '< 3.3.0'註釋掉

新增

ruby '3.0.0'

這個3.0.0是你安裝的版本

具體安裝參考文章如下

官網安裝:https://www.redmine.org/projects/redmine/wiki/RedmineInstall

參考文章還有:https://blog.csdn.net/c5211314963/article/details/135742423

相關文章