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
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()
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()
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')
4. Criar Cluster e adicionar membros
cluster = AdminTask.createCluster('[-clusterName MeuCluster]')
AdminTask.createClusterMember('[-clusterName MeuCluster -node node01 -memberName member1]')
AdminConfig.save()
5. Configurar Virtual Host
AdminTask.createVirtualHost('[-name meuVirtualHost]')
AdminTask.addVirtualHostAlias('[-name meuVirtualHost -hostName *.meudominio.com.br -port 80]')
AdminConfig.save()
6. Configurar Security (Global Security, SSL, etc.)
AdminTask.modifySSLConfig('[-sslConfigName MeuSSLConfig -keyStoreName defaultKeyStore -trustStoreName defaultTrustStore]')
AdminConfig.save()
7. Gerar plugin-cfg.xml para Web Server (IHS/Apache)
AdminTask.generatePluginConfig('[-webserverName webserver1]')
8. Parar/iniciar servidor via wsadmin
AdminControl.invoke(AdminControl.queryNames('type=Server,processType=Server,*'), 'stop')
Você pode salvar todos esses comandos em arquivos .py e rodar com:
./wsadmin.sh -lang jython -f /scripts/meu-script.py
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
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
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
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
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
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
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 NONEpara 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):
- wsadmin Traditional: https://www.ibm.com/docs/en/was-nd/9.0.5?topic=scripting-wsadmin-tool
- Liberty command line: https://www.ibm.com/docs/en/was-liberty/base?topic=manually-administering-liberty-from-command-line
- featureManager: https://www.ibm.com/docs/en/was-liberty/base?topic=command-featuremanager
Top comments (0)