From 67e9e30ddf46a88c86b23c82132616384d1e0aa6 Mon Sep 17 00:00:00 2001 From: sergiomt Date: Mon, 15 Jul 2019 19:25:08 +0200 Subject: [PATCH] Add WebLogic 12 --- vagrant-setup/weblogic/bashrc | 6 + vagrant-setup/weblogic/create-domain.sh | 13 + vagrant-setup/weblogic/create_datasource.py | 73 +++++ vagrant-setup/weblogic/create_domain.py | 81 +++++ vagrant-setup/weblogic/create_jms.py | 213 ++++++++++++ vagrant-setup/weblogic/silent.xml | 65 ++++ .../weblogic/weblogic_icon_48x48.xpm | 310 ++++++++++++++++++ vagrant-setup/weblogic/wl_install.rsp | 14 + vagrant-setup/weblogic12.sh | 129 ++++++++ 9 files changed, 904 insertions(+) create mode 100644 vagrant-setup/weblogic/bashrc create mode 100644 vagrant-setup/weblogic/create-domain.sh create mode 100644 vagrant-setup/weblogic/create_datasource.py create mode 100644 vagrant-setup/weblogic/create_domain.py create mode 100644 vagrant-setup/weblogic/create_jms.py create mode 100644 vagrant-setup/weblogic/silent.xml create mode 100644 vagrant-setup/weblogic/weblogic_icon_48x48.xpm create mode 100644 vagrant-setup/weblogic/wl_install.rsp create mode 100644 vagrant-setup/weblogic12.sh diff --git a/vagrant-setup/weblogic/bashrc b/vagrant-setup/weblogic/bashrc new file mode 100644 index 0000000..7e13c2b --- /dev/null +++ b/vagrant-setup/weblogic/bashrc @@ -0,0 +1,6 @@ + +export MW_HOME=/u01/app/oracle/middleware +export WLS_HOME=$MW_HOME/wlserver +export WL_HOME=$WLS_HOME +export JAVA_HOME=/usr/java/default +export PATH=$JAVA_HOME/bin:$PATH \ No newline at end of file diff --git a/vagrant-setup/weblogic/create-domain.sh b/vagrant-setup/weblogic/create-domain.sh new file mode 100644 index 0000000..1fbcaae --- /dev/null +++ b/vagrant-setup/weblogic/create-domain.sh @@ -0,0 +1,13 @@ +export ADMIN_HOST=wlsadmin +export NM_PORT=5556 +export MS_PORT=7002 +export DEBUG_PORT=8453 +export CONFIG_JVM_ARGS=-Dweblogic.security.SSL.ignoreHostnameVerification=true +export DOMAIN_NAME=base_domain +export DOMAIN_HOME=/u01/oracle/user_projects/domains/base_domain +export ADMIN_PORT=7001 +export ADMIN_PASSWORD=welcome01 +export CLUSTER_NAME=Cluster +export debugFlag=true +export PRODUCTION_MODE=dev +export PATH='/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/u01/software/wls12210/oracle_common/common/bin/:/u01/weblogic/bin' diff --git a/vagrant-setup/weblogic/create_datasource.py b/vagrant-setup/weblogic/create_datasource.py new file mode 100644 index 0000000..b096a23 --- /dev/null +++ b/vagrant-setup/weblogic/create_datasource.py @@ -0,0 +1,73 @@ +from java.io import FileInputStream +import sys + + +propInputStream = FileInputStream(sys.argv[1]) +configProps = Properties() +configProps.load(propInputStream) +domainName=configProps.get("domain.name") +adminURL=configProps.get("admin.url") +adminUserName=configProps.get("admin.userName") +adminPassword=configProps.get("admin.password") + +dsName=configProps.get("datasource.name") +dsFileName=configProps.get("datasource.filename") +dsDatabaseName=configProps.get("datasource.database.name") +datasourceTarget=configProps.get("datasource.target") +dsJNDIName=configProps.get("datasource.jndiname") +dsDriverName=configProps.get("datasource.driver.class") +dsURL=configProps.get("datasource.url") +dsUserName=configProps.get("datasource.username") +dsPassword=configProps.get("datasource.password") +dsTestQuery=configProps.get("datasource.test.query") + +connect(adminUserName, adminPassword, adminURL) +edit() +startEdit() +cd('/') + +for dts in cmo.getJDBCSystemResources(): + if dts.getName()==dsName: + cmo.destroyJDBCSystemResource(dts) + +save() +activate() + +edit() +startEdit() +cd('/') + +cmo.createJDBCSystemResource(dsName) +cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName) +cmo.setName(dsName) + +cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDataSourceParams/' + dsName ) +set('JNDINames',jarray.array([String( dsJNDIName )], String)) + +cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName ) +cmo.setUrl(dsURL) +cmo.setDriverName( dsDriverName ) +cmo.setPassword(dsPassword) + +cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCConnectionPoolParams/' + dsName ) +cmo.setTestTableName(dsTestQuery) +cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName ) +cmo.createProperty('user') + +cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName + '/Properties/user') +cmo.setValue(dsUserName) + +cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName ) +cmo.createProperty('databaseName') + +cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName + '/Properties/databaseName') +cmo.setValue(dsDatabaseName) + +cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDataSourceParams/' + dsName ) +cmo.setGlobalTransactionsProtocol('OnePhaseCommit') + +cd('/SystemResources/' + dsName ) +set('Targets',jarray.array([ObjectName('com.bea:Name=' + datasourceTarget + ',Type=Server')], ObjectName)) + +save() +activate() diff --git a/vagrant-setup/weblogic/create_domain.py b/vagrant-setup/weblogic/create_domain.py new file mode 100644 index 0000000..180bc0a --- /dev/null +++ b/vagrant-setup/weblogic/create_domain.py @@ -0,0 +1,81 @@ +# Copyright (c) 2014-2018 Oracle and/or its affiliates. All rights reserved. +# +# WebLogic on Docker Default Domain +# +# Domain, as defined in DOMAIN_NAME, will be created in this script. Name defaults to 'base_domain'. +# +# Since : October, 2014 +# Author: bruno.borges@oracle.com +# ============================================== +domain_name = os.environ.get("DOMAIN_NAME", "base_domain") +admin_port = int(os.environ.get("ADMIN_PORT", "7001")) +admin_pass = os.environ.get("ADMIN_PASSWORD") +cluster_name = os.environ.get("CLUSTER_NAME", "Cluster") +domain_home = os.environ.get("DOMAIN_HOME", '/u01/oracle/user_projects/domains/%s' % domain_name) +production_mode = os.environ.get("PRODUCTION_MODE", "dev") + +print('domain_name : [%s]' % domain_name); +print('admin_name : [%s]' % admin_name); +print('admin_port : [%s]' % admin_port); +print('cluster_name: [%s]' % cluster_name); +print('domain_home : [%s]' % domain_home); +print('production_mode : [%s]' % production_mode); + +# Open default domain template +# ====================== +readTemplate("/u01/software/wls12210/wlserver/common/templates/wls/wls.jar") + +set('Name', domain_name) +setOption('DomainName', domain_name) + +# Disable Admin Console +# -------------------- +# cmo.setConsoleEnabled(false) + +# Configure the Administration Server and SSL port. +# ========================================================= +cd('/Servers/AdminServer') +set('Name', 'AdminServer') +set('ListenAddress', '') +set('ListenPort', admin_port) + +# Define the user password for weblogic +# ===================================== +cd('/Security/%s/User/oracle' % domain_name) +cmo.setPassword(admin_pass) + +# Write the domain and close the domain template +# ============================================== +setOption('OverwriteDomain', 'true') +setOption('ServerStartMode',production_mode) + +cd('/NMProperties') +set('ListenAddress','') +set('ListenPort',5556) +set('CrashRecoveryEnabled', 'true') +set('NativeVersionEnabled', 'true') +set('StartScriptEnabled', 'false') +set('SecureListener', 'false') +set('LogLevel', 'FINEST') + +# Set the Node Manager user name and password (domain name will change after writeDomain) +cd('/SecurityConfiguration/base_domain') +set('NodeManagerUsername', 'oracle') +set('NodeManagerPasswordEncrypted', admin_pass) + +# Define a WebLogic Cluster +# ========================= +cd('/') +create(cluster_name, 'Cluster') + +cd('/Clusters/%s' % cluster_name) +cmo.setClusterMessagingMode('unicast') + +# Write Domain +# ============ +writeDomain(domain_home) +closeTemplate() + +# Exit WLST +# ========= +exit() diff --git a/vagrant-setup/weblogic/create_jms.py b/vagrant-setup/weblogic/create_jms.py new file mode 100644 index 0000000..25247b6 --- /dev/null +++ b/vagrant-setup/weblogic/create_jms.py @@ -0,0 +1,213 @@ +from java.util import Properties +from java.io import FileInputStream +from java.io import File +from java.io import FileOutputStream +from java import io +from java.lang import Exception +from java.lang import Throwable +import os.path +import sys + +###################****##############****######################## +# ScriptName : CreateJMSObjects-v1.4.py +# Properties : ConfigJMSObjects.properties +# Author : Pavan Devarakonda / Ariel Cassan +###################****##############****######################## + +propInputStream=FileInputStream(sys.argv[1]) +configProps=Properties() +configProps.load(propInputStream) + +def getJMSSubdeploymentPath(jms_module_name): + jms_subdeployment_path = "/JMSSystemResources/"+jms_module_name+"/SubDeployments/"+subdeployment_name + return jms_subdeployment_path + +def deleteJMSModule(jms_module_name): + deleteIgnoringExceptions(jms_module_name) + +def createJMSModule(jms_module_name,server_target_name): + jms_subdeployment_path= getJMSSubdeploymentPath(jms_module_name) + cd('/JMSServers') + jmssrvlist=ls(returnMap='true') + cd('/') + module = create(jms_module_name, "JMSSystemResource") + server = getMBean("Servers/"+server_target_name) + module.addTarget(server) + cd('/SystemResources/'+jms_module_name) + + module.createSubDeployment(subdeployment_name) + cd(jms_subdeployment_path) + list=[] + for j in jmssrvlist: + s='com.bea:Name='+j+',Type=JMSServer' + list.append(ObjectName(str(s))) + set('Targets',jarray.array(list, ObjectName)) + +def getJMSModulePath(jms_module_name): + jms_module_path = "/JMSSystemResources/"+jms_module_name+"/JMSResource/"+jms_module_name + return jms_module_path + +def getJMSQueuePath(jms_module_name,qname): + jms_queue_path = getJMSModulePath(jms_module_name)+"/Queues/"+qname + return jms_queue_path + +def createJMSQueue(jms_module_name,jndi,jms_q_name,target,q_rl,q_ep,q_ed): + jms_module_path= getJMSModulePath(jms_module_name) + jms_subdeployment_path= getJMSSubdeploymentPath(jms_module_name) + cd(jms_module_path) + cmo.createQueue(jms_q_name) + cd(getJMSQueuePath(jms_module_name,jms_q_name)) + cmo.setJNDIName(jndi) + # cmo.setDefaultTargetingEnabled(bool("true")) + cmo.setSubDeploymentName(subdeployment_name) + cd(jms_subdeployment_path) + cmo.addTarget(getMBean("/JMSServers/"+target)) + cd(getJMSQueuePath(jms_module_name,jms_q_name)+"/DeliveryFailureParams/"+jms_q_name) + cmo.setRedeliveryLimit(int(q_rl)) + cmo.setExpirationPolicy(q_ep) + erQueue = getMBean(getJMSQueuePath(jms_module_name,q_ed)) + cmo.setErrorDestination(erQueue) + + +def createJMSUDQ(jms_module_name,jndi,jms_udq_name,target): + jms_module_path = getJMSModulePath(jms_module_name) + jms_subdeployment_path= getJMSSubdeploymentPath(jms_module_name) + cd(jms_module_path) + cmo.createUniformDistributedQueue(jms_udq_name) + cd(jms_module_path+'/UniformDistributedQueues/'+jms_udq_name) + cmo.setJNDIName(jndi) + # cmo.setDefaultTargetingEnabled(bool("true")) + cmo.setSubDeploymentName(subdeployment_name) + print('JMS Module path: '+jms_module_path) + cd(jms_module_path+'/UniformDistributedQueues/'+jms_udq_name) + set('ForwardDelay', 10) + cd(jms_subdeployment_path) + cmo.addTarget(getMBean("/JMSServers/"+target)) + path_tmp = getJMSQueuePath(jms_module_name,jms_udq_name) + print('temporary path : [%s]' % path_tmp) + + cd(path_tmp+"/DeliveryFailureParams/"+jms_udq_name) + cmo.setRedeliveryLimit(3) + cmo.setExpirationPolicy('Redirect') + erQueue = getMBean(getJMSQueuePath(jms_module_name,'object_error_queue')) + cmo.setErrorDestination(erQueue) + + +def createJMSConnectionFactory(jms_module_name,cfjndi,jms_cf_name,target): + jms_module_path = getJMSModulePath(jms_module_name) + jms_subdeployment_path= getJMSSubdeploymentPath(jms_module_name) + cd(jms_module_path) + cf = create(jms_cf_name,'ConnectionFactory') + jms_cf_path = jms_module_path+'/ConnectionFactories/'+jms_cf_name + cd(jms_cf_path) + cf.setJNDIName(cfjndi) + cf.setSubDeploymentName(subdeployment_name) + cd (jms_cf_path+'/SecurityParams/'+jms_cf_name) + #cf.setAttachJMXUserId(bool("false")) + cd(jms_cf_path+'/ClientParams/'+jms_cf_name) + cmo.setClientIdPolicy('Restricted') + cmo.setSubscriptionSharingPolicy('Exclusive') + cmo.setMessagesMaximum(10) + cd(jms_cf_path+'/TransactionParams/'+jms_cf_name) + set('TransactionTimeout', "3600") + set('XAConnectionFactoryEnabled', "true") + # cd(jms_cf_path) + # cmo.setDefaultTargetingEnabled(bool("true")) + cd(jms_subdeployment_path) + cmo.addTarget(getMBean("/JMSServers/"+target)) + +def createFlstr(fstr_name_p,dir_name_p,target_name_p): + cd('/') + fst = create(fstr_name_p, "FileStore") + cd('/FileStores/'+fstr_name_p) + cmo.setDirectory(dir_name_p) + fst.addTarget(getMBean("/Servers/"+target_name_p)) + +def createJDstr(jstr_name_p,ds_name_p,target_name_p,prefix_p): + cd('/') + jst = create(jstr_name_p, "JDBCStore") + cd('/JDBCStores/'+jstr_name_p) + cmo.setDataSource(getMBean('/SystemResources/'+ds_name_p)) + cmo.setPrefixName(prefix_p) + jst.addTarget(getMBean("/Servers/"+target_name_p)) + +def createJMSsrvr(jms_srv_name_p,target_name_p,persis_store_p,page_dir_p, thrs_high_p, thrs_low_p, msg_size_p): + cd('/') + srvr = create(jms_srv_name_p, "JMSServer") + cd('/Deployments/'+jms_srv_name_p) + srvr.setPersistentStore(getMBean('/FileStores/'+persis_store_p)) +# srvr.setPersistentStore(getMBean('/JDBCStores/'+persis_store)) + srvr.setPagingDirectory(page_dir_p) + srvr.addTarget(getMBean("/Servers/"+target_name_p)) + srvr.setBytesThresholdLow(long(thrs_low_p)) + srvr.setBytesThresholdHigh(long(thrs_high_p)) + srvr.setMaximumMessageSize(long(msg_size_p)) + +adminUser=configProps.get("adminUser") +adminPassword=configProps.get("adminPassword") +adminURL=configProps.get("adminURLProtocol")+'://'+configProps.get("adminURL") + +connect(adminUser,adminPassword,adminURL) + +edit() +startEdit() + +#=============# JMS SERVER and PERSISITENT STORE CONFIGURATION #=============# +jms_srv_name=configProps.get("jms_srvr_name") +trg=configProps.get("jms_srvr_target") +persis_store=configProps.get("jms_srvr_persis_store_name") +page_dir=configProps.get("jms_srvr_pag_dir") +thrs_high=configProps.get("jms_srvr_by_threshold_high") +thrs_low=configProps.get("jms_srvr_by_threshold_low") +msg_size=configProps.get("jms_srvr_max_msg_size") +total_q=configProps.get("total_q") +total_udq=configProps.get("total_udq") +total_conf=configProps.get("total_conf") +tot_djmsm=configProps.get("total_default_jms_module") +subdeployment_name=configProps.get("subdeployment_name") +jms_srv_target=configProps.get("jms_srv_objects_target") + + +createFlstr(persis_store,page_dir,trg) +java.lang.Thread.sleep(5000) +print(jms_srv_name+','+trg+','+persis_store+','+page_dir+','+thrs_high+','+thrs_low+','+msg_size) +createJMSsrvr(jms_srv_name,trg,persis_store,page_dir,thrs_high,thrs_low,msg_size) + + # ====# JMS CONFIGURATION## ########################################## + + +a=1 +while(a <= int(tot_djmsm)): + var1=int(a) + jms_mod_name=configProps.get("jms_mod_name"+ str(var1)) + server_target=configProps.get("jms_mod_target"+ str(var1)) + createJMSModule(jms_mod_name,server_target) + + i=1 + while(i <= int(total_q)): + q_name=configProps.get("q_name"+ str(i)) + q_jndi=configProps.get("q_jndi"+ str(i)) + q_rl=configProps.get("q_rl"+ str(i)) + q_ep=configProps.get("q_ep"+ str(i)) + q_ed=configProps.get("q_ed"+ str(i)) + createJMSQueue(jms_mod_name,q_jndi,q_name,jms_srv_target,q_rl,q_ep,q_ed) + i = i + 1 + j=1 + while(j <= int(total_udq)): + udq_name=configProps.get("udq_name"+ str(j)) + udq_jndi=configProps.get("udq_jndi"+ str(j)) +# createJMSUDQ(jms_mod_name,udq_jndi,udq_name,jms_srv_target) + j = j + 1 + k = 1 + while(k <= int(total_conf)): + conf_name=configProps.get("conf_name"+ str(k)) + conf_jndi=configProps.get("conf_jndi"+ str(k)) + createJMSConnectionFactory(jms_mod_name,conf_jndi,conf_name,jms_srv_target) + k = k + 1 + a = a+1 + +save() +activate(block="true") +disconnect() + +exit() diff --git a/vagrant-setup/weblogic/silent.xml b/vagrant-setup/weblogic/silent.xml new file mode 100644 index 0000000..f87202e --- /dev/null +++ b/vagrant-setup/weblogic/silent.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/vagrant-setup/weblogic/weblogic_icon_48x48.xpm b/vagrant-setup/weblogic/weblogic_icon_48x48.xpm new file mode 100644 index 0000000..1f35e0c --- /dev/null +++ b/vagrant-setup/weblogic/weblogic_icon_48x48.xpm @@ -0,0 +1,310 @@ +/* XPM */ +static char *weblogic_icon_48x48[] = { +/* columns rows colors chars-per-pixel */ +"48 48 256 2 ", +" c #F70000", +". c #F70800", +"X c #F70808", +"o c #F71818", +"O c #F71821", +"+ c #F72121", +"@ c #F74242", +"# c #F76B6B", +"$ c #F77373", +"% c #F77B7B", +"& c #F78484", +"* c #F7848C", +"= c #F78C8C", +"- c #F7ADA5", +"; c #F7ADAD", +": c #F7BDBD", +"> c #F7C6BD", +", c #F7D6D6", +"< c #F7E7E7", +"1 c #F7FFFF", +"2 c red", +"3 c #FF0008", +"4 c #FF0808", +"5 c #FF1010", +"6 c #FF1018", +"7 c #FF1818", +"8 c #FF1821", +"9 c #FF2121", +"0 c #FF2129", +"q c #FF3131", +"w c #FF4242", +"e c #FF424A", +"r c #FF4A42", +"t c #FF4A4A", +"y c #FF5A5A", +"u c #FF635A", +"i c #FF6B63", +"p c #FF6B6B", +"a c #FF7373", +"s c #FF7B7B", +"d c #FF847B", +"f c #FF8484", +"g c #FF848C", +"h c #FF8C8C", +"j c #FF949C", +"k c #FF9C9C", +"l c #FFA5A5", +"z c #FFADA5", +"x c #FFADAD", +"c c #FFBDBD", +"v c #FFC6C6", +"b c #FFD6CE", +"n c #FFD6D6", +"m c #FFE7E7", +"M c #FFEFE7", +"N c #FFEFEF", +"B c #FFF7EF", +"V c #FFF7F7", +"C c #FFF7FF", +"Z c #FFFFF7", +"A c gray100", +"S c gray100", +"D c gray100", +"F c gray100", +"G c gray100", +"H c gray100", +"J c gray100", +"K c gray100", +"L c gray100", +"P c gray100", +"I c gray100", +"U c gray100", +"Y c gray100", +"T c gray100", +"R c gray100", +"E c gray100", +"W c gray100", +"Q c gray100", +"! c gray100", +"~ c gray100", +"^ c gray100", +"/ c gray100", +"( c gray100", +") c gray100", +"_ c gray100", +"` c gray100", +"' c gray100", +"] c gray100", +"[ c gray100", +"{ c gray100", +"} c gray100", +"| c gray100", +" . c gray100", +".. c gray100", +"X. c gray100", +"o. c gray100", +"O. c gray100", +"+. c gray100", +"@. c gray100", +"#. c gray100", +"$. c gray100", +"%. c gray100", +"&. c gray100", +"*. c gray100", +"=. c gray100", +"-. c gray100", +";. c gray100", +":. c gray100", +">. c gray100", +",. c gray100", +"<. c gray100", +"1. c gray100", +"2. c gray100", +"3. c gray100", +"4. c gray100", +"5. c gray100", +"6. c gray100", +"7. c gray100", +"8. c gray100", +"9. c gray100", +"0. c gray100", +"q. c gray100", +"w. c gray100", +"e. c gray100", +"r. c gray100", +"t. c gray100", +"y. c gray100", +"u. c gray100", +"i. c gray100", +"p. c gray100", +"a. c gray100", +"s. c gray100", +"d. c gray100", +"f. c gray100", +"g. c gray100", +"h. c gray100", +"j. c gray100", +"k. c gray100", +"l. c gray100", +"z. c gray100", +"x. c gray100", +"c. c gray100", +"v. c gray100", +"b. c gray100", +"n. c gray100", +"m. c gray100", +"M. c gray100", +"N. c gray100", +"B. c gray100", +"V. c gray100", +"C. c gray100", +"Z. c gray100", +"A. c gray100", +"S. c gray100", +"D. c gray100", +"F. c gray100", +"G. c gray100", +"H. c gray100", +"J. c gray100", +"K. c gray100", +"L. c gray100", +"P. c gray100", +"I. c gray100", +"U. c gray100", +"Y. c gray100", +"T. c gray100", +"R. c gray100", +"E. c gray100", +"W. c gray100", +"Q. c gray100", +"!. c gray100", +"~. c gray100", +"^. c gray100", +"/. c gray100", +"(. c gray100", +"). c gray100", +"_. c gray100", +"`. c gray100", +"'. c gray100", +"]. c gray100", +"[. c gray100", +"{. c gray100", +"}. c gray100", +"|. c gray100", +" X c gray100", +".X c gray100", +"XX c gray100", +"oX c gray100", +"OX c gray100", +"+X c gray100", +"@X c gray100", +"#X c gray100", +"$X c gray100", +"%X c gray100", +"&X c gray100", +"*X c gray100", +"=X c gray100", +"-X c gray100", +";X c gray100", +":X c gray100", +">X c gray100", +",X c gray100", +" /dev/null 2>&1; then + echo "User oracle already exists" + if [ -f "/u01/oracle/.bashrc" ] + then + if grep -Gixq "^export WLS_HOME=.*$" /u01/oracle/.bashrc; then + echo "/u01/oracle/.bashrc already contains WebLogic environment variables" + else + cat $SETUP/weblogic/bashrc >> /u01/oracle/.bashrc + fi + else + if [ ! -d "/u01/oracle" ] + then + mkdir -p /u01/oracle + fi + cp $SETUP/oracle/bashrc /u01/oracle/.bashrc + cat $SETUP/weblogic/bashrc >> /u01/oracle/.bashrc + fi + else + if [ $(getent group oinstall) ]; then + echo "Group oinstall already exists" + else + echo "Creating group oinstall" + groupadd oinstall + fi + echo "Creating user oracle" + mkdir -p /u01/oracle + useradd -d /u01/oracle -K MAIL_DIR=/dev/null -g oinstall oracle + chown -R oracle:oinstall /u01/oracle + echo -e "0rclPasswd\n0rclPasswd\n" | passwd oracle + cp $SETUP/oracle/bashrc /u01/oracle/.bashrc + cat $SETUP/weblogic/bashrc >> /u01/oracle/.bashrc + fi + + export MW_HOME=/u01/app/oracle/middleware + export WLS_HOME=$MW_HOME/wlserver + export WL_HOME=$WLS_HOME + export ORACLE_HOME=/u01/app/oracle/product/12.2.0.1 + + mkdir -p $MW_HOME + mkdir -p /u01/software + mkdir -p /u01/app/inventory + mkdir -p /u01/app/oracle/config/domains + mkdir -p /u01/app/oracle/config/applications + + if [ "$u01exists" = 1 ] + then + echo "Setting permissions of oracle user at /u01" + chown -R oracle:oinstall /u01 + chmod -R 775 /u01/app + fi + + yum -y install libaio bc flex net-tools + + cd /u01/software + unzip $SETUP/cache/fmw_12.2.1.3.0_wls_Disk1_1of1.zip + su oracle -c "java -Xmx1024m -jar fmw_12.2.1.3.0_wls.jar -silent -responseFile $SETUP/weblogic/wl_install.rsp -invPtrLoc $SETUP/oracle/oraInst.loc" + rm fmw_12.2.1.3.0_wls.jar + rm fmw_12213_readme.htm + + cd /u01/app/oracle/middleware/wlserver/server/bin + . ./setWLSEnv.sh + + echo "Creating Weblogic domain 'wldomain' and starting Weblogic" + cd /u01/app/oracle/config/domains + mkdir wldomain + chown -R oracle:oinstall wldomain + chmod -R 775 wldomain + cd wldomain + su oracle -c "nohup java -Dweblogic.management.username=weblogic -Dweblogic.management.password=welcome01 -Dweblogic.Domain=wldomain -Dweblogic.Name=centorion -Dweblogic.ListenPort=7001 -Dweblogic.management.GenerateDefaultConfig=true weblogic.Server < /dev/null &> /dev/null &" + + # if [ -d "/usr/local/maven" ] + # then + # cd $MW_HOME/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/12.2.1 + # mvn install:install-file -DpomFile=oracle-maven-sync-12.2.1.pom -Dfile=oracle-maven-sync-12.2.1.jar + # mvn com.oracle.maven:oracle-maven-sync:push -DoracleHome=/u01/app/oracle/middleware -Doracle-maven-sync.testingOnly=false + # fi + + else + + echo "You must download https://download.oracle.com/otn/nt/middleware/12c/12213/fmw_12.2.1.3.0_wls_Disk1_1of1.zip and save it at /vagrant/vagrant-setup/cache before begining WebLogic 12 set up." + + fi + fi + + cd $PPWD + + else + + echo "WebLogic must be installed as root. Type sudo ./weblogic12.sh for executing the script." + + fi +fi \ No newline at end of file