virtualmin / virtualmin-gpl

Virtualmin web hosting control panel for Webmin
https://www.virtualmin.com
GNU General Public License v3.0
315 stars 97 forks source link

.awstats-htpasswd doesn't update for "domain owner" account when updating domain owner password, .stats-htpasswd updates fine, additional users update fine. #221

Open abclution opened 3 years ago

abclution commented 3 years ago

6.12 GPL

Steps to reproduce.

Create new domain with both statistics programs enabled. .stats-htpasswd - is created properly with the domain owners account .awstats-htpasswd - is created properly with the domain owners account

Update DOMAINOWNER passwd via Edit Virtual Server -> Administration password .stats-htpasswd - Updates correctly. .awstats-htpasswd - Still contains the previous DOMAINOWNER password.

Add a new user (USER1) with access to statistics directories .stats-htpasswd - Has the new USER1 password correctly. .awstats-htpasswd - Has the new USER1 password correctly.

Update USER1 password via Edit users .stats-htpasswd - Has the updated user password correctly. .awstats-htpasswd - Has the updated user password correctly.

WORKAROUND Disable Awstats via Edit Virtual Server and then re-enable AWstats .awstats-htpasswd - is finally updated with the DOMAINOWNER current password.

jcameron commented 3 years ago

Odd, I just tested this and wasn't able to reproduce it.

Which version of the AWstats plugin are you running? It's shown on the Features and Plugins page.

abclution commented 3 years ago

5.11

image

Stock settings otherwise afaik

image

jcameron commented 3 years ago

Ok, that's the latest.

When you change the password for a domain, does it report that the AWstats password is being changed?

abclution commented 3 years ago

It doesn't mention something specific about awstast, and the webalizer .stats-htpasswd changes fine with the exact same steps with no notifications. Love it when only my stuff is quirky.

Domain Creation

Creating administration group test.com ..
.. done
Creating administration user test.com ..
.. done

Creating aliases for administration user ..
.. done

Adding administration user to groups ..
.. done

Creating home directory ..
.. done

Creating mailbox for administration user ..
.. done

Adding new DNS zone ..
.. done

Creating DNSSEC key for new domain ..
.. done

Adding to email domains list ..
.. done

Adding default mail aliases ..
.. done

Adding DKIM records to DNS domain test.com ..
.. added successfully

Adding new virtual website ..
.. done

Adding webserver user www-data to server's group ..
.. done

Performing other Apache configuration ..
.. done

Setting up scheduled Webalizer reporting ..
.. done

Creating SSL certificate and private key ..
.. done

Adding new SSL virtual website ..
.. done

Setting up log file rotation ..
.. done

Creating MySQL login ..
.. done

Creating MySQL database test_com ..
.. done

Setting up spam filtering ..
.. done

Setting up virus filtering ..
.. done

Setting up AWstats reporting ..
.. done

Setting up password protection for AWstats ..
.. done

Adding DAV directives to website configuration ..
.. done

Adding DAV account for server administrator ..
.. done

Creating Webmin user ..
.. done

Saving server details ..
.. done

Re-starting DNS server ..
.. done

Applying web server configuration ..
.. done

Restarting PHP-FPM server ..
.. done

Re-starting Webmin ..
.. done

Re-starting Usermin ..
.. done

Re-loading Webmin ..
.. done

Sending email notification to domain owner ..
.. email sent to asdfas@asdflasf.com

Creating initial website index page ..
.. done

Content of .awstats-htpasswd

root@ns2:/home/test.com# cat .awstats-htpasswd
test.com:uH886WFqVs09o

Change of administrator / domain owner password

Modifying administration user ..
.. done
Updating Webmin user ..
.. done

Updating Webmin user ..
.. done

Saving server details ..
.. done

Re-loading Webmin ..
.. done

Content of .awstats-htpasswd

root@ns2:/home/test.com# cat .awstats-htpasswd
test.com:uH886WFqVs09o
jcameron commented 3 years ago

Was this domain perhaps in a disabled state when you changed the password?

abclution commented 3 years ago

Unfortunately, no, This is happening on at the very least, brand new created domains.

jcameron commented 3 years ago

Very unusual - I am unable to reproduce this, or see what could trigger it in the code.

If you change the domain's password from the command line with virtualmin modify-domain --domain example.com --pass newpassword , does the AWstats config get updated?

abclution commented 3 years ago

Hi, sorry for the late response no it doesn't.

root@vps1:/home# cat /home/testdomain.com/.awstats-htpasswd
testdomain.com:lQHC8yjiDy22k
root@vps1:/home# virtualmin modify-domain --domain testdomain.com --pass asdfasdfasdf
Updating virtual server testdomain.com ..

Use of uninitialized value in split at /usr/share/webmin/virtualmin-sqlite/virtual_feature.pl line 114.
Use of uninitialized value in split at /usr/share/webmin/virtualmin-sqlite/virtual_feature.pl line 114.
Modifying administration user ..
.. done

Updating Webmin user ..
.. done

Saving server details ..
.. done

Updating Webmin user ..
.. done

Re-loading Webmin ..
.. done

