前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >单点登录(四)| Confluence 安装及 Confluence 集成 CAS 实践

单点登录(四)| Confluence 安装及 Confluence 集成 CAS 实践

作者头像
杰哥的IT之旅
发布2020-06-18 17:38:39
3.5K3
发布2020-06-18 17:38:39
举报
文章被收录于专栏:GitHub专栏GitHub专栏

Confluence 简介

Confluence是一个专业的企业知识管理与协同软件,也可用于构建企业wiki。使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息、文档协作、集体讨论、信息推送。

Confluence是atlassian公司开发的团队协作与知识管理工具,能够帮助团队成员之间共享信息、文档协作、集体讨论、信息推送。

安装

环境: Centos 7 Mysql-5.6 Confluence-6.9 Jdk-1.8

Mysql 的安装

为confluence创建对应的数据库、用户名和密码

代码语言:javascript
复制
下载 mysql 源
# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

安装 rpm 包
# rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装后,会得到两个mysql的yum的repo源

安装 mysql
# yum install mysql-server mysql-client -y

启动 mysql
# systemctl enable mysqld
# systemctl start mysqld

重置 mysql 密码
# mysql -u root 
> use mysql;
> update user set password=password(‘new passed’) where user=’user_name’;
> flush privileges;
> create database confluence default character set utf8 collate utf8_bin;
> grant all on confluence.* to ‘confluence’@’%’ identified by ‘password’;
> grant all on confluence.* to ‘confluence’@’localhost’ identified by ‘password’;
> flush privileges;

下载 confluence 安装包

代码语言:javascript
复制
# wget https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-6.9.3-x64.bin
# chmod +x atlassian-confluence-6.9.3-x64.bin

安装confluence主程序

在安装过程中会自动创建一个用户confluence,安装完成后可切换到confluence用户继续。 如果安装不完美,可以删除用户及安装文件,重新执行安装命令。

删除用户命令:userdel confluence 查询安装文件:find / -name confluence

代码语言:javascript
复制
# ./atlassian-confluence-6.9.3-x64.bin
Unpacking JRE ...
Starting Installer ...

This will install Confluence 6.9.3 on your computer.
OK [o, Enter], Cancel [c]
O                                                              # 选择o,进行安装
Click Next to continue, or Cancel to exit Setup.

Choose the appropriate installation or upgrade option.
Please choose one of the following:
Express Install (uses default settings) [1], 
Custom Install (recommended for advanced users) [2, Enter], 
Upgrade an existing Confluence installation [3]
2                                                              # 选择 2 进入自定义安装

Select the folder where you would like Confluence 6.9.3 to be installed,
then click Next.
Where should Confluence 6.9.3 be installed?
[/opt/atlassian/confluence]


Default location for Confluence data
[/var/atlassian/application-data/confluence]


Configure which ports Confluence will use.
Confluence requires two TCP ports that are not being used by any other
applications on this machine. The HTTP port is where you will access
Confluence through your browser. The Control port is used to Startup and
Shutdown Confluence.
Use default ports (HTTP: 8090, Control: 8000) - Recommended [1, Enter], Set custom value for HTTP and Control ports [2]
1                                                              # 选择1,使用默认端口,也可自定义端口

Confluence can be run in the background.
You may choose to run Confluence as a service, which means it will start
automatically whenever the computer restarts.
Install Confluence as Service?
Yes [y, Enter], No [n]
Y                                                              # 开始安装
Installation of Confluence 6.9.1 is complete
Start Confluence now?
Yes [y, Enter], No [n]
N                                                              # 输入n,不立即启动confluence

Installation of Confluence 6.9.1 is complete
Finishing installation ...

## 出现上述文字,证明已经安装成功了。

将mysql连接驱动放到相应的目录

代码语言:javascript
复制
# cp ./mysql-connector-java-5.1.47.jar /opt/atlassian/confluence/confluence/WEB-INF/lib/

防火墙放行8090端口

