Jump to navigation

You are currently browsing all posts tagged with 'confluence'

Confluence 3.1.2 版破解

  • Posted on March 11, 2010 at 10:15 am

主要是针对D:\Atlassian\confluence312\confluence\WEB-INF\lib\atlassian-extras-2.1.3.jar进行破解。

Jad用得有点不爽,所以采用了DJ Java Decompiler 3.10  windows版,听说可以直接对jar文件进行破解。

图形化的操作比较简单。File->Open 打开atlassian-extras-2.1.3.jar,弹出来一个新窗口。 全选里面的class文件,然后按“Decompile” ,选择输出目录,再点“YES”即可。 如果点“NO”的话,就不会保持目录结构,所有破解出来的java文件都扔在同一目录了。

然后就很顺利地破解出了.java文件,而且保持了目录结构。

把这些文件打个包放到linux里面,因为我的winxp么有安装java. M哥的linux在跑resin,正好有java之类的东西,我对此不是很熟悉。恩,怀念一下以前和Davic搭档的日子。

然后要修改二个文件。

com/atlassian/license/decoder/LicenseAdaptor.java

public Date getExpiryDate() {

return null;  // 永不过期

}

public LicenseType getLicenseType() {

return com.atlassian.license.applications.confluence.ConfluenceLicenseTypeStore.FULL_LICENSE;  // 改为最强License

}

public int getUsers() {

return 100000;  // 允许十万用户

}

public boolean isExpired() {

return false;  // 永不过期

}

com/atlassian/license/LicenseUtils.java

public static final long POST_LICENSE_EVAL_PERIOD = 0x75cd788000L;  // 均改为16年

public static final long UPDATE_ALLOWED_PERIOD = 0x75cd788000L;                   //改为16年。原来的值是0x75cd78800L, 少了一个0,看仔细了。

public static long getSupportPeriodEnd(License license) {

return license.getDateCreated().getTime() + 0x75cd788000L; // 16 years

}

public static boolean isLicenseTooOldForBuild(License license, Date date) {

return false;

}

public static boolean confirmExtendLicenseExpired(Date date) {

return false;

}

public static boolean confirmExtendLicenseExpired(String s) throws NumberFormatException {

return false;

}

private static long getNewBuildWithOldLicenseExpiryDate(Date date) {

return date.getTime() + 0x75cd788000L;

}

然后再进行编译:

[root@www de]# ls

com  META-INF

[root@www de]# Javac  -cp  .   com/atlassian/license/decoder/LicenseAdaptor.java

[root@www de]# javac -cp  .  com/atlassian/license/LicenseUtils.java

[root@www de]# find ./ -name “*.java” | xargs  -rm

[root@www de]# jar -cvf atlassian-extras-2.1.3.jar  *

然后把atlassian-extras-2.1.3.jar覆盖掉D:\Atlassian\confluence312\confluence\WEB-INF\lib\中的同名文件,重启confluence服务即可。

jar-7

Confluence 升级到3.12版本

  • Posted on March 11, 2010 at 10:14 am

原来的confluence版本是2.8  standalone.exe安装, 准备升级到最新的3.1.2

英文文档:

http://confluence.fangwai.net/display/DOC/Upgrading+Confluence+Standalone+Distribution

开始前的准备

先说一下目录结构:

原来confluence的安装目录在 D:\Atlassian\Confluence2.8

jar-8

JRE也在这个目录里面的。

我们准备把 confluence3.12安装到 d:\atlassian\confluence312 目录中。

确保2.8的license还没过期。 如果已经过期了,就再去搞一个license,然后在管理界面更新一下license。

检查一下你现在用了哪些插件,再检查一下这些插件在confluence3.12中能不能用。

如果以前你对confluence做过一些定制,也记录下来。

备份

备份 Confluence Home 目录,又称 data 目录。如果你不记得这个目录在哪里了,就看一下confluence/WEB-INF/classes/confluence-init.properties

备份数据库

备份confluence的安装目录

升级

关闭confluence服务

下载最新的安装包,是zip格式的那种。我下载的是

Confluence 3.1.2 – Standalone for Production Usage (ZIP Archive)

http://www.atlassian.com/software/confluence/downloads/binary/confluence-3.1.2-std.zip

把文件解压出来,放到 d:\atlassian\confluence312 里面

