设为首页 收藏本站
查看: 1444|回复: 0

[经验分享] Open-XChange安装小记 : 进公司干的第二件事情

[复制链接]

尚未签到

发表于 2016-11-22 06:12:07 | 显示全部楼层 |阅读模式
Open-Xchange安装日志


Pre-install

安装apt

wget  http://ftp.freshrpms.net/pub/freshrpms/redhat/9/apt-0.5.5cnc6-frl.i386.rpm
rpm  -ihv  apt-0.5.5cnc6-frl.i386.rpm
apt-get  update

vi /etc/apt/sources.list
在该文件中添加以下五行:

rpm             http://mirrors.sunsite.dk/jpackage 1.5/generic free
rpm-src         http://mirrors.sunsite.dk/jpackage 1.5/generic free non-free
rpm             http://mirrors.sunsite.dk/jpackage 1.5/redhat-9 free
rpm-src         http://mirrors.sunsite.dk/jpackage 1.5/redhat-9 free
rpm             http://apt.sw.be redhat/9/en/i386 dag

返回命令行提示符.

apt-get  update
apt-get install postgresql postgresql-server postgresql-libs

#apt-get install httpd httpd-manual
#注:因为在原有linux服务器上已经安装了Apache http server2.2 故无需执行

apt-get install xerces-j2
apt-get install jdom
apt-get install postgresql-jdbc
apt-get install mod_jk-ap20

#此命令为下载安装Apache与Tomcat的连接器
#除非linux上的Apache安装在默认路径/usr/local/apache2
#否则,在此安装的连接器是不起作用的.
#后面mod_jk须自行手动下载、编译、安装、配置

apt-get install perl-Convert-ASN1
apt-get install perl-ldap

#此perl模块下载时也自动下载的所需的模块包括:
# perl-IO-Socket-SSL
# perl-Net-SSLeay
# perl-XML-NamespaceSupport
# perl-XML-SAX

apt-get install perl-Authen-SASL
#命令提示找不到相应的模块,可通过CPAN安装,如下:

perl –MCPAN –e shell
cpan>install Authen::SASL

从http://sietse.net/exoops/modules/OpenXchange/?distr=rh9下载
openldap-clients-2.0.27-8.i386.rpm
openldap-servers-2.0.27-8.i386.rpm
到/home/xkx/ox目录下。
cd /home/xkx/ox
rpm -Uvh openldap-servers-2.0.27-8.i386.rpm openldap-clients-2.0.27-8.i386.rpm
service ldap start

从Sun官方网站下载
j2sdk-1_4_2_10-linux-i586.bin
jaf-1_0_2-upd2.zip
javamail-1_4-ea.zip
存放到/home/xkx/ox目录下

安装JDK
cd /home/xkx/ox
chmod 755 j2sdk-1_4_2_10-linux-i586.bin

在/etc/profile,/etc/profile.d/java.sh,/root/.bashrc下分别加入如下四行:
JAVA_HOME="/home/xkx/ox/j2sdk1.4.2_10"
JAVA_BIN="/home/xkx/ox/j2sdk1.4.2_10/bin"
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#设置了环境变量后,可在命令提示符下检查:
echo $JAVA_HOME
java  -version

解压jaf-1_0_2-upd2.zip和javamail-1_4-ea.zip,分别把其中的mail.jar和activation.jar拷贝到
/usr/share/java目录下

apt-get install ant

从Apache官方网站下载
jakarta-tomcat-5.0.28.tar.gz
jakarta-tomcat-5.0.28-deployer.tar.gz
到/home/xkx目录下

tar –xvzf  jakarta-tomcat-5.0.28.tar.gz
cd  akarta-tomcat-5.0.28/bin
./startup.sh

把jakarta-tomcat-5.0.28-deployer.tar.gz解压后取出servlet-api.jar,并拷贝到/usr/share/java下。


Configure

1、 Postgresql

service postgresql start
编辑文件/var/lib/pgsql/data/postgresql.conf,确保有下面这样一行:
tcpip_socket = true

编辑文件/var/lib/pgsql/data/pg_hba.conf,确保有下面这样的两行:
local   all         all                                             trust
host    all         all         127.0.0.1         255.255.255.255      trust

service postgresql restart
useradd ox
su – postgres
createuser -A -D -P openxchange
键入密码:123456
createdb openxchange
exit

2、安装OX

从http://mirror.open-xchange.org/ox/EN/community/download.htm下载
open-xchange-0.8.0-6.tar.gz
到/home/xkx/ox下

