11 高級配置11.1 版本庫配置
11.2 發(fā)送郵件配置首先將 config/email.yml.example 重命名為 config/email.yml 然后配置發(fā)送郵件需要的參數(shù): production: delivery_method: :smtp smtp_settings: address: mail.foo.bar port: 25 domain: foo.bar # authentication: :login # user_name: xxx # password: xxx 注意: 用#注銷掉的那三行信息,是郵件服務器身份驗證信息。但是如果你的用戶已經(jīng)使用了域驗證,就不需要那三行信息。 訪問redmine,以管理員的身份登錄系統(tǒng),點擊"管理"—->""配置"—->"郵件通知",然后點擊右下角的"發(fā)送測試郵件",就可以測試你的郵件服務配置是否成功了。 Note 當delivery_method設置為:smtp時, 它的處理流程是這樣的: 在觸發(fā)郵件發(fā)生的事件發(fā)生后, 首先發(fā)送郵件, 直到郵件發(fā)送完畢, 頁面才跳轉。 這就是說在發(fā)送郵件的過程中, 頁面一直處于等待狀態(tài)。 那么有沒有一種異步發(fā)送郵件機制呢? 在Redmien 0.9 之后, 可通過將delivery_method設置為: async_smtp, 這時發(fā)送郵件和頁面跳轉屬于不同的線程, 當觸發(fā)郵件的事件發(fā)生后, 發(fā)送郵件將會通過消息隊列在后臺執(zhí)行, 而頁面繼續(xù)向下執(zhí)行, 不用等到郵件發(fā)送完畢。 11.3 接收郵件從Redmien-0.8.0 開始, 通過配置, 你可以以發(fā)送郵件的方式創(chuàng)建或者評論問題(issue)。 11.3.1 方案你可以通過以下幾種方式配置Redmine接收郵件的功能:
11.3.2 各種方案的詳細說明11.3.2.1 從郵件服務器轉發(fā)郵件用一個獨立的腳本轉發(fā)郵件服務器發(fā)來的郵件。這個腳本從標準輸入讀取原始郵件并通過HTTP請求轉發(fā)給Redmine。 該腳本在redmine目錄下: extra/mail_handler/rdm-mailhandler.rb
11.3.2.2 從IMAP服務器讀取郵件redmine提供了一個rake任務(redmine:email:receive_imap)負責從IMAP服務器讀取郵件。 當cron 運行該rake命令時你需要使用選項 -f /path/to/redmine/appdir/Rakefile, 因為不這樣的話會出現(xiàn)找不到rakefile的異常。 下面是一個定期每30分鐘讀取一次郵件的cron文件: */30 * * * * redmineuser rake -f /path/to/redmine/appdir/Rakefile redmine:email:receive_imap RAILS_ENV="production" host=imap.foo.bar username=redmine@somenet.foo password=xxx 如果你的設置正常工作,但經(jīng)常收到cron daemon發(fā)送的郵件,你可以在rake命令后添加 --silent選項禁止執(zhí)行命令的輸出信息。下面是禁止每次執(zhí)行cron命令時發(fā)送郵件的示例: */30 * * * * redmineuser rake -f /path/to/redmine/appdir/Rakefile --silent redmine:email:receive_imap RAILS_ENV="production" host=imap.foo.bar username=redmine@somenet.foo password=xxx 說明: 在 cron 文件中,這個命令必須位于一行上 如果用Windows作為服務器, pycron可以用于調(diào)度讀取郵件的任務。 同時需要你修改防火墻設置, 打開同通過TCP鏈接IMAP的143端口。 可用的IMAP選項: host=HOST IMAP服務主機(*默認值: 127.0.0.1*) port=PORT IMAP服務端口(*默認值: 143*) ssl=SSL 是否使用SSL?(*默認值: false*) username=USERNAME IMAP賬號 password=PASSWORD IMAP密碼 folder=FOLDER 將要讀取的IMAP文件夾(*默認值: INBOX*) move_on_success=MAILBOX 將已成功讀取的郵件移動到MAILBOX中, 而不是刪除掉 move_on_failure=MAILBOX 將Redmine忽略的郵件移動到MAILBOX中 問題(issue)屬性可控選項: project=PROJECT 項目標識符 tracker=TRACKER 跟蹤標簽類型 category=CATEGORY 問題類別名稱 priority=PRIORITY 優(yōu)先級名稱 allow_override=ATTRS 允許在郵件內(nèi)容里覆蓋先前已指定的屬性,多個屬性之間用逗號隔開 rake命令的一個例子: # 沒有指定項目, 這時郵件內(nèi)容里必須包含"Project"關鍵字 rake redmine:email:receive_imap RAILS_ENV="production" \ host=imap.foo.bar username=redmine@somenet.foo password=xxx # 指定默認的項目和跟蹤標簽類型, 同時允許在郵件里覆蓋tracker和priority屬性的值 # both tracker and priority attributes: rake redmine:email:receive_imap RAILS_ENV="production" \ host=imap.foo.bar username=redmine@somenet.foo password=xxx ssl=1 \ project=foo \ tracker=錯誤 \ allow_override=tracker,priority # 將成功處理的郵件轉移到"read"mailbox中,失敗的則轉移到"failed"mailbox中 rake redmine:email:receive_imap RAILS_ENV="production" \ host=imap.foo.bar username=redmine@somenet.foo password=xxx \ move_on_success=read move_on_failure=failed 忽略的郵件(包括未知用戶、未知項目以及來自redmine禁用帳戶的郵件)被標記為'已讀',而不是從IMAP服務器中刪除。 選項 allow_override 不僅僅覆蓋rake的默認值, 而且可以覆蓋郵件里的所有屬性。 例如,你要覆蓋tracker, 你可以添加參數(shù): allow_override=tracker 11.3.2.3 從POP3服務器讀取郵件僅在trunk和1.0以后的版本可用 redmine提供的rake任務(redmine:email:receive_pop3)可以用于從POP3讀取郵件 POP3可用的選項: host=HOST POP3服務主機(*默認值: 127.0.0.1*) port=PORT POP3服務端口(*默認值: 110*) username=USERNAME POP3賬號 password=PASSWORD POP3密碼 apop=1 是否使用APOP認證(_默認值: false_) delete_unprocessed=1 從服務器上刪除不能成功處理的消息(*默認情況是繼續(xù)保存在服務器上*) 關于問題屬性的可控選項可以參考上面IMAP章節(jié) 11.3.2.4 從標準輸入讀取郵件redmine提供的rake任務(redmine:email:receive)用于從標準輸入讀取單個的原始郵件 問題屬性可控的選項: project=PROJECT 項目標識符 tracker=TRACKER 跟蹤標簽類型 category=CATEGORY 問題類別名稱 priority=PRIORITY 優(yōu)先級名稱 allow_override=ATTRS 允許在郵件內(nèi)容里覆蓋先前已指定的屬性,多個屬性之間用逗號隔開 示例: # 沒有指定項目,這時郵件里必須包含“Project”關鍵 rake redmine:email:read RAILS_ENV="production" < raw_email # 指定默認的項目和跟蹤標簽類型,并且允許在郵件里覆蓋tracker和priority選項 # both tracker and priority attributes: rake redmine:email:read RAILS_ENV="production" \ project=foo \ tracker=錯誤 \ allow_override=tracker,priority < raw_email 選項 allow_override 不僅僅覆蓋rake的默認值, 而且可以覆蓋郵件里的所有屬性。 例如,你要覆蓋tracker, 你可以添加參數(shù): allow_override=tracker。 11.3.3 開啟匿名用戶通過郵件提交問題為了開啟該選項,需要添加額外參數(shù): unknown_user=ACTION 當收到未知用戶郵件時,應該采用哪種ACTION。以下是ACTION可用的值: ignore: 郵件將被忽略(默認值) accept: 作為匿名用戶接收 create: 自動為該用戶創(chuàng)建一個賬號 no_permission_check=1 當收到郵件時禁用權限檢查功能 11.3.4 工作原理收到郵件后, Redmine從發(fā)件人地址中查找對應的賬號。 未知用戶和已鎖定的用戶將被忽略。 如果郵件主題包含像這樣的內(nèi)容" Re:[xxxxxx #123]", 那么該郵件將被作為問題(issue)#123的回復處理。 否則將會以郵件主題為問題的標題,新建一個問題(issue)
11.3.5 例子演示以從IMAP服務器讀取郵件為例 添加一個Redmine從IMAP服務器讀取郵件的corn任務 wangsheng@pc01:/etc/cron.d$ cat receive_imap # m h dom mon dow user command */10 * * * * root rake -f /opt/redmine/web/Rakefile redmine:email:receive_imap RAILS_ENV="production" host=imap.foo.bar username=xxx@foo.bar password=xxxxxx allow_override=tracker 說明:
好了, 下面發(fā)送一個測試郵件: 收件人: rake里的username值 郵件標題: # 這將是新建問題的標題 這是通過郵件提交的問題 郵件內(nèi)容: # 由于在rake命令里沒有指定默認項目,所以這里必須指定項目 Project: foo Tracker: 支持 下面可以寫一些關于問題的描述 說明: 該郵件將會創(chuàng)建一個"支持"類型的問題(issue) 如果10分鐘內(nèi),你訪問Redmine, 點擊問題選項卡, 看到了這個問題, 那么證明已經(jīng)成功配置。 11.4 發(fā)送提醒郵件Redmine提供了一個rake任務, 它可以發(fā)送那些未來幾天之內(nèi)需要完成的問題的提醒郵件。 可用選項:
下面是一個發(fā)送未來7天之內(nèi)需要解決的問題的提醒郵件示例, 問題的指派人將收到這封郵件: rake redmine:send_reminders days=7 RAILS_ENV="production" 提醒郵件截圖. 11.5 LDAP 認證Redmine一直以來都支持一個或者多個LDAP認證源。 以管理員身份登錄系統(tǒng), 點擊 管理 -> 配置 -> 認證 -> LDAP 認證, 即可進入LDAP認證頁面。
新建LDAP截圖 11.6 配置單點登錄前提
單點登錄配置步驟:
11.7 從LDAP同步賬號前提: 已經(jīng)配置好LDAP 參見 LDAP認證 操作步驟:
11.8 Subversion 基于路徑授權配置過程:
Note 如果你用的是http協(xié)議,而且svn不允許匿名訪問,那么為了讓所有用戶都能有效地看到自己應該看到的版本庫信息, 你需要創(chuàng)建一個對整個版本庫讀權限的賬號, 輸入到登錄名和密碼部分。 因為我們的Subverison權限檢查組件是在Redmine原來的基礎上, 對輸出的信息再次進行過濾。 所以如果你在這里輸入的賬號權限太低, 還是會出現(xiàn)一些高權限的用戶無法看到他們應該看到的內(nèi)容的現(xiàn)象。 |
|
來自: everydayOK > 《redmine》