Automatize a configuração do WERC no OpenBSD.
Os scripts setup.sh e unsetup.sh , em sua versão mais recente disponível (v2.1), foram testados com sucesso no último lançamento estável do OpenBSD disponível (7.6). As versões anteriores ou posteriores do OpenBSD podem não funcionar.
Executar uma atualização de liberação do OpenBSD (por exemplo, usando o SysUpGrade (8)) pode quebrar a instalação atual do WERC. É aconselhado sempre testar sua instalação do WERC após executar uma atualização do sistema, uma atualização do WERC ou uma atualização do Plan9Port. Se parar de funcionar, vá para solucionar problemas.
Por enquanto, a instalação resultante do setup.sh foi testada apenas com solicitações GET , que ele suporta com certeza. Outros tipos de solicitações HTTP podem ou não funcionar (por exemplo, o recurso "Login do usuário"). As regras baseadas em URL em /etc/httpd.conf ( location ... ) podem precisar de uma configuração diferente para oferecer suporte a solicitações HTTP que não GET .
Um commit marcado com o nome da tag do formulário vN.M (onde N e M são inteiros), é um commit cuja árvore de trabalho tem as seguintes características:
setup.sh e unsetup.sh , testados contra a mais recente versão estável do OpenBSD (disponível naquele momento) com resultado positivo e nenhum efeito colateral conhecido no sistema.Como o processo de teste é manual, posso ignorar alguns casos de borda, às vezes de propósito e às vezes não. Eu me preocupo com a qualidade do meu software, mas testar todas as linhas em relação a todos os seus casos de borda possíveis é realmente demorado e insustentável.
(Movido para rat.md.)
NOTA : Para preservar os arquivos de configuração originais que serão modificados, o script de configuração os apóia adicionando .bk ao final de seu nome. Por exemplo, o conteúdo original de /etc/httpd.conf é copiado para /etc/httpd.conf.bk . Para restaurar os arquivos originais, o script Unsetup renomeia os arquivos de backup com seu nome original, substituindo a versão alterada.
Na lista a seguir, $webdir e $p9pdir consulte o diretório de conteúdo da Web do httpd , por padrão /var/www , e o diretório de instalação do Plan9port com $webdir como root, por padrão /plan9 .
/etc/httpd.conf.bk e /etc/fstab.bk já existem no sistema de arquivos da sua máquina? Nesse caso, setup.sh provavelmente os substituirá, considere renomeá -los ou removê -los.$webdir que não podem ser perdidos? O script de configuração cria novos arquivos no $webdir , que podem substituir os existentes enquanto o script Unsetup remove alguns diretórios que podem excluir esses arquivos. Considere mover arquivos importantes do $webdir .setup.sh novamente, nem a execução unsetup.sh , o reparará. (Se isso aconteceu, você tem sorte.) Dependendo de quais comando falhou e do tipo de erro, você poderá reparar manualmente a instalação por si mesmo. No entanto, esse nem sempre é o caso e é um procedimento propenso a erros, por isso não é aconselhado. O procedimento a seguir baixar scripts usando a tag de lançamento mais recente. A tag mais recente mostrada no URL abaixo é atualizada manualmente, verifique se corresponde à versão mais recente real antes de prosseguir. Não é recomendável (de todo) executar scripts da filial main .
O procedimento a seguir refere -se ao script de configuração ( setup.sh ). Para o script un-setup ( unsetup.sh ), o procedimento é o mesmo, exceto o nome do script.
O procedimento é o seguinte, escrito em etapas legíveis por humanos e como comandos:
domain (e webdir , se necessário) à vontade.ftp https://raw.githubusercontent.com/EdoardoLaGreca/werc-on-openbsd/v2.1/setup.sh
sha256 -q setup.sh
vi setup.sh # change domain and webdir
chmod 744 setup.sh
doas ./setup.sh O script de configuração não inicia automaticamente httpd e slowcgi . Ele se comporta assim por dois motivos: em primeiro lugar, você pode fazer algumas alterações finais em seu site antes de exibi -lo publicamente; Em segundo lugar, se /etc/fstab foi alterado pelo script, você precisa reiniciar seu sistema antes de iniciar o servidor da web. O script deve exibir uma mensagem de log se você precisar reiniciar (e/ou /etc/fstab foi alterado). A ausência de tal mensagem no log significa que a reinicialização não é necessária. Tudo isso não se aplica a unsetup.sh .
Em vez de executar o script inteiro, pode -se executar apenas uma ou algumas peças, por exemplo, depurar o script ou executar novamente uma peça que não poderia terminar com sucesso. Fazer isso é tão simples quanto passar os nomes de peças para o script como argumentos. Um exemplo é mostrado abaixo.
./setup.sh preinst inst Embora a linha acima use setup.sh , unsetup.sh também se comporta dessa maneira.
É uma boa prática manter o software atualizado, tanto para receber novos recursos quanto para corrigir as vulnerabilidades existentes.
Ao usar o WERC, 4 peças de software precisam ser mantidas atualizadas:
httpd e slowcgi ) A menos que você esteja usando a ramificação -current do OpenBSD, httpd e slowcgi geralmente são atualizados em todas as atualizações do sistema. Eles são bastante seguros e minimalistas, portanto, mantê -los atualizados não é essencial. Esses programas fazem parte da árvore de origem do OpenBSD, que contém todo o sistema operacional, incluindo seu kernel, bibliotecas essenciais e todos os utilitários pré -instalados. Todo o software nessa árvore de origem sofre graves auditorias de segurança, é por isso que elas são tão seguras.
Por outro lado, é importante manter o WERC e o Plan9port atualizados. Para fazer isso, execute as seguintes linhas na concha. Eles removem as instalações WERC e Plan9port existentes, baixam sua versão atualizada e as instalam novamente.
doas ./unsetup.sh uninst rm9env
doas ./setup.sh inst mk9envA menos que você queira contribuir para o desenvolvimento, pule esta seção.
Um script de teste, nomeadamente test.sh , automatiza o teste dos scripts de configuração e Unsetup. O script de teste contém três funções principais:
init , que executa todas as tarefas preliminaressetup , que executa o script de configuração e coleta informações sobre as alterações no sistema de arquivosunsetup , que é o mesmo que setup , mas com o script não definidoO comportamento do script de teste é semelhante ao dos scripts de configuração e Unsetup: as funções podem ser chamadas especificando -as como argumentos da linha de comando. No entanto, há uma pequena diferença, que é que executar o script sem argumentos não é diferente de não executar o script. Esse comportamento é uma escolha que, em teoria, deve reduzir os testes descuidados.
Pode acontecer que, depois de atualizar o OpenBSD, seu site para de funcionar e mostre apenas "500 erros do servidor interno".
Embora a razão exata por trás desse comportamento deva ser cuidadosamente analisada e compreendida, você pode tentar desinstalar e reinstalar o WERC e o Plan9port. O procedimento é o mesmo que se você os atualizasse.
doas ./unsetup.sh uninst rm9env
doas ./setup.sh inst mk9envEssas somas de verificação são calculadas na árvore de trabalho da versão mais recente.
setup.sh:
7a08ee3a8e824f9a54b9a471ef0ebc6fb7ee2a848f13a33264b42a3e9d8817da
unsetup.sh:
18f74da2537dc4dcc97c3fc6d4439faf6340f068309d9110a5dc098b899c3e50
A partir da v2.0, o projeto agora está licenciado sob a licença do ISC, em vez do Creative Commons Zero. A maioria das coisas não muda, exceto para fornecer aos usuários e colaboradores mais direitos.