并且把老版本confluence安装目录里面的jre目录,复制到此目录中。

jar-9

修改一下 d:\atlassian\confluence312\confluence\WEB-INF\classes\confluence-init.properties

里面的confluence.home指向原来的Confluence Home目录(data 目录)。 这样新版本的confluence就可以自动使用老版本的某些配置了。 记得去掉前面的#,否则就注释掉了。。

运行一下老版本confluence安装目录里的 UninstallService.bat, 这样confluence服务就被删除了。

修改一下 新版confluence安装目录里面的 /bin/service.bat

jar-10

在set CURRENT_DIR=%cd%下面添加二行:

set JAVA_HOME=%cd%\..

echo %JAVA_HOME%

在cmd下,运行新版confluence安装目录里面的/bin/service.bat

service install  atlassianconfluence

jar-6

然后在管理工具->服务 里面就多了一个 apache tomcat 6  atlassianconfluence的服务。这个就是新的confluence服务了。

因为在以前的版本中,我们用了mysql数据库,需要把原版本安装目录中的

confluence/common/lib/ 目录里面的mysql-connector-java-5.1.12-bin.jar  复制到新的安装目录/lib/ 目录里面。

因为我们以前配置过confluence使用jira的用户数据库,所以有几个文件还要覆盖一下。

confluence/WEB-INF/classes/osuser.xml

confluence/WEB-INF/classes/atlassian-user.xml

升级后的设置

安装目录里面的 conf/server.xml

修改 <Context path=””

为 <context path=”/confluence”

里面的二个端口也改一下。参考一下原来的server.xml哈。

恩,在server.xml里面还要添加一个resource。

重新安装所有的插件。

把你以前对confluence的定制操作,再做一遍,无奈。

启动 apache tomcat6 atlassianconfluence服务。

jira,confluence 前面再放一个apache

  • Posted on March 8, 2010 at 4:33 pm

为什么要再加一个apache呢?

看一下现在的URL:

Jira 的访问地址是  http://192.168.0.163:10000/jira

Confluence的地址是  http://192.168.0.163:20000/confluence

两个端口不同,不太好记。。。

所以在前面再放一个apache, 利用apache的proxy功能,转发web请求到后面的tomcat.

修改apache的配置文件 conf/httpd.conf

先加载二个模块:

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_http_module modules/mod_proxy_http.so

再加入以下的配置:

<Proxy *>

Order deny,allow

Allow from all

</Proxy>

ProxyRequests       Off

ProxyPreserveHost         On

ProxyPass           /jira       http://192.168.0.163:10000/jira

ProxyPassReverse    /jira       http://192.168.0.163:10000/jira

ProxyPass /confluence             http://192.168.0.163:20000/confluence

ProxyPassReverse /confluence       http://192.168.0.163:20000/confluence

重启apache.

以后jira的访问地址就变成了  http://192.168.0.163/jira

Confluence的地址变成了 http://192.168.0.163/confluence

Jira与confluence的整合

  • Posted on March 8, 2010 at 4:32 pm

英文版文档:

http://confluence.atlassian.com/display/DOC/Integrating+JIRA+and+Confluence

主要有2个方面:

1         共用使用同一个用户数据库。

2  confluence与jira互相调用数据。

先说第一点: jira与confluence共用同一个用户数据库。

如果要做单点登录的话,Crowd 是最好的选择。  如果只是想让jira和confluence共用同一个用户数据库,就不必用到Crowd了。只要你的jira用的是外部数据库(比如mysql)即可。

在改造之前,先提个醒:

1          以下的例子是Tomcat 和mysql. 如果你用其它的web/db服务器的话,不要照抄啊。

2    如果jira使用了LDAP认证,那么是不行的。 请看文档

http://confluence.atlassian.com/display/DOC/Add+LDAP+Integration

2         一定要把Confluence安装在单独的数据库里面,不要和jira混在同一个库。

3         如果你的confluence里面已经有一些用户了,改造之后,这些用户都将无法使用。 Confluence里面的内容页,也不会和任何的正常用户相关联了。所以,刚安装好confluence的时候,我们什么内容也不要添加进去。

再简单描述一下这种技术:

Confluence 会使用jira的用户数据库,所以confluence会连接二个库:

1 自己的数据库,就是在安装过程中设置的那个数据库。这个库保存了spaces, pages,comments,etc.

