免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1675 | 回复: 0
打印 上一主题 下一主题

OpenBSD4.3平台OpenFIRE&PostgreSQL应用[09年3月刊] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-02 12:04 |只看该作者 |倒序浏览
ChinaUnix网友:尘羽星翔
前言
1 什么是OpenFire
  Openfire 采用Java开发的开源的实时协作(RTC)服务器,基于XMPPJabber)协议。您可以使用它轻易的构建高效率的即时通信服务器。Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器可支持上万并发用户。由于是采用开放的XMPP协议,您可以使用各种支持XMPP协议的IM客户端软件登陆服务。简单的说是类似MSN的实时通信系统
2 什么是PostgreSQL
  PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。
阅读指南:所有需要手工录入的部分都用加阴影的字符表示,需要特别注意的地方以【】字符加注。
【开始编译以前,请将ports升级到最新】
一、安装JAVA环境
1 开启linux支持
obsd支持【原生】的java运行环境,只在【编译】java的需要打开linux支持
sysctl kern.emul.linux=1
2 增加数据和堆栈限额(官方建议非必须)
  如果编译的时候出现类似于"Could not reserve enough space for object heap"这类的错误,就应该增加数据和堆栈的限额 ksh zsh bash环境(OB默认的就是ksh)
ulimit -dS 384*1024
ulimit -sS 8*1024
csh tcsh 环境
limit datasize 384m
limit stacksize 8m
本人在512M内存的电脑中编译的时候,没有做这一步,也很顺利的编译通过了
3 建立/etc/mk.conf
  java编译的时候需要检测/etc/mk.conf下有没有【ACCEPT_JRL_LICENSE=Yes】这个语句,没有的话会提示错误,因此应当手工建立该文件 。
我的mk.conf
DISTDIR=/files/dist
MASTER_SITE_OVERRIDE=ftp://ftp.freebsdchina.org/pub/OpenBSD/distfiles/${DIST_SUBDIR}/
PACKAGE_REPOSITORY=/files/packages
FETCH_CMD=/usr/local/bin/wget
ACCEPT_JRL_LICENSE=Yes
其中
DISTDIR是我指定的下载文件所在位置
PACKAGE_REPOSITORY是我指定的生成pkg的位置
只有【ACCEPT_JRL_LICENSE=Yes】是必须的
4 进入jdk目录开始编译安装
进入jdkports
cd /usr/ports/devel/jdk/1.7
a 编译安装jdk
JDKjava的开发环境
make install
b 编译安装jre
JREjava的运行环境,如果不做开发,只是运行OpenFIRE的话,jre就足够了
env SUBPACKAGE=-jre make install
c 下载java编译所需文件
编译java的所需的文件需要【手动复制】到DISTDIR指定的位置
默认是/usr/ports/distfiles
编译所需文件make运行以前会有提示显示编译所需java文件的位置和名称,按提示下载并复制就可以了
如果缺少文件的话会有"Error code 1"的错误提示,编译所需下载的文件大概是
bsd-jdk15-patches-8.tar.bz2
bsd-jdk16-patches-3.tar.bz2
bsd-jdk16-patches-4.tar.bz2
javaPathHelper-0.3.tar.gz
jdk-1_5_0_14-fcs-bin-b03-jrl-05_oct_2007.jar
jdk-1_5_0_14-fcs-src-b03-jrl-05_oct_2007.jar
jdk-1_5_0_14-solaris-i586.tar.Z
jdk-6u3-fcs-bin-b05-jrl-24_sep_2007.jar
jdk-6u3-fcs-mozilla_headers-b05-unix-24_sep_2007.jar
jdk-6u3-fcs-src-b05-jrl-24_sep_2007.jar
jdk-7-icedtea-plugs-1.6.tar.gz
openjdk7-b24.tar.bz2
(本人下载这些文件用了半天的时间,确切需下载的文件记不清楚了,哪位朋友有完整的下载文件列表,请帮忙订正) 编译及安装过程大概需要5个小时
5 设置JAVA环境
JAVA的环境可以通过系统变量和用户变量两种方法来设置
系统变量对整个系统中所有用户起作用,用户变量只对设置的用户起作用
文中以jre1.6为例,具体配置根据读者安装的java环境自行修改
a 设置系统变量
建立/etc/profile文件,加入
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/bin:/usr/local/jre-1.6.0/bin
export PATH
export JAVA_HOME=/usr/local/jre-1.6.0
export CLASSPATH=JAVA_HOME/lib/dt.jarJAVA_HOME/lib/tools.jar
保存退出
b 设置系统变量
修改用户home目录里面的.profile文件,加入【】标示部分
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/bin:/usr/local/jre-1.6.0/bin
export PATH
export JAVA_HOME=/usr/local/jre-1.6.0
export CLASSPATH=JAVA_HOME/lib/dt.jarJAVA_HOME/lib/tools.jar
: ${HOME='/root'}
export HOME
umask 022
if [ -x /usr/bin/tset ]; then
        eval `/usr/bin/tset -sQ \?$TERM`
