[原創] debian 9.3 搭建Jira+Confluence+Bitbucket項目管理工具(四) -- 安裝crowd 3.1.2

[原創] debian 9.3 搭建Jira+Confluence+Bitbucket項目管理工具(四) -- 安裝crowd 3.1.2java

 

  原本已經安裝完畢, 並使用Jira集成的OAuth帳戶管理, 可是不知道什麼緣由, 在confluence裏始終沒法經過認證, 即:按照提示認證後, 頁面一閃, 而後仍是老樣子, 可是bitbucket確好使. 好來就像換crowd來作統一身份認證.mysql

  集成的Jira Server身份認證, 其實就是帳戶的統一管理入口, 當你登陸confluence或bitbucket的時候, 會自動將Jira Server上的帳戶信息同步到confluence或bitbucket上, 而後來實現僞SSO的功能. 安裝時候也說明過, 這種狀況只適合小於500的帳戶數量.linux

  採用crowd身份認證, 則是真正的SSO的統一身份認證系統, 全部的帳戶信息、分組、權限設置均在crowd上, 登陸jira、confluence、bitbucket時, 會請求crow來進行身份認證.web

 

  下面言歸正傳, 咱們安裝crowd, 這裏依然採用了最新版crow 3.1.2的版本.sql

1、跟安裝Jira相似, 第一步是建立crowd數據庫, 使用以下命令建立:數據庫

      mysql -u root -p瀏覽器

     輸入密碼後, 登陸mysql>命令行, 並建立數據庫.安全

      create database crowd_db default character set utf8mb4 collate utf8mb4_general_ci;服務器

    在Mysql中建立confluence用戶, 並容許遠程登陸.session

      grant all privileges on crowd_db.* to 'crowd'@'%' identified by 'XXXXX' with grant option;

      grant all privileges on crowd_db.* to 'crowd'@'localhost' identified by 'XXXXX' with grant option;

      flush privileges;

      exit;

 

2、安裝crowd, 將crow3.1.2的安裝包atlassian-crowd-3.1.2.tar.gz和破解包一併經過samba服務傳到debian9.3的機器上/usr/atlassion目錄下.

  2.1  經過如下命令執行安裝操做:

      cd /usr/atlassian

      tar -zxvf atlassian-crowd-3.1.2.tar.gz /usr/atlassian/crowd

    以上2條命令後, 就獲得解壓後的crowd文件包. 爲了跟jira/confluence/bitbucket保持一致, 咱們將解壓後的crowd安裝文件夾拷貝到/opt/atlassian/crowd/目錄下,  以後編輯/opt/atlassian/crowd/crowd-webapp/WEB-INF/classes目錄下的crowd-init.properties文件, 添加crowd的數據文件目錄. 一樣爲了保持目錄一致性, 咱們選擇/var/atlassian/application-data/crowd目錄做爲數據目錄. 即, 執行如下命令:

      vi /opt/atlassian/crowd/crowd-webapp/WEB-INF/classes/crowd-ini.properties

   在末尾添加:

      crow.home=/var/atlassian/application-data/crowd   

 

  2.2  把破解包裏面的atlassian-extras-3.2.jar和mysql-connector-java-5.1.39.jar兩個文件複製到/opt/atlassian/crowd/crowd-webapp/WEB-INF/lib/目錄下便可. 其中atlassian-extras-3.2.jar是破解crowd的文件, 另外一個mysql-connector-java-5.1.39.jar是鏈接mysql的驅動包. 【注意】破解文件與jira的破解文件不同, 雖然這兩個文件名字相同, 可是不能通用, 已親測!

    若是想使用裏面的非徹底漢化的語言包,crowd-language-2.9.1.jar文件也複製/opt/atlassian/crowd/crowd-webapp/WEB-INF/lib/目錄下, 而後備份crowd-language-3.1.2.jar包後,閃出該文件, 並把crowd-language-2.9.1.jar文件名稱改爲crowd-language-3.1.2.jar, 便可。

    覆蓋完畢後, 經過以下命令啓動crowd.  

       /opt/atlassian/crowd/start_crowd.sh

      備註, 關閉命令是 /opt/atlassian/crowd/stop_crowd.sh

 

  2.3  Crowd啓動完畢後, 在瀏覽器中輸入地址: 192.168.X.X:8095端口, 便可訪問crowd的配置界面, 具體步驟以下:

    2.3.1 在首頁上, 選擇"設置Crowd(Set up Crowd)".

    2.3.2 受權碼頁面, 須要到Atlanssian的官網註冊30天的試用許可. 按說明操做, 隨後附上圖例. 只要注意, 序列號填成該頁面上顯示的便可.

    2.3.3 在Crow安裝界面, 選擇"新安裝".

    2.3.4 選擇數據庫設置頁面, 須要選擇"JDBC鏈接"並選擇"mysql數據庫", 並填上我麼已經配置好的mysql數據庫信息.在該頁面, 會自動讀取mysql connector的信息, 也就是驅動類名、Hibenate都已經選擇好了, 只要修改一下JDBC URL中的鏈接串, 並填寫用戶名和密碼便可.

    【注意】鏈接串的修改,須要該IP和數據庫名稱,2個地方, 即:http://127.0.0.1/crowd_db?.........相似的地址, ip後面的內容是數據庫名稱.

    2.3.5 在漫長的等待以後, 進入選項頁面, 咱們填入"部署標題名(Crowd實例名)"、"crowd的根url"(請記清改url, 之後對crowd的訪問都經過該地址).

    2.3.6 在配置郵件頁面, 直接選擇稍後配置便可.

    2.3.7 在內部目錄頁面, 主要填入"名稱", 即crowd用戶目錄名稱, 其餘都是安全性要求的配置, 根據須要來選擇便可.咱們是內網用戶, 因此直接都沒選.

    2.3.8 在配置默認管理員頁面, 咱們填入管理員信息, 按要求作就好. 最後兩行的名字和姓氏能夠任意.

    2.3.9 在已集成的應用程序頁面, 勾選"OpenID服務器"並選擇繼續.

    2.3.10 進入歡迎及登陸頁面, crowd的安裝配置就已經完成了.

 

