The script has supporting files including the latest version of GlassFish and Java JDK. The files need to be copied to a directory called /tmp/gf_install The script itself can be run from any location - user's home directory makes the most sense
#!/bin/bash DOMAIN_NAME=`hostname --short` #read -p "Enter domain name " DOMAIN_NAME TMP_DIR="/tmp/gf_install" # Use with AD Authentication #ASADMIN="sudo -u appadmin /opt/AppSrv/glassfish3/glassfish/bin/asadmin -W ${TMP_DIR}/password" # Use without AD Authentication ASADMIN="/opt/AppSrv/glassfish3/glassfish/bin/asadmin -W ${TMP_DIR}/password" KEYSTORE_FILE="/opt/AppSrv/glassfish3/glassfish/domains/${DOMAIN_NAME}/config" svn_prep (){ cd /opt sudo svn checkout http://svn.fbfs.com/midtierscripts/ sudo chown -R appadmin:users /opt/midtierscripts mkdir /tmp/gf_install cd /opt/midtierscripts/serverInstall cp answer password password2 glassfish /tmp/gf_install cp /mnt/midtier_devtools/midtier/gfinstall/* /tmp/gf_install } edit_answer (){ sed -i -silent s/newdomain/${DOMAIN_NAME}/g ${TMP_DIR}/answer } java_install (){ sudo mkdir /opt/java ; tar zxf ${TMP_DIR}/jdk-7u3-linux-x64.tar.gz -C ${TMP_DIR} sudo mv ${TMP_DIR}/jdk1.7.0_03/* /opt/java #sudo cp ${TMP_DIR}/jdk.sh /etc/profile.d/jdk.sh #source /etc/profile.d/jdk.sh sudo chown -R appadmin:users /opt/java/ } gf_install (){ chmod +x ${TMP_DIR}/glassfish-3.1.2.2-unix.sh # Use with AD Authentication #sudo ${TMP_DIR}/glassfish-3.1.2-unix.sh -s -j /opt/java -a ${TMP_DIR}/answer # Use without AD Authentication ${TMP_DIR}/glassfish-3.1.2.2-unix.sh -s -j /opt/java -a ${TMP_DIR}/answer sudo chown -R appadmin:users /opt/AppSrv/ $ASADMIN start-domain } gf_restart (){ $ASADMIN stop-domain $ASADMIN start-domain } enable_secure_admin (){ $ASADMIN enable-secure-admin gf_restart } gf_config (){ wget https://localhost:4848 --no-check-certificate --delete-after -q $ASADMIN set server-config.admin-service.jmx-connector.system.security-enabled=true $ASADMIN set server-config.network-config.protocols.protocol.http-listener-2.security-enabled=true $ASADMIN set server-config.network-config.protocols.protocol.sec-admin-listener.security-enabled=true $ASADMIN set server-config.network-config.protocols.protocol.sec-admin-listener.ssl.cert-nickname=s1as $ASADMIN deploy ${TMP_DIR}/wmq.jmsra.rar $ASADMIN create-resource-adapter-config --property logWriterEnabled=true:maxConnections=4:traceLevel=3:traceEnabled=false:reconnectionRetryCount=5:reconnectionRetryInterval=300000:connectionConcurrency=1 wmq.jmsra sudo -u appadmin /opt/AppSrv/glassfish3/glassfish/bin/asadmin -W ${TMP_DIR}/password2 --secure create-password-alias jenkins sudo -u appadmin mkdir /mnt/midtier_logs/domain $ASADMIN set-log-attributes --target server com.sun.enterprise.server.logging.GFFileHandler.file=/mnt/midtier_logs/domain/server.log $ASADMIN set-log-attributes --target server com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes=1440 sudo mkdir /opt/AppSrv/glassfish3/glassfish/nodes sudo chown -R appadmin:users /opt/AppSrv sed -i -silent s/org.glassfish.admingui.level=INFO/org.glassfish.admingui.level=FINE/g /opt/AppSrv/glassfish3/glassfish/domains/${DOMAIN_NAME}/config/logging.properties gf_restart } cert_install (){ sudo -u appadmin keytool -import -noprompt -alias root -keystore ${KEYSTORE_FILE}/keystore.jks -trustcacerts -file ${TMP_DIR}/Root.cer -storepass changeit sudo -u appadmin keytool -import -noprompt -alias intermediate_1 -keystore ${KEYSTORE_FILE}/keystore.jks -trustcacerts -file ${TMP_DIR}/Intermediate_1.cer -storepass changeit sudo -u appadmin keytool -import -noprompt -alias issue -keystore ${KEYSTORE_FILE}/keystore.jks -trustcacerts -file ${TMP_DIR}/Issue.cer -storepass changeit sudo -u appadmin keytool -import -noprompt -alias root -keystore ${KEYSTORE_FILE}/cacerts.jks -trustcacerts -file ${TMP_DIR}/Root.cer -storepass changeit sudo -u appadmin keytool -import -noprompt -alias intermediate_1 -keystore ${KEYSTORE_FILE}/cacerts.jks -trustcacerts -file ${TMP_DIR}/FBL_Intermediate_1.cer -storepass changeit sudo -u appadmin keytool -import -noprompt -alias issue -keystore ${KEYSTORE_FILE}/cacerts.jks -trustcacerts -file ${TMP_DIR}/Issue.cer -storepass changeit sudo -u appadmin keytool -importkeystore -noprompt -deststorepass changeit -destkeypass changeit -destkeystore ${KEYSTORE_FILE}/keystore.jks -srckeystore ${TMP_DIR}/generic.p12 -srcstoretype PKCS12 -srcstorepass password -alias generic.domain.com sudo -u appadmin sed -i -silent 's/s1as/generic.domain.com/g' ${KEYSTORE_FILE}/domain.xml gf_restart } create_service (){ sudo mv ${TMP_DIR}/glassfish /etc/init.d/glassfish cd /etc/init.d sudo chmod +x glassfish sudo chown root:root glassfish sudo chkconfig --add glassfish sudo chkconfig glassfish on } ldap_authentication (){ $ASADMIN --secure create-password-alias ldapbind $ASADMIN set server.security-service.auth-realm.admin-realm.property.base-dn="dc=domain,dc=com" $ASADMIN set server.security-service.auth-realm.admin-realm.property.directory=ldap://ldap.domain.com:389 $ASADMIN set server.security-service.auth-realm.admin-realm.property.search-bind-password="\${ALIAS=ldapbind}" $ASADMIN set server.security-service.auth-realm.admin-realm.property.jaas-context=ldapRealm $ASADMIN set server.security-service.auth-realm.admin-realm.property.group-search-filter="(&(member=%d)(objectcategory=group))" $ASADMIN set server.security-service.auth-realm.admin-realm.property.search-bind-dn="cn=user user,OU=Service Accounts,DC=domain,DC=com" $ASADMIN set server.security-service.auth-realm.admin-realm.property.search-filter="(&(objectClass=user)(memberOf=CN=Group,OU=Domain Groups,DC=domain,DC=com)(sAMAccountName=%s))" $ASADMIN set server.security-service.auth-realm.admin-realm.property.assign-groups=asadmin $ASADMIN set server.security-service.auth-realm.admin-realm.property.group-base-dn="ou=Domain Groups,dc=domain,dc=com" $ASADMIN set server.security-service.auth-realm.admin-realm.classname=com.sun.enterprise.security.auth.realm.ldap.LDAPRealm gf_restart } glassfish_update (){ $ASADMIN stop-domain cd /opt/AppSrv/glassfish3/bin sudo ./pkg image-update $ASADMIN start-domain sudo mkdir /opt/AppSrv/glassfish3/glassfish/nodes sudo chown -R appadmin:users /opt/AppSrv } copy_drivers (){ cd ${TMP_DIR} sudo cp db2jcc.jar db2jcc_license_cisuz.jar db2java.zip sqljdbc4.jar ojdbc6.jar WebSEAL_SAM.jar /opt/AppSrv/glassfish3/glassfish/lib/ gf_restart } cron (){ echo '#!/bin/bash' > $TMP_DIR/backup_cron echo '(crontab -l 2>/dev/null -u appadmin; echo "0 21 * * * svn update /opt/midtierscripts"; echo "00 01 1 1,4,7,10 * /opt/midtierscripts/utility/devel_cert/cert_report.sh";) | crontab -' >> $TMP_DIR/backup_cron sudo chmod +x $TMP_DIR/backup_cron sudo -u appadmin $TMP_DIR/backup_cron } delete_tmp_dir (){ cd ~ rm -rf ${TMP_DIR} } svn_prep edit_answer java_install gf_install enable_secure_admin gf_config cert_install create_service ldap_authentication glassfish_update copy_drivers cron delete_tmp_dir
No comments:
Post a Comment