Open-Xchange安装日志<o:p></o:p>
<o:p> </o:p>
Pre-install<o:p></o:p>
<o:p> </o:p>
安装apt<o:p></o:p>
<o:p> </o:p>
wget http://ftp.freshrpms.net/pub/freshrpms/redhat/9/apt-0.5.5cnc6-frl.i386.rpm<o:p></o:p>
rpm -ihv apt-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">0.5.5</st1:chsdate>cnc6-frl.i386.rpm<o:p></o:p>
apt-get update<o:p></o:p>
<o:p> </o:p>
vi /etc/apt/sources.list<o:p></o:p>
在该文件中添加以下五行:<o:p></o:p>
<o:p> </o:p>
rpm http://mirrors.sunsite.dk/jpackage 1.5/generic free<o:p></o:p>
rpm-src http://mirrors.sunsite.dk/jpackage 1.5/generic free non-free<o:p></o:p>
rpm http://mirrors.sunsite.dk/jpackage 1.5/redhat-9 free<o:p></o:p>
rpm-src http://mirrors.sunsite.dk/jpackage 1.5/redhat-9 free<o:p></o:p>
rpm http://apt.sw.be redhat/9/en/i386 dag<o:p></o:p>
<o:p> </o:p>
返回命令行提示符.<o:p></o:p>
<o:p> </o:p>
apt-get update<o:p></o:p>
apt-get install postgresql postgresql-server postgresql-libs<o:p></o:p>
<o:p> </o:p>
#apt-get install httpd httpd-manual<o:p></o:p>
#注:因为在原有linux服务器上已经安装了Apache http server2.2 故无需执行<o:p></o:p>
<o:p> </o:p>
apt-get install xerces-j2<o:p></o:p>
apt-get install jdom<o:p></o:p>
apt-get install postgresql-jdbc<o:p></o:p>
apt-get install mod_jk-ap20<o:p></o:p>
<o:p> </o:p>
#此命令为下载安装Apache与Tomcat的连接器<o:p></o:p>
#除非linux上的Apache安装在默认路径/usr/local/apache2<o:p></o:p>
#否则,在此安装的连接器是不起作用的.<o:p></o:p>
#后面mod_jk须自行手动下载、编译、安装、配置<o:p></o:p>
<o:p> </o:p>
apt-get install perl-Convert-ASN1<o:p></o:p>
apt-get install perl-ldap<o:p></o:p>
<o:p> </o:p>
#此perl模块下载时也自动下载的所需的模块包括:<o:p></o:p>
# perl-IO-Socket-SSL<o:p></o:p>
# perl-Net-SSLeay<o:p></o:p>
# perl-XML-NamespaceSupport<o:p></o:p>
# perl-XML-SAX<o:p></o:p>
<o:p> </o:p>
apt-get install perl-Authen-SASL<o:p></o:p>
#命令提示找不到相应的模块,可通过CPAN安装,如下:<o:p></o:p>
<o:p> </o:p>
perl –MCPAN –e shell<o:p></o:p>
cpan>install Authen::SASL<o:p></o:p>
<o:p> </o:p>
从http://sietse.net/exoops/modules/OpenXchange/?distr=rh9下载<o:p></o:p>
openldap-clients-2.0.27-8.i386.rpm<o:p></o:p>
openldap-servers-2.0.27-8.i386.rpm<o:p></o:p>
到/home/xkx/ox目录下。<o:p></o:p>
cd /home/xkx/ox<o:p></o:p>
rpm -Uvh openldap-servers-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">2.0.27</st1:chsdate>-8.i386.rpm openldap-clients-2.0.27-8.i386.rpm<o:p></o:p>
service ldap start<o:p></o:p>
<o:p> </o:p>
从Sun官方网站下载<o:p></o:p>
j2sdk-1_4_2_10-linux-i586.bin<o:p></o:p>
jaf-1_0_2-upd2.zip<o:p></o:p>
javamail-1_4-ea.zip<o:p></o:p>
存放到/home/xkx/ox目录下<o:p></o:p>
<o:p> </o:p>
安装JDK<o:p></o:p>
cd /home/xkx/ox<o:p></o:p>
chmod 755 j2sdk-1_4_2_10-linux-i586.bin<o:p></o:p>
<o:p> </o:p>
在/etc/profile,/etc/profile.d/java.sh,/root/.bashrc下分别加入如下四行:<o:p></o:p>
JAVA_HOME="/home/xkx/ox/j2sdk<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">1.4.2</st1:chsdate>_10"<o:p></o:p>
JAVA_BIN="/home/xkx/ox/j2sdk<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">1.4.2</st1:chsdate>_10/bin"<o:p></o:p>
PATH=$JAVA_HOME/bin:$PATH<o:p></o:p>
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar<o:p></o:p>
#设置了环境变量后,可在命令提示符下检查:<o:p></o:p>
echo $JAVA_HOME<o:p></o:p>
java -version<o:p></o:p>
<o:p> </o:p>
解压jaf-1_0_2-upd2.zip和javamail-1_4-ea.zip,分别把其中的mail.jar和activation.jar拷贝到<o:p></o:p>
/usr/share/java目录下<o:p></o:p>
<o:p> </o:p>
apt-get install ant <o:p></o:p>
<o:p> </o:p>
从Apache官方网站下载<o:p></o:p>
jakarta-tomcat-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">5.0.28</st1:chsdate>.tar.gz<o:p></o:p>
jakarta-tomcat-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">5.0.28</st1:chsdate>-deployer.tar.gz<o:p></o:p>
到/home/xkx目录下<o:p></o:p>
<o:p> </o:p>
tar –xvzf jakarta-tomcat-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">5.0.28</st1:chsdate>.tar.gz<o:p></o:p>
cd akarta-tomcat-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">5.0.28</st1:chsdate>/bin<o:p></o:p>
./startup.sh<o:p></o:p>
<o:p> </o:p>
把jakarta-tomcat-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">5.0.28</st1:chsdate>-deployer.tar.gz解压后取出servlet-api.jar,并拷贝到/usr/share/java下。<o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
Configure<o:p></o:p>
<o:p> </o:p>
1、 Postgresql<o:p></o:p>
<o:p> </o:p>
service postgresql start<o:p></o:p>
编辑文件/var/lib/pgsql/data/postgresql.conf,确保有下面这样一行:<o:p></o:p>
tcpip_socket = true<o:p></o:p>
<o:p> </o:p>
编辑文件/var/lib/pgsql/data/pg_hba.conf,确保有下面这样的两行:<o:p></o:p>
local all all trust<o:p></o:p>
host all all 127.0.0.1 255.255.255.255 trust<o:p></o:p>
<o:p> </o:p>
service postgresql restart<o:p></o:p>
useradd ox<o:p></o:p>
su – postgres<o:p></o:p>
createuser -A -D -P openxchange<o:p></o:p>
键入密码:123456<o:p></o:p>
createdb openxchange<o:p></o:p>
exit<o:p></o:p>
<o:p> </o:p>
2、安装OX<o:p></o:p>
<o:p> </o:p>
从http://mirror.open-xchange.org/ox/EN/community/download.htm下载<o:p></o:p>
open-xchange-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">0.8.0</st1:chsdate>-6.tar.gz<o:p></o:p>
到/home/xkx/ox下<o:p></o:p>
<o:p> </o:p>
tar –xvzf open-xchange-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">0.8.0</st1:chsdate>-6.tar.gz<o:p></o:p>
cd open-xchange-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">0.8.0</st1:chsdate>-6<o:p></o:p>
export OX_INSTALL=/usr/local/ox<o:p></o:p>
<o:p> </o:p>
./configure \<o:p></o:p>
--prefix=$OX_INSTALL \<o:p></o:p>
--with-mailjar=/usr/share/java/mail.jar \<o:p></o:p>
--with-activationjar=/usr/share/java/activation.jar \<o:p></o:p>
--with-jdomjar=/usr/share/java/jdom-1.0.jar \<o:p></o:p>
--with-xercesjar=/usr/share/java/xerces-j2-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">2.6.2</st1:chsdate>.jar \<o:p></o:p>
--with-jsdkjar=/usr/share/java/servlet-api.jar \<o:p></o:p>
--with-jdbcjar=/usr/share/pgsql/pg73jdbc3.jar \<o:p></o:p>
--enable-webdav \<o:p></o:p>
--with-htdocsdir=/home/htdocs \<o:p></o:p>
--with-cgibindir=/home/cgi-bin \<o:p></o:p>
--with-dbname=openxchange \<o:p></o:p>
--with-dbuser=openxchange \<o:p></o:p>
--with-dbpass=123456 \<o:p></o:p>
--with-dbhost=localhost \<o:p></o:p>
--with-runuid=ox \<o:p></o:p>
--with-rungid=ox<o:p></o:p>
<o:p> </o:p>
make<o:p></o:p>
make install<o:p></o:p>
<o:p> </o:p>
在浏览器中输入http://192.168.0.185/cgi-bin/login.pl看是否能看到登录的画面。<o:p></o:p>
<o:p> </o:p>
3、配置Servlet<o:p></o:p>
<o:p> </o:p>
cd /home/xkx/jakarta-tomcat-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">5.0.28</st1:chsdate>/webapps <o:p></o:p>
mkdir servlet<o:p></o:p>
mkdir servlet/WEB-INF<o:p></o:p>
mkdir servlet/WEB-INF/classes<o:p></o:p>
mkdir servlet/WEB-INF/lib<o:p></o:p>
cd servlet/WEB-INF/ <o:p></o:p>
cp $OX_INSTALL/share/servlets/*.class classes/<o:p></o:p>
cp $OX_INSTALL/lib/* lib/<o:p></o:p>
cp lib/umin.war .<o:p></o:p>
<o:p> </o:p>
从http://sietse.net/exoops/modules/OpenXchange/?distr=rh9下载web.xml<o:p></o:p>
并把所有<param-value>中的open-xchange改为ox。<o:p></o:p>
之后把文件放在/home/xkx/jakarta-tomcat-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">5.0.28</st1:chsdate>/webapps/servlet/WEB-INF目录下<o:p></o:p>
<o:p> </o:p>
重新启动tomcat,即:<o:p></o:p>
cd /home/xkx/jakarta-tomcat-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">5.0.28</st1:chsdate>/bin<o:p></o:p>
./shutdown.sh<o:p></o:p>
./startup.sh<o:p></o:p>
<o:p> </o:p>
在浏览器中输入:http://192.168.0.185:8080/servlet/intranet 可以看到“The Open-XChange(tm) Server is not running-Groupware Please inform the Administrator!”<o:p></o:p>
<o:p> </o:p>
在文件/home/xkx/jakarta-tomcat-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">5.0.28</st1:chsdate>/conf/tomcat-users.xml中添加一行:<o:p></o:p>
<user username="admin" password="123456" roles="admin"/><o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
4、整合Apache和Tomcat<o:p></o:p>
<o:p> </o:p>
cp /usr/share/doc/mod_jk-ap20-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">1.2.5</st1:chsdate>/workers.properties.sample /etc/httpd/conf/workers.properties<o:p></o:p>
<o:p> </o:p>
在/etc/httpd/conf.d/下创建文件mod_jk.conf,内容如下:<o:p></o:p>
<o:p> </o:p>
<IfModule mod_jk.c><o:p></o:p>
JkWorkersFile /home/conf/workers.properties<o:p></o:p>
JkLogFile /home/logs/mod_jk.log<o:p></o:p>
JkLogLevel error<o:p></o:p>
JkMount /servlet/* ajp13<o:p></o:p>
JkMount /umin/* ajp13<o:p></o:p>
JkMount /*.jsp ajp13<o:p></o:p>
JkMount /examples/* ajp13<o:p></o:p>
JkMount /servlet/webdav.contacts* ajp13<o:p></o:p>
JkMount /servlet/webdav.ical* ajp13<o:p></o:p>
JkMount /servlet/weddav.documents* ajp13<o:p></o:p>
JkMount /servlet/webdav.calendar* ajp13<o:p></o:p>
JkMount /servlet/webdav.tasks* ajp13<o:p></o:p>
JkMount /servlet/webdav.contacts* ajp13<o:p></o:p>
JkMount /servlets-examples/* ajp13<o:p></o:p>
JkMount /jsp-examples/* ajp13<o:p></o:p>
#JkMount /servlet/intranet/* ajp13<o:p></o:p>
</IfModule><o:p></o:p>
<o:p> </o:p>
从Apache官方网站下载jakarta-tomcat-connectors-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">1.2.15</st1:chsdate>-src.tar.gz到<o:p></o:p>
/home/xkx目录下<o:p></o:p>
<o:p> </o:p>
tar –xvzf jakarta-tomcat-connectors-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">1.2.15</st1:chsdate>-src.tar.gz<o:p></o:p>
cd /home/xkx/jakarta-tomcat-connectors-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">1.2.15</st1:chsdate>-src/jk/native<o:p></o:p>
./configure \<o:p></o:p>
--with-apxs=/home/bin/apxs<o:p></o:p>
--with-java-home=/home/xkx/ox/j2sdk<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">1.4.2</st1:chsdate>_10<o:p></o:p>
make<o:p></o:p>
make install<o:p></o:p>
#之后会发现/home/modules下多了一个文件mod_jk.so<o:p></o:p>
<o:p> </o:p>
在/home/conf/httpd.conf中加入:<o:p></o:p>
<o:p> </o:p>
LoadModule jk_module modules/mod_jk.so<o:p></o:p>
Include /etc/httpd/conf.d/mod_jk.conf<o:p></o:p>
<o:p> </o:p>
修改文件/home/conf/workers.properties<o:p></o:p>
<o:p> </o:p>
workers.tomcat_home=/home/xkx/jakarta-tomcat-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">5.0.28</st1:chsdate><o:p></o:p>
workers.java_home=/home/xkx/ox/j2sdk<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">1.4.2</st1:chsdate>_10<o:p></o:p>
<o:p> </o:p>
重新启动Tomcat<o:p></o:p>
<o:p> </o:p>
在浏览器中重新输入http://192.168.0.185/servlet/intranet <o:p></o:p>
如能看到和8080端口一样的内容则整合成功<o:p></o:p>
<o:p> </o:p>
5、为数据库Postgresql创建表<o:p></o:p>
<o:p> </o:p>
psql -dopenxchange -h localhost -Uopenxchange -W -f $OX_INSTALL/share/init_database.sql<o:p></o:p>
psql -dopenxchange -h localhost -Uopenxchange -W<o:p></o:p>
INSERT INTO sys_gen_rights_template values
('now','admin','now','','default_template','y','y','y','y',
'y','y','y','y','y','y','y','y','y','y','y','y','y','y','y',
'y','y','y','y','y','y','y','y','y','y','y','y','y','y','y',
'y','y','y','y','y','y','y','y','y','y','y','y','y');<o:p></o:p>
\q<o:p></o:p>
<o:p> </o:p>
#总共47个’y’<o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
6、是Tomcat开机自动运行<o:p></o:p>
在/etc/rc.d/init.d下创建文件tomcat,内容如下:<o:p></o:p>
<o:p> </o:p>
RETVAL=$?<o:p></o:p>
CATALINA_HOME="/home/xkx/jakarta-tomcat-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">5.0.28</st1:chsdate>"<o:p></o:p>
<o:p> </o:p>
case "$1" in<o:p></o:p>
start)<o:p></o:p>
if [ -f $CATALINA_HOME/bin/startup.sh ];<o:p></o:p>
then<o:p></o:p>
echo $"Starting Tomcat"<o:p></o:p>
/bin/su - root -c $CATALINA_HOME/bin/startup.sh<o:p></o:p>
fi<o:p></o:p>
;;<o:p></o:p>
stop)<o:p></o:p>
if [ -f $CATALINA_HOME/bin/shutdown.sh ];<o:p></o:p>
then<o:p></o:p>
echo $"Stopping Tomcat"<o:p></o:p>
/bin/su - root -c $CATALINA_HOME/bin/shutdown.sh<o:p></o:p>
fi<o:p></o:p>
;;<o:p></o:p>
*)<o:p></o:p>
echo $"Usage: $0 {start|stop}"<o:p></o:p>
exit 1<o:p></o:p>
;;<o:p></o:p>
Esac<o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
7、配置LDAP<o:p></o:p>
<o:p> </o:p>
编辑/etc/openldap/slapd.conf文件。使其内容从63行起如下:<o:p></o:p>
<o:p> </o:p>
include /usr/local/ox/share/openxchange.schema<o:p></o:p>
<o:p> </o:p>
suffix "dc=example,dc=org"<o:p></o:p>
rootdn "cn=Manager,dc=example,dc=org"<o:p></o:p>
#注意上面两行的“,”与字母间千万不能有空格!!!以下类似。<o:p></o:p>
rootpw secret<o:p></o:p>
<o:p> </o:p>