ISPConfig 3 issueshttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues2024-03-15T15:29:18Zhttps://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/6540PHP Warnings and issues with character set in MySQL 82023-09-24T11:03:56ZTill BrehmPHP Warnings and issues with character set in MySQL 8https://forum.howtoforge.com/threads/migrate-mysql-to-mariadb.90840/#post-447639https://forum.howtoforge.com/threads/migrate-mysql-to-mariadb.90840/#post-447639https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6539For DKIM records, show visualize that the DNS zone is managed.2023-12-03T22:32:15ZHelmoFor DKIM records, show visualize that the DNS zone is managed.We have the very nice feature that when we generate a DKIM private key it also updates the DNS when the dns zone is managed on the same ispconfig cluster.
Can we visualize this? Since it varies between servers it would be nice to be rem...We have the very nice feature that when we generate a DKIM private key it also updates the DNS when the dns zone is managed on the same ispconfig cluster.
Can we visualize this? Since it varies between servers it would be nice to be reminded ;)
What about:
![image](/uploads/77816c81d3192893acbf2f39672459b8/image.png)https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6538Enable DKIM when generating a Private-key2023-09-16T14:49:32ZHelmoEnable DKIM when generating a Private-keyWhen I click on 'Generate DKIM Private-key' I would expect the 'enable DKIM' checkbox to be also checked.
![image](/uploads/ea53e0d4a68d1532811b3ab25d793275/image.png)When I click on 'Generate DKIM Private-key' I would expect the 'enable DKIM' checkbox to be also checked.
![image](/uploads/ea53e0d4a68d1532811b3ab25d793275/image.png)https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6537Initialize SPF record with the zone name.2023-09-16T14:49:23ZHelmoInitialize SPF record with the zone name.The first field of the spf record form currently defaults to empty.
It's technically ok to leave it blank as '@' '' and '<zonename>.' are effectively the same.
However in our [default dns template](https://git.ispconfig.org/ispconfig/is...The first field of the spf record form currently defaults to empty.
It's technically ok to leave it blank as '@' '' and '<zonename>.' are effectively the same.
However in our [default dns template](https://git.ispconfig.org/ispconfig/ispconfig3/-/blob/develop/install/sql/ispconfig3.sql#L2467) example we suggest to put the zonename for all dns_rr's in the Name column.
Lets also apply that to spf.
![image](/uploads/771cf0ff0fc55808a8e18c28283adc5b/image.png)
And lets extend the check for existing records to detect this variation.HelmoHelmohttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6535mail alias on domain alias does not work2023-09-16T14:50:17Zdoekiamail alias on domain alias does not work## Summary
email to an aliased email on an aliased domain does not work
## Steps to reproduce
1. have an email alice@example.com
2. have an email alias bob@example.com => alice@example.com
3. have a domain alias @alternate.com => @examp...## Summary
email to an aliased email on an aliased domain does not work
## Steps to reproduce
1. have an email alice@example.com
2. have an email alias bob@example.com => alice@example.com
3. have a domain alias @alternate.com => @example.com
4. Try to send an email to bob@alternate.com
5. 550 5.1.1 <bob@alternate.com>: Recipient address rejected: User unknown in virtual alias table;
## Correct behaviour
Mail to be send to alice@example.com
## Environment
Debian 11
ISPConfig Version: 3.2.9p1
Apache2.4
## Proposed fix
See the patched query entry in /etc/postfix/mysql-virtual_forwardings.cf
#> postmap -q "bob@alternate.com" mysql:/etc/postfix/mysql-virtual_forwardings.cf
alice@example.com
```
query = SELECT s.destination AS target FROM mail_forwarding AS s
WHERE (s.source = '%s' OR s.source = CONCAT(SUBSTRING_INDEX('%u', '+', 1), '@%d'))
AND s.type IN ('alias', 'forward') AND s.active = 'y' AND s.server_id = 1
UNION
SELECT s.destination AS target FROM mail_forwarding AS s
WHERE s.source = '@%d' AND s.type = 'catchall'
AND s.active = 'y' AND s.server_id = 1
AND NOT EXISTS (
SELECT email FROM mail_user
WHERE (email = '%s' OR email = CONCAT(SUBSTRING_INDEX('%u', '+', 1), '@%d'))
AND EXISTS (
SELECT domain_id FROM mail_domain
WHERE domain = SUBSTRING_INDEX('%s', '@', -1)
AND active = 'y' AND server_id = 1
)
AND server_id = 1
)
AND NOT EXISTS (
SELECT source FROM mail_forwarding
WHERE (source = '%s' OR source = CONCAT(SUBSTRING_INDEX('%u', '+', 1), '@%d'))
AND active = 'y' AND server_id = 1
)
UNION
SELECT s.destination AS target FROM mail_forwarding AS s
INNER JOIN mail_forwarding AS s2
ON ( s2.source = '@%d'
AND s2.type = 'aliasdomain'
AND s2.active = 'y'
AND s2.server_id = 1)
WHERE (s.source = CONCAT(SUBSTRING_INDEX('%u', '+', 1), s2.destination))
AND s.type IN ('alias', 'forward')
AND s.active = 'y'
AND s.server_id = 1
```
PS: This settings (multiple alias) was working under ISPConfig Version: 3.1.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6531Handle wildcard aliases2023-09-16T14:49:44ZBaptiste RichardHandle wildcard aliases# What is a wildcard alias ?
A wildcard alias is an alias containing an asterisk `*` as a placeholder for "anything unspecified". For example, if I have an alias `gitlab*@example.org` pointing to `john@example.org`, any incoming email m...# What is a wildcard alias ?
A wildcard alias is an alias containing an asterisk `*` as a placeholder for "anything unspecified". For example, if I have an alias `gitlab*@example.org` pointing to `john@example.org`, any incoming email matching this pattern will be redirected to john, such as `gitlabispconfig@example.org` or `gitlab-support@example.org`
Obiviously, wildcard aliases should not intercept direct aliases nor inbox emails, and catchall should still capture anything that does not match any (wildcard or not) alias.
Apart from this, wildcard aliases allows to give a unique email to each service you suscribe to in order to either filter incoming mail easily based on the `From:` address, or, when you start receiving spam, know who the hell sold your address (and denylist this specific address)
# How is it different from + aliasing ?
Using `+` as a separator has some issues :
- Some systems (website or otherwise) still don't recognize the `+` character as valid in an email, so bye bye filtering.
- Some systems (I encountered at least 1 so far) allow the `+` in the submission process but removes it entirely. So bye bye filtering (again)
Wildcard aliases can use only "regular" characters. In fact, there is no way to know if a given adress is an alias or not, wether this alias is wildcarding or not.
# What should be done in ISPconfig to make this available ?
From the webUI we can submit wildcard aliases (aliases having an asterisk * in part of the name) but they don't work as intended (not at all actually).
Having them to work is only a matter of editing the `/etc/postfix/mysql-virtual_forwardings.cf` file to lookup for wildcard characters.
I've already done the development require and will push a MR with this.https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6530PowerDNS MySQL schema update2023-09-16T14:49:03ZArtur YakupovPowerDNS MySQL schema update
## Summary
Updated MySQL schema for PowerDNS prevents correct work.
/usr/share/pdns-backend-mysql/schema# cat ./4.1.0_to_4.2.0_schema.mysql.sql
ALTER TABLE domains MODIFY notified_serial INT UNSIGNED DEFAULT NULL;
ALTER TABLE records D...
## Summary
Updated MySQL schema for PowerDNS prevents correct work.
/usr/share/pdns-backend-mysql/schema# cat ./4.1.0_to_4.2.0_schema.mysql.sql
ALTER TABLE domains MODIFY notified_serial INT UNSIGNED DEFAULT NULL;
ALTER TABLE records DROP COLUMN change_date;
## Steps to reproduce
Implement PowerDNS with MySQL schema starting from 4.2.0 version of PowerDNS.
## Correct behaviour
Schemas should be compatible
## Environment
Server OS + version: Debian 10 and up
ISPConfig version: 3.9.0 and up
Software version of the related software: PowerDNS 4.2.0 and up
## Proposed fix to ispconfig/server/plugins-available/powerdns_plugin.inc.php
```
58d57
< `change_date` int(11) default NULL,
150c149
< $app->db->query("INSERT INTO powerdns.records (domain_id, name, type, content, ttl, prio, change_date, ispconfig_id) VALUES (?, ?, 'SOA', ?, ?, 0, UNIX_TIMESTAMP(), ?)", $zone_id, $origin, $content, $ttl, $ispconfig_id);
---
> $app->db->query("INSERT INTO powerdns.records (domain_id, name, type, content, ttl, prio, ispconfig_id) VALUES (?, ?, 'SOA', ?, ?, 0, ?)", $zone_id, $origin, $content, $ttl, $ispconfig_id);
184c183
< $app->db->query("UPDATE powerdns.records SET name = ?, content = ?, ttl = ?, change_date = UNIX_TIMESTAMP() WHERE ispconfig_id = ? AND type = 'SOA'", $origin, $content, $ttl, $data["new"]["id"]);
---
> $app->db->query("UPDATE powerdns.records SET name = ?, content = ?, ttl = ? WHERE ispconfig_id = ? AND type = 'SOA'", $origin, $content, $ttl, $data["new"]["id"]);
328d326
< $change_date = time();
331c329
< $app->db->query("INSERT INTO powerdns.records (domain_id, name, type, content, ttl, prio, change_date, ispconfig_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?)", $zone_id, $name, $type, $content, $ttl, $prio, $change_date, $ispconfig_id);
---
> $app->db->query("INSERT INTO powerdns.records (domain_id, name, type, content, ttl, prio, ispconfig_id) VALUES (?, ?, ?, ?, ?, ?, ?)", $zone_id, $name, $type, $content, $ttl, $prio, $ispconfig_id);
394d391
< $change_date = time();
396c393
< $app->db->query("UPDATE powerdns.records SET name = ?, type = ?, content = ?, ttl = ?, prio = ?, change_date = UNIX_TIMESTAMP() WHERE ispconfig_id = ? AND type != 'SOA'", $name, $type, $content, $ttl, $prio, $ispconfig_id);
---
> $app->db->query("UPDATE powerdns.records SET name = ?, type = ?, content = ?, ttl = ?, prio = ? WHERE ispconfig_id = ? AND type != 'SOA'", $name, $type, $content, $ttl, $prio, $ispconfig_id);
```
## Related log entries
16.06.2023-09:46 - WARNING - Falsche Anfrage / Wrong QuerySQL-Query = INSERT INTO powerdns.records (domain_id, name, type, content, ttl, prio, change_date, ispconfig_id) VALUES ('143', '***', 'A', '*****', '3600', '0', 1686897961, '4950') -> 1054 (Unknown column 'change_date' in 'field list')https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6529Multiserver Database IPv6 autocomplete and suggested IPs2023-06-16T04:20:26ZPhilipp HieberMultiserver Database IPv6 autocomplete and suggested IPs## Summary
If a multiserver setup is used with external database servers with IPv6, the IPv6 address of the web server will not autocomplete for external access. \
IPv6 addresses configured in serverconfigs. \
IPv6 addresses in hosts fil...## Summary
If a multiserver setup is used with external database servers with IPv6, the IPv6 address of the web server will not autocomplete for external access. \
IPv6 addresses configured in serverconfigs. \
IPv6 addresses in hosts file on master server are configured.
Only IPv4 addresses shown in the suggested IPs list.
## Steps to reproduce
1. Create customer
2. Create webspace (Server 1)
3. Create database user
4. Create database (Server 2)
5. show database config (Only IPv4 address of server 1 added to external access)
## Correct behaviour
also IPv6 address of Server 1 should be added to external access \
even IPv6 addresses should be shown in the suggested IPs list.
## Environment
Server OS + version: Debian 11 \
ISPConfig version: 3.2.10
Software version of the related software: Apache/2.4.56 (Debian)
```
Server version: Apache/2.4.56 (Debian)
Server built: 2023-04-02T03:06:01
```
## Screenshots
![Screenshot_2023-06-15_103341](/uploads/852473560748c38c9fe78424467a30e5/Screenshot_2023-06-15_103341.png)
![Screenshot_2023-06-15_103821](/uploads/dce561173b8826326559c824407dec7d/Screenshot_2023-06-15_103821.png)
![Screenshot_2023-06-15_104013](/uploads/8f1c765b892a52ac4ac4093b5a03590e/Screenshot_2023-06-15_104013.png)https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6526web restore writes into web folder and don't replaces it2023-06-12T05:45:13ZHannesweb restore writes into web folder and don't replaces itVersion 3.2.10<br>
I don't know if that's the intention or a bug that the restore write into the web folder and don't replaces it.<br>
(with borg but think it happens with tar.gz and others too).<br>
A restore don't delete the old cont...Version 3.2.10<br>
I don't know if that's the intention or a bug that the restore write into the web folder and don't replaces it.<br>
(with borg but think it happens with tar.gz and others too).<br>
A restore don't delete the old content of web folder first<br>
It copies the files into the directories - replaces the files but don't delete other files there.<br>
That's lead into multiple problems (over quota/files chaos) if the backup is older/other CMS/contains hacked files/..<br>
borg uses
<pre>
safe_exec cmd: cd '/var/www/clients/client1/web2' && borg extract --nobsdflags '/var/backup/web2/borg_web::web2_2023-06-11_13-18'
</pre>
and tar.gz uses
<pre>
tar xf xxx.tar.gz --directory /var/www/domain.xxx
</pre>
both write into folder i think and there is no rm -R web folder first <br><br>
I don't checked how rar, zip, 7z, bzp2... handles thishttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6525php error if function formatBytes get calles with some non numeric value2023-06-10T05:19:08ZHannesphp error if function formatBytes get calles with some non numeric valueOnly happens if something goes wrong somewhere.<br>
Example if email backup has no size written back into DB than if you click on Email Backup Tab the following error occurs<br>
<pre>
[Fri Jun 09 19:44:32.274647 2023] [fcgid:warn] [pi...Only happens if something goes wrong somewhere.<br>
Example if email backup has no size written back into DB than if you click on Email Backup Tab the following error occurs<br>
<pre>
[Fri Jun 09 19:44:32.274647 2023] [fcgid:warn] [pid 1425757:tid 139802577917504] mod_fcgid: stderr: PHP Fatal error: Uncaught TypeError: log(): Argument #1 ($num) must be of type float, string given in /usr/local/ispconfig/interface/lib/classes/functions.inc.php:290
</pre>
Could happens in other (non standard) conditions too.<br><br>
A is_numeric() check or something like this would be useful to make it more failsafe.<br>
<pre>
public function formatBytes($size, $precision = 2) {
if (!is_numeric($size)) {
global $app;
$app->log('Function formatBytes got non nummeric value - check it', LOGLEVEL_ERROR);
return '';
}
$base=log($size)/log(1024);
$suffixes=array('', ' kB', ' MB', ' GB', ' TB');
return round(pow(1024, $base-floor($base)), $precision).$suffixes[floor($base)];
}
</pre>https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6517relayhost without authentication per mail domain not working2023-06-05T09:11:01ZMarkus Fischerrelayhost without authentication per mail domain not working## Summary
Setting up a relayhost per mail domain without username/password results in SASL authentication failure error from the relayhost
`status=deferred (SASL authentication failed; cannot authenticate to server xxx[xxx]: generic fai...## Summary
Setting up a relayhost per mail domain without username/password results in SASL authentication failure error from the relayhost
`status=deferred (SASL authentication failed; cannot authenticate to server xxx[xxx]: generic failure)`
Problem is similar to #5214, but there it is setting per server, not per mail domain.
I can't trace it completely, but following the query in mysql-virtual_sender-relayauth.cf postfix tries to authenticate with ":"
## Steps to reproduce
1. Enter relayhost into mail domain but leave relayhost user and password empty
2. try to send email
## Correct behaviour
Email should be send via relay if relayhost does not require authentication (f.e. ip-based authentication)
## Environment
Server OS + version: (Debian 10) \
ISPConfig version: (3.2.9p1)
## Proposed fix
change mysql-virtual_sender-relayauth.cf line 9 from
` AND concat(relay_host,relay_user,relay_pass) != ''`
to
` AND concat(relay_user,relay_pass) != ''`https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6514(most) API calls do not trigger plugins2023-05-31T07:26:32ZMattia Rizzolo(most) API calls do not trigger plugins## Summary
Hi,
this has also been reported in https://forum.howtoforge.com/threads/working-with-plugin-control-panel-vs-api.86218/ but I think it's better to have it properly in the bug tracker, as it doesn't seem to be here yet.
## P...## Summary
Hi,
this has also been reported in https://forum.howtoforge.com/threads/working-with-plugin-control-panel-vs-api.86218/ but I think it's better to have it properly in the bug tracker, as it doesn't seem to be here yet.
## Proposed fix
At my company, we had to do this:
```patch
--- a/interface/lib/classes/remote.d/sites.inc.php
+++ b/interface/lib/classes/remote.d/sites.inc.php
@@ -221,8 +221,7 @@ class remoting_sites extends remoting {
throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
-
- return $this->insertQuery('../sites/form/database_user.tform.php', $client_id, $params);
+ return $this->insertQuery('../sites/form/database_user.tform.php', $client_id, $params, 'sites:database_user:on_after_insert');
}
//* Update a record
@@ -238,7 +237,7 @@ class remoting_sites extends remoting {
$app->remoting_lib->loadFormDef('../sites/form/database_user.tform.php');
$old_rec = $app->remoting_lib->getDataRecord($primary_id);
- $result = $this->updateQuery('../sites/form/database_user.tform.php', $client_id, $primary_id, $params);
+ $result = $this->updateQuery('../sites/form/database_user.tform.php', $client_id, $primary_id, $params, 'sites:database_user:on_after_update');
$new_rec = $app->remoting_lib->getDataRecord($primary_id);
@@ -266,7 +265,7 @@ class remoting_sites extends remoting {
}
//$app->db->datalogDelete('web_database_user', 'database_user_id', $primary_id);
- $affected_rows = $this->deleteQuery('../sites/form/database_user.tform.php', $primary_id);
+ $affected_rows = $this->deleteQuery('../sites/form/database_user.tform.php', $primary_id, 'sites:database_user:on_after_delete');
$records = $app->db->queryAllRecords("SELECT database_id FROM web_database WHERE database_user_id = ?", $primary_id);
foreach($records as $rec) {
@@ -304,7 +303,7 @@ class remoting_sites extends remoting {
throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
- return $this->insertQuery('../sites/form/ftp_user.tform.php', $client_id, $params);
+ return $this->insertQuery('../sites/form/ftp_user.tform.php', $client_id, $params, 'sites:ftp_user:on_after_insert');
}
//* Update a record
@@ -314,7 +313,7 @@ class remoting_sites extends remoting {
throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
- $affected_rows = $this->updateQuery('../sites/form/ftp_user.tform.php', $client_id, $primary_id, $params);
+ $affected_rows = $this->updateQuery('../sites/form/ftp_user.tform.php', $client_id, $primary_id, $params, 'sites:ftp_user:on_after_update');
return $affected_rows;
}
@@ -325,7 +324,7 @@ class remoting_sites extends remoting {
throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
- $affected_rows = $this->deleteQuery('../sites/form/ftp_user.tform.php', $primary_id);
+ $affected_rows = $this->deleteQuery('../sites/form/ftp_user.tform.php', $primary_id, 'sites:ftp_user:on_after_delete');
return $affected_rows;
}
```
Now, I'm not proposing a MR because it wouldn't make sense to do this partially, but do think this is something that should be done at all, or else how to think this bug should be handled?https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6513Big manual backup block server.sh "long" time2023-05-31T07:26:04ZHannesBig manual backup block server.sh "long" timeIs a growing problem because webs goes bigger and bigger.. and if /var/backup is not so fast (HDD or NFS..) than a big > 50GB Web could take a long time to run while the server.sh is blocked for other things.
Simplest solution would be ...Is a growing problem because webs goes bigger and bigger.. and if /var/backup is not so fast (HDD or NFS..) than a big > 50GB Web could take a long time to run while the server.sh is blocked for other things.
Simplest solution would be another cron for backup tasks but this bring the race conditions problem with parallel task (backup is running and someone delete the web in this time ...)https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6511External Domain validation (same than office365 do)2023-12-26T20:28:21ZHannesExternal Domain validation (same than office365 do)Allow user do verify external domains with TXT entry (If client limit is enabled) so he don't need to ask support.
Maybe this functionality is better in an customer center and add the Domain over the api.
In my case i have it in the isp...Allow user do verify external domains with TXT entry (If client limit is enabled) so he don't need to ask support.
Maybe this functionality is better in an customer center and add the Domain over the api.
In my case i have it in the ispconfig itself.
Maybe it is usefull for other too.https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6507SOAP API: client_update removes additional templates2024-03-19T21:57:17ZAlex von FiresplashSOAP API: client_update removes additional templates## Summary
In ISPConfig 3.2.9p1 (likely also in previous versions) a call to the client_update API causes the client to lose all it's assigned additional templates.
## Steps to reproduce
1. create aclient with a master template
2. assig...## Summary
In ISPConfig 3.2.9p1 (likely also in previous versions) a call to the client_update API causes the client to lose all it's assigned additional templates.
## Steps to reproduce
1. create aclient with a master template
2. assign one or more additional templates
3. call client_update on the client using the SOAP API
demo code causing the issue
```php
$context = stream_context_create(array(
'ssl' => array(
'verify_peer' => true,
'verify_peer_name' => true,
)
));
$ispc = new SoapClient(null, array('location' => ISPC_API_LOCATION,
'uri' => ISPC_API_URI,
'trace' => 1,
'exceptions' => 1,
'stream_context' => $context));
if($session_id = $ispc->login(ISPC_API_USER, ISPC_API_PWD)) {
echo 'Login successful. Session ID:'.$session_id.'<br />';
}
$client = $ispc->client_get_by_customer_no($session_id, '12345');
if ($client) {
$changes = array();
$changes['contact_name'] = 'NewName';
$result = $ispc->client_update($session_id, $client['client_id'], $client['parent_client_id'], $changes);
}
```
## Correct behaviour
The templates should be kept
## Environment
Server OS + version: Debian 11 \
ISPConfig version: 3.2.9p13.2.12HelmoHelmohttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6503Backup counter issue2023-05-20T07:38:55ZTill BrehmBackup counter issueWebsite + database backup get counted as 2 backups.
https://forum.howtoforge.com/threads/little-problem-with-backups.90609/Website + database backup get counted as 2 backups.
https://forum.howtoforge.com/threads/little-problem-with-backups.90609/https://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/6492Changing the client for a webdomain fails2023-09-16T14:48:08ZHelmoChanging the client for a webdomain failsWhen using the domains option you can move a domain to a different client via Client -> Domains -> *domain*.
This works fine for mail_domains and soa's but even though the web_domain table is updated it is not changed in the document_ro...When using the domains option you can move a domain to a different client via Client -> Domains -> *domain*.
This works fine for mail_domains and soa's but even though the web_domain table is updated it is not changed in the document_root's directory structure on disk.
In the [sites_web_vhost_domain_edit](https://git.ispconfig.org/ispconfig/ispconfig3/-/blob/develop/interface/lib/plugins/sites_web_vhost_domain_plugin.inc.php#L43) event handler we use `datalogUpdate` for a number of records, but a straight sql UPDATE for most cases of the web_domain.
This causes the backend cron runner (on a slave server) to not notice the change.HelmoHelmohttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6489Improved DKIM management2023-09-18T20:32:17ZMichaelImproved DKIM managementAn issue that we discussed today is that it's currently impossible to manage multiple DKIM and its selectors across a multi-server setup.
So, what would be nice, is, to have an advanced DKIM management which would allow:
1. Managing...An issue that we discussed today is that it's currently impossible to manage multiple DKIM and its selectors across a multi-server setup.
So, what would be nice, is, to have an advanced DKIM management which would allow:
1. Managing multiple selectors via ISPConfig
2. Assign & deploy (multiple) DKIM across a multi-server setup
Currently it's only possible to deploy DKIM on one server and that's the one to which the E-Mail domain is assigned to, which is often a problem in a multi-server setup.