All done
root@vps1:/home# cat /home/testdomain.com/.awstats-htpasswd
testdomain.com:lQHC8yjiDy22k
iliajie commented 3 years ago

Hi, sorry for the late response no it doesn't.

The reason why it doesn't work for you, is because given virtual server, doesn't have AWStats enabled:

image

.. if it doesn't, then it's not getting updated.

abclution commented 3 years ago

Sorry for the late reply, missed the notification. Unfortunately, not the case.

Create New Domain image

image

Initially enabled features includes AWSTATS.


Creating administration group test2.test.com ..
.. done
Creating administration user test2.test.com ..
.. done

Creating aliases for administration user ..
.. done

Adding administration user to groups ..
.. done

Creating home directory ..
.. done

Creating mailbox for administration user ..
.. done

Adding new DNS zone ..
.. done

Creating DNSSEC key for new domain ..
.. done

Adding slave zone on ns1.dns.domain.eu ..
.. done

Adding to email domains list ..
.. done

Adding default mail aliases ..
.. done

Adding DKIM records to DNS domain test2.test.com ..
.. added successfully

Adding new virtual website ..
.. done

Adding webserver user www-data to server's group ..
.. done

Performing other Apache configuration ..
.. done

Setting up scheduled Webalizer reporting ..
.. done

Creating SSL certificate and private key ..
.. done

Adding new SSL virtual website ..
.. done

Setting up log file rotation ..
.. done

Creating MySQL login ..
.. done

Creating MySQL database test2_test_com ..
.. done

Setting up spam filtering ..
.. done

Setting up virus filtering ..
.. done

Setting up AWstats reporting ..
.. done

Setting up password protection for AWstats ..
.. done

Adding DAV directives to website configuration ..
.. done

Adding DAV account for server administrator ..
.. done

Creating Webmin user ..
.. done

Saving server details ..
.. done

Re-starting DNS server ..
.. done

Re-starting slave DNS servers ..
.. done

Applying web server configuration ..
.. done

Restarting PHP-FPM server ..
.. done

Re-starting Webmin ..
.. done

Re-starting Usermin ..
.. done

Re-loading Webmin ..
.. done

Sending email notification to domain owner ..
.. email sent to test@gjhkjgl.com

Creating initial website index page ..
.. done

Double check its enabled

image

Check awstats password

root@ns2:/home/test2.test.com# cat .awstats-htpasswd
test2.test.com:.t7fZTFV9VGkA

Update domain owner password

root@ns2:/home/test2.test.com# virtualmin modify-domain --domain test2.test.com --pass asdfasdfasdf
Updating virtual server test2.test.com ..

Use of uninitialized value in split at /usr/share/webmin/virtualmin-sqlite/virtual_feature.pl line 114.
Use of uninitialized value in split at /usr/share/webmin/virtualmin-sqlite/virtual_feature.pl line 114.
Modifying administration user ..
.. done

Updating Webmin user ..
.. done

Use of uninitialized value in string ne at /usr/share/webmin/virtualmin-dav/virtual_feature.pl line 185.
Use of uninitialized value in string ne at /usr/share/webmin/virtualmin-dav/virtual_feature.pl line 185.
Saving server details ..
.. done

Updating Webmin user ..
.. done

Re-loading Webmin ..
.. done

All done

Check awstats password again.

root@ns2:/home/test2.test.com# cat .awstats-htpasswd
test2.test.com:.t7fZTFV9VGkA

No change. AWstats password NOT updated

Toggle AWstats off and then on again.

OFF, then saved

image

Check awstats password. No password change as expected while toggling off.

root@ns2:/home/test2.test.com# cat .awstats-htpasswd
test2.test.com:.t7fZTFV9VGkA

Toggle it back on again and save.

image

Check AWSTATS password after toggling feature back on, Password has been updated

root@ns2:/home/test2.test.com# cat .awstats-htpasswd
test2.test.com:OHZs1oUeVEsgI

Try to change password again after toggling feature Awstats off then on.


root@ns2:/home/test2.test.com# virtualmin modify-domain --domain test2.test.com --pass ffffffffffffffffffffffff
Updating virtual server test2.test.com ..

Use of uninitialized value in split at /usr/share/webmin/virtualmin-sqlite/virtual_feature.pl line 114.
Use of uninitialized value in split at /usr/share/webmin/virtualmin-sqlite/virtual_feature.pl line 114.
Modifying administration user ..
.. done

Updating Webmin user ..
.. done

Use of uninitialized value in string ne at /usr/share/webmin/virtualmin-dav/virtual_feature.pl line 185.
Use of uninitialized value in string ne at /usr/share/webmin/virtualmin-dav/virtual_feature.pl line 185.
Saving server details ..
.. done

Updating Webmin user ..
.. done

Re-loading Webmin ..
.. done

All done

Check awstats password again. Password is still the same as when I toggled awstats

root@ns2:/home/test2.test.com# cat .awstats-htpasswd
test2.test.com:OHZs1oUeVEsgI

Only turning on and off the awstats feature updates the password. Very odd.

marclaporte commented 1 year ago

@abclution If you confirm this is still an issue on latest stable (Virtualmin 7.5), I'll assign a dev to resolve.

Thanks!