生产环境weblogic 10.3.6安装部署
一、环境准备
1、创建weblogiic用户组:
groupadd weblogic
useradd -d /app/ -g weblogic weblogic
passwd weblogic
2、修改open file参数,方法如下:
vim /etc/security/limits.conf
weblogic soft nofile 65536
weblogic hard nofile 65536
3、配置JDK环境变量:
[weblogic@localhost src]$ tar -zxf /usr/local/src/jdk-8u231-linux-x64.tar.gz -C /usr/local/java
[weblogic@localhost app]$ vim .bash_profile
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
[weblogic@localhost app]$ source .bash_profile
[weblogic@localhost app]$ java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11,、 mixed mode)
二、安装主域
[weblogic@localhost src]$ java -jar wls1036_generic.jar
无法实例化 GUI, 默认进入控制台模式。
Extracting 0%....................................................................................................100%
<-------------------- Oracle Installer - WebLogic 10.3.6.0 ------------------->
欢迎使用:
-------------
此安装程序将引导您完成 WebLogic 10.3.6.0 的安装。键入 "Next" 或按 Enter 键继续下一个提示。如果您希望更改以前输入的数据,
请键入 "Previous"。您可以随时通过键入 "Exit" 退出安装程序。
输入 [退出][下一步]> 直接回车
<-------------------- Oracle Installer - WebLogic 10.3.6.0 ------------------->
选择中间件主目录:
-------------------------
"中间件主目录" = [/app/Oracle/Middleware]
使用以上值或选择另一选项:
1 - 输入新值 中间件主目录
2 - 更改为默认值 [/app//Oracle/Middleware]
输入要选择的选项编号 或 [退出][上一步][下一步]> 直接回车
<-------------------- Oracle Installer - WebLogic 10.3.6.0 ------------------->
注册安全更新:
-------------------
请提供用于接收安全更新的电子邮件地址以及 以启动配置管理器。
1|电子邮件:[]
2|My Oracle Support 口令:[]
3|接收安全更新:[Yes]
输入要选择的索引号 或 [退出][上一步][下一步]>输入“3”,把接收安全更新取消掉
<-------------------- Oracle Installer - WebLogic 10.3.6.0 ------------------->
注册安全更新:
-------------------
请提供用于接收安全更新的电子邮件地址以及 以启动配置管理器。
"接收安全更新:" = [输入新值或使用默认值 "Yes"]
输入 [Yes][No]? 输入“No”,将接收安全更新的Yes改为No
<-------------------- Oracle Installer - WebLogic 10.3.6.0 ------------------->
注册安全更新:
-------------------
请提供用于接收安全更新的电子邮件地址以及 以启动配置管理器。
"接收安全更新:" = [输入新值或使用默认值 "Yes"]
** 是否希望绕过配置管理器的启动过程并且
** 不接收配置中存在严重安全问题的通知?
输入 [Yes][No]? 输入“Yes“,确认不接收安全更新
<-------------------- Oracle Installer - WebLogic 10.3.6.0 ------------------->
注册安全更新:
-------------------
请提供用于接收安全更新的电子邮件地址以及 以启动配置管理器。
1|电子邮件:[]
2|My Oracle Support 口令:[]
3|接收安全更新:[No]
输入要选择的索引号 或 [退出][上一步][下一步]> 直接回车
<-------------------- Oracle Installer - WebLogic 10.3.6.0 ------------------->
注册安全更新:
-------------------
请提供用于接收安全更新的电子邮件地址以及 以启动配置管理器。
1|电子邮件:[]
2|My Oracle Support 口令:[]
3|接收安全更新:[No]
输入要选择的索引号 或 [退出][上一步][下一步]> 直接回车
<-------------------- Oracle Installer - WebLogic 10.3.6.0 ------------------->
选择安装类型:
-------------------
选择您要执行的安装类型。
->1|典型
| 安装以下产品和组件:
| - WebLogic Server
| - Oracle Coherence
2|定制
| 选择要安装的软件产品和组件并执行可选配置。
输入要选择的索引号 或 [退出][上一步][下一步]> 直接回车
<-------------------- Oracle Installer - WebLogic 10.3.6.0 ------------------->
JDK 选择 (所有 * 都指示 Oracle 提供的 VM):
----------------------------------------------------
将安装所选 JDK。如果已安装, 默认值将 用于脚本字符串替换。
1|添加本地 JDK
2|/usr/local/java[x]
*安装预计所需的大小: 690.2 MB
输入 1 以添加, 或者输入 >= 2 可切换选定内容 或 [退出][上一步][下一步]> 直接回车
<-------------------- Oracle Installer - WebLogic 10.3.6.0 ------------------->
选择产品安装目录:
-------------------------
中间件主目录: [/app/Oracle/Middleware]
产品安装目录:
1|WebLogic Server: [/app/Oracle/Middleware/wlserver_10.3]
2|Oracle Coherence: [/app/Oracle/Middleware/coherence_3.7]
输入要选择的索引号 或 [退出][上一步][下一步]> 直接回车
<-------------------- Oracle Installer - WebLogic 10.3.6.0 ------------------->
将安装下列产品和 JDK:
-----------------------------
WebLogic Platform 10.3.6.0
|_____WebLogic Server
| |_____Core Application Server
| |_____Administration Console
| |_____Configuration Wizard and Upgrade Framework
| |_____Web 2.0 HTTP Pub-Sub Server
| |_____WebLogic SCA
| |_____WebLogic JDBC Drivers
| |_____Third Party JDBC Drivers
| |_____WebLogic Server Clients
| |_____WebLogic Web Server Plugins
| |_____UDDI and Xquery Support
| |_____Evaluation Database
|_____Oracle Coherence
|_____Coherence Product Files
*安装预计所需的大小: 690.3 MB
输入 [退出][上一步][下一步]> 直接回车
十二月 01, 2019 2:01:05 下午 java.util.prefs.FileSystemPreferences$1 run
信息: Created user preferences directory.
<-------------------- Oracle Installer - WebLogic 10.3.6.0 ------------------->
正在安装文件...
0% 25% 50% 75% 100%
[---------------------|---------------------|--------------------|----------------------]
[******************************************************]
正在执行字符串替换...
<-------------------- Oracle Installer - WebLogic 10.3.6.0 ------------------->
正在配置 OCM...
0% 25% 50% 75% 100%
[------------|------------|-------------|-------------]
[*****************************************************]
正在创建域...
<-------------------- Oracle Installer - WebLogic 10.3.6.0 ------------------->
安装完成
祝贺您! 安装完成。
按 [Enter] 键继续或键入 [退出]>
<-------------------- Oracle Installer - WebLogic 10.3.6.0 ------------------->
清除过程正在进行中...
三、创建集群:
[weblogic@localhost app]$ cd /app/Oracle/Middleware/wlserver_10.3/common/bin
[weblogic@localhost app]$ ./config.sh
第一步,选择创建新的Weblogic域,直接回车即可
第二步,选择默认组件,直接回车
第三步,使用默认选项,直接回车
第四步,创建域信息,输入域名称domain,可以随便填写
第五步,选择安装位置,使用默认即可,直接回车
第六步,设置管理员密码
第七步,确认管理员密码
第八步,选择生产模式,输入2,按回车
第九步,选择Java组件,使用默认即可
第十步,都不选,直接回车。受管服务器、集群和计算机我们进入控制台后再创建,此处不选。
最后,集群创建完成。
四、修改配置文件:
1、内存配置:
(1)修改/app/Middleware/weblogic/user_projects/domains/domain/bin目录下的setDomainEnv.sh文件,找到如下部分:
……
if [ "${JAVA_VENDOR}" = "Sun" ] ; then
WLS_MEM_ARGS_64BIT="-Xms256m -Xmx512m"
export WLS_MEM_ARGS_64BIT
WLS_MEM_ARGS_32BIT="-Xms256m -Xmx512m"
export WLS_MEM_ARGS_32BIT
else
WLS_MEM_ARGS_64BIT="-Xms512m -Xmx512m"
export WLS_MEM_ARGS_64BIT
WLS_MEM_ARGS_32BIT="-Xms512m -Xmx512m"
export WLS_MEM_ARGS_32BIT
fi
将 WLS_MEM_ARGS_64BIT="-Xms256m -Xmx512m"修改为:
WLS_MEM_ARGS_64BIT="-Xms2048m -Xmx2048m"
(2)添加内存溢出参数
修改/app/Middleware/weblogic/user_projects/domains/domain/bin目录下的setDomainEnv.sh文件,找到第278行
if [ "${JAVA_VENDOR}" = "Sun" ] ; then
MEM_ARGS="${MEM_ARGS} ${MEM_DEV_ARGS} ${MEM_MAX_PERM_SIZE} "
export MEM_ARGS
fi
修改为:
if [ "${JAVA_VENDOR}" = "Sun" ] ; then
MEM_ARGS="${MEM_ARGS} ${MEM_DEV_ARGS} ${MEM_MAX_PERM_SIZE} -XX:+HeapDumpOnOutOfMemoryError"
export MEM_ARGS
fi
2、修改startManagedWebLogic.sh启动文件
修改/app/Middleware/weblogic/user_projects/domains/domain/bin目录下的startManagedWebLogic.sh文件,修改为如下:
usage()
{
echo "Need to set SERVER_NAME and ADMIN_URL environment variables or specify"
echo "them in command line:"
echo "Usage: $1 SERVER_NAME {ADMIN_URL}"
echo "for example:"
echo "$1 managedserver1 http://10.1.1.6:7001"
}
确保managedserver1为我们上面设置的控制台地址和端口。
5、初次启动控制台:
进入/app/Middleware/weblogic/user_projects/domains/domain/bin目录,执行startWeblogic.sh,启动控制台:
[weblogic@localhost bin]$ ./startWebLogic.sh
启动过程中可以看到需要输入用户名密码:
此时输入我们上面的创建domain时配置的用户名weblogic和密码weblogic11按回车即可。
接下来可以看到domain状态转为RUNNING MODE:
输入用户名密码登入:
至此,我们的控制台就启动完成了。
注:上面输入用户名和密码的地方我们可以省掉,将其写入认证文件中,启动过程中主动读取,这样就不用我们手动输入了。步骤如下:
在进入/app/ /Oracle/Middleware/user_projects/domains/domain/servers/AdminServer目录,创建security文件夹,在security文件夹内创建boot.properties,内容为:
username=weblogic
password=weblogic11
五、创建集群、服务器及部署项目
(1)创建集群
进入控制台,点击“锁定并编辑”》左侧》domain》环境》集群,选择新建,输入集群名称,:
点击确定即可,可以在集群列表看到我们刚创建的集群:
(2)在新建的集群内添加服务器节点
点击集群名称,配置》服务器》添加
输入服务器名称,监听地址和端口,端口不能与控制台监听节点的7001端口冲突,所以我们这里使用7011端口:
点击完成,可以看到新建的服务器:
六、部署项目
左侧》部署》控制》安装》
点击安装,选择web.war安装包
点击下一步,安装为应用程序
选择集群中的所有服务器
安装应用程序辅助程序,直接下一步
直接点击完成
点击保存
最后点击左上角“激活更改”即可。
七、初次启动受管服务器节点
通过控制台刚创建好的服务器节点是无法通过控制台直接启动的,我们需要从后台使用命令行启动,过程如下:
[weblogic@localhost app]$ cd /app/Oracle/Middleware/user_projects/domains/domain/bin/
[weblogic@localhost bin]$ ./startManagedWebLogic.sh Server-0 http://10.1.1.6:7011
初次启动可能会失败,基本都是因为用户名和密码的问题,执行完上面的命令后,会发现在/app/Oracle/Middleware/user_projects/domains/domain/servers目录下多了个Server-0,这个文件夹必须在上面启动节点时自动创建的,这是我们创建的服务器节点的目录。下面我们需要在Server-0目录下创建boot.propertites文件:
[weblogic@localhost Server-0]$ pwd
/app/Oracle/Middleware/user_projects/domains/domain/servers/Server-0
[weblogic@localhost Server-0]$ mkdir security
[weblogic@localhost Server-0]$ cd security/
[weblogic@localhost security]$ vim boot.properties
[weblogic@localhost security]$ cat boot.properties
username=weblogic
password=weblogic11
[weblogic@localhost security]$
创建完成后,重启控制台:
[weblogic@localhost app]$ ps -ef|grep java
weblogic 27778 27732 0 17:25 pts/2 00:00:38 /usr/local/java/bin/java -server -Xms256m -Xmx512m -XX:MaxPermSize=256m -Dweblogic.Name=AdminServer -Djava.security.policy=/app/Oracle/Middleware/wlserver_10.3/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Djava.security.egd=file:/dev/./urandom -da -Dplatform.home=/app/Oracle/Middleware/wlserver_10.3 -Dwls.home=/app/Oracle/Middleware/wlserver_10.3/server -Dweblogic.home=/app/Oracle/Middleware/wlserver_10.3/server -Dweblogic.management.discover=true -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole=false -Dweblogic.ext.dirs=/app/Oracle/Middleware/patch_wls1036/profiles/default/sysext_manifest_classpath:/app/Oracle/Middleware/patch_ocp371/profiles/default/sysext_manifest_classpath weblogic.Server
weblogic 28302 17521 0 18:33 pts/2 00:00:00 grep --color=auto java
[weblogic@localhost app]$ kill -9 27778
[weblogic@localhost app]$ ps -ef|grep java
weblogic 28305 17521 0 18:33 pts/2 00:00:00 grep --color=auto java
[weblogic@localhost app]$ ./admin.sh
控制台启动完成后,启动该节点:
[weblogic@localhost app]$ /app/Oracle/Middleware/user_projects/domains/domain/bin/startManagedWebLogic.sh Server-0 http://10.1.1.6:7001
Server-0后面必须是控制台地址。
现在登陆控制台可以看到Server-0节点是RUNNING状态:
八、创建启停脚本:
(1)创建控制台启动脚本
[weblogic@localhost ~]# cat /app/admin.sh
SERVER_LOG=/app/log/server.log
/app/Oracle/Middleware/user_projects/domains/ccdomain22/bin/startWebLogic.sh >>$SERVER_LOG &
tail -f /app/log/server.log
(2)创建Server-0节点重启脚本
在weblogic用户的家目录创建Server-0_restart.sh文件,并写入以下内容:
ps -ef|grep weblogic|grep -v grep|grep Server-0|awk '{print $2}'|xargs kill -9
cd /app/Oracle/Middleware/user_projects/domains/domain/servers/Server-0
rm -rf cache data logs stage tmp
START_WL_LOG=/app/log/Server-0_start.log
nohup /app/Oracle/Middleware/user_projects/domains/domain/bin/startManagedWebLogic.sh Server-0 http://10.1.1.6:7001 >> $START_WL_LOG &
tail -f $START_WL_LOG
exit
(3)创建Server-0节点启动脚本
START_WL_LOG=/app/log/Server-0_start.log
nohup /app/Oracle/Middleware/user_projects/domains/domain/bin/startManagedWebLogic.sh Server-0 http://10.1.1.6:7001 >> $START_WL_LOG &
tail -f $START_WL_LOG
exit
(4)创建Server-0节点停止脚本
ps -ef|grep weblogic|grep -v grep|grep callapp6-1|awk '{print $2}'|xargs kill -9
exit
九、weblogic漏洞处置:
(1)Java反序列化漏洞
进入weblogic安装目录:
[root@bogon ~]# cd /app
[root@bogon app]# grep -R InvokerTransformer ./
Binary file ./Oracle/Middleware/modules/com.bea.core.apache.commons.collections_3.2.0.jar
使用文件管理器,打开该jar包,并将其中的org/apache/commons/collections/functors/InvokerTransformer.class文件删除,然后重启weblogic控制台和控制台上面的所有节点。
(2)weblogic SSRF漏洞整改
具体情况描述如下:
访问如下地址
http://10.1.1.6:7011/uddiexplorer/SearchPublicRegistries.jsp?operator=http://10.1.1.6:7011&rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search
删除uddiexplorer.war
[weblogic@localhost app]$ cd /app/Oracle/Middleware/wlserver_10.3/server/
[weblogic@localhost server]$ tar tar –cvf lib_20191211.tar lib
[weblogic@localhost server]$ cd lib
[weblogic@localhost lib]$ rm –rf uddiexplorer.war
重启该weblogic下所有的应用服务。