ISPConfig 3 issueshttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues2024-03-27T14:27:09Zhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6604Enhance ssh keys textarea with Javascript2024-03-27T14:27:09ZHelmoEnhance ssh keys textarea with JavascriptWith multiple (or long) ssh public keys the textarea to enter them for SSH/SFTP account is not ideal.
What about a Javascript enhancement?
![image.png](/uploads/3810a8d251c01cfa6d740a19686f3d59/image.png)
![image.png](/uploads/e0571a5...With multiple (or long) ssh public keys the textarea to enter them for SSH/SFTP account is not ideal.
What about a Javascript enhancement?
![image.png](/uploads/3810a8d251c01cfa6d740a19686f3d59/image.png)
![image.png](/uploads/e0571a587a15e081bad5852b39130c83/image.png)
Patches to improve e.g. the styling are very welcome ;)https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6617Show DKIM status when editing mail_domain2024-03-26T09:51:12ZHelmoShow DKIM status when editing mail_domainSimilar to #6539 I would like to show the user what the DKIM dns status is. E.g. if the dns record is resolving OK.
This should also help to detect copy/paste errors when using external DNS.
The OK state:
![image](/uploads/4554cceb7f7f...Similar to #6539 I would like to show the user what the DKIM dns status is. E.g. if the dns record is resolving OK.
This should also help to detect copy/paste errors when using external DNS.
The OK state:
![image](/uploads/4554cceb7f7f5c02aa2da8360fc9db0f/image.png)
For a not added to DNS state:
![image](/uploads/adebce3ce00ab90f362f5109eb80a095/image.png)
For a failure scenario:
![image](/uploads/442b3b21d636873ca3541c9ceae19c4e/image.png)
This icon might be a bit too subtle? Thoughts?HelmoHelmohttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6548Overview of which sites use a PHP version2024-03-18T20:23:38ZHelmoOverview of which sites use a PHP versionThe usage counter in server_php_list.php from server_php_list.php !991 helps to see how many sistes use the version but not which sites. And I did not find an easy way to look this up.
Adding an extra column to the sites list was my fir...The usage counter in server_php_list.php from server_php_list.php !991 helps to see how many sistes use the version but not which sites. And I did not find an easy way to look this up.
Adding an extra column to the sites list was my first though as that would allow filtering on php version. But I see two objections, first not all sites have the setting(either using mod php or no php at all), and second it would compete for space in an already filled table.
I suggest adding a simple list on the Additional PHP Versions edit form. Additional styling is very welcome ;)
![image](/uploads/7bb2df46c731a2cd1f6afb78f7ab3b62/image.png)HelmoHelmohttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5525Show assigned PHP in Websites list2024-03-18T20:23:35ZPascal HerbertShow assigned PHP in Websites listan optional column assigned PHP in the list of all websites would be useful.
so you could easy check if it is ok to remove eg. php 7.0an optional column assigned PHP in the list of all websites would be useful.
so you could easy check if it is ok to remove eg. php 7.0https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6541Mailman 32024-03-15T15:29:18ZTill BrehmMailman 3While we currently do not plan to implement Mailman 3 support in ISPConfig, I'll open this issue here as a place to gather information for possible future implementation.While we currently do not plan to implement Mailman 3 support in ISPConfig, I'll open this issue here as a place to gather information for possible future implementation.https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6665security.txt2024-03-15T12:15:01ZSteffan Noordsecurity.txtRequest to adopt security.txt to the panel
idee is to I add a default security.txt to the .well-known folders of all domains, and clients can eddit it in the panel
https://www.rfc-editor.org/rfc/rfc9116Request to adopt security.txt to the panel
idee is to I add a default security.txt to the .well-known folders of all domains, and clients can eddit it in the panel
https://www.rfc-editor.org/rfc/rfc9116https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6501website PHP version select should also apply for CLI2024-03-14T07:11:07Zlaulauwebsite PHP version select should also apply for CLI## Summary
choosen PHP version is correcly applied for website, but not for CLI things (cron, SSH)
## Steps to reproduce
1. create a website
2. select a PHP version different from system default
3. login via SSH
4. php --version
## Cor...## Summary
choosen PHP version is correcly applied for website, but not for CLI things (cron, SSH)
## Steps to reproduce
1. create a website
2. select a PHP version different from system default
3. login via SSH
4. php --version
## Correct behaviour
should use same PHP version as the website we are using
## Environment
Server OS + version: 18.04
ISPConfig version: 3.2.7p1
## Proposed fix
set an alias, or a symlink for the shell users related to the website ?https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5374Store last access information for mail users2024-03-13T17:14:18ZHelmoStore last access information for mail usersIn one legacy system I have a daily cronjob that gathers all imap/pop3/smtp logins and updates a last_access date in the user table.
I'm missing that in ISPconfig and would suggest adding something like that.
I've started hacking this t...In one legacy system I have a daily cronjob that gathers all imap/pop3/smtp logins and updates a last_access date in the user table.
I'm missing that in ISPconfig and would suggest adding something like that.
I've started hacking this together and with the patch below it's shown as a tooltip in the mail user listing.
I'm open to any suggestions on how to properly implement this here.
The cron script, run just before log rotation (e.g. as /etc/cron.daily/ispconfig_log_parser):
```bash
#!/bin/bash
# Parse the mailserver's logs to update the last_access date for all mail accounts.
NOW=`date +%Y-%m-%d`
#NOW=$1
# Filter imap/pop/smtp logins
# prefix cat with 'ssh <slaveserver>' when mail is on a slave server (use command="cat /var/log/mail.log" in the authorized_keys file to restrict access).
cat /var/log/mail.log \
| perl -n -e "if (\$_ =~ s/(.*) dovecot: (imap|pop3)-login: Login: user=\<([\w\.@-]+)\>.*/\$3/ or \$_ =~ s/(.*) sasl_method=PLAIN, sasl_username=([\w\.@-]+)/\$2/) { print \$_}" \
| sort \
| uniq \
| perl -n -e "\$_ =~ s/([\w\.@-]+)/UPDATE mail_user SET last_access='$NOW' WHERE email='\$1';/; print \$_" \
| tee /tmp/mail_stat_access.sql \
| mysql dbispconfig
```
Adding a column:
```sql
ALTER TABLE `mail_user` ADD `last_access` DATE NULL after `disabledoveadm`;
```
The code:
```diff
diff --git a/interface/web/mail/list/mail_user.list.php b/interface/web/mail/list/mail_user.list.php
index 4513a516c..7f4253c82 100755
--- a/interface/web/mail/list/mail_user.list.php
+++ b/interface/web/mail/list/mail_user.list.php
@@ -124,5 +124,13 @@ $liste["item"][] = array( 'field' => "disablepop3",
'suffix' => "",
'width' => "",
'value' => array('n' => $app->lng('yes_txt'), 'y' => $app->lng('no_txt')));
+$liste["item"][] = array( 'field' => "last_access",
+ 'datatype' => "DATE",
+ 'formtype' => "TEXT",
+ 'op' => "=",
+ 'prefix' => "",
+ 'suffix' => "",
+ 'width' => "",
+ 'value' => "");
?>
diff --git a/interface/web/mail/templates/mail_user_list.htm b/interface/web/mail/templates/mail_user_list.htm
index 4e2fedd50..d73850923 100755
--- a/interface/web/mail/templates/mail_user_list.htm
+++ b/interface/web/mail/templates/mail_user_list.htm
@@ -59,7 +59,7 @@
<tbody>
<tmpl_loop name="records">
<tr>
- <td><a href="#" data-load-content="mail/mail_user_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="{tmpl_var name='email'}">{tmpl_var name="email"}</a></td>
+ <td><a href="#" data-load-content="mail/mail_user_edit.php?id={tmpl_var name='id'}" data-toggle="tooltip" data-placement="bottom" title="Last access: {tmpl_var name='last_access'}">{tmpl_var name="email"}</a></td>
<tmpl_if name="enable_custom_login">
<td>
<a href="#" data-load-content="mail/mail_user_edit.php?id={tmpl_var name='id'}">{tmpl_var name="login"}</a>
```https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6630Remove Pagespeed support2024-03-12T17:40:11ZMichaelRemove Pagespeed supportThe Pagespeed project (Apache module as well as Nginx) has not been maintained since at least 30. June 2022 and the Git repositories have been archived.
I therefore suggest removing Pagespeed.
Maybe it is possible to "substitute" Pa...The Pagespeed project (Apache module as well as Nginx) has not been maintained since at least 30. June 2022 and the Git repositories have been archived.
I therefore suggest removing Pagespeed.
Maybe it is possible to "substitute" Pagespeed with Google's Lighthouse some day in the future which provides a similar set of features, except that the website owner has to manually make the adjustments to his website.https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6662Add amazontrust.com CA2024-03-07T09:30:48ZTill BrehmAdd amazontrust.com CAAdd the CA amazontrust.com for CAA records.Add the CA amazontrust.com for CAA records.3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6655Detect and add new IP addresses to ISPConfig2024-02-26T11:14:52ZHairyDetect and add new IP addresses to ISPConfig## Summary
On the very first and only the very first install of ISPConfig, the installer will detect and add the IP addresses of the server.
After installing ISPConfig, I have added additional IP addresses to the server.
After recently u...## Summary
On the very first and only the very first install of ISPConfig, the installer will detect and add the IP addresses of the server.
After installing ISPConfig, I have added additional IP addresses to the server.
After recently updating ISPConfig to the latest version, my new IP addresses were not added to ISPConfig.
ISPConfig should be able to scan for new IP addresses and add them to ISPConfig.
This single feature should be available from at least three places.
Additionally, I think you should be asked whether you want to scan for server IP addresses to add when installing and updating ISPConfig.
Currently, the installer forces you to add the new IP addresses whether you want to or not.
First, the feature should be fixed in the file /install/install.php, directly above the Restarting services section.
Second, the feature should be added to the file /install/update.php, directly above the Restarting services section.
Third, the feature should be added to the ISPConfig admin interface, under System->Server IP Addresses, with a new button labeled "Detect and Add New IPs."
## Proposed fix
I think I can fix this by changing or implementing the following code in the /install/install.php and /install/update.php files:
```
// Detect and add server IP addresses to ISPconfig
$detect_ips_answer = $inst->simple_query('Detect and add server IPs to ISPConfig?', array('yes', 'no'), 'no','detect_ips');
if($detect_ips_answer == 'yes') {
swriteln('Detecting IP addresses');
$inst->detect_ips();
}
```
I think the field server_ip.ip_address should be changed to unique to prevent duplicate entries.
Perhaps in time, I can offer more information for the button in the admin interface.
Maybe someone else can push a commit for the button before I can get to it.
## Environment
ISPConfig 3.2.11p2
Debian 11
## Related log entries
issue-fix-detect-ips-on-install
issue-add-detect-ips-on-update
issue-add-detect-ips-sysadmin-buttonhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6651Remove old OpenVZ code (vm module)2024-02-20T07:51:27ZTill BrehmRemove old OpenVZ code (vm module)The traditional OpenVZ Kernel has not been available for quite some time, so keeping the code for it in ISPConfig makes no sense as its of no use on any current Linux system. The last OpenVZ Kernel was Linux Kernel 2.5 or 2.6, if I remem...The traditional OpenVZ Kernel has not been available for quite some time, so keeping the code for it in ISPConfig makes no sense as its of no use on any current Linux system. The last OpenVZ Kernel was Linux Kernel 2.5 or 2.6, if I remember correctly. This feature request is to remove the old legacy OpenVZ code to clean up the code base.3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/2986Add support for Docker based virtualization2024-02-20T07:48:29ZJanAdd support for Docker based virtualizationDocker (http://www.docker.io/) is becoming more and more popular virtualization solution based on lxc (linux containers).
Considering docker base on built-in kernel-based virtualization it is a matter of time to became a standard over Op...Docker (http://www.docker.io/) is becoming more and more popular virtualization solution based on lxc (linux containers).
Considering docker base on built-in kernel-based virtualization it is a matter of time to became a standard over OpenVZ.
I believe it will be huge advantage over competition to support docker/lxc based virtualization at ISPConfig.https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6649Parse options from php.ini settings to php pool file directly2024-02-13T16:54:44ZKreso PendicParse options from php.ini settings to php pool file directly3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6639ISPConfig CLI command2024-02-01T16:05:49ZTill BrehmISPConfig CLI commandImplement a new modular ISPConfig command-line interface. The command will be named "ispc". It will also replace the old update command, ispconfig_update.sh.
Example commands:
ispc version (Shows ISPConfig version)
ispc update (Runs IS...Implement a new modular ISPConfig command-line interface. The command will be named "ispc". It will also replace the old update command, ispconfig_update.sh.
Example commands:
ispc version (Shows ISPConfig version)
ispc update (Runs ISPConfig Update)
ispc backup (Make a backup of the ISPConfig database and files)
ispc password admin (set new password for user admin)
ispc server plugin enable cron (enables the cron server plugin)
ispc help (Will show available modules and command options)
In the first step, the basis for the new cli will be implemented with a few simple base functions like the version command. More commands will be added later on.3.2.12Till BrehmTill Brehmhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6632Disable FastCGI option on newly installed systems2024-01-23T22:58:24ZThomDisable FastCGI option on newly installed systems3.2.12ThomThomhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6627Wrong CNAME DNS Validation2024-01-10T07:04:45Zteuto.netWrong CNAME DNS ValidationThe current cname validation only checks if there is already an entry with the same name.
There i no validation for DNS entry's like name.origin.The current cname validation only checks if there is already an entry with the same name.
There i no validation for DNS entry's like name.origin.teuto.netteuto.nethttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6625De-duplicate onBeforeUpdate and onBeforeInsert in database_edit.php2024-01-09T19:17:19ZHelmoDe-duplicate onBeforeUpdate and onBeforeInsert in database_edit.phpIt annoyed me that a huge chunk of code was duplicated between onBeforeUpdate() and onBeforeInsert() in database_edit.php, and a few subtle differences had already crept up... bugs.
E.g. on Insert we were not checking is a database_user...It annoyed me that a huge chunk of code was duplicated between onBeforeUpdate() and onBeforeInsert() in database_edit.php, and a few subtle differences had already crept up... bugs.
E.g. on Insert we were not checking is a database_user was filled in, but in the update method we call an error database_user_missing_txt for it.HelmoHelmohttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6626Mirror server IP not automatically added to database Remote Access IPs list2024-01-09T19:17:02ZHelmoMirror server IP not automatically added to database Remote Access IPs listThe webserver's IP is auto added to the list of Remote Access IPs when the database is not on the same host.
However when that host has a mirror server those IP's are not added. MR incoming ...
It annoyed me that a huge chunk of code w...The webserver's IP is auto added to the list of Remote Access IPs when the database is not on the same host.
However when that host has a mirror server those IP's are not added. MR incoming ...
It annoyed me that a huge chunk of code was duplicated there so I first created #6625HelmoHelmohttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/3767Add support for mailing list manager SYMPA2024-01-02T17:38:14ZEricAdd support for mailing list manager SYMPAThe sympa mailing list manager is capable of virtual domains in so called "robots" and can serve data from various formats: text (via ftp, http, ...), various databases.
Packages are available in debian.
Basic aliases and transports fo...The sympa mailing list manager is capable of virtual domains in so called "robots" and can serve data from various formats: text (via ftp, http, ...), various databases.
Packages are available in debian.
Basic aliases and transports for postfix can be set in transport-regexp e.g.:
```
/^.*+owner\@domain\.tld$/ sympabounce:
/^.*\@domain\.tld$/ sympa:
```
sympabounce and sympa represent services in master.cf - e.g.
```
sympa unix - n n - 1 pipe flags=RF user
=sympa argv=/usr/lib/sympa/lib/sympa/queue ${recipient}
sympabounce unix - n n - 1 pipe flags=RF user
=sympa argv=/usr/lib/sympa/lib/sympa/bouncequeue ${user}@${domain}
Domain owners will be listed in virtual-regexp:
/^(.*)-owner\@(.*)$/ $1+owner@$2
```
Eventually aliases retrieved through ispconfig's database are preferable.
The web interface can be made available through fpm-wrapper and one aliased virtual host. Example config for nginx:
```
server {
listen _default:443;
listen [2001:db8::1]:443;
server_name hostname.domain.tld lists.otherdomain.tld;
root /var/www/lists;
location / {
rewrite ^/$ https://$http_host/home last;
rewrite ^/wws/(.*)$ /$1 last;
rewrite ^/wws$ /home last;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param SERVER_NAME $http_host;
fastcgi_param HTTPS on;
if (-f $request_filename) { break; }
if (!-e $request_filename) {
gzip off;
fastcgi_pass unix:/var/run/sympa/wwsympa.socket;
}
}
location /static-sympa {
alias /var/lib/sympa/static_content;
}
}
```
/var/www/lists/[domain]_css/ will contain css data and may be adapted per domain.
config data will reside in /etc/sympa/hostname.domain.tld
I plea for integration of Sympa as a better alternative to mailman.