Giter Site home page Giter Site logo

virtualmin / virtualmin-gpl Goto Github PK

View Code? Open in Web Editor NEW
303.0 303.0 98.0 35.4 MB

Virtualmin web hosting control panel for Webmin

Home Page: https://www.virtualmin.com

License: GNU General Public License v3.0

Perl 42.49% NewLisp 0.01% HTML 56.88% Shell 0.44% C 0.01% Raku 0.19% Smalltalk 0.01%

virtualmin-gpl's People

Contributors

adbario avatar agemarks avatar altmas5 avatar andreychek avatar bstramsek avatar derjohn avatar dkarvounaris avatar draxius avatar eduardorq avatar fabiomontefuscolo avatar francewhoa avatar frank-orellana avatar herewithme avatar honkxl avatar iliajie avatar jcameron avatar jcmais avatar josaphatim avatar josecarre avatar malkaduhimi avatar marchertech avatar marclaporte avatar martin-sutunam avatar mostafahussein avatar pitwenkin avatar qooob avatar sanarena avatar swelljoe avatar verne-work avatar vmswtje avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

virtualmin-gpl's Issues

Index_cpu.cgi and stats.cgi high cpu usage.

I'm not running powerfull VM and I'm seeing Index_cpu.cgi and stats.cgi using most of my CPU (~40%).
Is it possible and ok to disable those modules ?
If yes what would be the recommended way to do it ?

Thanks for any input.

Matth

Keep configuration files indentation after automatic actions

Jamie, hi!

Some admins are very picky on keeping configuration files easily readable and properly formatted.

I have indentation inside <VirtualHost> ... <\VirtualHost>

After Virtualmin runs SSL update it breaks it.

After:

	
	SSLEngine On
 SSLCertificateFile /home/user/cert.cert
 SSLCertificateKeyFile /home/user/cert.key
 SSLCACertificateFile /home/user/cert.ca

Before:

	
	SSLEngine On
	SSLCertificateFile /home/user/cert.cert
	SSLCertificateKeyFile /home/user/cert.key
	SSLCACertificateFile /home/user/cert.ca

Can this be fixed please?

Wordpress install script fail with php 7+

With the PHP script execution mode set to FPM, installing WordPress with the built-in installer script the install fail because it requires mysql module but this module has been removed in PHP 7.0.0.

So in version 7+ the require mode has to be mysqli

On my side i updated the wordpress.pl script with a condition if PHP < 7.0 I'm returning mysql otherwise I'm returning mysqli.

I have test the script on a Debian 9 with Webmin 1.860 / Virtualmin 6.01 and PHP 7 only.

I'm happy to do a PR if you wish.

kind regards

Matth

Let's encrypt renewal issue

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for cloud.prodesign387.com
Using the webroot path /home/prodesign387/domains/cloud.prodesign387.com/public_html for all unmatched domains.
Waiting for verification...
Cleaning up challenges
Unable to clean up challenge directory /home/prodesign387/domains/cloud.prodesign387.com/public_html/.well-known/acme-challenge
Failed authorization procedure. cloud.prodesign387.com (http-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Fetching https://cloud.prodesign387.com.well-known/acme-challenge/N3YjLG6tR5IJMQfCFOCbbScalBghr6hxLUFtjs_yZng: Error getting validation data
IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: cloud.prodesign387.com
   Type:   connection
   Detail: Fetching
   https://cloud.prodesign387.com.well-known/acme-challenge/N3YjLG6tR5IJMQfCFOCbbScalBghr6hxLUFtjs_yZng:
   Error getting validation data

What I see strange is that / is missing in

cloud.prodesign387.comHERE.well-known/acme-challenge

MySQL password length limit

While creating a new virtual server with database, the MySQL password length is always set to 16. Option "Characters for random passwords" works for DB passwords too, but there doesn's seem to be a way to change the initial password length.

There's a manual option to allow longer database user names "mysql_user_size=80" (default 16), is there already or is it possible to have similar setting for database passwords?

Amazon Aurora - cannot set password when creating virtual server

I've been experimenting with using Amazon Aurora as a remote MySQL database for Virtualmin. There seems to be an incompatibility, based around the way Virtualmin creates and updates MySQL users.

If I set the Aurora details in Webmin > Servers > MySQL Database Server > Config, Virtualmin correctly tries to create the database and users when I create a new Virtual Server.

However, upon creation, and at modification time, I get an error
"set password for 'example'@'hostname.com'=password('greatpassword') failed: Can't find any matching row in the user table"

The server is created, and the MySQL user is added to the database on Aurora, but no password is set. Attempts to modify the server result in the same error, as do the same efforts from the virtualmin CLI tool ("virtualmin modify-database-pass --domain mydomain.com --type mysql --pass "greatpassword"")

Trying to run the same SQL ("set password for....") directly on the Aurora DB also fails with the same error, even though the user definitely exists ("select * from user where User='example' and host='hostname.com'" returns the result).

A simple fix is to change the way Virtualmin sets and updates the password in /usr/share/webmin/virtual-server/feature-mysql.pl so that it specifies the user and host params in a different way.

Once this change is made, the user is created on the database, and can be modified as normal.

diff --git a/feature-mysql.pl b/feature-mysql.pl
index 33c52dd..cf64c82 100755
--- a/feature-mysql.pl
+++ b/feature-mysql.pl
@@ -2637,7 +2637,7 @@ if (&compare_versions($remote_mysql_version, "5.7.6") >= 0) {
        return ("insert into user (host, user, ssl_type, ssl_cipher, x509_issuer, x509_subject, plugin, authentication_string) values ('$host', '$user', '', '', '', '', 'mysql_native_password', $encpass)");
        }
 elsif (&compare_versions($remote_mysql_version, 5) >= 0) {
-       return ("insert into user (host, user, ssl_type, ssl_cipher, x509_issuer, x509_subject) values ('$host', '$user', '', '', '', '')", "flush privileges", "set password for '$user'\@'$host' = $encpass");
+       return ("insert into user (host, user, ssl_type, ssl_cipher, x509_issuer, x509_subject) values ('$host', '$user', '', '', '', '')", "flush privileges", "update user set password=$encpass where User='$user' and Host='$host'");
        }
 else {
        return ("insert into user (host, user, password) values ('$host', '$user', $encpass)");
@@ -2665,7 +2665,7 @@ foreach my $host (&unique(map { $_->[0] } @{$d->{'data'}})) {
                $flush++;
                }
        else {
-               $sql = "set password for '$user'\@'$host' = $encpass";
+           $sql = "update user set password=$encpass where User='$user' and Host='$host'";
                }
        &mysql::execute_sql_logged($mysql::master_db, $sql);
        }

Shebang missing interpreter

Current shebang #!/usr/local/bin/perl is not so portable ( in my case on CentOS 6.8 is missing ).
My proposal is to use #!/usr/bin/env perl or at least the good old #!/usr/bin/perl
So it can use first perl interpreter in path.

php-fpm fails to restart on Ubuntu 16.04

Virtualmin on Ubuntu 16.04 can't find the php-fpm service to restart it. It's named php7.0-fpm but even when I add that to php-lib.pl it fails to restart. I can't quite figure out how to make it to the right thing.

Here's where I added it:

foreach my $init ("php-fpm", "php5-fpm", "php7-fpm", "php7.0-fpm",
                  (map { "php${_}-fpm" } @all_possible_php_versions)) {
        my $st = &init::action_status($init);
        if ($st) {
                $rv->{'init'} = $init;
                $rv->{'enabled'} = $init > 1;
                last;
                }
        }

But, no dice.

Also, there's still some issues detecting init type...it still seems to detect/treat it like upstart even though it has systemd. I may have broken it with my change that changed the order of detected init system; or maybe this new system has upstart in addition to systemd or something (I dunno why they'd do that, but sometimes people do weird stuff).

Anyway, error is:

Restarting PHP-FPM server ..
.. failed : Failed to restart php-fpm.service: Unit php-fpm.service not found. 

But, I can restart it successfully with:

# service php7.0-fpm restart

And, sites begin to work afterward; so config seems to be doing the right thing, but the service just isn't being restarted.

Why is Virtualmin creating trash, drafts, and sent folders?

Hey Jamie,

I've gotten a few requests for configuring the names of these folders, and also complaints about their being multiple versions of them (and I've noticed it, too). I'm trying to figure out why we're creating them at all. Mail clients will create the folders they want (and the user wants), and AFAIK all of them will create a Trash, Drafts, and Sent folder. So, why are we making our own that will end up not being used, in some cases?

I get why we need to create spam and virus folders, since those get foldered before the mail client see them, but why the others? If we do have to create them, instead of leaving it up to the mail client, can they be made configurable, so users can make them match up with the most common mail clients their users use, so they don't end up with duplicates?

Show service silent failures on main system info page.

Showing the service up/down status is good, but it's not good enough.
The virtualmin system info page should also alert you of errors causing critical services to silently fail.
The perfect example I'm now facing is a silent failure of dovecot imap server.
All users fail to connect over IMAP and consequently all users are unable to read all mailboxes!!

  • All client imap mail apps fail to connect.
  • The Dovecot service is running!!
  • Virualmin doesn't show any indication of warning or error, just the "running" icon !!!
  • The warning and error info is readily available - BUT ONLY if you happen to be a Dovecot guru and proactively go and look for errors in the 15 different Dovecot log files.
  • Virtualmin should just try to scan dovecot logs to detect these severe fail conditions and show a warning icon with a shortcut to go view the Dovecot logs.
  • It's not enough to show a service is up and running. It's just as important to verify it's healthy and operating cleanly and not in limp mode throwing major errors.

[Server Template] FPM pool options doesn't change my pool config

Hello,

I want to adapt the default FPM config when creating a new virtual-host for that purpose in

Server Templates > PHP options > Additional FPM pool options

I have added this config:

pm = ondemand 
pm.max_children = 15
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 5
pm.max_requests = 200

But any new Vhost created is still and always getting the default config

pm = dynamic
pm.max_children = 9999
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 5

Is there something else to do to have those options replace by my mine ?

Thanks for any input

Kind regards
Matth

error deleting user of a virtual server (with domain name changed)

Webmin version | 1.872
Usermin version | 1.732
Virtualmin version | 6.02

I changed domain name to a virtualserver (with user name change as well), then I deleted the virtualserver and I got an error during the deletion of the user.

Deleting mail aliases ..
.. done
Deleting Webmin login ..
.. done

Disabling log file rotation ..
.. done

Removing Nginx virtual host ..
.. done

Deleting Nginx webserver log files ..
.. done

Deleting home directory ..
.. done

Deleting administration user ..
.. Administration user failed! : Failed to open /home/chroot/150600339523877/etc/passwd for writing : No such file or directory at /usr/share/webmin/web-lib-funcs.pl line 1445.

Deleting server details for domain.com ..
.. done

Restarting PHP-FPM server ..
.. done

Re-loading Webmin ..
.. done

Applying Nginx configuration ..
.. done

Logrotate plugin call

In sub get_postrotate_script in feature-logrotate.pl you make plugin call to "feature_restart_web_command"

I think, it is better to call something like feature_logrotate_reload because maybe you do not want co restart whole server

maintaining old config file versions

is already possible to maintain old configuration files after an edit?

For example if I edit php.ini and the old php.ini became filename.ext.DATE-TIME (with date configurable DATE/TIME for Europe/USA standards.)

Example:
php.ini.2018-15-01-093212

If is not already possible, how about it?

Understanding New Vhost creation same name as machine name

Version
Debian 9
Apache 2.4
Webmin 1.870
Virtualmin 6.01

Background info
Machine name : my.dom.org
The first time I had to declare a domain name in Virtualmin I choosemy.dom.org instead of dom.org.
So my.dom.org was my first Vhost.
I have delete it some time after.

The issue
From here if I want to re-create a virtual hosts for my.dom.org Virtualmin tells me the documentRoot are stored in /home/my/public_html/.
But if I access the website I got the standard Apache Debian default page, and after some testing I could confirm that the Document root is instead /var/www/.

The consequence is that Virtualmin expect all data to be in /home/my/public_html/ but Apache looks at /var/www/.
For instance it's impossible to request a certificate with Let's Encrypt, always failing because .well-known can't be found.

In the /sites-available I have along with other vhost
000-default.conf > /var/www/html
my.dom.org > /home/my/public_html

Not sure if I have done something wrong, and what would it be,if this can be fix without braking all my Apache/Virtualmin setup ?
Could it be a normal behavior ?

Thanks for the clarification

Matth

Migrating from cPanel, DNS does not migrate

When I migrate a cPanel backup (using the command line or the web UI), none of the DNS entries are created. I have verified the zone file is present in the backups (in dnszones/{domainname}.db) but migration-cpanel.pl does not appear to check for that file. Instead it is expecting to find DNS zone info in a daily backup in a file called _var_named.tar.gz.

The backup was generated using standard "Backup" feature in cPanel 11. I don't see any options for running a "daily backup" or anything else... It's pretty basic. Which is why I'm migrating a bunch of sites from cPanel to Virtualmin :-)

Quotas not working (v6.02)

Hi, with the latest Webmin and Virtualmin, quotas are not saved anymore for virtual servers when users home directory is outside of the default "/home" on separate disk partition. Virtualmin sets unlimited quotas event though default account plan has 1024 MB quota.

Webmin 1.869
Virtualmin 6.02
CentOS 7.4
Home directory base: /var/www/vhosts

$ findmnt -r

/var/www/vhosts /dev/vdb1 ext4 rw,relatime,seclabel,quota,usrquota,grpquota,data=ordered

Also bandwidth monitoring doesn't show up on System Information anymore and the alert box "Information! Virtualmin's configuration has not been checked since..." doesn't go away even after re-checking connfiguration.

All these were still working fine with v6.01 few days ago.

Edit: bandwidth came up after a while (clean install), quotas are still missing.

User-friendly return to previous page.

Hi,

It's just expected in some cases to be bounced back to previous page.

For example when running Checking Configuration and it fails, it lets you set 127.0.0.1 to the list of DNS servers:

screenshot from 2018-02-07 13-34-33

After you set it and hit Save it shouldn't take you to Network Configuration page.
screenshot from 2018-02-07 13-40-53
screenshot from 2018-02-07 13-40-59

Checking Configuration page should add to links the query, like bounce=/virtual-server/check.cgi, which redirect function should seek for and redirect user back to it.

Could you do it, it's very easy to implement, I think?

Error: no log rotation configuration found!

It appears that this appears if both the Apache Error & Access log files are not present. I have a lot of websites that I just have an error log for, and the error occurs. If I add the access log the error goes away.

software.virtualmin.com down

Err:4 http://software.virtualmin.com/gpl/ubuntu virtualmin-xenial InRelease
  Could not connect to software.virtualmin.com:80 (108.60.199.117). - connect (110: Connection timed out)
Err:5 http://software.virtualmin.com/gpl/ubuntu virtualmin-universal InRelease
  Unable to connect to software.virtualmin.com:http:

Validation path checks needed in Backup Virtual Server Panel.

If you try to Backup a virtual server and you select the public_html path on "Backup destinations" Local directory like /home/user/public_html virtualmin will delete your public_html path and write a file with filename public_html and without a file extension.

TLS SNI matching domain certs for Postfix SMTP, Dovecot IMAP and ProFTPd

  • Web servers (Apache and Nginx) are already using STARTTLS SNI to serve unique Lets Encrypt SSL certs, one cert per website domain name (virtual server).
  • Can Virtualmin automatically configure Dovecot, Postfix, and ProFTPd with SNI and STARTTLS to dynamically select and serve the correct corresponding Let's Encrypt SSL cert for each domain name (mail.virtualserver.com, ftp.virtualserver.com), during TLS handshake negotiation, while using only one IPv4 and IPv6 address for all domains ?

Verify Postfix config really enables DANE TLSA DNSSEC.

Is Virtualmin really configuring Postfix so that it can fully enforce DANE and TLSA??
Reading the official Postfix README on the topic, it's very doubtful that Virtualmin really satisfies all the required settings rigorously.
http://www.postfix.org/TLS_README.html
It'd be great to take a close look at what Virtualmin does regarding TLSA, DANE, DNSSEC, Postfix, and TLS certs, and answer the question, is a Virtualmin server provide all of the modern security functionality available with Postfix.

Let's encrypt Wildcard

let's encrypt wildcard support is available now officially, but still not working with virtualmin yet, I'd appreciate your help to add this feature

WordPress is invisible on Ubuntu 16.04 and I can't figure out why

This is the weirdest damned thing...WordPress installer shows disabled in the Disable Scripts interface and doesn't show up at all for domain install scripts form.

Here's what's whack about it:

In the scripts-lib get_script function, when I log the state of all of the scripts immediately before the object is constructed WordPress has avail_only set to 1 just like all the rest of them.

Here's all the availability related vars for WordPress right before filling in the return hash:

"avail: 1 avail_only: 1 disabled: allowmaster: "

This is identical to all the rest, which all work.

But, when I log it in edit_newscripts.cgi, avail_only is empty, while all the ones that work are 1.

I can't figure out where it could be changing in the interim. There's no other code I can see that changes the state of that variable.

And, worse, this only happens on Ubuntu 16.04. I thought it might be related to scope changes or something in newer Perls, but it doesn't hit Debian 9, and sticking some mys in there doesn't fix it.

I'm completely stumped. If you want to see this in action, you can login to 51.15.216.77 with the usual test server password.

Virtualmin creates PHP FPM pool conf to remove php version

I have a fresh Debian 9 virtualmin install and wanted to also install php5.6 in addition with php7.0 that came with debian stretch. I added deb.sury.org repo and installed php5.6 successfully. I also installed php 5.6 fpm which I didnt needed and I removed afterwards. Now I am trying to switch php mode to fpm on one of my virtual server and virtualmin creates the pool conf file to /etc/php/5.6/fpm/pool.d/151472831711092.conf so I am getting Service unavailable when trying to access the website. If I edit /etc/php/7.0/fpm/php-fpm.conf and change include=/etc/php/7.0/fpm/pool.d/.conf to include=/etc/php/5.6/fpm/pool.d/.conf everything works great.
Is this a bug?
Can you let me know how I can fix my setup so it will not break in the future?

Runaway collectinfo.pl looping on named config check

One of our servers has a runaway collectinfo.pl. strace shows infinite this:

stat("/etc/named.conf", {st_mode=S_IFREG|0640, st_size=1551, ...}) = 0
stat("/etc/webmin/bind8/zone-names", {st_mode=S_IFREG|0644, st_size=530, ...}) = 0
stat("/etc/named.rfc1912.zones", {st_mode=S_IFREG|0640, st_size=931, ...}) = 0
stat("/etc/named.conf", {st_mode=S_IFREG|0640, st_size=1551, ...}) = 0
stat("/etc/webmin/bind8/zone-names", {st_mode=S_IFREG|0644, st_size=530, ...}) = 0
stat("/etc/named.rfc1912.zones", {st_mode=S_IFREG|0640, st_size=931, ...}) = 0
stat("/etc/named.conf", {st_mode=S_IFREG|0640, st_size=1551, ...}) = 0
stat("/etc/webmin/bind8/zone-names", {st_mode=S_IFREG|0644, st_size=530, ...}) = 0
stat("/etc/named.rfc1912.zones", {st_mode=S_IFREG|0640, st_size=931, ...}) = 0

Both files exist. I'm having trouble locating where this comes from...maybe the build_spf_dmarc_caches function call?

Restore Backup - Bind Issue

Restoring a backup from one server to another works correctly, however for some reason the newly restored domain BIND DNS zone is missing from Webmin -> Servers -> BIND DNS.

The zone file is correctly created, as is the master zone in named.conf, and the records correctly show up in Virtualmin -> Server Configuration -> DNS Records, but they should also be showing up in Webmin, but currently aren't.

Any ideas?

Centos 7
Webmin version 1.860
Usermin version 1.720
Virtualmin version 6.01

The server is correctly responding to queries for the domain

Manage SSL certificates. Let's Encrypt. Symlink certs. Certbot-auto.

These features are kind of broken.

  1. "Copy to Webmin" and "Copy to Usermin" fail to recognize when the cert is already copied. It thinks the certs are never copied over to Webmin and Usermin, even when they were copied there just now.
  2. Instead of "Copy to Webmin", "Copy to Usermin", "Copy to Dovecot", "Copy to Postfix", "Copy to ProFTPd", USE CERTBOT-AUTO and symlink the cert. Symlink is how Let's Encrypt certbot-auto succeeds at certificate version control, and fights against duplication of expired SSL certificates. Just symlink to /etc/letsencrypt/live/mydomain.com/cert.pem privkey.pem chain.pem or fullchain.pem. These links will always be the most up to date valid certs, keys and chains for that domain.
  3. Use certbot-auto to install the certs into Nginx and Apache. With --standalone mode, NEITHER Nginx NOR Apache is required to be running, in order to obtain LE certs and/or to install them into these web servers' configs.

Virtual server select dropdown box sometimes has the wrong server selected.

Sometimes the drop down select box of virtual server has incorrect server selected after you reopen and old session. This may drive to incorrect server deletion or similar issues.
Its hard to tell you how to reproduce. But when you have the remember me option enabled and with the latest browser versions caching system sometimes you may see the wrong server selected.
Virtualmin v6.01-3

SSL (Let's Encrypt) Issues

I keep getting errors for any of my domains on my server. The error is below, along with some info about the server. Most all of my sites are DNS'ed through CloudFlare with all features (save DNS) disabled. I have disabled BIND on the server to reduce conflicts with CloudFlare and my other DNS services pointing to my server. Please help if you can.

Parsing account key...
Parsing CSR...
Registering account...
Already registered!
Verifying oipnetwork.ml...
Wrote file to /home/default/public_html/.well-known/acme-challenge/7Yl64SdWWOK32-xfQgv7r2uYRBv00Ra476FytYW0ocM, but couldn't download http://oipnetwork.ml/.well-known/acme-challenge/7Yl64SdWWOK32-xfQgv7r2uYRBv00Ra476FytYW0ocM
Traceback (most recent call last):
File "/usr/share/webmin/webmin/acme_tiny.py", line 235, in
main(sys.argv[1:])
File "/usr/share/webmin/webmin/acme_tiny.py", line 231, in main
signed_crt = get_crt(args.account_key, args.csr, args.acme_dir, args.dns_hook, args.cleanup_hook, log=LOGGER, CA=args.ca)
File "/usr/share/webmin/webmin/acme_tiny.py", line 184, in get_crt
domain, challenge_status))
ValueError: oipnetwork.ml challenge did not pass: {u'status': u'invalid', u'validationRecord': [{u'addressesResolved': [u'23.95.245.8'], u'url': u'http://oipnetwork.ml/.well-known/acme-challenge/7Yl64SdWWOK32-xfQgv7r2uYRBv00Ra476FytYW0ocM', u'hostname': u'oipnetwork.ml', u'addressesTried': [], u'addressUsed': u'23.95.245.8', u'port': u'80'}], u'keyAuthorization': u'7Yl64SdWWOK32-xfQgv7r2uYRBv00Ra476FytYW0ocM.XduOZq3W286NJp_4QYAeIvZwyZRBMRYhyzsXcvzwEVU', u'uri': u'https://acme-v01.api.letsencrypt.org/acme/challenge/3rd3W5x5h0zxSy0QdwC_CuGB9xvFSjA_xzgnwaIWr9U/1991276825', u'token': u'7Yl64SdWWOK32-xfQgv7r2uYRBv00Ra476FytYW0ocM', u'error': {u'status': 403, u'type': u'urn:acme:error:unauthorized', u'detail': u'Invalid response from http://oipnetwork.ml/.well-known/acme-challenge/7Yl64SdWWOK32-xfQgv7r2uYRBv00Ra476FytYW0ocM: "\n\n<title>404 Not Found</title>\n\n

Not Found

\n<p"'}, u'type': u'http-01'}

I have re-built the server over and over to test if it was a config error, also I have tested with disabling the firewalld process entirely. Both to no avail.

Linux Firewall - Don't see all the rules

Hello,
I don't know if from Virtualmin or Authentic

if I do on shell iptables -L -n |more I can see all the rules and chains, many as usual...all the banned IPs and so on

If I click on "Linux Firewall"on Networking, the rules are not updated, there's not a button to see all the rules or to update to see the current real status of iptables

thanks

Virtualmin 6: List Users opened in new tab

Hi,

It's apparently not needed to pass new value for target attribute in navigation menu for List Users link:

/virtual-server/list_users.cgi

It happens in all themes.

font icons showing 4-digit garble instead

I seem to be having FontAwesome issues in Firefox 60.0 for Mac.

I see a few references to this issue online, but not for FF. Do you have any past / known issues along this line? I can see no Preference to properly refer to the FontAwesome icon fonts.

Please advise -- much appreciated!
screen shot 2018-05-15 at 3 42 18 pm
screen shot 2018-05-15 at 10 20 39 am

Steve

Enhancement: Option to *not* compress backups

I currently create local backups and then use a separate backup applications which is much more robust in terms of compression, encryption and incrementals than Virtualmin's function - which is fine because Virtualmin shouldn't be trying to become a fully-fledged backup tool.

However, Virtualmin gzip's the tar files produced from the backup (or tells the tar tool to gzip it, not sure). It would be nice if I could specify no compression for backups, so the backup tool which I use can compress them better without me having to gunzip them after they are backed up.

Shared logrotate support not working

Hi,

I've been trying to debug the shared logrotate code, because it is not working for me, or I am misunderstanding what it is supposed to do.

I have around a dozen domains, and if I set logrotate_shared=yes and then run virtualmin disable-feature --all-domains --logrotate and virtualmin enable-feature --all-domains --logrotate, I still see per-domain logrotate files in /etc/logrotate.d.

I've been adding a bunch of print statements to feature-logrotate.pl:

# Work out the log files we are rotating
local @logs = &get_all_domain_logs($_[0]);
local @tmpllogs = &get_domain_template_logs($_[0]);
if (@logs) {
        # Check if any are already rotated
        local $parent = &logrotate::get_config_parent();
        foreach my $c (@{$parent->{'members'}}) {
                foreach my $n (@{$c->{'name'}}) {
                        print "DEBUG: c->name = $c->{'name'}, n = $n\n";
                        if (&indexof($n, @logs) >= 0) {
                                # Clash!!
                                &error(&text('setup_clashlogrotate',
                                             "<tt>$n</tt>"));
                                }
                        }
                }

        # If in single config mode, check if there is a block for Virtualmin
        # already (based on the directory)
        local $logdir = $logs[0];
        $logdir =~ s/\/[^\/]+$//;
        print "DEBUG: tmpl->logrotate_shared $tmpl->{'logrotate_shared'}\n";
        print "DEBUG: logdir $logdir\n";
        local $already;
        print "DEBUG: logs[0] $logs[0], d->home $d->{'home'}\n";
        if ($tmpl->{'logrotate_shared'} eq 'yes' &&  
            $logs[0] !~ /^\Q$d->{'home'}\E\//) {
                print "DEBUG shared yes\n";
                LOGROTATE: foreach my $c (@{$parent->{'members'}}) {
                        foreach my $n (@{$c->{'name'}}) {
                                print "DEBUG n = $n, c = $c\n";
                                if ($n =~ /^\Q$logdir\E\/[^\/]+$/) {
                                        $already = $c;
                                        last LOGROTATE;
                                        }
                                }
                        }
                } else {
                        print "DEBUG: did not set already = c :(\n";
                }

Here's the full output when I enable logrotate for 2 domains after a disable-all:

Updating server daybyday.nl ..
    Setting up log file rotation ..
DEBUG: c->name = ARRAY(0x6cd1418), n = /var/log/apache2/*.log
DEBUG: c->name = ARRAY(0x6d239d0), n = /var/log/apt/term.log
DEBUG: c->name = ARRAY(0x6d32820), n = /var/log/apt/history.log
DEBUG: c->name = ARRAY(0x6d327f0), n = /var/log/aptitude
DEBUG: c->name = ARRAY(0x6d2bc78), n = /var/log/clamav/clamav.log
DEBUG: c->name = ARRAY(0x6d2fc20), n = /var/log/clamav/freshclam.log
DEBUG: c->name = ARRAY(0x6cd1a58), n = /var/log/ConsoleKit/history
DEBUG: c->name = ARRAY(0x6d27598), n = /var/log/dpkg.log
DEBUG: c->name = ARRAY(0x6d33618), n = /var/log/alternatives.log
DEBUG: c->name = ARRAY(0x6cd1830), n = /var/log/iptraf/*.log
DEBUG: c->name = ARRAY(0x6d259a8), n = /var/log/knockd.log
DEBUG: c->name = ARRAY(0x6d2b168), n = /var/log/mysql/mysql.log
DEBUG: c->name = ARRAY(0x6d2b168), n = /var/log/mysql/mysql-slow.log
DEBUG: c->name = ARRAY(0x6d2b168), n = /var/log/mysql/error.log
DEBUG: c->name = ARRAY(0x6d2e090), n = /var/log/pm-suspend.log
DEBUG: c->name = ARRAY(0x6d2e090), n = /var/log/pm-powersave.log
DEBUG: c->name = ARRAY(0x6d2b840), n = /var/log/postgresql/*.log
DEBUG: c->name = ARRAY(0x6d300a0), n = /var/log/ppp-connect-errors
DEBUG: c->name = ARRAY(0x6d29470), n = /var/log/razor-agent.log
DEBUG: c->name = ARRAY(0x6d334e0), n = /var/log/syslog
DEBUG: c->name = ARRAY(0x6d2ac40), n = /var/log/mail.info
DEBUG: c->name = ARRAY(0x6d2ac40), n = /var/log/mail.warn
DEBUG: c->name = ARRAY(0x6d2ac40), n = /var/log/mail.err
DEBUG: c->name = ARRAY(0x6d2ac40), n = /var/log/mail.log
DEBUG: c->name = ARRAY(0x6d2ac40), n = /var/log/daemon.log
DEBUG: c->name = ARRAY(0x6d2ac40), n = /var/log/kern.log
DEBUG: c->name = ARRAY(0x6d2ac40), n = /var/log/auth.log
DEBUG: c->name = ARRAY(0x6d2ac40), n = /var/log/user.log
DEBUG: c->name = ARRAY(0x6d2ac40), n = /var/log/lpr.log
DEBUG: c->name = ARRAY(0x6d2ac40), n = /var/log/cron.log
DEBUG: c->name = ARRAY(0x6d2ac40), n = /var/log/debug
DEBUG: c->name = ARRAY(0x6d2ac40), n = /var/log/messages
DEBUG: c->name = ARRAY(0x6d28e28), n = /var/log/tinyproxy/tinyproxy.log
DEBUG: c->name = ARRAY(0x6d2b858), n = /var/log/tomcat7/catalina.out
DEBUG: c->name = ARRAY(0x6d293f8), n = /var/log/unattended-upgrades/unattended-upgrades.log
DEBUG: c->name = ARRAY(0x6d293f8), n = /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
DEBUG: c->name = ARRAY(0x6d293f8), n = /var/log/unattended-upgrades/unattended-upgrades-shutdown.log
DEBUG: c->name = ARRAY(0x6d23478), n = /var/log/vsftpd.log
DEBUG: c->name = ARRAY(0x6c86e38), n = /var/log/wtmp
DEBUG: c->name = ARRAY(0x6d2dc10), n = /var/log/btmp
DEBUG: tmpl->logrotate_shared yes
DEBUG: logdir /home/daybyday.nl/logs
DEBUG: logs[0] /home/daybyday.nl/logs/access_log, d->home /home/daybyday.nl
DEBUG: did not set already = c :(
DEBUG: already = None
    .. done

    Updating Webmin user ..
    .. done

.. done

Re-loading Webmin ..
.. done

Updating server gerben.nl ..
    Setting up log file rotation ..
DEBUG: c->name = ARRAY(0x65397e0), n = /var/log/apache2/*.log
DEBUG: c->name = ARRAY(0x66353d0), n = /var/log/apt/term.log
DEBUG: c->name = ARRAY(0x6636ae0), n = /var/log/apt/history.log
DEBUG: c->name = ARRAY(0x66412f0), n = /var/log/aptitude
DEBUG: c->name = ARRAY(0x6634c38), n = /var/log/clamav/clamav.log
DEBUG: c->name = ARRAY(0x6638060), n = /var/log/clamav/freshclam.log
DEBUG: c->name = ARRAY(0x663bc38), n = /var/log/ConsoleKit/history
DEBUG: c->name = ARRAY(0x6636660), n = /home/daybyday.nl/logs/access_log
DEBUG: c->name = ARRAY(0x6636660), n = /home/daybyday.nl/logs/error_log
DEBUG: c->name = ARRAY(0x6638600), n = /var/log/dpkg.log
DEBUG: c->name = ARRAY(0x663b560), n = /var/log/alternatives.log
DEBUG: c->name = ARRAY(0x66363f0), n = /var/log/iptraf/*.log
DEBUG: c->name = ARRAY(0x66381b0), n = /var/log/knockd.log
DEBUG: c->name = ARRAY(0x6539eb8), n = /var/log/mysql/mysql.log
DEBUG: c->name = ARRAY(0x6539eb8), n = /var/log/mysql/mysql-slow.log
DEBUG: c->name = ARRAY(0x6539eb8), n = /var/log/mysql/error.log
DEBUG: c->name = ARRAY(0x64c6ef8), n = /var/log/pm-suspend.log
DEBUG: c->name = ARRAY(0x64c6ef8), n = /var/log/pm-powersave.log
DEBUG: c->name = ARRAY(0x66339b8), n = /var/log/postgresql/*.log
DEBUG: c->name = ARRAY(0x662f270), n = /var/log/ppp-connect-errors
DEBUG: c->name = ARRAY(0x66384e0), n = /var/log/razor-agent.log
DEBUG: c->name = ARRAY(0x663e6a0), n = /var/log/syslog
DEBUG: c->name = ARRAY(0x65cc6c0), n = /var/log/mail.info
DEBUG: c->name = ARRAY(0x65cc6c0), n = /var/log/mail.warn
DEBUG: c->name = ARRAY(0x65cc6c0), n = /var/log/mail.err
DEBUG: c->name = ARRAY(0x65cc6c0), n = /var/log/mail.log
DEBUG: c->name = ARRAY(0x65cc6c0), n = /var/log/daemon.log
DEBUG: c->name = ARRAY(0x65cc6c0), n = /var/log/kern.log
DEBUG: c->name = ARRAY(0x65cc6c0), n = /var/log/auth.log
DEBUG: c->name = ARRAY(0x65cc6c0), n = /var/log/user.log
DEBUG: c->name = ARRAY(0x65cc6c0), n = /var/log/lpr.log
DEBUG: c->name = ARRAY(0x65cc6c0), n = /var/log/cron.log
DEBUG: c->name = ARRAY(0x65cc6c0), n = /var/log/debug
DEBUG: c->name = ARRAY(0x65cc6c0), n = /var/log/messages
DEBUG: c->name = ARRAY(0x6636a38), n = /var/log/tinyproxy/tinyproxy.log
DEBUG: c->name = ARRAY(0x6631838), n = /var/log/tomcat7/catalina.out
DEBUG: c->name = ARRAY(0x662f888), n = /var/log/unattended-upgrades/unattended-upgrades.log
DEBUG: c->name = ARRAY(0x662f888), n = /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
DEBUG: c->name = ARRAY(0x662f888), n = /var/log/unattended-upgrades/unattended-upgrades-shutdown.log
DEBUG: c->name = ARRAY(0x6631808), n = /var/log/vsftpd.log
DEBUG: c->name = ARRAY(0x6539f18), n = /var/log/wtmp
DEBUG: c->name = ARRAY(0x64d6b98), n = /var/log/btmp
DEBUG: tmpl->logrotate_shared yes
DEBUG: logdir /home/gerben.nl/logs
DEBUG: logs[0] /home/gerben.nl/logs/access_log, d->home /home/gerben.nl
DEBUG: did not set already = c :(
DEBUG: already = None
    .. done

    Updating Webmin user ..
    .. done

.. done

Re-loading Webmin ..
.. done

I'm basically never reaching print "DEBUG shared yes\n". It looks to me as if this is only going to work for subservers, aliases and/or subdomains, but never between top-level servers, because it's comparing $logs[0] with $d->{home} in order to determine if it can add a rotate statement to a config block. That is never going to match the directory paths of any other top-level server.

And even if I comment out $logs[0] !~ /^\Q$d->{'home'}\E\//, it is then going to traverse the &get_all_domain_logs($_[0]) array and try to find $logdir there - which is also never going to match any other top-level server, so $always stays None and it's just going to add another config file.

Is that by design? Or perhaps it's happening because the logs are in a logs subdir of $d->{'home'}?

And is there anything that can be done to fix this?

FreeBSD 11: Let's Encrypt Auto Renewal not working

Requesting a new certificate works fine.
Auto renewals do not work even if I click the Only Update Renewal button. The page refreshes but the certificate does not update. I do not get any emails either about the Certificate expiring.

Running /usr/local/etc/webmin/virtual-server/collectinfo.pl returns
Use of uninitialized value $bind8::config{"pid_file"} in split at /usr/local/lib/webmin-1.890/bind8/bind8-lib.pl line 1676.
Use of uninitialized value $bind8::config{"pid_file"} in split at /usr/local/lib/webmin-1.890/bind8/bind8-lib.pl line 1676.
Use of uninitialized value $bind8::config{"pid_file"} in split at /usr/local/lib/webmin-1.890/bind8/bind8-lib.pl line 1676.
Use of uninitialized value $bind8::config{"pid_file"} in split at /usr/local/lib/webmin-1.890/bind8/bind8-lib.pl line 1676.

Which makes sense since I have 4 SSL sites on the server. I do not have BIND installed.

OS: 11.1-RELEASE-p11
Webmin: 1.890
Virtualmin: 6.03

Can't change execution mode from php-fpm to fcgid (after upgrade?)

Debian 8
php 5.6.33
phpfpm
Virtualmin 6 (upgraded from 5.99)

If I try to change the php execution mode from PHPFPM to FCGId I got a:

Changing PHP execution mode to FCGId (run as virtual server owner) ..
Failed to save website options : No PHP command found!

I suspect that the problem came up after the upgrade from 5.99 to 6. (I've done it updating the ATP repository).

Does let's encrypt certificat at Vhost creation autorenew ?

Hello,

I have setup my server template so at vhost creation it always create a certificate for the corresponding host also set the rewrite rules to point to the https page.
What I don't know and didn't manage to find out is does the auto renew parameter is set if yes what's the default timing for the auto-renewal?
Finally is there a way to find out either in the interface or in a config file if this parameter is set for a specific host ?

Thanks for the clarification

Matth

Fail on large 95GB Restore Backup (Restore Virtual Servers)

Steps to reproduce:

  1. Make full backup on cPanel server according to steps on virtualmin.com.
  2. Login as root to new Virtualmin, current version, running on 16.04 OS, 1GB RAM, no swap, 500 GB disk.
  3. Click Backup and Restore, Restore Backup, Local file, Select file in file navigator ( /root/backup-10.24.2017_16-47-37_cPanelUsername.tar.gz ).
  4. Click Show What Will Be Restored.
  5. See the spinning circle in the top right corner of the virtualmin page, as it is running the process.
  6. Notice CPU usage is showing activity on htop for processes gzip, cat, tar, and restore.cgi.
  7. After some time, probably 15 minutes, CPU activity stops, and browser shows some error, Connection reset.

EDIT: Exact error message is

Secure Connection Failed

The connection to the server was reset while the page was loading.

    The page you are trying to view cannot be shown because the authenticity of the received data could not be verified.
    Please contact the website owners to inform them of this problem.
``` #15 

Email autoconfig doesn't run perl it just prints the perl source code.

Steps to reproduce.

  1. Email autoconfig is enabled globally for all domains.
  2. Ubuntu 16.04 Xenial LTS
  3. Visit the Thunderbird autoconfig web url: http://autoconfig.example.com/mail/[email protected]
  4. Get redirected to: http://autoconfig.example.com/cgi-bin/[email protected]
  5. See printout of the perl source code. It should run, not print out!
#!/usr/bin/perl
# This script gets copied to each domain's CGI directory to output the
# correct SMTP and IMAP server details.

# These variables get replaced when the script is copied
$OWNER = "";
$USER = 'example';
$SMTP_HOST = 'example.com';
$SMTP_PORT = '587';
$SMTP_TYPE = 'STARTTLS';
$SMTP_SSL = 'yes';
$SMTP_ENC = 'password-cleartext';
$IMAP_HOST = 'mail.example.com';
$IMAP_PORT = '993';
$IMAP_TYPE = 'SSL';
$IMAP_SSL = 'yes';
$IMAP_ENC = 'password-cleartext';
$PREFIX = 'example';
$STYLE = '0';

sub error_exit
{
print "Content-type: text/plain\n\n";
print @_,"\n";
exit(0);
}

# Get email address parameter
if ($ENV{'QUERY_STRING'} =~ /emailaddress=([^&]+)/) {
	# Thunderbird style
	$email = $1;
	$email =~ s/%(..)/pack("c",hex($1))/ge;
	($mailbox, $SMTP_DOMAIN) = split(/\@/, $email);
	$mailbox && $SMTP_DOMAIN ||
	    &error_exit("emailaddress parameter is not in user@domain format");
	}
elsif ($ENV{'REQUEST_METHOD'} eq 'POST') {
	# Outlook style
	read(STDIN, $buf, $ENV{'CONTENT_LENGTH'});
	$buf =~ /<EMailAddress>([^@<>]+)@([^<>]+)<\/EMailAddress>/i ||
		&error_exit("EMailAddress missing from input XML");
	($mailbox, $SMTP_DOMAIN) = ($1, $2);
	$email = $1."\@".$2;
	}
else {
	&error_exit("Missing emailaddress parameter");
	}

# Work out the full username
if ($mailbox eq $USER) {
	# Domain owner, so no need for prefix
	$SMTP_LOGIN = $USER;
	}
elsif ($STYLE == 0) {
	$SMTP_LOGIN = $mailbox.".".$PREFIX;
	}
elsif ($STYLE == 1) {
	$SMTP_LOGIN = $mailbox."-".$PREFIX;
	}
elsif ($STYLE == 2) {
	$SMTP_LOGIN = $PREFIX.".".$mailbox;
	}
elsif ($STYLE == 3) {
	$SMTP_LOGIN = $PREFIX."-".$mailbox;
	}
elsif ($STYLE == 4) {
	$SMTP_LOGIN = $mailbox."_".$PREFIX;
	}
elsif ($STYLE == 5) {
	$SMTP_LOGIN = $PREFIX."_".$mailbox;
	}
elsif ($STYLE == 6) {
	$SMTP_LOGIN = $email;
	}
elsif ($STYLE == 7) {
	$SMTP_LOGIN = $mailbox."\%".$PREFIX;
	}
else {
	&error_exit("Unknown style $STYLE");
	}
$MAILBOX = $mailbox;

# Output the XML
print "Content-type: text/xml\n\n";
if ($ENV{'SCRIPT_NAME'} =~ /autodiscover.xml/i) {
	# Outlook
	print <<EOF;
<?xml version="1.0" encoding="utf-8" ?>
<Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006">
  <Response xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a">
    <Account>
      <AccountType>email</AccountType>
      <Action>settings</Action>
      <Protocol>
	<Type>IMAP</Type>
        <TTL>24</TTL>
	<Server>$IMAP_HOST</Server>
        <Port>$IMAP_PORT</Port>
	<LoginName>$SMTP_LOGIN</LoginName>
        <DomainRequired>off</DomainRequired>
        <SSL>$IMAP_SSL</SSL>
	<AuthRequired>on</AuthRequired>
      </Protocol>
      <Protocol>
	<Type>SMTP</Type>
        <TTL>24</TTL>
	<Server>$SMTP_HOST</Server>
        <Port>$SMTP_PORT</Port>
	<LoginName>$SMTP_LOGIN</LoginName>
        <DomainRequired>off</DomainRequired>
        <SSL>$SMTP_SSL</SSL>
	<AuthRequired>on</AuthRequired>
      </Protocol>
    </Account>
  </Response>
</Autodiscover>
EOF
	}
else {
	# Thunderbird
	print <<EOF;
<?xml version="1.0" encoding="UTF-8"?>
 
<clientConfig version="1.1">
  <emailProvider id="$SMTP_DOMAIN">
    <domain>$SMTP_DOMAIN</domain>
    <displayName>$OWNER Email</displayName>
    <displayShortName>$OWNER</displayShortName>
    <incomingServer type="imap">
      <hostname>$IMAP_HOST</hostname>
      <port>$IMAP_PORT</port>
      <socketType>$IMAP_TYPE</socketType>
      <authentication>$IMAP_ENC</authentication>
      <username>$SMTP_LOGIN</username>
    </incomingServer>
    <outgoingServer type="smtp">
      <hostname>$SMTP_HOST</hostname>
      <port>$SMTP_PORT</port>
      <socketType>$SMTP_TYPE</socketType>
      <authentication>$SMTP_ENC</authentication>
      <username>$SMTP_LOGIN</username>
    </outgoingServer>
  </emailProvider>
</clientConfig>
EOF
	}

Virtualmin can't press "Submit"

I can't seem to press Submit button with the latest virtualmin / webmin.

I'm using a bit old browser but not that old. Older version works but not the newer version. Any help?

Error, Failed to save Enable Features, 16.04.

Error
Failed to save enabled features : Suexec is enabled in the default template, but the suexec command was not found on your system.

16.04.
Installed is libapache2-mod-fcgid.
Result of apachectl configtest is Syntax OK.

Goal is to have virtualmin use the lowest RAM/CPU resource consuming version of Apache 2.4 = PHP-FPM.

Better error message in Backup Virtual Servers with single archive file option selected

I tried to create a backup by visiting "Backup Virtual Servers" and selecting "Servers to save -> only selected", choose only 1 domain, with "Include sub-servers of those selected?" unchecked and also selected "Backup Format ->One file per server"

Starting backup of 1 domains to local file /root/backups/xxxx.tar.gz ..
Cannot backup multiple domains to /root/backups/xxxx.tar.gz, as it is not a directory
Backup failed! See the progress output above for the reason why.

I know that i had to select "Single archive file from Backup Format" to get it done but I just wanted to let you know about the funny error message :D

Update 6.02 to 6.03 Error: Unable to fetch some archives. Size mismatch.

Steps to reproduce

  1. Using Debian 8 Jessie, install GPL:
    1. Webmin version 1.881
    1. Usermin version 1.741
    1. Virtualmin version 6.02

  2. Using Webmin, update from Authentic Theme 19.12 to 19.13

  3. Using Webmin, go to /package-updates/index.cgi?mode=updates&xnavigation=1

    1. Try to update from version 6.02 to 6.03 which was released on April 25th, 2018
      1. On the next "Update Package" page at /package-updates/update.cgi?xnavigation=1 it reads:
        1. Package: webmin-virtual-server
        2. Current version: 6.02.gpl-2
        3. New version: 6.03.gpl
        4. Description: all Webmin module for 'Virtualmin Virtual Servers'
    2. Webmin return this error message

Now updating webmin-virtual-server ..

Installing package(s) with command apt-get -y install webmin-virtual-server ..


Reading package lists...
Building dependency tree...

Reading state information...
The following packages will be upgraded:
webmin-virtual-server

1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 2505 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://software.virtualmin.com/gpl/debian/ virtualmin-universal/main webmin-virtual-server all 6.03.gpl [2505 kB]
Fetched 1767 kB in 0s (22.8 MB/s)
E: Failed to fetch http://software.virtualmin.com/gpl/debian/dists/virtualmin-universal/main/binary-amd64/webmin-virtual-server_6.03.gpl_all.deb Size mismatch

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?


.. install failed!

No packages were installed. Check the messages above for the cause of the error.


The Ubertus team would be happy to contribute testing if needed

Impossible to install Django

Hello,
I tried to use the django script but it didn't work with V1.9.7, with the following error Your Virtualmin version does not support proxying
https://www.virtualmin.com/node/40287 seems to indicate that it is not supported anymore in GPL version
I still managed to use V1.7, but I wanted to know if there was any plan to support django again in the GPL version.
Moreover both V1.7 and 1.9 are not supported anymore (cf https://www.djangoproject.com/download/), thus the question : Is django still supported in virtualmin ?
Thanks in advance

Confused about the way to upgrade virtualmin

Debian 9
Webmin 1.880 ( installed via apt)
Virtualmin 6.01 ( installed as a module from Webmin interface)

I have looked around to understand how i can safely update Virtualmin and I don't see any case fitting my situation.

First from the interface, the only info I have is that my Virtualmin version is too old, but nothing to perform the upgrade of the module.

I looked in Webmin Configuration > Webmin modules but looking in Standard module from www.webmin.com the Virtualmin package doesn't exist...

I found the Debian repository, but because the package was installed originally has a module I'm afraid to break everything going to that path for an upgrade..

From what i understand the install.sh script his not design to perform upgrade has the script name stipulate :)

So from here what would be the best way to upgrade Virtualmin is it safe to switch to apt even if it has been installed has a module ?
Is there another method I'm not aware of ?

Thanks for the clarification!

kind regards

Matth

DMARC - missing 'mailto:' in DNS Record

In server template: "Reporting URI for forensic reports: mailto:postmaster@domain" and "Reporting URI for aggregate reports: mailto:postmaster@domain" is selected but the generated DNS record is missing "mailto:" in both options.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.