Hi, we don't support Debian testing (things change often regarding dependencies and available packages). Please use the debian:buster image instead. Kind regards El vie., 26 mar. 2021 1:50, Javi Legido <javi@legido.com> escribió:
Hi there.
I would like to enable REST API, but so far i got 404 while trying to access:
http://mykoha-intra.mydnsname.org/api/v1/.html
http://mykoha.myDNSname.org/api/v1/.html
I enabled below options:
OPACBaseURL => http://mykoha.myDNSname.org OpacPublic RESTBasicAuth RESTOAuth2ClientCredentials RESTPublicAnonymousRequests RESTPublicAPI
I see below errors in '/var/log/koha/mykoha/plack.log':
172.17.0.1 - - [26/Mar/2021:04:42:52 +0000] "GET /api/v1/ app.pl/api/v1/.html HTTP/1.1" 404 - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0"
Many thanks in advice.
Now verbose things, configuration files and step by step ways to reproduce the issue:
1. Configuration files
/etc/apache2/sites-enabled/mykoha.conf
# Koha instance mykoha Apache config.
# OPAC <VirtualHost *:80> <IfVersion >= 2.4> Define instance "mykoha" </IfVersion> 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 mykoha.myDNSname.org SetEnv KOHA_CONF "/etc/koha/sites/mykoha/koha-conf.xml" AssignUserID mykoha-koha mykoha-koha
ErrorLog /var/log/koha/mykoha/opac-error.log # TransferLog /var/log/koha/mykoha/opac-access.log </VirtualHost>
# Intranet <VirtualHost *:80> <IfVersion >= 2.4> Define instance "mykoha" </IfVersion> 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 mykoha-intra.myDNSname.org SetEnv KOHA_CONF "/etc/koha/sites/mykoha/koha-conf.xml" AssignUserID mykoha-koha mykoha-koha
ErrorLog /var/log/koha/mykoha/intranet-error.log # TransferLog /var/log/koha/mykoha/intranet-access.log </VirtualHost>
/etc/koha/apache-shared-opac-plack.conf
# Apache configuration settings that are shared for every Koha instance. # This file contains settings for the Plack configuration of the OPAC. # # This file should be included from an instance's # /etc/apache2/site-available file, from within the VirtualHost section # for the OPAC.
# Plack is only available out-of-the-box for Apache 2.4.7+ setups <IfVersion >= 2.4.8> <IfModule mod_proxy_http.c>
ProxyPreserveHost On
RequestHeader set X-FORWARDED-PROTO "https" env=HTTPS
# Point the OPAC site to Plack ProxyPass /index.html "unix:/var/run/koha/${instance}/plack.sock| http://localhost/opac/opac-main.pl" ProxyPassReverse /index.html "unix:/var/run/koha/${instance}/plack.sock| http://localhost/opac/opac-main.pl" ProxyPass /cgi-bin/koha "unix:/var/run/koha/${instance}/plack.sock| http://localhost/opac" ProxyPassReverse /cgi-bin/koha "unix:/var/run/koha/${instance}/plack.sock|http://localhost/opac"
# Point the /api endpoint to Plack RewriteCond %{REQUEST_URI} !^/api/v[0-1]+/app.pl RewriteRule ^/api/(v[0-9]+)/(.*)$ /api/$1/app.pl/api/$1/$2 [L,PT]
ProxyPass /api "unix:/var/run/koha/${instance}/plack.sock| http://localhost/api" ProxyPassReverse /api "unix:/var/run/koha/${instance}/plack.sock| http://localhost/api"
</IfModule> </IfVersion>
/etc/koha/apache-shared-intranet-plack.conf
# Apache configuration settings that are shared for every Koha instance. # This file contains settings for the Plack configuration of the intranet. # # This file should be included from an instance's # /etc/apache2/site-available file, from within the VirtualHost section # for the intranet.
# Plack is only available out-of-the-box for Apache 2.4.8+ setups <IfVersion >= 2.4.8> <IfModule mod_proxy_http.c>
# FIXME: These scripts should be fixed so they # don't break under plack/starman ProxyPass "/cgi-bin/koha/offline_circ/process_koc.pl" "!" ProxyPass "/cgi-bin/koha/tools/background-job-progress.pl" "!" ProxyPass "/cgi-bin/koha/tools/batchMod.pl" "!" ProxyPass "/cgi-bin/koha/tools/export.pl" "!" ProxyPass "/cgi-bin/koha/tools/manage-marc-import.pl" "!" ProxyPass "/cgi-bin/koha/tools/stage-marc-import.pl" "!" ProxyPass "/cgi-bin/koha/tools/upload-cover-image.pl" "!" ProxyPass "/cgi-bin/koha/svc/cataloguing/metasearch" "!"
ProxyPreserveHost On
RequestHeader set X-FORWARDED-PROTO "https" env=HTTPS
# Point the intranet site to Plack ProxyPass /index.html "unix:/var/run/koha/${instance}/plack.sock| http://localhost/intranet/mainpage.pl" ProxyPassReverse /index.html "unix:/var/run/koha/${instance}/plack.sock| http://localhost/intranet/mainpage.pl" ProxyPass /cgi-bin/koha "unix:/var/run/koha/${instance}/plack.sock| http://localhost/intranet" ProxyPassReverse /cgi-bin/koha "unix:/var/run/koha/${instance}/plack.sock|http://localhost/intranet"
# Point the /api endpoint to Plack RewriteCond %{REQUEST_URI} !^/api/v[0-1]+/app.pl RewriteRule ^/api/(v[0-9]+)/(.*)$ /api/$1/app.pl/api/$1/$2 [L,PT]
ProxyPass /api "unix:/var/run/koha/${instance}/plack.sock| http://localhost/api" ProxyPassReverse /api "unix:/var/run/koha/${instance}/plack.sock| http://localhost/api"
</IfModule> </IfVersion>
2. Step by step way to reproduce the issue
docker stop test && docker rm test docker run \ --name test \ --cap-add=SYS_NICE \ --cap-add=DAC_READ_SEARCH \ -p 8080:8080 \ -p 80:80 \ -d debian:testing \ bin/sh -c "while true; do echo hello world; sleep 1; done" docker exec -ti test bash
apt-get update && apt-get install -y \ wget \ gnupg
wget -q -O- https://debian.koha-community.org/koha/gpg.asc | apt-key add -
echo 'deb http://debian.koha-community.org/koha stable main' | tee /etc/apt/sources.list.d/koha.list
apt-get update && apt-get install -y \ koha-common \ mariadb-server
service mariadb start
a2enmod rewrite \ cgi \ headers \ proxy_http \ && a2dissite 000-default
service apache2 restart
koha-create --create-db mykoha
koha-plack --enable mykoha
koha-plack --start mykoha
service apache2 restart _______________________________________________
Koha mailing list http://koha-community.org Koha@lists.katipo.co.nz Unsubscribe: https://lists.katipo.co.nz/mailman/listinfo/koha