Usando Procedimentos JCL para Iniciar o IBM HTTP Server no z/OS

É possível preparar procedimentos JCL para iniciar e parar o IBM® HTTP Server a partir do console do sistema MVS.

Usando um procedimento catalogado por JCL para emitir os comandos de início e parada de apachectl, é possível iniciar e parar uma instância do IBM HTTP Server a partir do console do sistema MVS. Outros comandos apachectl podem ser emitidos a partir do console do sistemaMVS usando o mesmo procedimento.

Copie o procedimento JCL de amostra a seguir de SHAPJCL(HAPAPROC) para sua biblioteca de procedimentos de sistemas:

//*---------------------------------------------------------
//IHSAPACH PROC ACTION='start',
//          DIR='/path/to/IHS/runtime/directory',
//          CONF='conf/httpd.conf'
//*---------------------------------------------------------
//IHS      EXEC PGM=BPXBATCH,
// PARM='SH &DIR/bin/apachectl -k &ACTION -f &CONF -DNO_DETACH',
// MEMLIMIT=512M
//STDOUT   DD  PATH='&DIR/logs/proc.output',
//				PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
//				PATHMODE=(SIRUSR,SIWUSR,SIRGRP,SIWGRP)
//STDERR   DD  PATH='&DIR/logs/proc.errors',
//				PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
//				PATHMODE=(SIRUSR,SIWUSR,SIRGRP,SIWGRP)
//         PEND
Aviso: O valor do PARM é limitado a 100 caracteres. Como o valor do PARM contém o diretório de instalação (&DIR), o comprimento total pode exceder o limite de 100 caracteres se o caminho do diretório for muito longo. O comprimento do nome do caminho precisa ser levado em consideração ao escolher o diretório de instalação. Se o nome do caminho do diretório de instalação for muito longo, é possível utilizar um caminho de nome mais curto no JCL que é simbolicamente vinculado ao nome do caminho do diretório de instalação original.
Se necessitar um valor para o PARM maior do que 100 caracteres, é possível usar o cartão JCL /PARMIN DD *,SYMBOLS=JCLONLY como ilustrado no exemplo abaixo:
/*------------------------------------------------------
//WEBFTNEI JOB (KOMA-Y98),'Apache NZX2      ',MSGCLASS=T,
//  TIME=NOLIMIT                                        
//         EXPORT SYMLIST=*                             
//*-------------------------------------                
//  SET  ACTION='start'                                 
//  SET  DIR='/home/ihsa/install/webft'                 
//  SET  CONF='../../httpd/webftnei.conf'               
//*-----------------------------------------------------
//IHS EXEC PGM=BPXBATCH,PARMDD=PARMIN,                  
// MEMLIMIT=512M                                        
//PARMIN   DD *,SYMBOLS=JCLONLY                         
PGM &DIR/bin/apachectl                                  
   -k &ACTION
   -f &CONF
   -DNO_DETACH
//*-------------------------------------------------------
//STDOUT   DD SYSOUT=T                                    
//*                                                        
//STDERR   DD SYSOUT=T                                     
//*                                                       
//                                                        
//STDOUT   DD  PATH='&DIR/logs/proc.output',               
//				PATHOPTS=(OWRONLY,OCREAT,OTRUNC),               
//				PATHMODE=(SIRUSR,SIWUSR,SIRGRP,SIWGRP)        
//*                                                      
//STDERR   DD  PATH='&DIR/logs/proc.errors',               
//				PATHOPTS=(OWRONLY,OCREAT,OTRUNC),             
//				PATHMODE=(SIRUSR,SIWUSR,SIRGRP,SIWGRP)        
//                                                        
/*---------------------------------------------------------- 

Uma descrição do comando apachectl utilizado na JCL de amostra pode ser encontrada no Web site da Interface de Controle do Apache HTTP Server.

O nome da tarefa padrão para a instância do IBM HTTP Server será igual ao nome do membro do procedimento catalogado. O Servidor da Web é um servidor multi-processo, e cada processo adicional que é criado irá ter um nome de tarefa gerado que é baseado no nome da tarefa original. Se o nome da tarefa original tiver 8 caracteres de comprimento, então todos os processos adicionais terão o mesmo nome de tarefa. Se o nome da tarefa original tiver menos de 8 caracteres então os processos adicionais terão nomes de tarefa que são compostos pelo nome da tarefa original com um dígito incluído como sufixo. Se o servidor da Web for iniciado a partir de um ambiente UNIX usando o comando bin/apachectl, então o nome da tarefa padrão será o ID do usuário sob o qual o comando está sendo executado. Assim como o nome da tarefa, se o ID do usuário tiver 8 caracteres de comprimento, então todos os processos adicionais terão o mesmo nome de tarefa. Se o ID do usuário tiver menos de 8 caracteres então os processos adicionais terão nomes de tarefa que são compostos pelo ID do usuário com um dígito incluído como sufixo.

Nos exemplos a seguir, um nome do procedimento WEBSRV1 é usado. Edite o novo procedimento catalogado substituindo /path/to/IHS/runtime/directory pelo diretório de instalação real para esta instância do IBM HTTP Server. Crie um perfil SAF STARTED para associar o grupo e o ID do usuário do servidor à tarefa iniciada pelo servidor da Web:
RDEFINE STARTED WEBSRV1.* STDATA(USER(WWWSERV) GROUP(WWWGROUP) TRACE(YES))
SETROPTS RACLIST(STARTED) GENERIC(STARTED) REFRESH
  • Para iniciar o servidor a partir do console do sistema MVS, insira:
    S WEBSRV1
    Nota: O nome da tarefa do servidor da web pode ser alterado através da inclusão do jobname no comando inicial, por exemplo:
    S WEBSRV1,JOBNAME=HTTPDWS1
    Boas Práticas 1: Use um nome da tarefa com oito caracteres. Usando um nome de tarefa de oito caracteres assegura que todos os processos criados por esta instância do servidor da web terão o mesmo nome de tarefa.
    Para parar o servidor, digite:
    P WEBSRV1
    Nota: Ao usar SDSF, você deve usar a tela Extensão de Comando do Sistema (entrada de comando) para inserir o comando para parar o servidor.
    • No prompt de comando, digite uma barra (/) e, em seguida, aperte enter para acessar a janela Extensão de Comando do Sistema.
    • Na janela Extensão de Comando do Sistema, digite o comando S WEBSRV1,ACTION='stop'. Certifique-se de que a opção parar esteja em letras minúsculas.
  • Para emitir outros comandos apachectl, digite:
    S WEBSRV1,ACTION='<command>'
  • Para reiniciar o servidor, insira:
    S WEBSRV1,ACTION=restart
    É possível reiniciar o servidor a partir do console z/OS.
  • Para reiniciar o servidor corretamente, insira:
    S WEBSRV1,ACTION=graceful
    É possível reiniciar o servidor a partir do console z/OS.

Os arquivos de saída para os comandos start e stop estão localizados nos arquivos especificados nas instruções JCL DD STDOUT e STDERR no procedimento

Utilizando o módulo zos_cmds: Se o módulo zos_cmds estiver ativo, então é possível usar os comandos de console z/OS STOP e MODIFY.
Importante: No arquivo httpd.conf, a seguinte linha deve ser incluída para ativar o módulo zos_cmds:
LoadModule zos_cmds_module modules/mod_zos_cmds.so 
Nota: Se não estiver utilizando um nome de tarefa consistente de oito caracteres para todos os processos, é preciso determinar se o nome da tarefa do processo que está tratando os comandos do operador z/OS é instância do servidor da web. Quando o servidor é iniciado, ele emitirá uma mensagem para o operador do console que identifica a tarefa que está tratando os comandos do operador.
BPXM023I
(WASTST1) IHS está ativo. Use o nome da tarefa HTTPDWS1 para comandos
MVS.
onde WASTST1 é o ID do usuário sob o qual o servidor da web está executando. Uma entrada será escrita no log de erro que também identifica o nome da tarefa. Note que o nome da tarefa do daemon mod_zos_cmds é HTTPDWS1. Quando um comando MODIFY é inserido, ele é destinado para todas as tarefas com o nome de tarefa especificado. Apenas um dos processos do servidor da web irá aceitar o comando. O sistema emitirá a seguinte mensagem para cada uma das outras tarefas com o mesmo nome de tarefa.
IEE342I MODIFY   REJECTED-TASK BUSY
  • Para parar o servidor usando o comando de parar:
    P HTTPDWS1
  • Para reiniciar o servidor usando o comando modificar, insira:
    F HTTPDWS1,appl='restart'
  • Para reiniciar elegantemente o servidor usando o comando modificar, insira:
    F HTTPDWS1,appl='graceful'
Quando o servidor parar com o módulo zos cmds ativo, ele emitirá a seguinte mensagem para o console do operador.
BPXM023I
(WASTST1) IHS está parando
onde WASTST1 é o ID do usuário sob o qual o servidor da web está sendo executado.
Boas Práticas 2: Os arquivos de saída são sobrescritos cada vez que o procedimento é utilizado. Eles poderão conter mensagens de aviso sobre a configuração ou mensagens de erro de falhas na inicialização. Para reter um log dessas mensagens entre os diversos usos do procedimento, modifique as duas ocorrências da opção PATHOPTS no procedimento de amostra para PATHOPTS=(OCREAT,OAPPEND,OWRONLY). Para obter informações adicionais sobre a opção PATHOPTS, consulte a Referência de JCL do MVS (SA22-7597) do z/OS. Crie o link para este documento a partir do z/OS Internet Library.
Boas Práticas 3: A instrução STDENV DD não é recomendada. Você pode considerar incluir configurações de variável de ambiente no arquivo bin/envvars dentro do diretório de tempo de execução para que as variáveis estejam ativar se o IBM HTTP Server for iniciado a partir da JCL ou do ambiente do UNIX.
Boas Práticas 4: O parâmetro SH de BPXBATCH é recomendado, em vez do parâmetro PGM. O processamento para o parâmetro PGM ignora as configurações padrão do sistema no arquivo /etc/profile, incluindo a configuração de umask, e os arquivos criados pelo IBM HTTP Server não possuem as permissões corretas.

Ícone que indica o tipo de tópico Tópico de Conceito



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=ihs-dist&topic=cihs_startsysconz
Nome do arquivo: cihs_startsysconz.html