2         只读地连接到jira的用户数据库。

为什么这种技术可行呢? 因为confluence 和 jira 的OSUser表是相同结构的。

第一步,修改confluence的配置文件  安装目录里面的 application/conf/server.xml

在 <Context path=”/confluence” 里面添加一个Resource

<Resource auth=”Container”

username=”jirauser”

password=”jirapwd227″

driverClassName=”com.mysql.jdbc.Driver”

url=”jdbc:mysql://localhost/jiradb?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=UTF8″/>

这种写法是 Tomcat 5.5.x的。 如果你的tomcat版本比较低,请自行修改。

第二步 修改confluence安装目录里面的 application\confluence\WEB-INF\classes\osuser.xml

把<authenticator 里面的第二段 <provider 注释掉, 把第一段<provider 取消注释。

结果如下:

<opensymphony-user>

<!–

Authenticators can take properties just like providers.

This smart authenticator should work for ‘most’ cases – it dynamically looks up

the most appropriate authenticator for the current server.

–>

<authenticator class=”com.opensymphony.user.authenticator.SmartAuthenticator”/>

<!– JIRA User management (with caching) –>

<!– Note: Do not add any line breaks or spaces when specifying the chain.classname, otherwise a ClassNotFoundException will be thrown –>

<provider class=”bucket.user.providers.CachingCredentialsProvider”>

<property name=”chain.classname”>com.atlassian.confluence.user.providers.jira.JiraJdbcCredentialsProvider</property>

<property>java:comp/env/jdbc/JiraDS</property>

</provider>

<provider class=”bucket.user.providers.CachingAccessProvider”>

<property name=”chain.classname”>com.atlassian.confluence.user.providers.jira.JiraJdbcAccessProvider</property>

<property>java:comp/env/jdbc/JiraDS</property>

</provider>

<provider class=”bucket.user.providers.CachingProfileProvider”>

<property name=”chain.classname”>com.atlassian.confluence.user.providers.jira.JiraJdbcProfileProvider</property>

<property name=”chain.datasource”>java:comp/env/jdbc/JiraDS</property>

<property name=”chain.configuration.provider.class”>bucket.user.BucketHibernateConfigProvider</property>

</provider>

<!–

<provider class=”bucket.user.providers.CachingCredentialsProvider”>

<property name=”chain.classname”>com.opensymphony.user.provider.hibernate.HibernateCredentialsProvider</property>

<property name=”chain.configuration.provider.class”>bucket.user.BucketHibernateConfigProvider</property>

</provider>

<provider class=”bucket.user.providers.CachingAccessProvider”>

<property name=”chain.classname”>com.opensymphony.user.provider.hibernate.HibernateAccessProvider</property>

<property name=”chain.configuration.provider.class”>bucket.user.BucketHibernateConfigProvider</property>

</provider>

<provider class=”bucket.user.providers.CachingProfileProvider”>

<property name=”chain.classname”>com.opensymphony.user.provider.hibernate.HibernateProfileProvider</property>

<property name=”chain.configuration.provider.class”>bucket.user.BucketHibernateConfigProvider</property>

</provider>

–>

<!–<provider class=”com.opensymphony.user.provider.memory.MemoryCredentialsProvider” />

<provider class=”com.opensymphony.user.provider.memory.MemoryAccessProvider” />

<provider class=”com.opensymphony.user.provider.memory.MemoryProfileProvider” />–>

</opensymphony-user>

这里的jdbc/JiraDS 就是前面我们在confluence的conf/server.xml里面设置过的。

第三步 修改confluence安装目录里面的

application\confluence\WEB-INF\classes\atlassian-user.xml

注释掉

<hibernate key=”hibernateRepository”  description=”Hibernate Repository” cache=”true”/>

添加一行

<osuser key=”osuserRepository”/>

第四步 用管理员身份登录jira

添加二个用户组:  confluence-users组和confluence-administators 组

把必要的用户添加到这二个组里面

第五步 在confluence中激活外部用户管理(External User Management)

管理->总体配置->安全和隐私->外部用户管理   设置为“打开”

Administration->General Configuration ->Options And Setting->External User Management

结束。

接下来说一说 confluence与jira互相调用数据。

如果是Confluence 3.1 and JIRA 4.0及以后的版本,可以使用Gadgets. 文档如下:

