operasoftware / dns-ui

Opera's LDAP-authenticated PowerDNS user interface
Apache License 2.0
282 stars 58 forks source link

Installation in Centos7 Help please #59

Open frgalan opened 6 years ago

frgalan commented 6 years ago

Hi all

First thank your for this great job.

Could someone guide me with the installation in Centos 7? I already have working pdns and recursor working in the last version, and apache as well. Mysql is running fine.

christianbur commented 6 years ago

use docker this is the easiest https://github.com/operasoftware/dns-ui/issues/54

frgalan commented 6 years ago

Hi All

I managed to have working almost everything, but now when i go to my website i can see the error : "Oops! Something went wrong!

Sorry, but it looks like something needs fixing on the system. The problem has been automatically reported to the administrators, but if you wish, you can also provide additional information about what you were doing that may have triggered the error" In apache error log i can see [Tue Mar 27 16:46:29.300604 2018] [:error] [pid 1614] [client 192.168.200.155:15739] 1522165589: exception 'Exception' with message 'Not logged in.' in /var/www/ns1.proip.com.es/requesthandler.php:26 [Tue Mar 27 16:46:29.300629 2018] [:error] [pid 1614] [client 192.168.200.155:15739] 1522165589: Stack trace: [Tue Mar 27 16:46:29.300633 2018] [:error] [pid 1614] [client 192.168.200.155:15739] 1522165589: #0 /var/www/ns1.proip.com.es/public_html/init.php(18): require() [Tue Mar 27 16:46:29.300635 2018] [:error] [pid 1614] [client 192.168.200.155:15739] 1522165589: #1 {main} the website is ns1.proip.com.es and you can see php info in /info.php If someone can help me, will be vert appreciated

thomas-pike commented 6 years ago

I would guess that the problem is that you haven't set up authentication in Apache (the Not logged in message would imply that you are currently able to access the page without having authenticated). If using LDAP then you would need something like the example configuration in https://github.com/operasoftware/dns-ui/wiki/Example-configuration:-apache

Specifically, this section:

<Directory /srv/dnsui/public_html>
    AuthType Basic
    AuthName "DNS UI"
    AuthBasicProvider ldap
    AuthLDAPURL ldaps://ldap.example.com/dc=example,dc=com?uid?sub?(objectClass=inetOrgPerson)
    Require valid-user
    AllowOverride none
</Directory>
frgalan commented 6 years ago

Thanks for your help

I dont need ldap in my project so i created authentication via .htpasswd file.

This solved the issue but now I have the next one

[Wed Mar 28 10:22:09.237134 2018] [:error] [pid 6556] [client 192.168.200.155:47065] PHP Fatal error: Call to undefined function ldap_connect() in /var/www/ns1.proip.com.es/ldap.php on line 34

I have installed php56-php-ldap.x86_64 and mod_ldap, Can i disable ldap or do something to have the ever running ?

I promise a full Centos 7 installation manual if I have my server running

ghost commented 6 years ago

Got this running in CentOS 7, but with PHP7, not 5.6. No issues, except when I tried to run PHP as FPM in FastCGI. That doesn't work, as it will not forward Apache authentication information to PHP.

On a different topic, I'd like to thank Thomas for this great project. As a long-time BIND victim, I changed to PowerDNS with this GUI just 2 weeks ago and I'm extremely happy right now. I like especially the fact, that I can comment each change in a change log. Great stuff. Thank you!

thomas-pike commented 6 years ago

Thank you for your kind words. Using CGIPassAuth on or this workaround might be relevant solutions to getting Apache authentication information to PHP when using FastCGI.

billjamzz commented 6 years ago

I'm running centos7 and httpd-2.4.6-80.el7.centos.1. apache doesn't accept CGIPassAuth, tried "SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1". Didn't seem to help. I still get " SSL Library Error: -12263 SSL received a record that exceeded the maximum permissible length" which I've read to mean either php isn't getting login info or not using https. Also tried nginx but just get blank page. I haven't found that "full Centos 7 installation manual" that was promised. :-) Ideas?

thomas-pike commented 6 years ago

This doesn't look like an error related to DNS UI itself, but instead seems to be related to your SSL setup in Apache. See https://www.digicert.com/ssl-support/apache-fix-common-ssl-errors.htm#SSLRecordLength

billjamzz commented 6 years ago

I understand how it looks like just https issue, however I have another VirtualHost on this system that uses https and ldap, and php, and it works just fine. So that leaves me to believe that I'm missing something on my dns-ui config. Do you have any suggestions on how to get more log output so I can troubleshoot something other than "Oops! Something went wrong". I also have another tool that accesses my pdns server via api just fine.

billjamzz commented 6 years ago

I got past my ldap login issue. Turns out ldap login is case sensitive. Funny no other guis I've used are. Anyway, login works but it can't find the zones. I have 3 zones but it says "There are no forward zones defined" even though api call logged does return the zones. Sigh. pdns_server: Aug 06 10:36:32 HTTP: Result for "/api/v1/servers/localhost/zones": 200, body length: 754

drcain1 commented 6 years ago

I'm having the same issue on CentOS 7.5 with PHP 7.0.27

Using tcpdump, I can see that the zone-info is coming through. But when accessing the site I get "There are no forward zones defined.".

What could be wrong?

This is with Powerdns API 4.1.4

EDIT: Nevermind, it was a problem with my user not being detected as admin. After manually setting admin=1 it showed up. Now i just have to find out why admin groups aren't being applied.