tar –xvzf open-xchange-0.8.0-6.tar.gz
cd open-xchange-0.8.0-6
export OX_INSTALL=/usr/local/ox

./configure \
--prefix=$OX_INSTALL \
--with-mailjar=/usr/share/java/mail.jar \
--with-activationjar=/usr/share/java/activation.jar \
--with-jdomjar=/usr/share/java/jdom-1.0.jar \
--with-xercesjar=/usr/share/java/xerces-j2-2.6.2.jar \
--with-jsdkjar=/usr/share/java/servlet-api.jar \
--with-jdbcjar=/usr/share/pgsql/pg73jdbc3.jar \
--enable-webdav \
--with-htdocsdir=/home/htdocs \
--with-cgibindir=/home/cgi-bin \
--with-dbname=openxchange \
--with-dbuser=openxchange \
--with-dbpass=123456 \
--with-dbhost=localhost \
--with-runuid=ox \
--with-rungid=ox

make
make install

在浏览器中输入http://192.168.0.185/cgi-bin/login.pl看是否能看到登录的画面。

3、配置Servlet

cd  /home/xkx/jakarta-tomcat-5.0.28/webapps
mkdir servlet
mkdir servlet/WEB-INF
mkdir servlet/WEB-INF/classes
mkdir servlet/WEB-INF/lib
cd servlet/WEB-INF/
cp $OX_INSTALL/share/servlets/*.class classes/
cp $OX_INSTALL/lib/* lib/
cp lib/umin.war  .

从http://sietse.net/exoops/modules/OpenXchange/?distr=rh9下载web.xml
并把所有<param-value>中的open-xchange改为ox。
之后把文件放在/home/xkx/jakarta-tomcat-5.0.28/webapps/servlet/WEB-INF目录下

重新启动tomcat,即:
cd  /home/xkx/jakarta-tomcat-5.0.28/bin
./shutdown.sh
./startup.sh

在浏览器中输入:http://192.168.0.185:8080/servlet/intranet 可以看到&#8220;The Open-XChange(tm) Server is not running-Groupware  Please inform the Administrator!&#8221;

在文件/home/xkx/jakarta-tomcat-5.0.28/conf/tomcat-users.xml中添加一行:
<user username="admin" password="123456" roles="admin"/>


4、整合Apache和Tomcat

cp /usr/share/doc/mod_jk-ap20-1.2.5/workers.properties.sample /etc/httpd/conf/workers.properties

在/etc/httpd/conf.d/下创建文件mod_jk.conf,内容如下:

<IfModule mod_jk.c>
JkWorkersFile   /home/conf/workers.properties
JkLogFile       /home/logs/mod_jk.log
JkLogLevel      error
JkMount /servlet/* ajp13
JkMount /umin/* ajp13
JkMount /*.jsp ajp13
JkMount /examples/* ajp13
JkMount /servlet/webdav.contacts* ajp13
JkMount /servlet/webdav.ical* ajp13
JkMount /servlet/weddav.documents* ajp13
JkMount /servlet/webdav.calendar* ajp13
JkMount /servlet/webdav.tasks* ajp13
JkMount /servlet/webdav.contacts* ajp13
JkMount /servlets-examples/* ajp13
JkMount /jsp-examples/* ajp13
#JkMount /servlet/intranet/* ajp13
</IfModule>

从Apache官方网站下载jakarta-tomcat-connectors-1.2.15-src.tar.gz到
/home/xkx目录下

tar &#8211;xvzf jakarta-tomcat-connectors-1.2.15-src.tar.gz
cd   /home/xkx/jakarta-tomcat-connectors-1.2.15-src/jk/native
./configure \
--with-apxs=/home/bin/apxs
--with-java-home=/home/xkx/ox/j2sdk1.4.2_10
make
make install
#之后会发现/home/modules下多了一个文件mod_jk.so

在/home/conf/httpd.conf中加入:

LoadModule jk_module modules/mod_jk.so
Include /etc/httpd/conf.d/mod_jk.conf

修改文件/home/conf/workers.properties

workers.tomcat_home=/home/xkx/jakarta-tomcat-5.0.28
workers.java_home=/home/xkx/ox/j2sdk1.4.2_10

重新启动Tomcat

在浏览器中重新输入http://192.168.0.185/servlet/intranet
如能看到和8080端口一样的内容则整合成功

5、为数据库Postgresql创建表

psql -dopenxchange -h localhost -Uopenxchange -W -f $OX_INSTALL/share/init_database.sql
psql -dopenxchange -h localhost -Uopenxchange -W
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');
\q

#总共47个&#8217;y&#8217;


6、是Tomcat开机自动运行
在/etc/rc.d/init.d下创建文件tomcat,内容如下:

RETVAL=$?
CATALINA_HOME="/home/xkx/jakarta-tomcat-5.0.28"

case "$1" in
start)
if [ -f $CATALINA_HOME/bin/startup.sh ];
then
echo $"Starting Tomcat"
/bin/su - root -c $CATALINA_HOME/bin/startup.sh
fi
;;
stop)
if [ -f $CATALINA_HOME/bin/shutdown.sh ];
then
echo $"Stopping Tomcat"
/bin/su - root -c $CATALINA_HOME/bin/shutdown.sh
fi
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
;;
Esac


7、配置LDAP

编辑/etc/openldap/slapd.conf文件。使其内容从63行起如下:

include         /usr/local/ox/share/openxchange.schema

suffix "dc=example,dc=org"
rootdn "cn=Manager,dc=example,dc=org"
#注意上面两行的&#8220;,&#8221;与字母间千万不能有空格!!!以下类似。
rootpw secret

index uid,mailEnabled,cn,sn,givenname,lnetMailAccess,alias,loginDestination eq,sub

#add for ox
loglevel 4

access to dn.subtree="ou=Users,ou=OxObjects,dc=example,dc=org"
            by self write
            by users write
            by anonymous auth

access to dn.subtree="ou=Groups,ou=OxObjects,dc=example,dc=org"
            by self write
            by users write
            by anonymous auth

注:如不给users分配write权限,则在使用中只能把Contact放入postgre不能放入ldap。提示信息为:用户无写权限

perl -e 'print crypt("mypassword",pack("C2",(int(rand 26)+65),(int(rand 26)+65)))."\n";'
CGPbeX4Qyrui2
#得到一个密码

编辑$OX_INSTALL/share/init_ldap.ldif,把
userPassword: secret
修改为:
userPassword: {CRYPT}CGPbeX4Qyrui2
#填入刚才生成的密码。

service ldap stop
rm -rf /var/lib/ldap/*
slapadd -l $OX_INSTALL/share/init_ldap.ldif
chown -R ldap:ldap /var/lib/ldap
service ldap start

ln -s /etc/openldap/ldap.conf $OX_INSTALL/etc/groupware/ldap.conf
ln -s /etc/openldap/ldap.conf $OX_INSTALL/etc/webmail/ldap.conf

8、创建用户

cd $OX_INSTALL/sbin
./adduser_ox  \
--username=&#8221;cuichao&#8221; \
--passwd=&#8221;123456&#8221; \
--name=&#8221;chao&#8221; \
--sname=&#8221;cui&#8221; \
--maildomain=&#8221;example.org&#8221; \
--ox_timezone=&#8221;Asia/Beijing&#8221;

./addusertogroup_ox &#8211;user=cuichao &#8211;group=users

cp /usr/local/ox/etc/init.d/openexchange /etc/rc.d/init.d/
ln -s /etc/rc.d/init.d/ox /etc/rc.d/rc3.d/S71openexchange
ln -s /etc/rc.d/init.d/ox /etc/rc.d/rc5.d/S71openexchange

9、配置WebDav

service tomcat stop
cd /home/xkx/jakarta-tomcat-5.0.28/webapps/servlet/WEB-INF/classes
cp $OX_INSTALL/lib/webdav.jar .
jar xvf webdav.jar
cd ../lib
ln -s /usr/share/java/jdom.jar .
ln -s /usr/share/pgsql/pg73jdbc3.jar .
touch $OX_INSTALL/var/log/jserv.log
在/home/xkx/jakarta-tomcat-5.0.28/bin/catalina.sh文件中加入:
JAVA_OPTS="-Dopenexchange.propfile=/usr/local/ox/etc/groupware/system.properties"

10、其他安装后的问题

1)  确保/home/conf/httpd.conf文件中DocumentRoot为 /home/htdocs
2)  确保/usr/local/ox/etc/groupware/system.properties中
IMGPATH,SOUNDPATH,CSSPATH,JAVASCRIPTPATH是以/cfintranet开头的相对于/home/htdocs的相对地址
3)  因为把JDK安装在了用户私有目录下:/home/xkx。其默认权限为rwx------
故在启动ox的三个后台进程时,因为无执行JDK的权限而无法启动。解决方法为:
Chmod 755 /home/xkx



11、最后

service tomcat start
service openexchange start
service httpd restart

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-303610-1-1.html 上篇帖子: 多维数据查询效率分析(2) 下篇帖子: 使用cgroups来控制内存使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表