3、在Crowd上配置SSO, 這個內容是坑我時間較長的部分, 網上有寫這部門內容的帖子不是版本太老、就是描述不清楚. 就迎着頭皮看了好半天官方文檔, 也說得是不明就裏. 通過本身2天的琢磨, 終於搞定了.

  網上的帖子, 好些是對照着官網指南來寫的, 官網指南上描述的crowd與jira、confluence、bitbucket集成的內容, 目的應該是要把對jira、confluence、bitbucket的帳號管理功能集中在crowd中, 所以須要分別針對jira、confluence、bitbucket建立不一樣的directory, 每一個directory裏面有設置了不少重複的帳號, 跟SSO相差的比較遠. 現有的教程, 好些也都是參照官網這個集成指南來的, 害得我搞了好久都不行, 來來回回卸載了不少遍.

 

  3.0 這裏先買個關子, 說下重裝jira、confluence、bitbucket會遇到的問題. 當咱們從新安裝jira、confluence、bitbucket的時候, 安裝文件會在系統裏新增一個 XXX2-N 的帳戶. 什麼意思呢? 就是你第一次安裝的時候, 用戶名和組設置爲Jira(或confluence、atlbitbucket), 當你從新安裝的時候, 系統不會用這個用戶名, 而會採用Jira二、Jira三、Jira4這種一直日後排, 而後看咱們的服務啓動列表裏面, 就是一連串的Jira、Jira一、Jira2.....等等. 如今咱們來講如何解決這個問題, 若是是第一次安裝的朋友們, 這裏能夠忽略.

    3.0.1 修改安裝目錄的用戶名及用戶組, 即將根目錄的JiraX用戶名,JiraX 用戶組名, 都改爲Jira. 執行如下命令便可:

          cd /opt/atlassian/jira

          chmod -R jira:root /opt/atlassian/jira

          cd /opt/atlassian/confluence

          chmod -R confluence:root /opt/atlassian/confluence

          cd /opt/atlassian/bitbucket

          chomod -R atlbitbucket:root /opt/atlassian/bitbucket

    3.0.2  修改數據目錄的用戶名及用戶組, 執行如下命令:

          cd /var/atlassian/application-data/jira         

          chmod -R jira:jira /var/atlassian/application-data/jira

          cd /var/atlassian/application-data/confluence

          chmod -R confluence:confluence /var/atlassian/application-data/confluence

          cd /data/atlassian/application-data/bitbucket

          chomod -R atlbitbucket:atlbitbucket /data/atlassian/application-data/bitbucket

    3.0.3 修改安裝目錄中指定的執行用戶名, 按如下命令操做:

          vi /opt/atlassian/jira/bin/user.sh

       將其中的JiraX改爲Jira便可. 同理修改Confluence和bitbucket

           vi /opt/atlassian/confluence/user.sh

          vi /opt/atlassian/bitbucket/5.7.0/bin/set-bitbucket-user.sh

    3.0.4 刪除多餘的用戶名及用戶組名:

          vi /etc/passwd

          vi /etc/passwd-

          vi /etc/group

          vi /etc/group-

       將其中的jiraX、confluenceX、atlbitbucektX統統刪除便可.

 

  3.1 接下來, 言歸正傳, 我們說說SSO的配置. 首先說下概念, 在crowd、jira、confluence、bitbucket中, 使用 "用戶目錄(Directory)" 來管理用戶、組, 也就是說directory是承載用戶和用戶組的容器. 而application是用來標識jira、confluence、bitbucket的標記.

