管理MIS的鳥事-使用Redmine 系列 (Allan Lo2022年iThome鐵人賽參賽作品)
Redmine的安裝
2025/2/5 附加 Redmine升級至6.0.3版 (整理自ChatGPT的回覆)
要將您的 Redmine 從 5.1.3 版本升級至 6.0.3,請按照以下步驟進行:
檢查系統需求:
Ruby 版本:Redmine 6.0.0 停止支援 Ruby 2.7,請確保您的系統安裝了 Ruby 3.0 或更新版本。
wordpress.cine.idv.tw
資料庫:確認您的資料庫版本與 Redmine 6.0.3 相容。
備份現有資料:
資料庫:使用適當的工具備份您的 Redmine 資料庫。
檔案:備份 files 目錄,該目錄包含所有上傳的檔案。
設定檔:備份 config 目錄中的設定檔,例如 database.yml 和 configuration.yml。
下載並解壓新版本:
從 Redmine 官方網站下載 6.0.3 版本的壓縮檔案,並將其解壓縮到新的目錄中。
複製必要的檔案:
設定檔:將備份的 database.yml 和 configuration.yml 複製到新版本的 config 目錄中。
上傳的檔案:將備份的 files 目錄內容複製到新版本的對應目錄中。
外掛:將自訂的外掛從舊版本的 plugins 目錄複製到新版本的 plugins 目錄。
安裝相依套件:
在新版本的根目錄中,執行以下指令以安裝必要的 gem:
bundle config set --local without 'development test'
bundle install
資料庫遷移:
執行以下指令以更新資料庫結構:
bundle exec rake db:migrate RAILS_ENV=production
如果您安裝了任何外掛,請同時執行:
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
清理快取並重啟伺服器:
清除暫存檔案:
bundle exec rake tmp:cache:clear RAILS_ENV=production
重啟您的應用程式伺服器(例如 Puma、Thin、Passenger)。
檢查權限設定:
登入 Redmine,前往「管理」>「角色與權限」,確認新功能的權限設定是否正確。
詳細的升級指南可參考 Redmine 官方文件。
請注意,升級前務必完成所有備份,以確保資料安全。
安裝的是Redmine 5.1.3.stable的 Docker版。請問如何升級?
如果您使用的是 Docker 版的 Redmine 5.1.3.stable,升級到 6.0.3 的步驟如下:
這是最重要的步驟,避免資料遺失! 執行以下命令來備份資料庫與上傳的檔案:
docker cp redmine_app:/usr/src/redmine/files ./redmine_files_backup
docker exec redmine_db sh -c 'exec mysqldump -uroot -p"$MYSQL_ROOT_PASSWORD" redmine > /backup/redmine_backup.sql'
docker cp redmine_db:/backup/redmine_backup.sql ./redmine_backup.sql
注意:
redmine_app 是 Redmine 容器的名稱,redmine_db 是資料庫容器的名稱,請根據實際情況調整。
如果使用 SQLite,則應備份 redmine/db/redmine.sqlite3。
docker stop redmine_app redmine_db
docker rm redmine_app
注意:
不應該移除資料庫容器(redmine_db),除非您也想升級資料庫。
docker pull redmine:6.0.3
如果使用 MySQL/MariaDB 作為資料庫:
docker run -d --name redmine_app \
--link redmine_db:mysql \
-e REDMINE_DB_MYSQL=mysql \
-e REDMINE_DB_USERNAME=redmine \
-e REDMINE_DB_PASSWORD=yourpassword \
-e REDMINE_DB_DATABASE=redmine \
-v ./redmine_files_backup:/usr/src/redmine/files \
-p 3000:3000 redmine:6.0.3
如果使用 SQLite:
docker run -d --name redmine_app \
-v ./redmine.sqlite3:/usr/src/redmine/db/redmine.sqlite3 \
-v ./redmine_files_backup:/usr/src/redmine/files \
-p 3000:3000 redmine:6.0.3
docker exec -it redmine_app bash
bundle exec rake db:migrate RAILS_ENV=production
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
exit
docker restart redmine_app
開啟瀏覽器,訪問 http://localhost:3000,登入 Redmine,並確認版本資訊(管理 -> 資訊)。
如果我5.1.3版使用的是3000的Port,我想要升級到6.0.3版想要保留舊版的,升級的版本和舊內容回存使用3010 Port,請問如何執行?
如果您想要保留 Redmine 5.1.3(使用 3000 port),並讓升級後的 6.0.3 版本使用 3010 port,您需要執行以下步驟:
確保所有數據都有備份,避免升級失敗導致資料遺失。
備份 Redmine 上傳檔案
docker cp redmine_app:/usr/src/redmine/files ./redmine_files_backup
備份資料庫
如果您使用的是 MySQL/MariaDB:
docker exec redmine_db sh -c 'exec mysqldump -uroot -p"$MYSQL_ROOT_PASSWORD" redmine > /backup/redmine_backup.sql'
docker cp redmine_db:/backup/redmine_backup.sql ./redmine_backup.sql
如果您使用的是 SQLite:
docker cp redmine_app:/usr/src/redmine/db/redmine.sqlite3 ./redmine_backup.sqlite3
docker pull redmine:6.0.3
如果您的資料庫是 MySQL/MariaDB:
docker run -d --name redmine603 \
--link redmine_db:mysql \
-e REDMINE_DB_MYSQL=mysql \
-e REDMINE_DB_USERNAME=redmine \
-e REDMINE_DB_PASSWORD=yourpassword \
-e REDMINE_DB_DATABASE=redmine \
-v ./redmine_files_backup:/usr/src/redmine/files \
-p 3010:3000 redmine:6.0.3
如果您的資料庫是 SQLite:
docker run -d --name redmine603 \
-v ./redmine_backup.sqlite3:/usr/src/redmine/db/redmine.sqlite3 \
-v ./redmine_files_backup:/usr/src/redmine/files \
-p 3010:3000 redmine:6.0.3
這樣,新的 Redmine 6.0.3 會在 3010 port 運行,而舊的 Redmine 5.1.3 仍然在 3000 port 運行。
docker exec -it redmine603 bash
bundle exec rake db:migrate RAILS_ENV=production
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
exit
Redmine 5.1.3:打開 http://localhost:3000
Redmine 6.0.3:打開 http://localhost:3010
確保所有數據(專案、使用者、議題、檔案等)都正常顯示。
這樣您就成功保留舊版的 Redmine 5.1.3,並同時讓新版 6.0.3 運行在不同的 Port 🎉
我如何在Windows 10的作業環境,安裝docker版的Rdmine 6.0.3版?
如果您在 Windows 10 上安裝 Docker 版的 Redmine 6.0.3,可以按照以下步驟進行:
下載並安裝 Docker Desktop
下載地址:Docker 官方網站
安裝時選擇 Enable WSL 2 features(啟用 WSL 2)。
安裝完成後 重新啟動電腦。
確認 Docker 是否正常運行
打開 命令提示字元 (cmd) 或 PowerShell,輸入:
docker --version
確保可以看到 Docker 版本資訊。
打開 PowerShell 或 CMD,輸入以下指令:
docker pull redmine:6.0.3
這將會從 Docker Hub 下載 Redmine 6.0.3 的映像。
Redmine 需要一個資料庫,建議使用 MariaDB(MySQL 相容),可執行以下命令來建立 MySQL 容器:
docker run -d --name redmine_db \
-e MYSQL_ROOT_PASSWORD=your_root_password \
-e MYSQL_DATABASE=redmine \
-e MYSQL_USER=redmine \
-e MYSQL_PASSWORD=your_redmine_password \
-v redmine_mysql_data:/var/lib/mysql \
mariadb:10.5
注意:
your_root_password → 設定 MySQL root 密碼
your_redmine_password → 設定 Redmine 連接 MySQL 的密碼
docker run -d --name redmine \
--link redmine_db:mysql \
-e REDMINE_DB_MYSQL=mysql \
-e REDMINE_DB_DATABASE=redmine \
-e REDMINE_DB_USERNAME=redmine \
-e REDMINE_DB_PASSWORD=your_redmine_password \
-v redmine_files:/usr/src/redmine/files \
-p 3000:3000 redmine:6.0.3
說明:
--link redmine_db:mysql 連接到剛剛建立的資料庫容器。
-v redmine_files:/usr/src/redmine/files 存放 Redmine 上傳的檔案。
-p 3000:3000 表示將 Redmine 網頁服務映射到 Windows 10 的 3000 端口。
在 PowerShell 或 CMD 輸入:
docker ps
確保 Redmine 和 MySQL 容器都在執行中。
開啟瀏覽器,輸入:
http://localhost:3000
預設的登入帳號是:
帳號:admin
密碼:admin
首次登入時,系統會要求更改密碼。
如果您已經有舊版 Redmine(例如 5.1.3)在 3000 Port,想要讓新版本 6.0.3 運行在 3010 Port,請使用:
docker run -d --name redmine_603 \
--link redmine_db:mysql \
-e REDMINE_DB_MYSQL=mysql \
-e REDMINE_DB_DATABASE=redmine \
-e REDMINE_DB_USERNAME=redmine \
-e REDMINE_DB_PASSWORD=your_redmine_password \
-v redmine_files:/usr/src/redmine/files \
-p 3010:3000 redmine:6.0.3
這樣,您可以用:
http://localhost:3000 來訪問 Redmine 5.1.3
http://localhost:3010 來訪問 Redmine 6.0.3
如果您要從 5.1.3 版本升級到 6.0.3,請執行:
bash
複製編輯
docker exec -it redmine_603 bash
bundle exec rake db:migrate RAILS_ENV=production
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
exit
完成後,請 重新啟動 Redmine 容器:
docker restart redmine_603
這樣,您就成功在 Windows 10 上安裝 Docker 版的 Redmine 6.0.3,並可與舊版本 5.1.3 並存!🎉
我要安裝SqLike, 並使用3010 port
如果您想要使用 SQLite 並讓 Redmine 6.0.3 運行在 3010 port,請按照以下步驟進行。
如果您的 Windows 10 尚未安裝 Docker,請先下載並安裝 Docker Desktop。
安裝完成後,打開 PowerShell 或 CMD,輸入:
docker --version
確認 Docker 已成功安裝。
docker pull redmine:6.0.3
Redmine 默認 會使用 SQLite,如果您沒有設定 MySQL,Redmine 會自動創建 SQLite 資料庫。
在 PowerShell 或 CMD 輸入:
mkdir C:\redmine_sqlite
這將建立一個目錄來存放 SQLite 資料庫與上傳的檔案。
執行以下命令:
docker run -d --name redmine_sqlite \
-v C:\redmine_sqlite:/usr/src/redmine \
-p 3010:3000 redmine:6.0.3
參數說明:
-v C:\redmine_sqlite:/usr/src/redmine:將 SQLite 資料庫與上傳的檔案存放在 Windows 的 C:\redmine_sqlite 資料夾內。
-p 3010:3000:將 Redmine 6.0.3 映射到 3010 Port。
執行:
docker ps
確保 redmine_sqlite 容器正在運行。
開啟瀏覽器,輸入:
http://localhost:3010
預設的登入帳號:
帳號:admin
密碼:admin(首次登入時系統會要求更改密碼)
Redmine 會自動在 /usr/src/redmine/db/ 創建 SQLite 資料庫 (production.sqlite3),如果您要手動查看:
docker exec -it redmine_sqlite bash
ls -l db/
您應該會看到 production.sqlite3 檔案。
這樣,您的 Redmine 6.0.3(SQLite 版) 就成功安裝並運行在 3010 port!🎉
若安裝bitnami的是Redmine 5.0.2.stable,如何升級到6.0.3版?
如果您使用的是 Bitnami 版 Redmine 5.0.2.stable,要升級到 6.0.3,請按照以下步驟進行:
這是最重要的步驟,以免升級失敗導致數據遺失!
cp -r /opt/bitnami/redmine/files /home/user/redmine_files_backup
如果您使用的是 MySQL/MariaDB:
mysqldump -u root -p bitnami_redmine > /home/user/redmine_backup.sql
如果您使用的是 SQLite:
cp /opt/bitnami/redmine/db/production.sqlite3 /home/user/redmine_backup.sqlite3
下載 Bitnami Redmine 6.0.3
進入 Bitnami Redmine 官方網站
下載 Linux / Windows / Mac 對應的 6.0.3 安裝檔
安裝 Redmine 6.0.3
Windows:雙擊執行 .exe 安裝檔,選擇安裝目錄(例如 C:\Bitnami\redmine-6.0.3)。
Linux:
chmod +x bitnami-redmine-6.0.3-linux-x64-installer.run
sudo ./bitnami-redmine-6.0.3-linux-x64-installer.run
cp -r /home/user/redmine_files_backup /opt/bitnami/redmine/files
如果您使用的是 MySQL/MariaDB:
mysql -u root -p bitnami_redmine < /home/user/redmine_backup.sql
如果您使用的是 SQLite:
cp /home/user/redmine_backup.sqlite3 /opt/bitnami/redmine/db/production.sqlite3
cd /opt/bitnami/redmine
bundle exec rake db:migrate RAILS_ENV=production
bundle exec rake redmine:plugins:migrate RAILS_ENV=production
sudo /opt/bitnami/ctlscript.sh restart
打開 http://localhost:3000(或 3010 端口,如果您更改了端口)。
進入 管理 -> 資訊,確認 Redmine 版本為 6.0.3。