代码语言:javascript
复制
# firewall-cmd --add-port=8090/tcp –permanent
# firewall-reload

使用浏览器访问http://ip:8090

进行破解

关闭confluence,进入安装目录,把下面的jar包复制出来

代码语言:javascript
复制
# cp /opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.3.0.jar /root/
将其改名为atlassian-extras-2.4.jar

# mv atlassian-extras-decoder-v2-3.3.0.jar atlassian-extras-2.4.jar
传到本地,然后使用下载的破解工具,运行confluenc_keygen.jar。

将记录的serverID填入,name随便填。

点击gen,生成key并记录。

点击.patch选择刚刚传到本地的atlassian-extras-2.4.jar

将破解的atlassian-extras-2.4.jar包上传到服务器

将名称重命名为之前的名称

代码语言:javascript
复制
# mv atlassian-extras-2.4.jar atlassian-extras-decoder-v2-3.3.0.jar

然后覆盖会原路径

代码语言:javascript
复制
# mv atlassian-extras-decoder-v2-3.3.0.jar /opt/atlassian/confluence/confluence/WEB-INF/lib/

重新启动confluence并完成后续安装

回到输入key的界面,输入上面记录的key,点击下一步进行初始化操作。

注意: 在此步可能报必须使用‘READ-COMMITTED’作为默认隔离级别

解决方法

代码语言:javascript
复制
# mysql -uroot -p
> SET GLOBAL tx_isolation=’READ-COMMITTED’;

点击测试连接,确认无误在继续,配置管理员信息等;

存在问题:

Confluence 实例健康检查遇到的问题 数据库 InnoDB 日志文件大小 功能:检查mysql数据库中的Innodb_log_file_size变量是否恰当。 修改mysql安装目录下的my.ini或者my.cnf文件,加入或修改如下: innodb_log_file_size=256M 重启mysql服务 最大允许数据包 功能:检查mysql数据库中的mac_allowed_packet变量是否恰当。 修改mysql安装目录下的my.ini或者my.cnf文件,加入或修改如下 max_allowed_packet=34M 重启mysql服务

Confluence 集成cas

主要步骤:

1.配置web.xml文件,设置过滤器,匹配 2.配置seraph-config.xml,设定访问到cas的信息 3.修改xwork.xml(这个文件存在于confluence-3.0.1.jar),配置登出 4.导入cas登录的jar包 5.重启cas服务 6.登录测试

1.配置web.xml

编辑web.xml添加过滤器,监听器

代码语言:javascript
复制
# vim /opt/Atlassian/confluence/confluence/confluence/WEB-INF/web.xml

过滤器定义:在所有过滤器后面,配置cas的过滤器

代码语言:javascript
复制
<!—配置过滤器和cas以及本地服务的路径信息>
<!--CAS:START - Java Client Filters-->
    <filter>
        <filter-name>CasSingleSignOutFilter</filter-name>
        <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
    </filter>
    <filter>
        <filter-name>CasAuthenticationFilter</filter-name>
        <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
        <init-param>
            <param-name>casServerLoginUrl</param-name>
            <param-value>http://192.168.1.136:8080/cas/login</param-value>
        </init-param>
        <init-param>
            <param-name>serverName</param-name>
            <param-value>http://192.168.1.30:8090/</param-value>
        </init-param>
    </filter>
    <filter>
        <filter-name>CasValidationFilter</filter-name>
        <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
        <init-param>
            <param-name>casServerUrlPrefix</param-name>
            <param-value>http://192.168.1.136:8080/cas/</param-value>
        </init-param>
        <init-param>
            <param-name>serverName</param-name>
            <param-value>http://192.168.1.30:8090/</param-value>
        </init-param>
    </filter>
<!--CAS:END-->

过滤器匹配,在登录匹配

