Usando Apache Com Novell NetWare descarregar espaço de endereço apache2 apache2 Ao trabalhar com Apache é importante saber como ele vai encontrar os arquivos de configuração. Você pode especificar um arquivo de configuração na linha de comando de duas maneiras: - f especifica um caminho para um arquivo de configuração específico apache2 - f vol: / meu servidor / conf / my. conf apache - f test / test. conf Nesses casos, O ServerRoot apropriado deve ser definido no arquivo de configuração. Se você não especificar um nome de arquivo de configuração com - f. O Apache usará o nome do arquivo compilado no servidor, geralmente conf / httpd. conf. Invocar o Apache com a opção - V exibirá esse valor rotulado como SERVERCONFIGFILE. Apache irá então determinar o seu ServerRoot, tentando o seguinte, nesta ordem: A ServerRoot diretiva através de um - C switch. A opção - d na linha de comando. Diretório de trabalho atual A raiz do servidor compilada no servidor. A raiz do servidor compilada no servidor é geralmente sys: / apache2. Invocar apache com a opção - V exibirá esse valor rotulado como HTTPDROOT. O Apache 2.0 para NetWare inclui um conjunto de diretrizes de linha de comando que podem ser usadas para modificar ou exibir informações sobre a instância em execução do servidor web. Essas diretrizes só estão disponíveis enquanto o Apache estiver em execução. Cada uma dessas diretivas deve ser precedida pela palavra-chave APACHE2. RESTART Instrui o Apache a encerrar todos os threads de trabalho em execução à medida que ficam ociosos, releia o arquivo de configuração e reinicie cada thread de trabalho com base na nova configuração. VERSION Exibe informações de versão sobre a instância em execução do Apache. MÓDULOS Exibe uma lista de módulos carregados tanto internos como externos. DIRECTIVAS Exibe uma lista de todas as diretivas disponíveis. AJUSTES Ativa ou desativa a exibição do status do segmento no console. Quando ativado, o estado de cada thread em execução é exibido na tela do console do Apache. SHUTDOWN Encerra a instância em execução do servidor web Apache. HELP Descreve cada uma das diretivas de tempo de execução. Por padrão, essas diretivas são emitidas contra a instância do Apache rodando no espaço de endereço do SO. Para emitir uma diretiva contra uma instância específica em execução em um espaço de endereço protegido, inclua o parâmetro - p juntamente com o nome do espaço de endereço. Para obter mais informações, digite apache2 Help na linha de comando. O Apache é configurado pela leitura de arquivos de configuração geralmente armazenados no diretório conf. Estes são os mesmos que os arquivos usados para configurar a versão Unix, mas existem algumas diretivas diferentes para o Apache no NetWare. Consulte a documentação do módulo Apache para obter todas as diretivas disponíveis. As principais diferenças no Apache para NetWare são: Como o Apache para NetWare é multithreaded, ele não usa um processo separado para cada solicitação, como o Apache faz em algumas implementações do Unix. Em vez disso, há apenas segmentos em execução: um thread pai e vários segmentos filho ou de trabalho que tratam as solicitações. Portanto, as diretivas de gerenciamento de processo são diferentes: MaxRequestsPerChild - Como a diretiva Unix, isso controla quantas solicitações um segmento de trabalho será exibido antes de sair. O padrão recomendado, MaxRequestsPerChild 0. faz com que o segmento continue solicitação de manutenção indefinidamente. Recomenda-se no NetWare, a menos que haja alguma razão específica, que esta diretiva permaneça sempre definida como 0. StartThreads - Esta diretiva informa ao servidor quantos threads ele deve iniciar inicialmente. O padrão recomendado é StartThreads 50. MinSpareThreads - Esta diretiva instrui o servidor a gerar threads de trabalho adicionais se o número de segmentos ociosos nunca cair abaixo desse valor. O padrão recomendado é MinSpareThreads 10. MaxSpareThreads - Esta diretiva instrui o servidor a iniciar terminando threads de trabalho se o número de segmentos ociosos nunca exceder esse valor. O padrão recomendado é MaxSpareThreads 100. MaxThreads - Esta diretiva limita o número total de threads de trabalho para um valor máximo. O padrão recomendado é ThreadsPerChild 250. ThreadStackSize - Esta diretiva informa ao servidor o tamanho da pilha a ser usada para o segmento de trabalho individual. O padrão recomendado é ThreadStackSize 65536. As diretivas que aceitam nomes de arquivos como argumentos devem usar nomes de arquivo NetWare em vez de nomes Unix. No entanto, como o Apache usa nomes de estilo Unix internamente, barras oblíquas devem ser usadas em vez de barras invertidas. É recomendável que todos os caminhos de arquivo com raízes comecem com um nome de volume. Se omitido, o Apache assumirá o SYS: volume que pode não estar correto. O Apache para NetWare tem a capacidade de carregar módulos em tempo de execução, sem recompilar o servidor. Se o Apache for compilado normalmente, ele irá instalar um número de módulos opcionais no diretório Apache2modules. Para ativar estes, ou outros módulos, a diretiva LoadModule deve ser usada. Por exemplo, para ativar o módulo de status, use o seguinte: LoadModule statusmodule modules / status. nlm Informações sobre a criação de módulos carregáveis também estão disponíveis. CGIMapExtension - Esta diretiva mapeia uma extensão de arquivo CGI para um interpretador de script. SecureListen - Ativa a criptografia SSL para uma porta especificada. NWSSLTrustedCerts - Adiciona certificados confiáveis que são usados para criar conexões seguras para servidores proxy. NWSSLUpgradeable - Permite que uma conexão criada no endereço / porta especificado seja atualizada para uma conexão SSL. A compilação do Apache requer o CodeWarrior 6.x ou superior da MetroWerks. Uma vez que o Apache foi construído, ele pode ser instalado na raiz de qualquer volume do NetWare. O padrão é o diretório sys: / Apache2. Antes de executar o servidor, você deve preencher o diretório conf. Copie o arquivo HTTPD-STD. CONF do diretório conf de distribuição e renomeie-o para HTTPD. CONF. Edite o arquivo HTTPD. CONF pesquisando todos os marcadores de Valor e substituindo-os pela configuração apropriada. Copie também os arquivos conf / magic e conf / mime. types. Como alternativa, uma distribuição completa pode ser construída incluindo a palavra-chave install ao invocar os makefiles. As seguintes ferramentas de desenvolvimento são necessárias para criar o Apache 2.0 para NetWare: Definir a variável de ambiente NOVELLLIBC para o local das bibliotecas NetWare para SDK C, por exemplo: Definir a variável de ambiente METROWERKS para o local onde você instalou o compilador Metrowerks CodeWarrior, por exemplo : Set METROWERKSC: Program FilesMetrowerksCodeWarrior Se você instalou para o local padrão C: Program FilesMetrowerksCodeWarrior. Você não precisa definir isso. Defina a variável de ambiente LDAPSDK para o local onde você instalou as bibliotecas LDAP para C, por exemplo: Definir a variável de ambiente ZLIBSDK para o local onde você instalou o código-fonte para a biblioteca ZLib, por exemplo: Definir a variável de ambiente APWORK para o total Caminho do diretório de código-fonte httpd. Defina a variável de ambiente APRWORK para o caminho completo do diretório de código-fonte apr. Tipicamente httpdsrclibapr, mas o projeto APR pode estar fora da estrutura do diretório httpd. Defina a variável de ambiente APUWORK para o caminho completo do diretório de código-fonte apr-util. Tipicamente httpdsrclibapr-util, mas o projeto APR-UTIL pode estar fora da estrutura de diretório httpd. Certifique-se de que o caminho para o utilitário AWK eo utilitário de criação GNU (gmake. exe) tenham sido incluídos na variável de ambiente PATH. Faça o download do código-fonte e descompacte-o em um diretório apropriado em sua estação de trabalho. Altere o diretório para httpd-2.0 e crie os utilitários de pré-compilação executando gmake - f nwgnumakefile prebuild. Este destino criará o diretório httpd-2.0nwprebuild e copiará cada um dos utilitários para este local que são necessários para concluir as etapas de compilação a seguir. Copie os arquivos httpd-2.0nwprebuildGENCHARS. nlm e httpd-2.0nwprebuildDFTABLES. nlm para o SYS: volume de um servidor NetWare e execute-os usando os seguintes comandos: SYS: g_system gt sys: testchar. h SYS: dftables sys: chartables. c Copie os arquivos testchar. h e chartables. c no diretório httpd-2.0osnetware na máquina de compilação. Altere o diretório para httpd-2.0 e crie o Apache executando gmake - f nwgnumakefile. Você pode criar um diretório de distribuição adicionando um parâmetro de instalação ao comando, por exemplo: gmake - f nwgnumakefile install gmake - f nwgnumakefile Constrói versões de lançamento de todos os binários e os copia para um diretório de destino de release. Gmake - f nwgnumakefile DEBUG1Builds depura as versões de todos os binários e copia-os para um diretório de destino de depuração. Gmake - f nwgnumakefile installCrie uma distribuição completa do Apache com binários, documentos e arquivos de suporte adicionais em um diretório distApache2. Gmake - f nwgnumakefile prebuildBuilds todos os utilitários de pré-compilação e os copia para o diretório nwprebuild. Gmake - f nwgnumakefile installdevSame como instalar, mas também cria um diretório lib e include no diretório de destino e copia cabeçalhos e arquivos de importação. Gmake - f nwgnumakefile cleanCleans todos os arquivos de objetos e binários das áreas de compilação release. o ou debug. o dependendo se o DEBUG foi definido. Gmake - f nwgnumakefile clobberallSame como limpo e também exclui o diretório de distribuição, se existir. Para construir todos os módulos experimentais, defina a variável de ambiente EXPERIMENTAL. Para criar o Apache usando soquetes de estilo BSD padrão, em vez de Winsock, defina a variável de ambiente USESTDSOCKETS. Por padrão, o Apache para NetWare usa o módulo interno modnwssl para fornecer serviços SSL. Este módulo simplesmente permite que os serviços SSL nativos implementados no SO NetWare gerenciem toda a criptografia para uma determinada porta. Alternativamente, modssl também pode ser usado da mesma maneira que em outras plataformas. Antes que modssl possa ser construído para a plataforma NetWare, as bibliotecas OpenSSL devem ser fornecidas. Isso pode ser feito através das seguintes etapas: Baixe o código fonte do OpenSSL 0.9.8 release original da página OpenSSL Source (as versões 0.9.7 mais antigas precisam ser corrigidas e, portanto, não são recomendadas). Edite o arquivo NetWare / setenv. bat e modifique quaisquer caminhos de ferramentas e utilitários para que correspondam ao seu ambiente de compilação. Na raiz do diretório de origem do OpenSSL, execute os seguintes scripts: Netwaresetenv netware-libc Netwarebuild netware-libc Por motivos de desempenho, você deve habilitar a compilação com código ASM. Faça o download do NASM do site SF. Em seguida, configure o OpenSSL para usar o código ASM: Netwarebuild netware-libc nw-nasm enable-mdc2 enable-md5 Aviso: não use o CodeWarrior Assembler - ele produz código quebrado Antes de criar o Apache, defina a variável de ambiente OSSLSDK para o caminho completo para a raiz de O diretório de código-fonte openssl e defina WITHMODSSL como 1.Set OSSLSDKd: openssl-0.9.8x Definir WITHMODSSL1 Observação: Esta não é uma seção QampA. Os comentários colocados aqui devem ser apontados para sugestões sobre como melhorar a documentação ou o servidor e podem ser removidos novamente por nossos moderadores se eles forem implementados ou considerados inválidos / fora do tópico. Perguntas sobre como gerenciar o Servidor HTTP Apache devem ser direcionadas para nosso canal IRC, httpd, no Freenode, ou enviadas para nossas listas de discussão. Copyright 2016 A Apache Software Foundation. Licenciado sob a Licença Apache, Versão 2.0. Configurando o Servidor Web Apache Debaixo de Linux por Andy Kahn, kahncs. ucla. edu Este artigo é basicamente um resumo das minhas experiências de configuração de um servidor web sob Linux. Vou começar com onde / como obter Apache, em seguida, passar para a instalação, configuração e, finalmente, como fazer as coisas correrem. Este artigo é escrito do ponto de vista do meu sistema, que é um sistema Red Hat 4.0 com v2.0.25 do kernel. No entanto, uma instalação quotgenericquot ou uma configuração semelhante também deve ser aplicada. Onde obter o Apache O lugar óbvio para obter a versão mais recente do Apache é fora do site Apache: apache. org. O arquivo de distribuição de origem é apache1.1.1.tar. gz enquanto os binários ELF do Linux são apache1.1-linux-ELF. tar. gz. Pegue o que você achar necessário. Se você estiver executando o Red Hat Linux 4.0 como eu sou, durante o processo de instalação você pode selecionar se deseja ou não instalar um servidor web. Se você fizer isso, o Red Hat 4.0 inclui o Apache mais recente e instala tudo automaticamente com uma configuração padrão. Esta configuração padrão ainda RUNS corretamente sem quaisquer modificações No entanto, mesmo neste caso, leia minhas notas e preferências sobre a instalação na próxima seção. Normalmente, a menos que você precise adicionar módulos ou recursos especiais, a distribuição binária ou a instalação padrão do Red Hat deve estar bem. No entanto, vamos dizer que você queria executar o Apache como um servidor proxy. Nesse caso, você precisaria da fonte para que você pudesse compilar o módulo proxy como parte do binário. (Nota: Eu tenho ouvido rumores de que o binário incluído com o Red Hat 4.0 tem alguns bugs. Eu ainda tenho que encontrar qualquer eu mesmo, então tome esse rumor com um grande grão de sal.) Instalação Im não vai cobrir compilar Apache desde a sua realmente Um processo bastante indolor e bem documentado. Dado que, vamos passar para a instalação real. Pessoalmente, gosto de agrupar todos os arquivos do servidor web em um local centralizado. Se você estiver instalando isso manualmente, então isso é algo que você pode fazer desde o início, e eu sugiro altamente fazer isso, uma vez que irá reduzir a cabeça de administração. Se você tivesse o Apache instalado automaticamente como parte do procedimento de instalação do Red Hat, as coisas NÃO seriam centralizadas. Na verdade, eu achei que o esquema de colocação de arquivos era um dos mais confusos que eu já encontrei. Heres o que a instalação do Red Hat faz: binários do servidor web Eu achei que isso era realmente desorganizado, então eu acabei colocando principalmente tudo sob um diretório (deixei os binários em / usr / sbin): Você deve acabar com: E então Preservar os locais originais do arquivo de Redhat: Finalmente, eu adicionei este link desde que eu senti que fêz mais sentido: Se você estiver instalando e compilando Apache manualmente, você pode querer ter os arquivos originais da fonte igualmente encontrados sob / httpd (ou o diretório que você ter). Configuração O Apache possui três arquivos de configuração principais: access. conf. Httpd. conf. E srm. conf. Se você estiver executando o Red Hat 4.0, esses arquivos já estarão configurados com os caminhos de diretório corretos. Se você centralizou as localizações de todos esses arquivos, mas fez esses links simbólicos como mencionei acima, as coisas ainda vão ficar bem, pois os links simbólicos preservam onde a Red Hat instalou tudo. Se você estiver fazendo uma instalação quotgenericquot ou tiver alguma outra configuração, então você precisará fazer o seguinte: Em access. conf. Alterar / atualizar essas entradas de diretório: Essencialmente, essas são as diretrizes necessárias nos arquivos de configuração que precisam ser atualizados com a nova organização quotcentralizedquot. Para obter mais opções de configuração, eu terei que dar a instrução padrão, quotPor favor, consulte o docs. quot :) Iniciando / executando o servidor Web Para fazer uma longa história curta, você simplesmente precisa executar o quothttpdquot binário. Normalmente, isso é feito quando o sistema é iniciado, em um dos arquivos rc. No Red Hat 4.0, ele tem mais de um estilo de inicialização System Vish. Em /etc/rc. d/init. d reside o httpd. init. Que é o script usado para iniciar e parar o httpd. Você também pode executar isto manualmente se você encontrar a necessidade. Para outros sistemas (ou uma instalação manual), sugiro iniciar o httpd após a maioria dos outros serviços terem sido iniciados (ou seja, colocá-lo no rc. local). Uma linha simples, como Obviamente, ele deve iniciar após TCP / IP rede foi iniciado. ) O que é seguinte Não é preciso dizer, eu não cobrir opções de configuração reais e como gerenciar seu servidor web. As opções de configuração deixo para o manual do Apache. Gerenciando o próprio servidor web depende do tipo de site que você deseja executar. Meu próprio sistema não funciona um Web site real em outras palavras, eu não o anuncio para qualquer coisa porque não serve nenhuma finalidade real à excepção para minha própria experimentação. No entanto, você é mais que bem-vindo a dar uma olhada, uma vez que tem um monte de links relacionados ao Linux para ele. O URL pode ser encontrado no final deste artigo. Além disso, eu adoraria ouvir quaisquer comentários e / ou críticas que você possa ter sobre o que eu escrevi. Originalmente, meu plano era escrever um artigo mensal sobre a execução / gerenciamento de um servidor web sob Linux. No entanto, a curto de realmente escrever um manual sobre a configuração do Apache (que a documentação do Apache é bom o suficiente como uma referência), eu não sei o que mais escrever, pois não pode ser tudo o que escrever. No entanto, uma idéia para uma coisa mensal que pode ser boa é coletar dicas, truques e outras informações úteis relacionadas à execução de um servidor web em Linux. Pense nisso mais como um quot2 cent dicas para um servidor web linux. quot Se alguém está interessado neste, por favor, deixe-me uma nota cópia Copyright 1996, Andy Kahn Published in Issue 12 do Linux GazetteThe Apache Tomcat Conectores - Servidor Web HowTo This O documento explica como conectar o Tomcat ao popular servidor web de código aberto, Apache HTTP Server. Você pode usar o módulo de conexão modjk com qualquer versão do Apache começando com 1.3 e qualquer versão do Tomcat começando com (pelo menos) 3.2. Recomenda-se que você também leia o documento Trabalhadores HowTo para aprender a configurar as entidades de trabalho entre seu servidor web e Tomcat Engines. Para obter informações de configuração mais detalhadas, consulte o Guia de Referência para workers. properties. Uriworkermap e Apache. Aviso: se o Apache e o Tomcat estiverem configurados para exibir conteúdo do mesmo local do sistema de arquivos, deve-se ter cuidado para garantir que o Apache não possa veicular conteúdo impróprio, como o conteúdo do diretório WEB-INF ou o código-fonte JSP. Isso pode ocorrer se o Apache DocumentRoot se sobrepõe a um appBase do Tomcat Hosts ou ao docBase de qualquer Context. Também pode ocorrer ao usar a diretiva Apache Alias com um appBase do Tomcat Hosts ou o docBase de qualquer Context. Este documento era originalmente parte do Tomcat: Um Guia de Usuários Minimalistas escrito por Gal Shachor, mas foi separado por razões organizacionais. Document Conventions and Assumptions é o diretório raiz do tomcat. Sua instalação Tomcat deve ter os seguintes subdiretórios: conf - onde você pode colocar vários arquivos de configuração webapps - contendo exemplos de aplicativos bin - onde você coloca plugins de servidor web Em todos os exemplos neste documento será / var / tomcat3. Um trabalhador é definido como um processo tomcat que aceita trabalho do servidor Apache. O modjk módulo foi desenvolvido e testado em: Linux, FreeBSD, AIX, HP-UX, MacOS X, Solaris e deve funcionar em grandes plataformas Unixes suportando Apache 1.3 e / ou 2.x WinNT4.0-i386 SP4 / SP5 / SP6a Deve ser capaz de trabalhar com outros service packs), Win2K e WinXP e Win98 Cygwin (até que você tenha um servidor Apache e ferramentas de suporte autoconf / automake) Netware i5 / OS V5R4 (Sistema I) com Apache HTTP Server 2.0.58. Certifique-se de ter instalado o último PTF do Apache. Tomcat 3.2 para Tomcat 8. O módulo modjk usa o protocolo AJP para enviar solicitações para os contêineres Tomcat. A versão AJP normalmente usada é ajp13. Tomcat suporta ajp13 desde Tomcat 3.2. Outros motores de servlet como Jetty ou JBoss também suportam o protocolo ajp13 O protocolo ajp12 foi reprovado e você não deve mais usá-lo. O protocolo ajp14 é considerado experimental. Em poucas palavras, um servidor web está aguardando solicitações HTTP do cliente. Quando essas solicitações chegam, o servidor faz o que for necessário para atender às solicitações, fornecendo o conteúdo necessário. Adicionar um recipiente de servlet pode alterar um pouco este comportamento. Agora, o servidor web também precisa executar o seguinte: Carregar a biblioteca de adaptadores de contêiner de servlet e inicializá-la (antes de atender a solicitações). Quando um pedido chega, ele precisa verificar e ver se uma determinada solicitação pertence a um servlet, se assim ele precisa deixar o adaptador tomar o pedido e lidar com ele. O adaptador, por outro lado, precisa saber quais pedidos ele vai servir, geralmente com base em algum padrão no URL de solicitação e para onde direcionar essas solicitações. As coisas são ainda mais complexas quando o usuário quer definir uma configuração que usa hosts virtuais ou quando eles querem que vários desenvolvedores trabalhem no mesmo servidor web, mas em diferentes JVMs de contêiner de servlet. Vamos cobrir estes dois casos nas seções avançadas. Modjk pode ser obtido em dois formatos - binário e fonte. Dependendo da plataforma em que você está executando o seu servidor web, uma versão binária do modjk pode estar disponível. Recomenda-se usar a versão binária, se houver alguma disponível. Se o binário não estiver disponível, siga as instruções dadas nas seções de modjk Building abaixo para construir o modjk a partir da fonte. O modjk fonte pode ser baixado de um espelho aqui Os binários para modjk estão agora disponíveis para várias plataformas. Os binários estão localizados em subdiretórios por plataforma. Para algumas plataformas, como o Windows, esta é a maneira típica de obter o modjk, já que a maioria dos sistemas Windows não tem compiladores C. Para outros, a distribuição binária do modjk oferece uma instalação mais simples. Por exemplo JK 1.2.x pode ser baixado a partir de um espelho aqui (procure lançamentos binários JK 1.2). O link JK 1.2 Binary Releases contém versão binária para uma variedade de sistemas operacionais para Apache 1.3 e Apache 2.x. Modjk requer duas entidades: modjk. xxx - O módulo Apache HTTP Server, dependendo do seu sistema operacional, será modjk. so, modjk. nlm ou MODJK. SRVPGM (consulte a seção de compilação). Workers. properties - Um arquivo que descreve o (s) host (s) e porta (s) utilizados pelos trabalhadores (processos Tomcat). Um exemplo workers. properties pode ser encontrado sob o diretório conf no download de origem. Além disso, como com outros módulos Apache, modjk deve ser instalado primeiro no diretório de módulos de seu servidor HTTP Apache, ou seja: / usr / lib / apache e você deve atualizar seu arquivo httpd. conf. Se você já configurou o Apache para usar modjserv. Remova quaisquer diretivas ApJServMount do seu httpd. conf. Se você está incluindo tomcat-apache. conf ou tomcat. conf. Você vai querer removê-los também - eles são específicos para modjserv. As diretrizes de configuração do modjserv não são compatíveis com o modjk. O Tomcat auto-configure está obsoleto e foi removido no Tomcat 7 e posterior. A configuração automática funciona somente para um único Tomcat rodando na mesma máquina em que o Servidor HTTP Apache está sendo executado. A maneira mais simples de configurar o Apache HTTP Server para usar o modjk é ativar a configuração de configuração automática do Apache HTTP Server no Tomcat e colocar a seguinte diretriz de inclusão no final do arquivo httpd. conf do Apache (certifique-se de substituir TOMCATHOME pelo correto Caminho para a instalação do Tomcat: Nota: este arquivo também pode ser gerado como TOMCATHOME / conf / auto / modjk. conf Isso dirá ao Servidor HTTP Apache para usar diretivas no arquivo modjk. conf-auto na configuração do Apache. Criado ao ativar a autoconfiguração do Apache criando o arquivo workers. properties em TOMCATHOME / conf / jk / workers. properties e adicionando o ouvinte ao elemento Engine no arquivo server. xml de acordo com o exemplo a seguir. É específico do Tomcat 5.x, ao contrário de outras seções deste documento que também se aplicam a ramos anteriores do Tomcat. Então reinicie Tomcat e modjk. conf deve ser gerado. Para obter mais informações sobre esse tópico, consulte a documentação da API no Tomcat docs site. Custom modjk configuration Você deve usar a configuração personalizada quando: Você não poderia usar modjk. conf-auto desde que o motor Tomcat não está na mesma máquina que o seu servidor web Apache, ou seja, quando você tem um Apache na frente de um Tomcat Farm. Outro caso para a configuração personalizada é quando o seu Apache está na frente de muitos motores Tomcat diferentes, cada um com sua própria configuração, um caso geral em hospedagem ISP Além disso, a maioria dos webmasters Apache irá manter a configuração personalizada para poder ajustar as configurações para o seu real Necessidades. Exemplo de configuração simples A diretiva JkOptions permite definir várias opções de encaminhamento que habilitarão () ou desabilitarão (-) a opção seguinte. Sem quaisquer sinais de liderança, as opções serão ativadas. As quatro seguintes opções ForwardURIxxx são mutuamente exclusivas. Exatamente um deles é necessário, um prefixo de sinal negativo não é permitido com eles. O valor padrão é ForwardURIProxy desde a versão 1.2.24. Foi ForwardURICompatUnparsed na versão 1.2.23 e ForwardURICompat até a versão 1.2.22. Você pode desativar o padrão ativando uma das outras duas opções. Você deve deixar isso no seu valor padrão, a menos que tenha uma boa razão para alterá-lo. Todas as opções são herdadas do servidor global para hosts virtuais. As opções que suportam habilitar (mais opções) e desativar (menos opções), são herdadas da seguinte maneira: opções (vhost) plusoptions (global) - minusoptions (global) plusoptions (vhost) - minusoptions (vhost) Usando JkOptions ForwardURIProxy. O URI encaminhado será parcialmente recodificado após o processamento dentro do Apache e antes do encaminhamento para o Tomcat. Isso será compatível com a manipulação de URL local por modrewrite e com URL codificado IDs de sessão. Usando JkOptions ForwardURICompatUnparsed. O URI encaminhado será unparsed. Sua especificação compatível e seguro. Ele sempre encaminhará o URI de solicitação original, portanto, reescrever URIs com modrewrite e, em seguida, encaminhar o URI reescrito não funcionará. Usando JkOptions ForwardURICompat. O URI encaminhado será decodificado pelo Apache. Os caracteres codificados serão descodificados e componentes de caminho explícitos como .. já estarão resolvidos. Isso é menos compatível com especificações e não é seguro se você estiver usando o prefixo JkMount. Esta opção permitirá reescrever URIs com modrewrite antes de encaminhamento. Usando JkOptions ForwardURIEscaped. O URI encaminhado será a forma codificada do URI usado pelo ForwardURICompat. Componentes explícitos de caminho como .. já estarão resolvidos. Isso não funcionará em combinação com IDs de sessão codificadas por URL, mas permitirá reescrever URIs com modrewrite antes do encaminhamento. JkOptions RejectUnsafeURI irá bloquear todos os URLs, que contêm sinais de porcentagem ou barras invertidas após a descodificação. A maioria dos aplicativos da Web não usa esses URLs. Usando a opção RejectUnsafeURI, você pode bloquear vários ataques de codificação de URL bem conhecidos. Por padrão, essa opção não está definida. Você também pode realizar essa verificação com modrewrite, que é mais poderoso, mas também um pouco mais complicado. JkOptions CollapseSlashesTudo irá colapsar várias barras adjacentes nos URLs de solicitação antes de procurar as correspondências de montagem ou desmontagem. JkOptions CollapseSlashesUnmount irá recolher várias barras adjacentes nos URLs de solicitação apenas antes de procurar as correspondências de desmontagem. Este é o valor padrão. JkOptions CollapseSlashesNone nunca entrará em colapso várias barras adjacentes em URLs de solicitação antes de olhar para montar ou desmontar correspondências. Usar esse valor pode torná-lo vulnerável para ataques ignorando suas regras de desmontagem. JkOptions ForwardDirectories é usado em conjunto com a diretiva DirectoryIndex do Apache. Como este moddir deve estar disponível para o Apache, estaticamente ou dinamicamente (DSO) Quando DirectoryIndex estiver configurado, o Apache criará sub-requests para cada urls local especificado na diretiva, para determinar se existe um arquivo local que corresponda É feito por stat-ing o arquivo). Se o ForwardDirectories estiver definido como falso (padrão) e o Apache não encontrar quaisquer arquivos que correspondam, o Apache irá exibir o conteúdo do diretório (se a diretiva Options especificar Índices para esse diretório) ou 403 Forbidden response (se a diretiva Options não especificar Indexes for that diretório). Se ForwardDirectories estiver definido como true e o Apache não encontrar quaisquer arquivos que correspondam, o pedido será encaminhado para o Tomcat para resolução. Isso é usado nos casos em que o Apache não consegue ver os arquivos de índice no sistema de arquivos por várias razões: o Tomcat está sendo executado em uma máquina diferente, o arquivo JSP foi pré-compilado, etc. Note que os arquivos localmente visíveis terão precedência sobre os visíveis somente para Tomcat (ou seja, se Apache pode ver o arquivo, thats o que vai ser servido). Isso é importante se houver mais de um tipo de arquivo que o Tomcat normalmente serve - por exemplo páginas Velocity e páginas JSP. Definindo JkOptions ForwardLocalAddress. Você pede ao modjk para enviar o endereço local do Apache HTTP Server em vez do endereço do cliente remoto. Isso pode ser usado pela válvula de endereço remoto Tomcat para permitir conexões somente de servidores Apache configurados. Definindo JkOptions ForwardPhysicalAddress. Você pede ao modjk para enviar o endereço IP físico do peer TCP como o endereço do cliente. Por padrão, o modjk usa o endereço lógico fornecido pelo servidor web. Por exemplo, o módulo modremoteip define o endereço IP lógico para o IP do cliente encaminhado por proxies no cabeçalho X-Forwarded-For. JkOptions FlushPackets. Você pede modjk para liberar o buffer de conexão do Apaches depois de cada bloco de pacote AJP recebido do Tomcat. Esta opção pode ter uma forte penalidade de desempenho para o Apache eo Tomcat, uma vez que as gravações são executadas com mais freqüência do que seria normalmente exigido (ou seja: no final de cada resposta). JkOptions FlushHeader. Você pede modjk para liberar buffer de conexão Apaches depois que os cabeçalhos de resposta foram recebidos do Tomcat. JkOptions DisableReuse. Você pede ao modjk para fechar as conexões imediatamente após sua utilização. Normalmente modjk usa conexões persistentes e pools de conexões ociosas para reutilizá-las, quando novas solicitações têm que ser enviadas para o Tomcat. Usar esta opção terá uma forte penalidade de desempenho para o Apache e Tomcat. Use isso apenas como um último recurso no caso de problemas de rede não corrigíveis. Se um firewall entre o Apache e o Tomcat mata silenciosamente as conexões ociosas, tente usar o atributo worker socketkeepalive em combinação com um valor keepalive TCP apropriado em seu sistema operacional. JkOptions ForwardKeySize. Você pede ao modjk, ao usar ajp13, também encaminhar o Tamanho da Chave SSL conforme requerido pela API Servlet 2.3. Este sinalizador não deve ser definido quando o mecanismo de servlet é o Tomcat 3.2.x (desativado por padrão). JkOptions ForwardSSLCertChain. Você pede modjk, ao usar ajp13, para encaminhar cadeia de certificados SSL (desligado por padrão). Modjk só passa o SSLCLIENTCERT para o conector AJP. Isso não é um problema com certificados auto-assinados ou certificados assinados diretamente pelo certificado de CA raiz. No entanto, há um grande número de certificados assinados por um certificado CA intermediário, onde este é um problema significativo: Um servlet não terá a possibilidade de validar o certificado do cliente por conta própria. O bug seria corrigido passando o SSLCLIENTCERTCHAIN para o Tomcat através do conector AJP. Esta diretiva existe somente desde a versão 1.2.22. A diretiva JkEnvVar permite que você envie variáveis de ambiente do servidor Apache para o mecanismo Tomcat. Você pode adicionar um valor padrão como um segundo parâmetro para a diretiva. Se o valor padrão não for fornecido explicitamente, a variável será enviada apenas, se ela for definida durante o tempo de execução. As variáveis podem ser recuperadas no lado do Tomcat como atributos de solicitação via request. getAttribute (attributeName). Observe que as variáveis enviadas via JkEnvVar não serão listadas em request. getAttributeNames (). As variáveis são herdadas do servidor global para hosts virtuais. Building modjk for Apache on Windows The module was developed using Microsoft Visual C, so having Visual Studio installed is a prerequisite if you want to perform your own build. You can build the source using the IDE GUI, or using a pure commandline build based on nmake. The IDE build currently only supports building 32 Bit binaries. The nmake builds are available for 32 Bit and 64 Bit binaries. The common steps for all build procedures are: Set up your build environment for 32 Bits or 64 Bits. The IDE build only supports 32 Bits. Download the sources as a zip file and unpack it. Change directory to the ISAPI redirector source directory. Set your path to the Apache web server directory in your environment. Set up 32 or 64 Bit build environment or (not available for IDE build) Download tomcat-connectors-xxx-src. zip from c:gt unzip tomcat-connectors-xxx-src. zip Change directory to the modjk source directory. To build modjk for the Apache HTTP server 2.0, 2.2 or 2.4, use the apache-2.0 directory, for the old Apache HTTP server 1.3, the apache-1.3 directory. c:gt cd tomcat-connectors-xxx-srcnativeapache-2.0 Set the environment variable APACHE1HOME resp. APACHE2HOME resp. APACHE22HOME resp. APACHE24HOME to the installation path of your Apache web server. c:gt set APACHE24HOMED:softwareApachehttpd-2.4.16 The steps for an IDE build are then: Start Visual Studio using start modjk. dsp During IDE startup choose Yes in all conversion popups. Next choose a Configuration form the dropdown. There are pre-defined configurations for debug and release builds and in the apache-2.0 directory each of them is available as a configuration to build against the web server versions 2.0, 2.2 and 2.4. Finally choose Build Solution in the Build menu. The resulting file modjk. so (and the debug symbol file modjk. pdb) is located in the Debug resp. Release sub directory depending on the build Configuration chosen. For the apache-2.0 module the directories are named Debug20, Release20, Debug22, Release22, Debug24 and Release24 depending on the chosen build configuration. Alternatively the steps for an nmake commandline build are: Set your target architecture to X86 or X64 by editing the ARCH line in the file Makefile. vc. Issue nmake - f Makefile. vc The resulting file modjk. so (and the debug symbol file modjk. pdb) is located in the Debug resp. Release sub directory depending on the build Configuration chosen. For the apache-2.0 module the directories are named Debug20, Release20, Debug22, Release22, Debug24 and Release24 depending on the chosen build configuration. Finally you need to copy the file modjk. so to the modules directory of your Apache HTTP server (resp. the libexec directory for the old Apache 1.3). For Apache HTTP Server 1.3, ApacheCore. lib is expected to exist before linking modjk will succeed. Building modjk for Apache on System I - i5/OS (OS400) Since OS400 V4R5, System I (AS/400) has used Apache 2.0 as their primary web server, replacing the old IBM web server. Its now possible to build modjk on System I thanks to the help of the IBM Rochester Labs which has provided information and patches to adapt modjk to i5/OS. You should have at least Apache 2.0.58 (product 5722DG1), a C Compiler and IFS. Apache 2.0.58 is provided with the most recent set of PTFs for the iSeries Apache server, which can be found at ibm/servers/eserver/iseries/software/http/ The all latest Apache 2 for i5/OS V5R3 (or V5R4) is now 2.0.58 (as of 2007/04/17). Be sure to have the latest PTFs loaded if you want to make use of jk 1.2.15 and higher. NB: The latest modjk known to work on i5/OS V5R3 was 1.2.19. New in i5/OS V5R4, UTF is required, also for Apache modules, as such Apache modules do not require translations to/from EBCDIC but works should be done to port modjk 1.2.23 (and higher) to V5R4. From the V5R4 Infocenter: As of i5/OS(tm) V5R4, modules must be recompiled with a UTF locale. This creates an environment where locale-dependent C runtime functions assume that string data is encoded in UTF-8. Any hardcoded constants can be encoded in UTF-8 by adding a pragma convert(1208) statement in the module. Additionally, input data from the client will no longer be converted to EBCDIC but will be passed as-is. Output data sent from the module is not converted either so it must be encoded in ASCII or UTF8 as required. APR and HTTP APIs as of V5R4, expect data in UTF-8. Note that several APIs have additional functions that allow a CCSID to be set to indicate the encoding of the parameters being passed. Conversion functions between UTF-8 and EBCDIC have been added. Be sure to review APIs used by your module to be aware of current changes. To configure modjk on System I use the CL source provided with the modjk source. Get the latest modjk source and untar it on a Windows or Unix boxes Create a directory in IFS, ie /home/apache Send the whole jk source directory to System I directory via FTP. Then go to the System I command line: Create modjk library gt CRTLIB MODJK TEXT(145Apache modjk tomcat connector module) Create service program source file gt CRTSRCPF MODJK/QSRVSRC TEXT(145Service program source file146) Create the CL build program source file gt CRTSRCPF FILE(MODJK/QCLSRC) TEXT(145Build program source file146) Edit the service program source file gt STRSEU MODJK/QSRVSRC MODJK In the edited file, specify that only jkmodule should be exported: Getting modjk linked statically with Apache modjk allows to install modjk in the Apache source tree to get a statically linked modjk. Having modjk in the Apache executable brings some small performance improvements. The configure option --with-apache prepare modjk to install it in the Apache source tree. The option --with-apache works both for Apache 1.3 and Apache 2.x. The examples below show how to get modjk in the Apache process. /home/apache24/httpd-2.4.12 is the directory where the Apache HTTP Server sources are located. ./configure --with-apache/home/apache24/httpd-2.4.12 userhost Install the modjk library and other files in /home/apache24/httpd-2.4.12/modules: It is not possible to configure Apache directly because the config. m4 of modjk must be added to the configure of httpd-2.x. cd /home/apache24/httpd-2.4.12 userhost The enable-jkshare and enable-jkstatic are not supported. --with-modjk only allow static linking of modjk. /home/apache/apache1.3.27 is the directory where the apache-1.3 sources are located. ./configure --with-apache/home/apache/apache1.3.27 userhost Install the libjk library, modjk. c, includes and other files in /home/apache/apache1.3.27/src/modules/jk: Configure in the Apache sources: cd /home/apache/apache1.3.27 userhost configure. --enable-moduledir --disable-shareddir --activate-modulesrc/modules/jk/libjk. a --disable-sharedjk userhost The --enable-sharedjk is also working and builds a dso file. Just change the configure in the Apache sources: configure. --enable-moduledir --enable-shareddir --activate-modulesrc/modules/jk/libjk. a --enable-sharedjk
Comments
Post a Comment