DEV Community

Cover image for Configurações do WebSphere via Terminal Guia Completo e Detalhado WAS Traditional + Liberty
Kauê Matos
Kauê Matos

Posted on

Configurações do WebSphere via Terminal Guia Completo e Detalhado WAS Traditional + Liberty

O IBM WebSphere Application Server (WAS) permite praticamente todas as configurações serem feitas diretamente pelo terminal, sem precisar abrir a console gráfica (Admin Console). Isso é essencial para ambientes de produção, automação, scripts em CI/CD (Jenkins, GitHub Actions), servidores sem interface gráfica e infraestrutura como código (IaC).

Existem duas versões principais em 2026:

  • WAS Traditional (Network Deployment / Base) → usa o poderoso wsadmin (Jython ou JACL).
  • WebSphere Liberty (a versão moderna e mais usada hoje) → usa comandos simples (server, featureManager) + edição direta de arquivos.

Abaixo, você encontra tudo o que pode ser configurado via terminal, com comandos prontos para copiar, exemplos reais e melhores práticas.

1. WAS Traditional (Network Deployment / Base) – wsadmin (o mais poderoso)

O wsadmin é o principal ferramenta de linha de comando para configurações avançadas. Ele fica em:

  • <WAS_HOME>/bin/wsadmin.sh (Linux/macOS)
  • <WAS_HOME>\bin\wsadmin.bat (Windows)

Como iniciar o wsadmin

# Modo conectado ao Deployment Manager (mais comum em produção)
cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin
./wsadmin.sh -lang jython -user wasadmin -password senha -host dmgr-host -port 8879

# Modo local (sem DMGR)
./wsadmin.sh -lang jython -conntype NONE
Enter fullscreen mode Exit fullscreen mode

Objetos principais (use sempre com Jython em 2026):

  • AdminConfig → cria/altera objetos de configuração
  • AdminTask → tarefas de alto nível (mais fácil)
  • AdminApp → deploy e gerenciamento de aplicações
  • AdminControl → operações em tempo de execução (start/stop)

Exemplos reais de configurações via terminal

1. Criar um provedor JDBC (DB2, Oracle, PostgreSQL, etc.)

# Dentro do wsadmin (ou em script .py)
jdbcProvider = AdminTask.createJDBCProvider('[-name MeuJDBCProvider -databaseType DB2 -implementationType XA -scope Cell=cell01]')
print jdbcProvider
AdminConfig.save()
Enter fullscreen mode Exit fullscreen mode

2. Criar DataSource

ds = AdminTask.createJDBCDataSource('[-name MeuDataSource -jndiName jdbc/meuDS -jdbcProviderName MeuJDBCProvider -containerManagedPersistence true]')
AdminTask.createJDBCDataSourceProperty('[-name databaseName -value MEU_BANCO -dataSourceName MeuDataSource]')
AdminConfig.save()
Enter fullscreen mode Exit fullscreen mode

3. Deploy de aplicação (EAR/WAR)

./wsadmin.sh -lang jython -c "AdminApp.install('/caminho/app.ear', '[-appname MinhaApp -node node01 -server server01]')"
AdminConfig.save()
AdminApp.start('MinhaApp')
Enter fullscreen mode Exit fullscreen mode

4. Criar Cluster e adicionar membros

cluster = AdminTask.createCluster('[-clusterName MeuCluster]')
AdminTask.createClusterMember('[-clusterName MeuCluster -node node01 -memberName member1]')
AdminConfig.save()
Enter fullscreen mode Exit fullscreen mode

5. Configurar Virtual Host

AdminTask.createVirtualHost('[-name meuVirtualHost]')
AdminTask.addVirtualHostAlias('[-name meuVirtualHost -hostName *.meudominio.com.br -port 80]')
AdminConfig.save()
Enter fullscreen mode Exit fullscreen mode

6. Configurar Security (Global Security, SSL, etc.)

AdminTask.modifySSLConfig('[-sslConfigName MeuSSLConfig -keyStoreName defaultKeyStore -trustStoreName defaultTrustStore]')
AdminConfig.save()
Enter fullscreen mode Exit fullscreen mode

7. Gerar plugin-cfg.xml para Web Server (IHS/Apache)

AdminTask.generatePluginConfig('[-webserverName webserver1]')
Enter fullscreen mode Exit fullscreen mode

8. Parar/iniciar servidor via wsadmin

AdminControl.invoke(AdminControl.queryNames('type=Server,processType=Server,*'), 'stop')
Enter fullscreen mode Exit fullscreen mode

