Https no koha 23

Boa tarde a todos, instalei o koha 23 no ubuntu 24 e está rodando perfeitamente via http, mas gostaria de habilitar o https para acesso seguro ao site, pois tornei ele acessível via dns e não por ip.

Possuo certificado digital wildcard para meu domínio e o arquivo do certificado em .p12 com a senha necessária.

Alguém sabe como instalo meu certificado no apache e faço com que o site rode em https. Acredito que é preciso também inserir alguma tag no htaccess

Se alguém puder ajudar objetivamente fico muito grato…

1 curtida

Bom dia!

Como você já tem os certificados e o arquivo .p12 acredito que o seguinte passo a passo vai funcionar:

1. Habilitar os seguintes módulos no apache:

sudo a2enmod ssl
sudo systemctl restart apache2

2. Acessar o .conf da sua biblioteca e colocar o endereço do seu certificado e chave

sudo nano /etc/apache2/sites-available/nome_da_sua_biblioteca.conf
#endereço da sua biblioteca no apache
<VirtualHost *:443>
   ServerName seu_dominio_ou_ip
   DocumentRoot /var/www/seu_dominio_ou_ip

   SSLEngine on #Habilitar o SSLEngine
   SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt #Arquivo do certificado
   SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key #Arquivo .key privado
</VirtualHost>

Lembre-se que o Koha tem 2 paginas padrão, o OPAC e a ADMIN, então será preciso fazer isso nas 2 páginas

3. Adicionar o redirecionamento para o HTTPS:

<VirtualHost *:80>

    # Redirecionar para HTTPS
    Redirect permanent / https://seu.dominio.com/
</VirtualHost>

4. Habilitar as configurações :

sudo a2ensite nome_da_sua_biblioteca.conf
sudo systemctl restart apache2

Realizando esse passo a passo o seu domínio deve começar a utilizar o https, mas no caso de erro você pode ver os logs com o seguinte comando:

sudo tail -f /var/log/apache2/error.log

Caso tenha mais dúvidas, fique à vontade para perguntar!

1 curtida

meus links estao com as seguintes portas

http://library.koha.ibia.mg.gov.br:8081/

http://library-intra.koha.ibia.mg.gov.br:8081/

basta trocar por estas portas?

Acredito que sim, no caso do link “library-intra.koha.ibia.mg.gov.br” por exemplo você configura a porta 8081:

<VirtualHost *:8081>
   ServerName library-intra.koha.ibia.mg.gov.br
    # Redireciona para HTTPS
    Redirect permanent / https://library-intra.koha.ibia.mg.gov.br/
</VirtualHost>

E coloca o ServerName no endereço do *443

ServerName library-intra.koha.ibia.mg.gov.br
1 curtida

Entendi, no caso o outro invés do 443 usarei o 8443, porque já tenho uma aplicação rodando em 443.

Outra dúvida, percebi que pede os arquivos do certificado em separado. Tenho o arquivo em p12, ou seja, único ambos crt e chave primaria dentro do p12. No caso então preciso exportar o p12 para crt e a chave primaria? Para subir nas pastas mencionadas em separado. Nese caso vou precisar recriar o certificado wildcard usando o alias e a senha desejada para validar o domínio todo!

Não é necessário recriar o seu certificado wildcard, é possível extrair e transformar os arquivos do formato “p12” para o formato “crt”, utilizado pelo Apache.

Acredito que os comando utilizados para conversão são esses:

openssl pkcs12 -in seu_certificado.p12 -clcerts -nokeys -out seu_certificado.crt
openssl pkcs12 -in seu_certificado.p12 -nocerts -nodes -out sua_chave.key

Paulo antes de mais nada muito obrigado pela ajuda, converti o certificado, agora nessa etapa fiquei com dúvida, vou enivar meu arquivo conf, a biblioteca é de nome library!

Abaixo está o arquivo conf da biblioteca na integra. fiquei com dúvida como faço agora!

Koha instance library Apache config.

OPAC

<VirtualHost *:8082>
= 2.4>
Define instance “library”

Include /etc/koha/apache-shared.conf

Include /etc/koha/apache-shared-disable.conf

Include /etc/koha/apache-shared-opac-plack.conf
Include /etc/koha/apache-shared-opac.conf

ServerName library.myDNSname.org
SetEnv KOHA_CONF “/etc/koha/sites/library/koha-conf.xml”
AssignUserID library-koha library-koha

ErrorLog /var/log/koha/library/opac-error.log

TransferLog /var/log/koha/library/opac-access.log

Intranet

<VirtualHost *:8081>
= 2.4>
Define instance “library”

Include /etc/koha/apache-shared.conf

Include /etc/koha/apache-shared-disable.conf

Include /etc/koha/apache-shared-intranet-plack.conf
Include /etc/koha/apache-shared-intranet.conf

ServerName library.myDNSname.org
SetEnv KOHA_CONF “/etc/koha/sites/library/koha-conf.xml”
AssignUserID library-koha library-koha

ErrorLog /var/log/koha/library/intranet-error.log

TransferLog /var/log/koha/library/intranet-access.log

Bom dia, acredito que ficaria assim:

<VirtualHost *:443>
   Define instance “library”

   Include /etc/koha/apache-shared.conf
   Include /etc/koha/apache-shared-disable.conf
   Include /etc/koha/apache-shared-opac-plack.conf
   Include /etc/koha/apache-shared-opac.conf

   ServerName library.myDNSname.org
   SetEnv KOHA_CONF “/etc/koha/sites/library/koha-conf.xml”
   AssignUserID library-koha library-koha

   SSLEngine on
   SSLCertificateFile /etc/ssl/certs/certificado.crt
   SSLCertificateKeyFile /etc/ssl/private/chave.key

   ErrorLog /var/log/koha/library/opac-error.log
   TransferLog /var/log/koha/library/opac-access.log
</VirtualHost>
<VirtualHost *:444>
    Define instance “library”

    Include /etc/koha/apache-shared.conf
    Include /etc/koha/apache-shared-disable.conf
    Include /etc/koha/apache-shared-intranet-plack.conf
    Include /etc/koha/apache-shared-intranet.conf

    ServerName library.myDNSname.org
    SetEnv KOHA_CONF “/etc/koha/sites/library/koha-conf.xml”
    AssignUserID library-koha library-koha

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/certificado.crt
    SSLCertificateKeyFile /etc/ssl/private/chave.key

    ErrorLog /var/log/koha/library/intranet-error.log
    TransferLog /var/log/koha/library/intranet-access.log
</VirtualHost>
<VirtualHost *:8082>
ServerName library.myDNSname.org
    Redirect permanent / https://library.myDNSname.org:443/
</VirtualHost>
<VirtualHost *:8081>
    ServerName library.myDNSname.org
    Redirect permanent / https://library.myDNSname.org:444/
</VirtualHost>

Bacana, então preciso criar outra regra no firewall, porque como ja tenho uma aplicação usando o 443 no firewall, o koha vou usar o 8443 para ssl e pedir para criar outra regra 8444 para equivalar as informaçòes que me passou, apontando para os endereços corretos.

Nos campos de ServerName e Redirect permanent
preciso alterar o livray.myDNSname.org pelos links reais ? Por esses abaixo?

library.koha…

library-intra.koha…

Isso! Você precisa alterar e colocar os links reais.

Desisti, confesso que fiz todos os passos, não abre o site, tive que reverter a vm pro estado original, pra voltar o acesso.