一、環境準備
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下所有的應用服務。