fi
c 测试JAVA环境
重新登陆系统令设置的环境变量生效,输入
java -version
如果显示的是java相关版本信息,说明java已经生效,可以进行取消linux的支持,并进行下一步的安装
(:本人编译的时候是按照1.7编译的,环境设置都正确,可是java提示错误,可能是ports的问题)
二、安装PostgreSQL
1 安装数据库
进入portspostgresql,编译安装
cd /usr/ports/databases/postgresql
make install
提示完毕以后,pgsql的客户端已经安装完毕,pgsql的数据库端,需要手动安装
pkg已经在编译pgsql客户端的时候生成了,位置由mk.confPACKAGE_REPOSITORY字段定义
默认位置是/usr/ports/packages/i386/all/
cd /usr/ports/packages/i386/all/
pkg_add postgres*
2 建立数据库
a 初始化数据库
su - _postgresql
mkdir /var/postgresql/data
initdb -D /var/postgresql/data
b 运行数据库
postgres -D /var/postgresql/data
或者
pg_ctl -D /var/postgresql/data -l logfile start
如果没有提示错误,pgsql就已经运行了
c 建立新用户
建立超级用户
createuser -P
Enter name of role to add: 【输入超级用户名】
Enter password for new role:【输入密码】
Enter it again:【确认密码】
Shall the new role be a superuser? (y/n)y
d 建立数据库
createdb -O 【超级用户名】 -E UNICODE 【数据库名称】
3 设置自动运行和关闭
a 设置开机自动运行
/etc/rc.local中加入
if [ -x /usr/local/bin/pg_ctl ]; then
        echo -n ' postgresql'
        su -l _postgresql -c "nohup /usr/local/bin/pg_ctl start \
            -D /var/postgresql/data -l /var/postgresql/logfile \
            -o '-D /var/postgresql/data' >/dev/null"
fi
b 设置关机自动关闭
/etc/rc.shutdown中加入
if [ -f /var/postgresql/data/postmaster.pid ]; then
        su -l _postgresql -c "/usr/local/bin/pg_ctl stop -m fast \
             -D /var/postgresql/data"
        rm -f /var/postgresql/data/postmaster.pid
fi
4 PostgreSQL 优化
a 修改 /etc/sysctl.conf
编辑 /etc/sysctl.conf,加入以下内容
kern.seminfo.semmni=256
kern.seminfo.semmns=2048
kern.shminfo.shmmax=50331648
b 修改/etc/login.conf
编辑/etc/login.conf,加入以下内容
postgresql:\
         penfiles-cur=768:\
         :tc=daemon:
保存退出后,输入
cap_mkdb /etc/login.conf
重建login.conf.db文件
然后使用vipwusermod修改postgresql
usermod -L postgresql postgresql系统用户名】
其中 -L 指定的是修改的用户的登陆类
c 修改postgresql.conf文件
切换成postgresql用户
su - _postgresql
修改/var/postgresql/data/postgresql.conf
max_connections 修改成你需要的并发链接数值,默认是40
保存退出后,重启数据库,输入
pg_ctl -D /var/postgresql/data -l logfile restart
来重启整个数据库,或者输入
pg_ctl -D /var/postgresql/data -l logfile reload
来重新加载postgresql配置文件
三、安装OpenFIRE
OpenFIRE服务器端最新版本openfire_3_5_1下载

服务器端插件下载

1 服务器端安装
a 添加openfire系统用户
adduser
Enter username []: openfire用户名】
Enter full name []:
Enter shell csh ksh nologin sh [ksh]:【回车】
Uid [1000]:【回车】
Login group _openfire [_openfire]:【回车】
Login group is ``_openfire''. Invite _openfire into other groups: guest no
[no]:【回车】
Login class authpf daemon default postgresql staff [daemon]:【回车】
Enter password []:【输入密码】
Enter password again []:【确认密码】
OK? (y/n) [y]: y
Add another user? (y/n) [y]: n
b 解压openfire
tar xzvf 你的openfire压缩包位置 -C /var
c 修改 openfire权限
cd /var
chown -R openfire用户名】:openfire组名】 openfire/
d 运行openfire
su - openfire用户名】
/var/openfire/bin/openfire start
如果没有错误提示 topjava的进程,说明openfire启动正常
2 openfire服务配置
在浏览器中输入
http://服务器ip:9090
第一页Choose Language中选中中文(简体)
第二页服务器设置保持默认
第三页数据库设置选择标准数据库连接
第四页数据库设置 - 标准连接中需要设置以下项目
数据库驱动选项:PostgreSQL
JDBC 驱动程序类:【org.postgresql.Driver
数据库 URLjdbc:postgresql://127.0.0.1:5432/【数据库名称】
用户名:【超级用户名】
密码:【超级用户密码】
第五页特性设置初使设置
第六页管理员帐户设置管理员密码管理员账号为admin
安装完成
3 设置openfire自动运行和关闭
a 设置开机自动运行
/etc/rc.local中启动postgresql字段后面加入
if [ -x /var/openfire/bin/openfire ]; then
   echo -n ' openfire'
   su -l _openfire -c "/var/openfire/bin/openfire start >/dev/null"
fi
b 设置关机自动关闭
/etc/rc.shutdown中关闭postgresql字段前面加入
if [ -x /var/openfire/bin/openfire ]; then
       su -l _openfire -c "/var/openfire/bin/openfire stop"
fi
四设置Spark
SparkWIN下客户端最新版本 2.5.8下载

程序安装完毕后
点击帐户来申请账号
服务器中填入OpenFIRE服务器所用ip
后记:如果您发现本文有什么不对的地方,可以通过电子邮件wosl2001(at)gmail.com,和尘羽星翔取得联系。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP