plong
By:
plong

superuser not recognized (EC2+NGINX+DokuWiki)

March 14, 2016 525 views
Nginx PHP

I installed NGINX and DokuWiki on an EC2 instance. I opened port 8080, ran install.php successfully, and NGINX is serving up DokuWiki pages just fine; however, I cannot log in to DokuWiki with superuser credentials, and when I "Set new password," DokuWiki says, "Sorry, we can't find this user in our database." What's wrong?

Here are the settings and chronology (made up names, etc.; graphics show broken links; clicked link in bold):

============================================
[mycompany.com:8080/dokuwiki/install.php ]
DokuWiki Installer
Wiki Name: MyCompany
[X] Enable ACL
Superuser: admin
Real name: My Name
E-Mail: me@mycompany.com
Password: ........
once again: ........
Initial ACL policy: Open Wiki
[ ] Allow users to register themselves
Please choose the license...: Do not show any license information
[X] Once a month, send anonymous usage data to the DokuWiki developers
[Save]

============================================
[mycompany.com:8080/dokuwiki/install.php ]
DokuWiki Installer
The configuration was finished successfully. You may delete the install.php file now. Continue to your new DokuWiki.

============================================
[mycompany.com:8080/dokuwiki/install.php ]
Log in
MyCompany
This topic does not exist yet

============================================
[mycompany.com:8080/dokuwiki/doku.php?id=w...]
Login
Username: admin
Password: ........
[X] Remember me
[Log in]
Forgotten your password? Get a new one: Set new password

============================================
(Same page as before but with fields cleared.)
[mycompany.com:8080/dokuwiki/doku.php?id=st...]
Login
Username:
Password:
[ ] Remember me
[Log in]
Forgotten your password? Get a new one: Set new password

============================================
[mycompany.com:8080/dokuwiki/doku.php?id=st...]
Send new password
Username: admin
[Set new password]

============================================
[mycompany.com:8080/dokuwiki/doku.php?id=st...]
Sorry, we can't find this user in our database.
Send new password
Username: admin
[Set new password]

Here are the files created by DokuWiki Installer:

conf/local.php

<?php
/**
 * Dokuwiki's Main Configuration File - Local Settings
 * Auto-generated by install script
 * Date: Sun, 13 Mar 2016 00:31:16 +0000
 */
$conf['title'] = 'MyCompany';
$conf['lang'] = 'en';
$conf['license'] = '0';
$conf['useacl'] = 1;
$conf['superuser'] = '@admin';

conf/acl.auth.php

# acl.auth.php
# <?php exit()?>
# Don't modify the lines above
#
# Access Control Lists
#
# Auto-generated by install script
# Date: Sun, 13 Mar 2016 00:31:16 +0000
*               @ALL          8

users.auth.php

# users.auth.php
# <?php exit()?>
# Don't modify the lines above
#
# Userfile
#
# Format:
#
# login:passwordhash:Real Name:email:groups,comma,seperated


admin:$1$e2bi2c4j$hzXWWU0O2kpy2wl.sZTnH1:My Name:me@mycompany.com:admin,user

I set file permissions with these commands:

sudo chown -R nginx:root /usr/share/nginx/html/dokuwiki
sudo chmod -R 664 /usr/share/nginx/html/dokuwiki/
sudo find /usr/share/nginx/html/dokuwiki/ -type d -exec chmod 775 {} \;

This is what's displayed via http://mycompany.com:8080/dokuwiki/doku.php?do=check

(green)More than 32MB RAM (134217728 bytes) available.
(green)conf directory is writable
(blue)mb_string extension not available - PHP only replacements will be used
(red)PHP is missing UTF-8 support in Perl-Compatible Regular Expressions (PCRE)
(red)PHP is missing Unicode properties support in Perl-Compatible Regular Expressions (PCRE)
(blue)Your locale C seems not to be a UTF-8 locale, you should fix this if you encounter problems.
(green)Debugging support is disabled
(blue)You are currently not logged in
(blue)Your current permission for this page is 8
(blue)The current page is not writable by the webserver
(blue)The current page is writable by you
(blue)The search index is empty. See faq:searchindex for help on how to fix the search index. If the default indexer isn't used or the wiki is actually empty this is normal.

Since the two PHP items are in red, above, is that what's wrong? Seems like I read that either UTF-8/Unicode was compiled in to your PHP or it wasn't, and this isn't simply another package to install. Oh, and is the fact that all links to images in these few web pages are broken significant?

Any help is greatly appreciated.

br,
Paul

1 Answer

Those red lines in the output from http://mycompany.com:8080/dokuwiki/doku.php?do=check did indicate the problem, which was that the PCRE library used by my PHP package was apparently compiled without the proper options to support UTF-8/Unicode. The fix was to update PCRE with

sudo yum update pcre
Have another answer? Share your knowledge.