Você pode salvar todos esses comandos em arquivos .py e rodar com:

./wsadmin.sh -lang jython -f /scripts/meu-script.py
Enter fullscreen mode Exit fullscreen mode

2. WebSphere Liberty – Configurações via Terminal (mais simples e moderna)

Liberty é a versão recomendada em 2026. Tudo é baseado em arquivos de configuração + comandos leves.

Localização principal: $WLP_HOME/bin (normalmente /opt/IBM/Liberty/bin)

Comandos principais

1. Criar servidor

$WLP_HOME/bin/server create meuServidor
Enter fullscreen mode Exit fullscreen mode

2. Iniciar/Parar/Reiniciar

$WLP_HOME/bin/server start meuServidor
$WLP_HOME/bin/server stop meuServidor
$WLP_HOME/bin/server restart meuServidor
$WLP_HOME/bin/server status meuServidor
Enter fullscreen mode Exit fullscreen mode

3. Instalar features (servlet, jpa, microprofile, etc.) – comando featureManager

# Instalar várias features de uma vez
$WLP_HOME/bin/featureManager install servlet-6.0 jpa-3.1 microProfile-7.0 --acceptLicense

# Ver features instaladas
$WLP_HOME/bin/featureManager view

# Remover feature
$WLP_HOME/bin/featureManager uninstall servlet-6.0
Enter fullscreen mode Exit fullscreen mode

4. Editar configuração (server.xml) via terminal
O principal arquivo é usr/servers/meuServidor/server.xml. Você pode editar com vi, nano ou até via echo/cat para automação:

# Exemplo: adicionar datasource PostgreSQL via linha de comando
cat >> /opt/IBM/Liberty/usr/servers/meuServidor/server.xml << EOF
<featureManager>
    <feature>jdbc-4.3</feature>
    <feature>postgresql-1.0</feature>
</featureManager>

<dataSource id="meuDS" jndiName="jdbc/meuDS">
    <jdbcDriver libraryRef="postgresql"/>
    <properties.postgresql databaseName="meuBanco" serverName="localhost" portNumber="5432" user="user" password="senha"/>
</dataSource>
EOF
Enter fullscreen mode Exit fullscreen mode

5. Usar configDropins (melhor prática 2026)
Crie pastas configDropins/defaults/ ou overrides/ e coloque XMLs separados – Liberty aplica automaticamente sem editar o server.xml principal.

6. Gerar DDL para bancos de dados

$WLP_HOME/bin/ddlGen meuServidor
Enter fullscreen mode Exit fullscreen mode

7. Configurar Admin Center via terminal

# Adicionar feature
$WLP_HOME/bin/featureManager install adminCenter-1.0

# Editar server.xml para habilitar
echo '<feature>adminCenter-1.0</feature>' >> server.xml
Enter fullscreen mode Exit fullscreen mode

3. Configurações comuns que você pode fazer em AMBOS via terminal

Configuração WAS Traditional (wsadmin) Liberty (terminal)
Datasource / JDBC AdminTask.createJDBCDataSource Editar server.xml ou configDropins
JMS / MQ AdminTask.createWMQQueue <jmsQueue> no server.xml
Security (SSL/LDAP) AdminTask.modifySSLConfig <ssl> + <ldapRegistry>
Deploy aplicação AdminApp.install Copiar para dropins/ ou <application>
Virtual Host AdminTask.createVirtualHost <virtualHost> no server.xml
Cluster AdminTask.createCluster Collective (Liberty ND)
Logs e Tracing AdminTask.setTraceSpecification <logging> no server.xml

Melhores práticas e dicas de 2026

  • Sempre use Jython (não JACL, que está depreciado).
  • Crie scripts reutilizáveis e versione no Git.
  • Use -conntype NONE para testes locais.
  • Em Liberty: prefira configDropins em vez de editar server.xml diretamente.
  • Para automação total: combine com Ansible, Terraform ou scripts Shell/Python.
  • Segurança: nunca deixe senhas em scripts → use variáveis de ambiente ou vaults (Vault, CyberArk).
  • Teste sempre em ambiente de dev antes de rodar em produção.
  • Atualize o wsadmin classpath se precisar de classes customizadas: wsadmin -wsadmin_classpath /caminho/meu.jar.

Conclusão

Com o terminal você consegue configurar 100% do WebSphere sem tocar na interface gráfica — desde um datasource simples até um cluster completo com segurança enterprise. O wsadmin é rei no WAS Traditional, enquanto o Liberty é extremamente leve e rápido com server + featureManager.

Links oficiais IBM (2026):

Top comments (0)