viernes, 20 de abril de 2018

Reiniciar el password de administrador en Weblogic

Vamos a  tratar de reiniciar el password de administrador de Weblogic en un entorno Windows en donde había instalado la suite OBIEE 11g con Weblogic 10.3.3.0

Usaremos la siguiente nomenclatura
  • <DOMAIN_HOME> = %BIHOME%\user_projects\domains\<tu_dominio>
  • <SERVER_DOMAIN> = <DOMAIN_HOME>\servers\AdminServer

Abrimos un cmd

"Seteamos" el dominio: <DOMAIN_HOME>\bin\setDomainEnv.cmd


cd security

Renombramos el archivo DefaultAuthenticatorInit.ldift

rename DefaultAuthenticatorInit.ldift DefaultAuthenticatorInit.ldift_old

Ejecutamos la utilidad de cambio de password  

java -cp E:\BI11_HOME
\wlserver_10.3\server\lib\weblogic.jar weblogic.security.utils.AdminAccount <nuevo_user> <nuevo_password> .


El comando no dice nada tras ejecutarse, pero esto nos creará un nuevo DefaultAuthenticatorInit.ldift en la carpeta security

Renombramos la carpeta data a data.old para que se recreé toda la estructura ldap al arrancar el servidor

rename <SERVER_DOMAIN>\data <SERVER_DOMAIN>\data.old
Arrancar el weblogic e introducir el usuario y contraseña nuevos que se especificaron en el punto 4

<DOMAIN_HOME>\startWeblogic.cmd
 
Y con esos pasos deberíamos de tener reiniciado el password y el servidor debería estar arrancando.
Lo de tener que meter el usuario y password para arrancar el servidor es una medida de seguridad, pero en entornos de pruebas o desarrollo puede resultar tedioso. Para ello podemos seguir los pasos de la nota de myOracle Support 980292.1 :

“Starting AdminServer Without Username/Password Prompt in WebLogic Server 10.3“ que básicamente viene a decir que podemos poner un archivo boot.properties en el directorio <SERVER_DOMAIN>\security con la siguiente sintaxis:
  
username=<nuevo_user>
password=<nuevo_password>


Estos valores serán tenidos en cuenta en el siguiente reinicio del servidor, y si coinciden con los que se especificaron en el paso 4, se encriptarán y serán usados en veces subsiguientes, sin necesidad de que los proporcione el usuario.