ISPConfig 3 issueshttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues2022-02-25T22:57:31Zhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5720Official docker images for ispconfig2022-02-25T22:57:31ZlerraOfficial docker images for ispconfigHi,
It would be really nice to get official docker images (and docker-compose examples) to be able to host the ispconfig setup/infrastructure. Any plans for such?
Benefits would be a known and control environment that you can support a...Hi,
It would be really nice to get official docker images (and docker-compose examples) to be able to host the ispconfig setup/infrastructure. Any plans for such?
Benefits would be a known and control environment that you can support and develop in a better way and hopefully you can move away from supporting allot of different distros (Opensuse, fedora, centos, debian and ubuntu).https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/3847Please add support for GetText PO translations instead of current "variable" ...2020-06-09T09:43:27ZCristianDeluxePlease add support for GetText PO translations instead of current "variable" solutionI'm translating ISPConfig to Spanish but it is becoming a frustrating task, i've contributed to various projects and i know the benefits of using gettext PO files what makes me more frustrated with the current ISPConfig language system. ...I'm translating ISPConfig to Spanish but it is becoming a frustrating task, i've contributed to various projects and i know the benefits of using gettext PO files what makes me more frustrated with the current ISPConfig language system.
Why move to GetText PO?
=======================
* GetText Portable Object (PO) files are the industry standard for multilingual websites in PHP.
* It's used by large projects like Wordpress, phpMyAdmin, Laravel...
* Have useful functions like Plural strings.
```
"One result was found", "%{count} results were found"
```
* gettext-based toolsets are widely known, battle-tested, with good documentation and practices on translation structure and pluralization.
* It's faster and have better performance
* The .MO file include hash tables.
* Gettext include a cache that improve speed.
* A benchmark: http://mel.melaxis.com/devblog/2006/04/10/benchmarking-php-localization-is-gettext-fast-enough/
* Makes it easy for translator to maintain the translations
* With the current system you have to manually check and modify **230 language files**!! in multiple directories and recheck it **one by one** on every update.
* Gettext always provides a fallback locale without the need of "language merge" functions.
* Current system has duplicated strings that are hard to maintain.
* An example if you search for "type_txt" you'll find **31 variables in 31 separated files** with the same translation.
```
find . -type f -name "en*" -exec grep -H '\''type_txt\''|"type_txt"' {} \;
```
* If the original (English) string is modified, but the name of the variable is left unmodified, it is almost impossible for a translator to realize it.
* Using gettext when you make changes to the sources, add strings, change some, delete some... there's a tool (msgmerge) to let your merge the new .POT with the existing .PO files.
All matching strings will keep their translations... and the ones that have been slightly modified or the ones that resemble another one, will use an old translation which will be marked as "fuzzy".
This way, the translators will only have minimal work in updating the translations for each new version
* You only need to run a tool (xgettext) to extract all the translatable strings from your sources and embed them in a single .POT file.
* poedit runs on Windows/Mac/Linux and other Unix OSes. You can see from the screenshot how untranslated strings appear in blue, "fuzzy" translations (the ones you're unsure of and the ones automatically genereated by msgmerge) appear in yellow, and translated strings appear in white. poedit will also let you add comments or read those the developer may have provided in the .POT file. And the best of all: poedit will show you all references of a given string in the source code. Even better, it will open the sources and highlight the occurrences for you. This way, you can really make sure what a string is used for when you're not sure about how to translate it!
* When you're developing, you don't need to search the variable for translation, or create it, just __('Show the new string')
* Current solution make both the programmer and the translator lives harder.
* The programmer does not see the actual message in the source code, losing important information.
```
1 => array ( 'type' => 'UNIQUE',
'errmsg'=> 'username_unique'),
```
* Similarly, the translator sees the following on her files:
```
$wb['username_unique'] = 'Ya existe un usuario con ese nombre de usuario.';
```
This file does not contain the original message, contains information that does not matter to the translator and as such often requires comparing files in different languages.
* With gettext, the programmers sees:
```
1 => array ( 'type' => 'UNIQUE',
'errmsg'=> __('There is already a user with this username.')),
```
* And the translator:
```
msgid "There is already a user with this username."
msgstr "Ya existe un usuario con ese nombre de usuario."
```
I think that GetText PO translations include lots of benefits and i understand that are a complicated transition but it will make the ISPConfig internationalization much more easy for developers and translators, it will reduce the number of source files and makes everybody happy :)
I can work on it but i would like to know the official position about this before.
https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6019postfix.conf - put the options line-by-line instead of one single line2021-01-20T16:56:39ZKoSpostfix.conf - put the options line-by-line instead of one single lineInstead of having a single line per option in postfix.conf, it would make it better readable if the arguments are line by line, e.g.:
instead of
```
smtpd_helo_restrictions = reject_invalid_helo_hostname, permit_mynetworks, check_helo_a...Instead of having a single line per option in postfix.conf, it would make it better readable if the arguments are line by line, e.g.:
instead of
```
smtpd_helo_restrictions = reject_invalid_helo_hostname, permit_mynetworks, check_helo_access regexp:{config_dir}/helo_access, permit_sasl_authenticated, reject_non_fqdn_helo_hostname, check_helo_access regexp:{config_dir}/blacklist_helo, {reject_unknown_helo_hostname}, permit
```
make it
```
smtpd_helo_restrictions = reject_invalid_helo_hostname,
permit_mynetworks,
check_helo_access regexp:{config_dir}/helo_access,
permit_sasl_authenticated,
reject_non_fqdn_helo_hostname,
check_helo_access regexp:{config_dir}/blacklist_helo,
{reject_unknown_helo_hostname},
permit
```
https://git.ispconfig.org/ispconfig/ispconfig3/-/blob/develop/install/tpl/debian_postfix.conf.master#L29
This would make it also better comparable after an upgrade of ISPconfig and/or the server. (e.g. for the users with etckeeper to keep track of any configuration changes).https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5591Ubuntu 19.04 Support2020-04-17T12:25:36ZNicolas RAYNAUDUbuntu 19.04 SupportHi, can you add support for Ubuntu 19.04 pleaseHi, can you add support for Ubuntu 19.04 pleasehttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/4714disable whole client doesn't disable DNS for that client2020-07-08T19:06:50ZKoSdisable whole client doesn't disable DNS for that clientI would expect that the DNS for a user will be de-activated too when I de-activate the user (#1159)? Just didn't happen for the client that i disabled a few minutes ago. (mail, web, database got all disabled as expected).I would expect that the DNS for a user will be de-activated too when I de-activate the user (#1159)? Just didn't happen for the client that i disabled a few minutes ago. (mail, web, database got all disabled as expected).https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6258Purge email from Inbox after X amount of days2022-01-07T11:47:11ZDannyPurge email from Inbox after X amount of daysI have a feature request:
I would like to be able to purge email after X amount of days from ISPConfig. I have some monitoring mailboxes that are not maintained, but need some kind of history to be kept until purging it (thus X days).I have a feature request:
I would like to be able to purge email after X amount of days from ISPConfig. I have some monitoring mailboxes that are not maintained, but need some kind of history to be kept until purging it (thus X days).https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6090Remove client IP from sent emails2021-03-08T12:55:49ZThomRemove client IP from sent emailsWhen sending a email out, Postfix adds the following lines: \
`Received: from MBP-van-Thom.localdomain (12-34-56-78.ip.xs4all.nl [12.34.56.78]) (Authenticated sender: thom@example.nl) by mail.example.com (Postfix) with ESMTPSA id D2C8D60...When sending a email out, Postfix adds the following lines: \
`Received: from MBP-van-Thom.localdomain (12-34-56-78.ip.xs4all.nl [12.34.56.78]) (Authenticated sender: thom@example.nl) by mail.example.com (Postfix) with ESMTPSA id D2C8D60059 for <someuser@gmail.com>; Thu, 4 Mar 2021 20:43:53 +0100 (CET)`
I think it would be good to strip these lines from submitted emails, as it exposes the client's IP address.https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6054Add underscore to database names (and usernames)2021-02-15T10:20:47ZThomAdd underscore to database names (and usernames)If we add a underscore to the default DB (user) names, they will be nicely grouped in PMAIf we add a underscore to the default DB (user) names, they will be nicely grouped in PMAhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5800new user default servers wrong when done with template2020-10-03T11:05:33Zwulffnew user default servers wrong when done with template## short description
When adding a new user, I use a Master/Main Template.
The servers specified in there are not applied to APS installations (and whatever will supercede them).
I need to manually run SQL in the DB
SQL for me:
update c...## short description
When adding a new user, I use a Master/Main Template.
The servers specified in there are not applied to APS installations (and whatever will supercede them).
I need to manually run SQL in the DB
SQL for me:
update client set default_webserver=1,default_dbserver=2,default_dnsserver=3;
## correct behaviour
Main template servers should fill default_xxxserver
## environment
Server OS: debian
Server OS version: stable
ISPConfig version: 3.1https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5765Move ispconfig configuration into etcd2020-10-22T22:28:01ZRaffael LuthigerMove ispconfig configuration into etcdAt the moment ISPconfig has all its configuration in a mysql database. MySQL by itself doesn't provide built in distribution of data to different nodes. I propose therefore to migrate over time the database over to https://etcd.io/ which...At the moment ISPconfig has all its configuration in a mysql database. MySQL by itself doesn't provide built in distribution of data to different nodes. I propose therefore to migrate over time the database over to https://etcd.io/ which would make it easier to build clustered ispconfig set-ups.
Etcd is used by many other systems like e.g. Kubernetes for storing its configuration. An added benefit of etcd would be the possibility to track configuration changes: https://etcd.io/docs/v3.4.0/dev-guide/interacting_v3/#read-past-version-of-keyshttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5752Versioning Git-Develop2020-09-20T13:22:23ZTorsten WidmannVersioning Git-DevelopWhen you use Git-Develop the Versioning is
`ISPConfig 3.2dev20200918`
Why not remove the date and add the Commit ID like
`ISPConfig 3.2dev-249c2ab4`
For Nightly it's the date is fine; fpr Develop it's better to see, on what Commit is...When you use Git-Develop the Versioning is
`ISPConfig 3.2dev20200918`
Why not remove the date and add the Commit ID like
`ISPConfig 3.2dev-249c2ab4`
For Nightly it's the date is fine; fpr Develop it's better to see, on what Commit is the Installation.https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5296created certicate www to the domain if the primary site letstseycrypt not con...2019-04-24T15:11:49ZViktorcreated certicate www to the domain if the primary site letstseycrypt not confirmed.## short description
sometimes when creating letsencryt certificate is issued only for a domain www.
## correct behaviour
If the primary domain did not ask for validation, it is incorrect behavior and it should be noted the generation o...## short description
sometimes when creating letsencryt certificate is issued only for a domain www.
## correct behaviour
If the primary domain did not ask for validation, it is incorrect behavior and it should be noted the generation of certificates on.
## environment
Server OS: (/ubuntu 18.04)
ISPConfig 3.1.13 Patch 1 Released
## proposed fix
If the main domain does not pass the validation letsencrypt, you need to stop script execution, as the validation domain www does not make sense.
If the site for some reason does not have a domain without www for example, there is no access to DNS zone other than www ( theory).
The true test of customer behavior to create a website www.site.ru and disable the sub domain www.
Re-enable.
![top](/uploads/6b5d71ddaa8fc7057ddde2faca0bd3b7/top.png)
```
22.04.2019-13:32 - WARNING - Could not verify domain topengineer.ru, so excluding it from letsencrypt request.
22.04.2019-13:32 - DEBUG - Verified domain www.topengineer.ru should be reachable for letsencrypt.
22.04.2019-13:32 - DEBUG - Create Let's Encrypt SSL Cert for: topengineer.ru
22.04.2019-13:32 - DEBUG - Let's Encrypt SSL Cert domains: --domains www.topengineer.ru
22.04.2019-13:32 - DEBUG - exec: /usr/bin/letsencrypt certonly -n --text --agree-tos --expand --authenticator webroot --server https://acme-v02.api.letsencrypt.org/directory --rsa-key-size 4096 --email postmaster@topengineer.ru --domains www.topengineer.ru --webroot-path /usr/local/ispconfig/interface/acme
22.04.2019-13:32 - DEBUG - Let's Encrypt Cert config path is: /etc/letsencrypt/renewal/www.topengineer.ru.conf.
22.04.2019-13:32 - DEBUG - Let's Encrypt Cert file: /etc/letsencrypt/live/www.topengineer.ru/fullchain.pem exists.
```
![333](/uploads/688bff39b96c2828c26ef7c570c15939/333.png)https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5284Customization of "Website path" in the config only works with `Client ID` & `...2019-04-01T12:01:07ZSaeed SepehrCustomization of "Website path" in the config only works with `Client ID` & `Website ID`## short description
What I wanted to customize the "**Site path**" from ***System > Server Config > Web tab > Website path*** I found out that it's working only with **[client_id]** & **[website_id]** not [client_username] or [website_d...## short description
What I wanted to customize the "**Site path**" from ***System > Server Config > Web tab > Website path*** I found out that it's working only with **[client_id]** & **[website_id]** not [client_username] or [website_domain].
I prefer to store my clients & their site directories more clear and recognizabl like this:
> /var/www/clients/jhon_doe/domainname.tld
But when I tried this `/var/www/clients/[client_username]/[website_domain]` as the custom path, I faced with some static addressing in my server like what I've exactly written in the custom path input field! I mean all the brackets were saved!"
## correct behavior
It's better to have flexible addressing while you already presented such a feature. Unfortunately, it only works with a combination of string and ID numbers. It should be so easy as long as we have both *client name* and *website domain* always unique in the system.https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/4126[3.1rc1] Make password field mandatory when creating new client2018-12-15T18:14:25ZNed Had[3.1rc1] Make password field mandatory when creating new clientMake password field mandatory when creating new clientMake password field mandatory when creating new clienthttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/3625Option to import and export virtual servers(vhosts), domains,mails,ftp accoun...2018-12-15T18:14:45ZNicolas Panagiotis KarakoulisOption to import and export virtual servers(vhosts), domains,mails,ftp accounts etc to other CPIf the capability of importing data from Plesk, Cpanel will be developed there is a large possibility that the export of ISPConfig config will be compatible in the future with these panels and not only these. It is a capability that is v...If the capability of importing data from Plesk, Cpanel will be developed there is a large possibility that the export of ISPConfig config will be compatible in the future with these panels and not only these. It is a capability that is very important.
Best regardshttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/3421alias domain missing ssl tab2018-12-15T18:14:48ZThomasalias domain missing ssl tabA alias Domain should also get a SSL config page.A alias Domain should also get a SSL config page.https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/2989(Vhost) subdomains for aliasdomain2018-12-15T18:14:58ZDominik(Vhost) subdomains for aliasdomainThe onliest reason why normal subdomains aren't possible for aliasdomains, because both are ServerAliases in vhost-config. But since Vhost-Subdomains are real vhosts, I think there is no really good reason for denying a vhost-subdomain f...The onliest reason why normal subdomains aren't possible for aliasdomains, because both are ServerAliases in vhost-config. But since Vhost-Subdomains are real vhosts, I think there is no really good reason for denying a vhost-subdomain for an alias. It Maybe a bit strange that a subdomain gets it's own vhost-config when the aliasdomain itself only is a serveralias, but it really would work.
If Vhost-Aliases would be allowed (see #2982) it would make really sense: it should be possible to allow normal and VHost-Subdomains on such vhost aliases.
additionally it could be also allowed to create normal subdomains on normal aliasdomains -> therefor only another ServerAlias would have to be integrated in the maindomain-vhost-config. If subdomain-code would allow adding subdomains on aliasdomains, there would only be a small change (recursion for searching aliases) in apache/ngix-module.
The onliest point to think about is: should it really be allowed to create a vhost subdomain for an aliasdomain - but not because of the technic - only becaus of logical thoughts. but all other cases should be allowed:
subomain for aliasdomain
subdomain for vhostaliasdomain
vhostsubdomain for vhostaliasdomain
what about subdomains for subdomains? when recursion is included it should be no problem to activate such a thinghttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/2903Interface/Templates need Renewal2017-08-10T20:10:58ZGabriel K.Interface/Templates need RenewalI did some changes to the Dashboard Template as there was some buggy CSS in it (Quota Modules had some clipping with the right Column).
And I've added a "<tmpl_if.." wrap around the news-column to be able to completly disable it for c...I did some changes to the Dashboard Template as there was some buggy CSS in it (Quota Modules had some clipping with the right Column).
And I've added a "<tmpl_if.." wrap around the news-column to be able to completly disable it for customers who should not be informed about "any" news nor any ispConfig Bugs/News and so on. In the current state there was an empty link and the News-HTML Wrap keeps in place looking very dirty.
I made the Columns of Dashboard fixed to "width:400px" (left/right) and the Tables in it to at least "width:380px".
I've added this code to custom_menu.htm Template (News-Feed) to avoid showing empty Containers for non-present news.
------------------------------
<tmpl_if name='latest_news_txt'>
....
</tmpl_if>
------------------------------
I really would recommend to avoid ANY inline-css styles that are hart to find and hard to reconfigure for site-admins. I would recommend adding a "factory.css" and a "custom.css" whereas the custom.css should not be touched by any Update of ispConfig.
The JS-Part also could get some freshup as you already use jQuery for some parts I would recommend to do a total cleanup of all JS code to become more clean with jQuery Style.
If you are interested I would also invest some time to help you doing so.https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/2750ConfigServer Firewall (& (D)DoS Deflate) integration2018-12-15T18:15:05ZB.ConfigServer Firewall (& (D)DoS Deflate) integrationHello,
I would like you to integrate this awesome iptables management system. It's called ConfigServer Firewall. I'm using my cPanel server and it works very well.
http://configserver.com/cp/csf.html
And there is another one.
...Hello,
I would like you to integrate this awesome iptables management system. It's called ConfigServer Firewall. I'm using my cPanel server and it works very well.
http://configserver.com/cp/csf.html
And there is another one.
It's called (D)DoS Deflate
I used this too on my server and it worked very well too.
http://deflate.medialayer.com/
If this or/and CSF will be included on the next version, I will be very happy!
Thanks for made this awesome hosting management panel and thanks for the hardworking hard working! :)
-Benjaminhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/2681about the SSLEngine2018-12-15T18:15:05Zcybernetabout the SSLEnginewhen ispconfig installer is configuring apache2, doesn't enable mod ssl on apache2
i don't know if this is a bug or more like a lacking feature ...when ispconfig installer is configuring apache2, doesn't enable mod ssl on apache2
i don't know if this is a bug or more like a lacking feature ...