http://confluence.atlassian.com/display/DOC/Adding+a+Confluence+Gadget+to+a+JIRA+Dashboard

http://confluence.atlassian.com/display/DOC/Gadget+Macro

如果是 Confluence 3.1 and JIRA 4.0 之前的版本,就要使用{jiraissues} and {jiraportlet} 这二个宏来把jira的数据嵌入到confluence中。

The JIRA Issues and the JIRA Portlet macros allow you to embed a list of JIRA issues into a Confluence page. Prior to Confluence 2.7, if you wanted to display JIRA issues that had restricted viewing, then you needed to store the JIRA user’s credentials (username and password) in the macro code directly on the Confluence page. This was not very secure.

所以我们要设置一下 Trusted Communication between JIRA and Confluence

适用版本:

JIRA 3.12.0 or later.

Confluence 2.7.0 or later.

第一步,使jira信任confluence.

用管理员身份登录jira,在系统设置->信任的应用管理  里面,添加confluence的baseurl:  http://192.168.0.163:20000/confluence

第二步,在confluence中设置宏

用管理员身份登录confluence, 配置->插件管理-> JIRA Macros

里面共有四个组件:

jiraportlet

jiraissues

JIRA application trust support

JIRA application trust warnings

默认是全部设置为“允许”的。

JIRA application trust warnings 可以设置为”禁止”.

第三步,把宏添加到confluence页面中

编辑某个confluence页面, 切换到 Wiki标记符, 输入

{jiraissues:url=CONTENT}

CONTENT就是jira中某个filter 的url.

下面讲一下这个url如何获取。

登录到jira里面,

打开 ‘问题’ 页面,创建一个新的查询。

设置好查询的参数,点击“查看>>”。

如果问题列表可以显示出来的话,点击页面右上角的 “Views”,复制下拉菜单中的XML的网址即可。

jar-5

Confluence的安装,破解及汉化

  • Posted on March 8, 2010 at 4:31 pm

英文版安装文档:

http://confluence.atlassian.com/display/DOC/Installing+Confluence+Standalone+Using+the+Windows+Evaluation+Installer

http://confluence.atlassian.com/display/DOC/Confluence+Setup+Guide

Confluence是一个企业知识管理与协同软件。通过它可以实现公司成员之间的文档协作, 集体讨论,以及知识共享。

atlassian-confluence-2.8.0-standalone.exe

atlassian-extras-1.15.jar

confluence-zh_CN-plugin-2.8.0.jar

双击 exe 进行安装。我们使用端口20000和20001  安装为服务。

安装完成之后,会自动启动confluence服务。

复制confluence-zh_CN-plugin-2.8.0.jar到confluence安装目录的application/common/lib/ 目录里面。

打开 http://192.168.0.163:20000 进行配置。

先去申请一个试用30天的License key.

然后选择 Custom Installation.

下一步选择external database   mysql

再下一步选择JDBC

Database URL修改为

jdbc:mysql://localhost/confluence?autoReconnect=true&useUnicode=true&characterEncoding=utf8

先不要按下一步。

去数据库里面,

create database confluence  character set utf8;

grant all on confluence.* to ‘jirauser’@’localhost’ identified by ‘jirapwd227’;

然后下一步,会提示找不到mysql的驱动。

复制 mysql-connector-java-5.1.12-bin.jar 到 confluence安装目录/confluence/common/lib/下。

重启confluence服务。再刷新这个页面即可。

关闭confluence服务。 覆盖atlassian-extras-1.15.jar  与confluence-zh_CN-plugin-2.8.0.jar

到 confluence安装目录的 application\confluence\WEB-INF\lib\ 目录里面。

重启服务。

如果发现界面还是英文的,就去

http://192.168.0.163:20000/admin/configurelanguage.action 页面,修改一下默认语言即可。

到这里就安装好了。

不必在confluence里面添加内容。因为与jira整合之后,这些内容都会出问题。

为了让confluence与jira整合,再来修改一下confluence的配置文件  安装目录里面的 application/conf/server.xml

修改 <Context path=””

为 <context path=”/confluence”

重启服务。

打开IE,访问 http://192.168.0.163:20000/confluence

不必在confluence里面添加内容。因为与jira整合之后,这些内容都会出问题。

Top