有了這兩個概念, 咱們就不難明白如何來作SSO. 官網的教程, 是針對jira、confluence、bitbucket三個應用, 在crowd中建立3個不一樣的容器(Directory), 目的是在crowd中集中管理個應用的帳戶, 而咱們的目的是要作SSO, 即但願"同一個帳戶在不一樣的application之間流轉", 所以咱們只須要建立一個容器(Directory)便可. 具體操做以下:

    3.1.1 登陸crowd, 在頁面頂部的菜單中, 點擊 "目錄(Directories)", 而後點擊 "添加目錄(Add directory)"後, 選擇 "內部的(Internal)".  輸入目錄名稱便可, 例如:XXX Crowd Directory.

    3.2.2 接下來, 咱們建立用戶組. 點擊"組(Groups)" -> "添加組(Add Group)"以後, 輸入組名"jira-administrators"後, 【注意】選擇咱們剛纔新建的目錄「XXX Crowd Directory」, 肯定便可。

       按照剛纔的步驟, 分別建立(jira-software-users、confluence-administrators、confluence-users、stash-users)幾個組, 這些組都是jira、confluence、bitbucket中的用戶組。

    3.3.3 建立好以後, 咱們開始建立用戶, 點擊「用戶(Users)」 -> "添加用戶(Add User)", 建立Admin用戶及其餘用戶.【注意】這裏依然要選擇咱們剛纔建立的容器目錄「XXX Crowd Directory」。

       點擊"建立(create)"後, 彈出用戶屬性界面, 在"組(Groups)"中添加要配備的單個或多個組便可. "應用(Applications)"如今能夠忽略, 下一步纔會用到.

    3.3.4 當咱們建立好用戶、用戶組以後, 咱們須要爲jira應用程序、confluence應用程序、bitbucket應用程序設置應用標識, 即: 

      點擊頂部"應用(Applications)" -> "添加應用(Add application)", 選擇應用類型(例如:JIra)、填入標識名稱(例如:Jira Crowd Server)、填入密碼, 點擊"下一步".

      填入URL(如http://localhost:8081), 以後,點擊"解析IP地址(Resolve IP Address)"後, 選擇容器目錄(XXX Crowd Directory)後, 點擊下一步.

      在選擇"目錄組"的時候, 咱們爲了保證驗證效率, 手動選擇須要驗證的組(如:jira-administrators和jira-software-users)兩個組. 固然這裏選擇"容許全部用戶驗證(Allow all users to authenticate)"也是能夠的, 只是每次都是拿所有用戶數據去驗證.

      接下來, 一路完成確認便可. 在該頁面中, 也可使用Application Test來驗證用戶是否能成功認證, 還能夠在options中, 選擇"使用小寫", 來避免用戶名大小寫的影響. 這不不作也能夠.

    3.3.5 按照剛纔的步驟, 在建立Confluence Crowd Server標識、bitbucket Crowd Server標識, 【注意】前者選擇「confluence-administrators和confluence-users」組, 後者選擇「stash-users」組便可。

    3.3.6 接下來, 咱們分別到Jira、confluence、bitbucket中配置用戶目錄.

       登陸jira平臺, 選擇"系統" -> "設置"" -> "外部用戶管理"置爲"打開"狀態後保存. 以後點擊頂部菜單的"用戶管理" -> "用戶目錄". 在右側選擇"添加目錄" -> "Atlassian 人羣(Atlassian crowd)"後, 填入"任意名稱"、url地址(http://localhost:8095/crowd/)、上面咱們建立的Application標識(如:Jira Crowd Directory)並填入當時配置的密碼測試並保存便可. 以後, 按動"用戶目錄列表"中的"順序箭頭", 把新增的用戶目錄放在最上面便可. 【說明】在用戶目錄列表界面, 僅保留咱們剛添加的用戶目錄及默認的"內部類型"的用戶目錄便可(這裏好像不須要禁用internal帳戶). 另外, 爲加快帳戶同步時間, 咱們能夠在"建立用戶目錄"時, 選擇"每次登錄時同步"選項.

       按照一樣的步驟, 操做confluence平臺,  首先選擇"系統" -> "用戶及安全" -> " 安全配置", 在右側頁面, 啓用"外部用戶管理" 後保存(這裏啓用外部管理可能就跳轉到Jira自帶的用戶管理服務了, 這裏應該不啓用). 以後選擇"系統" -> "用戶及安全" -> "用戶目錄", 按照剛纔的操做添加標識爲"Confluence Crowd Directory"的用戶目錄便可. 而且須要將Internal帳戶給禁用.

      按照一樣的步驟, 操做bitbucket平臺, 選擇"管理" -> "帳號" -> "用戶目錄"後, 按照先前的操做, 添加標識爲"bitbucket crowd directory"的用戶目錄, 而且須要將Internal帳戶給禁用.

      至此, 關於帳戶配置的部分完畢.

    3.3.7 接下來的最後一步, 咱們須要配置"單點登陸SSO"的問題. 

       配置Jira的單點登陸, 打開crowd安裝目錄, 拷貝/opt/atlassian/crowd/client/conf目錄下的crowd.properties文件到/opt/atlassian/jira/atlassian-jira/WEB-INF/classes目錄下, 並修改文件爲如下形式:

          cp /opt/atlassian/crowd/client/conf/crowd.properties /opt/atlassian/jira/atlassian-jira/WEB-INF/classes/crowd.properties

          vi /opt/atlassian/jira/atlassian-jira/WEB-INF/classes/crowd.properties

        修改成一下形式, 其中application.name是咱們設置的Jira程序的Application標識.

          application.name         jira-crowd-directory

          application.password       XXXXX

          application.login.url        http://localhost:8095/crowd/console/

 

          crowd.server.url          http://localhost:8095/crowd/services/

          crowd.base.url            http://localhost:8095/crowd/


          session.isauthenticated      session.isauthenticated

          session.tokenkey          session.tokenkey

          session.validationinterval     2

          session.lastvalidation       session.lastvalidation

       修改/opt/atlassian/jira/atlassian-jira/WEB-INF/classes目錄下的seraph-config.xml, 將其中的:

          <authenticator class="com.atlassian.jira.security.login.JiraSeraphAuthenticator" />

      給註釋掉, 並取消一下內容的註釋:

          <authenticator class="com.atlassian.jira.security.login.SSOSeraphAuthenticator" />

       保存後, 便可完成SSO的設置, 等待沖洗啓動Jira後可能夠了.

   3.3.8 同理, 咱們配置一下confluence的SSO.

      直接打開/opt/atlassian/confluence/confluence/WEB-INF/classes/crowd.properties文件, 該文件已經存在, 直接修改成如下形式:

          vi /opt/atlassian/confluence/confluence/WEB-INF/classes/crowd.properties

        修改成一下形式, 其中application.name是咱們設置的confluence程序的Application標識.

          application.name         confluence-crowd-directory

          application.password       XXXXX

          application.login.url        http://localhost:8095/crowd/console/

 

          crowd.server.url          http://localhost:8095/crowd/services/

          crowd.base.url            http://localhost:8095/crowd/


          session.isauthenticated      session.isauthenticated

          session.tokenkey          session.tokenkey

          session.validationinterval     2

          session.lastvalidation       session.lastvalidation

       修改/opt/atlassian/confluence/confluence/WEB-INF/classes目錄下的seraph-config.xml, 將其中的:

          <authenticator class="com.atlassian.confluence.user.ConfluenceAuthenticator" />

      給註釋掉, 並取消一下內容的註釋:

          <authenticator class="com.atlassian.confluence.user.ConfluenceCrowdSSOAuthenticator" />

       保存後, 便可完成SSO的設置, 等待沖洗啓動Confluence後可能夠了.

   3.3.9 最後咱們配置一下, bitbucket的SSO的問題.

       咱們編輯一下/data/atlassian/application-data/bitbucket/shared/bitbucket.properties文件, 在末尾加上一下內容便可:

          plugin.auth-crowd.sso.enabled=true

 

      至此, 全部的配置就完畢了, 重啓後就可使用了.

  

 

 

  補充一個可有可無的東西, Linux下VM虛擬硬盤的擴充:

  1. gparted-live-0.30.0-1-amd64.iso

    備份/home分區到別的硬盤後, 從最後一個分區開始刪除, 只至只剩主分區.

    用gparted調整分區大小後, 再建立擴展分區、linux swap分區、剛纔的home分區, 而後把數據再考回來.

  2. 重啓登陸系統後, 使用df -hl 命令查看磁盤分區狀況, 發現沒有swap分區.

    使用 free -m 命令查看內存使用狀況, 可發現swap爲0

   使用 fdisk -l 查看硬盤狀況, 發現 swap分區名稱爲/dev/sda5

   使用 blkid 查到/dev/sda5的UUID值.

    vi /etc/fstab文件, 修改swap下面的UUID的值爲剛查到的值. 

   使用 swapon -a 命令, 從/etc/fstab啓動全部swap分區

    而後保存重啓便可.

 

  照例, 貼一些別人帖子的圖, 帖子地址以下:  http://www.linuxidc.com/Linux/2017-02/140141p2.htm

    

   

    

 

    

 

    

 

    

 

    

 

    

 

    

 

    

 

    

 

      

 

    

相關文章
相關標籤/搜索