代码语言:javascript
复制
<!-- End plugins 2.5 filter changes -->
    <!--CAS:START - Java Client Filter Mappings-->
    <filter-mapping>
         <filter-name>CasSingleSignOutFilter</filter-name>
         <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>
         <filter-name>CasAuthenticationFilter</filter-name>
         <url-pattern>/login.action</url-pattern>
    </filter-mapping>
    <filter-mapping>
         <filter-name>CasValidationFilter</filter-name>
         <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!--CAS:END -->
    <filter-mapping>
        <filter-name>login</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>ERROR</dispatcher>
</filter-mapping>

监听器配置地址

在所有监听器前面,配置监听器,也就是在Servlet Context Listeners (Executed on app startup/shutdown)这段话后面,配置监听器

代码语言:javascript
复制
<listener>
        <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>

2.配置seraph-config.xml

配置seraph-config.xml,设定访问cas登录的信息,同时设置confluence的授权信息为cas的方式

代码语言:javascript
复制
#  vim /opt/Atlassian/confluence/confluence/WEB-INF/classes/seraph-config,xml

修改默认的登录配置

代码语言:javascript
复制
<parameters>
        <init-param>
            <param-name>login.url</param-name>
          <!--  <param-value>/login.action?os_destination=${originalurl}&amp;permissionViolation=true</param-value>
                -->
            <param-value>http://192.168.1.136:8080/cas/login?service=${originalurl}</param-value>
        </init-param>
        <init-param>
            <param-name>link.login.url</param-name>
           <!-- <param-value>/login.action</param-value>-->
            <param-value>http://192.168.1.136:8080/cas/login?service=${originalurl}</param-value>
        </init-param>
        <init-param>
设定授权信息
   <!-- Default Confluence authenticator, which uses the configured user management for authentication. -->
  <!--  <authenticator class="com.atlassian.confluence.user.ConfluenceAuthenticator"/>-->
    <authenticator class="org.jasig.cas.client.integration.atlassian.ConfluenceCasAuthenticator"/>

3.配置登出

获取到xwork.xml文件,需要从lib目录下面,获取到confluence-6.9.0.jar文件,将jar包复制到某个目录进行解压

代码语言:javascript
复制
# cp /opt/Atlassian/confluence/confluence/WEB-INF/lib/confluence-6.9.0.jar /home/ceshi/
# yum install -y unzip
# unzip confluence-6.9.0.jar -d /home/ceshi/confluence

将获取到的xwork.xml文件复制到/opt/Atlassian/confluence/confluence/WEB-INF/classes目录下

代码语言:javascript
复制
# cp /home/ceshi/confluence/xwork.xml /opt/Atlassian/confluence/confluence/WEB-INF/classes/xwork.xml
# vim /opt/Atlassian/confluence/confluence/WEB-INF/classes/xwork.xml

设定退出重定向到cas服务器上

代码语言:javascript
复制
<action name="logout" class="com.atlassian.confluence.user.actions.LogoutAction">
            <interceptor-ref name="defaultStack"/>
           <!-- <result name="error" type="velocity">/logout.vm</result>-->
            <result name="success" type="redirect">http://192.168.1.136:8080/cas/logout</result>
        </action>

4.添加jar包

添加的jar包为csa-client-core-3.3.3.jar和cas-client-integration-atlassian-3.5.0.jar,貌似版本不同不会报错

代码语言:javascript
复制
# cp ./cas-client* /opt/Atlassian/confluence/confluence/WEB-INF/lib/

5.重启confluence服务

代码语言:javascript
复制
# /opt/Atlassian/confluence/bin/stop-confluence.sh
# /opt/Atlassian/confluence.bin/start-confluence.sh

6.登录测试

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杰哥的IT之旅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • Mysql 的安装
  • 下载 confluence 安装包
  • 安装confluence主程序
  • 将mysql连接驱动放到相应的目录
  • 防火墙放行8090端口
  • 使用浏览器访问http://ip:8090
  • 进行破解
  • 解决方法
  • 存在问题:
  • Confluence 集成cas
    • 主要步骤:
    相关产品与服务
    云数据库 SQL Server
    腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档