分类: 系统运维
2010-05-15 13:19:53
Openfire在RHEL5.3下的安装
局域网聊天软件openfire+spark在RHEL5.3下的应用。常用到的软件如下:
jdk-6u20-linux-i586.bin openfire-
mysql-
常用软件在官方都可以下载到。
Jdk的安装
从官方下载jdk-6u20-linux-i586.bin这是个自解压文件。
[root@localhost ~]# ./jdk-6u20-linux-i586.bin
在按提示输入yes后,jdk被解压。
出现一行字:Do you aggree to the above license terms? [yes or no]
安装程序在问您是否愿意遵守刚才看过的许可协议。当然要同意了,输入"y" 或 "yes" 回车
因为我默认把jdk放在了/opt/目录下,所以该文件自解压后就放在了/opt/jdk
接下来需要设置环境变量:
这个环境变量是在/etc/profile里修改,对全局都起作用。
JAVA_HOME=/opt/jdk
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
当修改过配置文件后,最好要注销下。
[redhat@localhost ~]$ java -version
java version "
Java(TM) SE Runtime Environment (build
Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
看到这里证明已经按照成功。
接下来安装openfire 文件名称是openfire-
[root@localhost opt]# rpm -ivh openfire-
自动安装在/opt/openfire目录里面。
用保存在/etc/init.d/下的openfire脚本启动服务,命令如下:
[root@localhost init.d]# ./openfire start
Starting openfire:
[root@localhost init.d]# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0
tcp 0 0 :::9090 :::* LISTEN 7268/java 发现打开了9090端口。
设置为开机自启动
#chkconfig openfire on
# chkconfig --list openfire
openfire 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 默认已经设置在2345级别启动。
接下来我要安装数据库,我没有用openfire自带的数据库而是使用了linux下mysql。
linux下mysql的安装:
相对于用RPM安装来讲,用二进制源码安装是稍微麻烦了点。但是我们可以在安装脚本中可以自定义安装的相关参数,而不用象rpm方式只能安装默认的来安装。
安装二进制源代码
我下载的是二进制源代码,它的名字是: mysql-
操作步骤如下:
[root@redhat share]# tar zxvf mysql-
直接把文件解压到/usr/local目录下。在所有文件解压完后,一个名字叫mysql-
[root@redhat local]#ln -s mysql-
如果以后有新版本的MySQL的话,你可以仅仅将源码解压到新的路径,然后只需要做个符号链接就可以了。这样非常方便,数据也更加安全。建立一个MySQL 用户
好,现在我们将建立一个能运行MySQL守护程序的用户帐号,并且所有MySQL文件都归此帐户拥有。使用 useradd命令去添加一个叫 mysql 的帐号,在添加之前,确保没有人注册了这个帐户,(不过一般都是在没有其他人登陆的情况下调试机器,因此这个步骤可免)
[root@redhat local]# groupadd mysql 创建mysql组。
[root@redhat local]# useradd -g mysql mysql 创建mysql用户属于mysql组。
为MySQL做准备
首先让我们将MySQL目录和文件的拥有权改成 mysql 用户和root组:
# cd /usr/local
# chown -R mysql:root mysql-
然后运行一个小脚本程序,以建立初始化的MySQL数据库。请以一个mysql 用户的身份完成这个任务,这也是我们能够直接使用这个帐户的唯一机会。
创建mysql许可表
网上很多方法都是:/usr/local/mysql/scripts/mysql_install_db --user=mysql
但是很有可能报错,找不到bin目录中的my_print_defaults
错误信息:
FATAL ERROR: Could not find ./bin/my_print_defaults
If you compiled from source, you need to run 'make install' to
copy the software into the correct location ready for operation.
If you are using a binary release, you must either be at the top
level of the extracted archive, or pass the --basedir option
pointing to that location.
如果遇到此错误只需要多加两个参数指明路径就ok,如下:
root@localhost mysql#./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data (这点非常重要)
如果没有任何出错信息显示的话,那就可以了。
自动运行MySQL
在MySQL二进制包里面,有一个叫myslq.server的启动脚本程序。把它复制到/etc/rc.d/init.d目录里面:
# cd /etc/rc.d/init.d
# cp /usr/local/mysql/support-files/mysql.server mysql 把脚本更名为mysql更方便使用。
这样在/etc/rc.d/init.d就多了一个脚本文件mysql.
接着把它的属性改为“x”(executable,可执行)
# chmod +x mysql
最后,运行chkconfig把MySQL添加到你系统的启动服务组里面去。
# chkconfig —add mysql
#chkconfig —level 2345 mysql on
#chkconfig —list 查询所有的linux下的服务。
#chkconfig –list mysql
测试MySQL
MySQL里面有一个简单的数据库例子test ,而且它的内部数据库一直保持对权限和帐户的监视,因而先运行mysql看看是否可以工作。
首先启动MySQL:
# /etc/rc.d/init.d/mysql start (#/usr/local/mysql/support-files/mysql.server start)
如果一切正常,你将看到以下的信息出现:
Starting mysqld daemon with databases from /var/lib/mysql
关闭mysql:
# /etc/rc.d/init.d/mysql stop (#/usr/local/mysql/support-files/mysql.server stop)
或者这样启动mysql服务:
[root@redhat init.d]# service mysql start
Starting MySQL. [确定]
#netstat -tnlp可以发现打开3306端口。
登陆mysql
出于安全考虑,为mysql 用户 root 设置密码
[root @ test php-
在 mysql 中建立数据库 openfire
[root@redhat ~]# /usr/local/mysql/bin/mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version:
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database openfire;
Query OK, 1 row affected (0.04 sec)
将 Openfire 的数据库资料导入 mysql
mysql> use openfire;
Database changed
mysql> source /opt/openfire/resources/database/openfire_mysql.sql 以rpm包安装路径为基准。
Query OK, 0 rows affected (0.09 sec)
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.02 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected, 1 warning (0.00 sec)
Query OK, 0 rows affected (0.02 sec)
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.02 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.02 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.02 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.02 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.02 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.02 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.02 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.02 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.02 sec)
Query OK, 1 row affected (0.04 sec)
Query OK, 1 row affected (0.00 sec)
Query OK, 1 row affected (0.00 sec)
Query OK, 1 row affected (0.00 sec)
Query OK, 1 row affected (0.00 sec)
Query OK, 1 row affected (0.00 sec)
Query OK, 1 row affected (0.00 sec)
这是导入数据库文件的过程。
mysql>quit
[root@redhat bin]# /usr/local/openfire/bin/openfire start
testing JVM in /usr ...
Starting openfire
nohup: appending output to “nohup.out”
openfire 控制台端口9090 &9091是否已经打开
[root @ test php-
可以看到9090端口已经打开。
接着在浏览器里输入:
http://本机地址:9090/,就可以打开控制台进行配置了。
1打开 Firefox 浏览器,在地址栏里输入: 进入 openfire Tool 页面,开始安装设置 openfire,在你开始设置之前,首先选择适合于你的语言,这里我们当然选择“中文(简体)Simlified Chinese(zh_CN)”。
2点击“continue”,开始一步设置---服务器设置,这里保持默认即可
3点击“继续”,开始下一步设置----数据库设置,如果你使用一个外部数据库的话,就选择“标准数据库连接”,若使用 openfire 自带的数据库的话,就选择“嵌入的数据库”。在本例中因为我使用的数据库是 mysql ,所以选择“标准数据库连接”
4点击“继续”,开始下一步设置
5数据库驱动选项:选择使用数据库的类型,有 mysql、mssql、oracel 等供选择,本例中选择 mysql。
JDBC驱动程序类: 此处保持默认即可。
数据库URL: jdbc:mysql://[local_host]:3306/[database_name],将 [local_host] 改成mysql 服务器的IP地址,这里我是在本机操作,所以[local_host]q我设置成:127.0.0.1。[database_name]改成刚刚创建的 openfire 的数据库 openfire.
用户名:输入可以登录 mysql 服务器的用户名,这里我输入mysql 服务器默认的管理员 root
密码:输入mysql 服务器管理员root 的密码;
Minimum Connections: 设置连接 openfire 服务器的最小连接
Maximum Connextions: 设置连接 openfire 服务器的最大连接
连接超时:设置连接 openfire 服务器的连接超时的时间
点击“继续”按钮,开始下一点设置
6因为此例中,并没有使用 LDAP 服务器,只要选择“初使设置”即可。点击“继续”,开始下一步设置
7设置登录 openfire 管理控制台管理员帐户 admin 的密码,如果在这里没有设置,单击“跳过这一步”的话,默认密码是 admin 。管理员电子邮件地址可以保持默认,也可以根据自身的情况设置,没有多大影响。点击“继续”,开始下一步设置
8安装完成,点击“登录到管理控制台”,进入 openfire 服务器的控制台,开始对 openfire 服务器进入设置。
进入openfire服务器控制台的口令是admin:admin
在这要注意的是:把openfire和mysql都重启一次,否则openfire管理帐号不能登陆管理页面。
客服端的安装
客户端的安装比较简单,可以使用windows下的spark。有个事项需要注意:在客户端的Spack---设定---Appearacne---
使用系统外观打对勾,字体大小选为20和30 ,Contact List avatar size:32*32。
声音里全都打对勾,最后一项通知选择里除检查更新外都打对勾。
客户端连接时,openfire可以关闭防火墙,或者开放3306,9090,9091,端口、
openfire安装完毕后无法登录控制台(后台)的解决方法 安装完openfire登录管理控制提示:需要验证:
Login failed:make sure your username and password are correct and that you’re an admin or moderator
解决方案如下:
1.使用Mysql查看工具进入数据库,进入表“ofuser”,将该表清空,然后执行该SQL
INSERT INTO ofUser (username, plainPassword, name, email, creationDate, modificationDate)
VALUES ('admin', 'admin', 'Administrator', 'admin@example.com', '0', '0');
2.关闭openfire服务,就是从其控制台stop然后再start,再用用户名:admin,密码:admin登录即可
修改过程如下:
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| openfire |
| test |
+--------------------+
4 rows in set (0.20 sec)
mysql>