Possíveis localizações de ssl.conf e httpd.conf

1

Estou tentando escrever um script em python que usa um arquivo de certificado e a chave privada e instala o certificado SSL no servidor Apache. O arquivo ssl.conf na minha máquina está localizado no diretório /etc/httpd/conf.d/ que eu acho normal. No entanto, quais são os outros diretórios em que o arquivo ssl.conf pode estar, dependendo da distrubuição?

E o ssl.conf é um recurso apenas para o Apache 2? Se o servidor rodando é o Apache 1, eu preciso localizar e editar o arquivo httpd.conf?

    
por Sean Nilan 26.08.2010 / 19:32

4 respostas

1

Você pode especificar um certificado por virtualhost ... (faz uso de indicações de servidor que são suportadas por quase todos os navegadores modernos). Quanto a fazer um script para instalar o cert automagicamente ... Isso seria em grande parte específico de distro (a menos que você faça muita codificação extra para fazer isso acontecer) a maioria das plataformas RHEL (se não todas) colocam coisas em / etc / httpd / ... onde o debian-flavored coloca em / etc / apache2 / ... e quem sabe onde mais pode acabar em outras distros.

Se você estiver com uma distro específica ... lembre-se de que também há muitas maneiras diferentes de fazer suas configurações. você pode ter 1 arquivo de configuração megalítico singular que contém tudo ... e você pode dividi-lo em componentes menores que carregam outras configurações ... (ou seja, como httpd.conf carrega conf.d / *. conf) ... ou até mesmo divida-o com configurações individuais por site, por módulo e uma dúzia de outras formas ...

Por padrão, no entanto, a maioria das plataformas ainda executando o apache 1 ... tradicionalmente tem 1 configuração megalítica que configura todo o apache ... e eu não acho que há uma opção para carregar arquivos de configuração adicionais. O Apache 2.0.41 introduziu o include com curingas para permitir coisas como:

Include /etc/httpd/conf.d/*.conf
Include /etc/httpd/mods-enabled/*.load
que encorajou muito mais as configurações quebradas.

Como uma boa ideia, sugiro que você padronize seus ambientes o máximo possível. Tentar suportar vários ambientes com vários tipos de configuração e várias versões de tudo é um pesadelo absoluto. Além disso, o Apache 1 está além da EoL. Claro, os hotfixes ainda podem ser lançados ... mas eu não confiaria nele para qualquer tipo de ambiente seguro. Ainda não encontrei nada que esteja disponível apenas no Apache 1. O Apache 2 está estável há 8 anos ... é hora de atualizar.

    
por 26.08.2010 / 23:05
0

No Apache 1, o mod_ssl não era um módulo embutido, e há alguns módulos diferentes para ativar o SSL. Na maioria dos casos, acho que a expectativa era que você incluísse apenas as diretivas necessárias em seus arquivos de configuração existentes.

Eu duvido que você possa escrever um script genérico que será aplicado em todas as plataformas, pois há muita variação, e para configurações complexas seu script quase certamente quebrará as coisas, em vez de ser bem-sucedido.

Não há necessidade de colocar a configuração relacionada ao ssl no arquivo ssl.conf. Nos meus hosts, onde eu tenho cerca de 30 hosts virtuais, o ssl.conf é praticamente não utilizado Eu armazeno as configurações específicas do host virtual (certs) no arquivo de configuração para esse host virtual.

Mas, para responder sua pergunta sobre sistemas baseados em Debian, você encontrará as configurações por servidor em /etc/apache2/mods-available/ssl.conf .

    
por 26.08.2010 / 20:09
0

Não pode ser feito. O mais próximo que você tem é apxs -q SYSCONFDIR .

Você precisaria de manipulação específica de distro.

Mesmo assim, um sysadmin aleatório não precisa seguir nenhuma convenção.

    
por 26.08.2010 / 21:30
0

FWIW, existe uma página do Apache Wiki que tenta gravar layouts específicos de distro .

    
por 16.09.2010 / 17:57