安裝Debian 12
前面為了在windows上好開發,想要在windows上配置開發環境,以源碼方式在本地部署運行,但經過好幾天各種版本切換及配置組件庫等各種操作后,證明windows上搭建redmine6支持的運行環境沒有那么簡單,后續有時間再更一篇windows踩坑記。一句話總結就是windows真的沒有想象的簡單,建議放棄。
后來嘗試用Linux系統,但過于天真試了centos7和redhat7.9也是遇到一些編譯庫(主要是gcc系列的庫)的編譯兼容性問題,不想再折騰了,遂換了新版Debian12,總體過程較為順利,記錄如下。
下載redmine-6.0.6
可去官網直接下載源碼包redmine-6.0.6,放到指定文件夾中。當然也可通過wget進行下載。下載后在指定目錄進行解壓:
cd /path/to/downloaded/filesudo tar -xzvf redmine-6.0.6.tar.gz -C /path/to/target/directory
安裝Ruby3
個人在安裝的時候選擇的是Ruby3.2.5版本,redmine官方對于Ruby的版本要求為ruby ‘>= 3.2.0’, ‘< 3.5.0’,理論上符合都沒問題。
在Linux上安裝我選擇的方式是使用rvm進行安裝,驗證過還是很方便的,且后續可進行版本的切換,因為rvm本身就是ruby的版本管理工具(ruby version manager)。
在安裝rvm之前需要先安裝一些包依賴:
sudo apt update
sudo apt install -y curl gpg gnupg2 autoconf bison libssl-dev libreadline-dev zlib1g-dev libyaml-dev libsqlite3-dev
開始安裝rvm:
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB\curl -sSL https://get.rvm.io | bash -s stablesource ~/.rvm/scripts/rvmecho 'source /etc/profile.d/rvm.sh' >> ~/.bashrc
直接安裝ruby:
rvm install 3.2.5
可查看當前ruby版本并設置默認使用版本:
ruby -v
rvm use 3.2.5 --default
安裝及配置MySQL8
使用命令安裝mysql數據庫,由于直接使用apt安裝失敗了,我是采取的手動安裝的方式,先到mysql官網下載debian對應安裝索引文件mysql debian version,然后再通過命令進行安裝。
sudo dpkg -i mysql-apt-config_0.8.17-1_all.debsudo apt updatesudo apt install mysql-server -ysudo systemctl status mysql
安裝過程中在終端中會出現圖形化選擇頁面,選擇過程中可能會進入類似死循環的過程,注意選項配合,只要裝了server就行了。
初始化用戶和數據庫
CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
安裝項目依賴
切換到項目目錄下安裝依賴包,可以不加依賴包參數這樣可以把開發 測試 生產環境下的包都裝上,因為裝的過程比較慢,容易誤解為卡死,可加上- -verbose參數用于查看實時狀態。
cd /path/to/redmine
bundle install --without development test
安裝過程中可能會有個別庫報錯,原因是某些前置庫沒有安裝,安裝好后使用gem單獨安裝即可,如:
sudo apt install -y build-essential libmariadb-dev-compat libmariadb-dev default-libmysqlclient-devgem install mysql2 --verbose
更改項目數據庫的配置文件
切換到項目目錄下的config文件,拷貝數據庫配置示例文件,更改實際配置
cp config/database.yml.example config/database.yml
創建和遷移已有數據庫
RAILS_ENV=production bundle exec rake db:create
RAILS_ENV=production bundle exec rake db:migrate
可選擇加載默認數據
RAILS_ENV=production bundle exec rake redmine:load_default_data
創建過程可能會有credentials類的報錯,重新通過命令獲取認證信息就能過
bin/rails credentials:edit --environment production
啟動服務
bundle exec rails server -e production
項目啟動默認端口為3000,故訪問http://localhost:3000或http://127.0.0.1:3000均可直達頁面,同一局域網設備在無路由限制和防火墻策略的情況下也可通過服務主機的IP加端口進行訪問(需配置啟動命令-b 0.0.0.0),如下:
啟動過程中還報了一個puma服務找不到,經過檢查是puma的依賴在配置文件中只在生產環境下存在,bundle install的時候把- -without development test去掉重新跑一遍就好了。