您好,欢迎访问一九零五行业门户网

Ubuntu12.04 安装 GlassFish3.1.2

由于公司产品的一致性需求,我们又从jetty切换到glassfish3.1.2. 这次是在ubuntu12.04 server(64bit)上安装 glassfish web profile. 本文内容主要来源于http://www.nabisoft.com/tutorials/glassfish/installing-glassfish-311-on-ubuntu 上文非常全面,我做
由于公司产品的一致性需求,我们又从jetty切换到glassfish3.1.2.  这次是在ubuntu12.04 server(64bit)上安装 glassfish web profile.
本文内容主要来源于http://www.nabisoft.com/tutorials/glassfish/installing-glassfish-311-on-ubuntu
上文非常全面,我做了删减,去掉了不需要的iptables一节,因为我们用nginx做转发。同时也解决了一些其他问题。
比如glassfish3.1.2改变了安全规则。需要一些额外的步骤。
一 安装jdk,设置好环境变量。
我安装的是jdk1.6
root@ciappserver1:~# java -versionjava version 1.6.0_32java(tm) se runtime environment (build 1.6.0_32-b05)java hotspot(tm) 64-bit server vm (build 20.7-b02, mixed mode)
二 创建专用帐号先创建glassfish系统帐号
# adduser --home /home/glassfish --system --shell /bin/bash glassfishadding system user `glassfish' (uid 108) ...adding new user `glassfish' (uid 108) with group `nogroup' ...creating home directory `/home/glassfish' ...
再创建用户组glassfishadmin# groupadd glassfishadm
将glassfish加入glassfishadm组,glassfishadmin组的目录也设为/home/glassfish
# usermod -a -g glassfishadm glassfish
chgrp -r glassfishadm /home/glassfish
三 安装unzipapt-get install unzip
四 下载glassfish切换到glassfish用户,并下载和解压
su glassfishcd /home/glassfishmkdir downloadscd downloadswget http://download.java.net/glassfish/3.1.2/release/glassfish-3.1.2-web.zipunzip glassfish-3.1.2-web.zip
将解压后的文件复制到/hom/glassfish目录下,然后退出该用户mv /home/glassfish/downloads/glassfish3/* /home/glassfish/mv /home/glassfish/downloads/glassfish3/.org.opensolaris,pkg /home/glassfish/.org.opensolaris,pkg
exit
要想在glassfish用户下可以使用java命令,添加两个软链接:
ln -s /usr/jdk1.6/bin/java /etc/alternatives/javaln -s /etc/alternatives/java /usr/bin/java
五 修改目录权限确保程序可以在glassfish用户下运行
root@ciappserver1:~# chown -r glassfish /home/glassfishroot@ciappserver1:~# chmod -r ug+rwx /home/glassfish/bin/root@ciappserver1:~# chmod -r ug+rwx /home/glassfish/glassfish/bin/root@ciappserver1:~# chmod -r o-rwx /home/glassfish/bin/root@ciappserver1:~# chmod -r o-rwx /home/glassfish/glassfish/bin/
六 修改端口修改/home/glassfish/glassfish/domains/domain1/config/domain.xml如下:

这样,http采用8081,https采用8181,admingui采用4848端口。
七 启动服务
$ su glassfish$ /home/glassfish/glassfish/bin/asadmin start-domain domain1there is a process already using the admin port 4848 -- it probably is another instance of a glassfish server.
这是个glassfish启动常见的错误,到/etc/hosts目录下看一下原来这里错了,hostname命令返回的是ciappserver1
127.0.1.1 ubuntu1204template
修改成:127.0.0.1 ciappserver1
现在启动成功了。glassfish@ciappserver1:/root$ /home/glassfish/bin/asadmin start-domain domain1waiting for domain1 to start .......successfully started the domain : domain1domain location: /home/glassfish/glassfish/domains/domain1log file: /home/glassfish/glassfish/domains/domain1/logs/server.logadmin port: 4848command start-domain executed successfully.
打开网页http://10.112.18.178:4848/ 无法登录,用户名是admin,密码是adminadmin。为什么?因为3.1.2加强了安全性。游戏规则改变了。默认admin密码也不再是adminadmin,而是空。
注意:如果是localhost可以直接进入管理员页面,无需密码。
八 启动后启用secure-admin
修改admin默认密码
./asadmin change-admin-passwordenter admin user name [default: admin]> (press enter to use the default user name)enter admin password> (press enter to use the default password)enter new admin password> enter new admin password again> command change-admin-password executed successfully.
特别注意前面两个问题都直接按回车即可。然后设置新密码,比如123456,输入两次。
./asadmin --host 10.112.18.178 --port 4848 enable-secure-admin
--host 指定glassfish所在ip,回答两个问题,用户名和密码,分别是admin/123456.重新启动glassfish.
再次打开网站myserver:4848,突然进行https提示,同意后。登录,终于看到了。
九 查看glassfish的用户
下面这个命令帮助我们查看当前glassfish的用户:
./asadmin list-file-users --authrealmname admin-realm
只有一个admin.
十 创建系统服务
先创建/etc/init.d/glassfish脚本
export as_java=/usr/lib/jvm/java-6-sun glassfishpath=/home/glassfish/bin case $1 instart)echo starting glassfish from $glassfishpathsudo -u glassfish $glassfishpath/asadmin start-domain domain1;;restart)$0 stop$0 start;;stop)echo stopping glassfish from $glassfishpathsudo -u glassfish $glassfishpath/asadmin stop-domain domain1;;*)echo $usage: $0 {start|stop|restart}exit 3;;esac:
增加可执行权限:chmod +x ./glassfish
创建自启动脚本
update-rc.d glassfish defaults
现在可以通过 servcie glassfis (start|stop|restart) 来测试了
然后重新启动后继续看是否已经自启动。
产品环境下使用还需要修改默认的master password,可以参考前面引用文章的最后一节:
6. security configuration before first startup
其它类似信息

推荐信息