Skip to content

Commit dd3087c

Browse files
committed
Merge remote-tracking branch 'origin/develop' into 6539-show-dkim-managed-zone
2 parents 3004c05 + 15ace20 commit dd3087c

File tree

372 files changed

+2959
-1123
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

372 files changed

+2959
-1123
lines changed

.gitignore

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
.idea
22
/nbproject/private/
3-
.vscode
43
.phplint-cache
4+
5+
# Vim and patch specific excludes
56
*.swp
7+
*.orig
8+
*.rej
69

710
# macOS-specific things to exclude
811

@@ -37,4 +40,21 @@ Temporary Items
3740
.apdisk
3841

3942
# Configuration for the Nova editor
40-
.nova
43+
.nova
44+
45+
# VS Code files for those working on multiple tools
46+
.vscode/*
47+
*.code-workspace
48+
49+
# Local History for Visual Studio Code
50+
.history/
51+
52+
# Built Visual Studio Code Extensions
53+
*.vsix
54+
55+
# Visual Studio code coverage results
56+
*.coverage
57+
*.coveragexml
58+
59+
# Visual Studio IDE cache/options directory
60+
.vs/

CONTRIBUTING.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ ISPConfig is a open source project and community contributions are very welcome.
33

44
This document is under development and will be continuously improved.
55

6+
Please do not refactor existing code and do not change the signature or the behaviour of central functions or libraries. Such changes may only be made by the core development team. We have had many bad experiences with such changes affecting the stability of ISPConfig, so we no longer accept submissions containing such changes. Merge requests containing such changes will be closed and not merged.
7+
68
# Issues
79
* Before opening a new issue, use the search function to check if there isn't a bug report / feature request already.
810
* If you are reporting a bug, please share your OS and PHP (CLI) version.

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ Development branch: [![pipeline status](https://git.ispconfig.org/ispconfig/ispc
2626
[^1]: not actively tested
2727

2828
## Supported operating systems
29-
- Debian 9 - 11, and testing
30-
- Ubuntu 16.04 - 20.04
29+
- Debian 9 - 12, and testing
30+
- Ubuntu 16.04 - 22.04
3131
- CentOS 7 and 8
3232

3333
## Auto-install script
Lines changed: 240 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,240 @@
1+
<?php
2+
3+
/*
4+
Copyright (c) 2024, Till Brehm, ISPConfig UG
5+
All rights reserved.
6+
7+
Redistribution and use in source and binary forms, with or without modification,
8+
are permitted provided that the following conditions are met:
9+
10+
* Redistributions of source code must retain the above copyright notice,
11+
this list of conditions and the following disclaimer.
12+
* Redistributions in binary form must reproduce the above copyright notice,
13+
this list of conditions and the following disclaimer in the documentation
14+
and/or other materials provided with the distribution.
15+
* Neither the name of ISPConfig nor the names of its contributors
16+
may be used to endorse or promote products derived from this software without
17+
specific prior written permission.
18+
19+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22+
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
23+
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24+
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
26+
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
28+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29+
*/
30+
31+
//*** Ubuntu 24.04 default settings
32+
33+
//* Main
34+
$conf['language'] = 'en';
35+
$conf['distname'] = 'ubuntu2404';
36+
$conf['hostname'] = 'server1.domain.tld'; // Full hostname
37+
$conf['ispconfig_install_dir'] = '/usr/local/ispconfig';
38+
$conf['ispconfig_config_dir'] = '/usr/local/ispconfig';
39+
$conf['ispconfig_log_priority'] = 2; // 0 = Debug, 1 = Warning, 2 = Error
40+
$conf['ispconfig_log_dir'] = '/var/log/ispconfig';
41+
$conf['server_id'] = 1;
42+
$conf['init_scripts'] = '/etc/init.d';
43+
$conf['runlevel'] = '/etc';
44+
$conf['shells'] = '/etc/shells';
45+
$conf['pam'] = '/etc/pam.d';
46+
$conf['default_php'] = "8.3";
47+
48+
//* Services provided by this server, this selection will be overridden by the expert mode
49+
$conf['services']['mail'] = true;
50+
$conf['services']['web'] = true;
51+
$conf['services']['dns'] = true;
52+
$conf['services']['file'] = true;
53+
$conf['services']['db'] = true;
54+
$conf['services']['vserver'] = true;
55+
$conf['services']['proxy'] = false;
56+
$conf['services']['firewall'] = false;
57+
58+
//* MySQL
59+
$conf['mysql']['installed'] = false; // will be detected automatically during installation
60+
$conf['mysql']['init_script'] = 'mysql';
61+
$conf['mysql']['host'] = 'localhost';
62+
$conf['mysql']['ip'] = '127.0.0.1';
63+
$conf['mysql']['port'] = '3306';
64+
$conf['mysql']['database'] = 'dbispconfig';
65+
$conf['mysql']['admin_user'] = 'root';
66+
$conf['mysql']['admin_password'] = '';
67+
$conf['mysql']['charset'] = 'utf8';
68+
$conf['mysql']['ispconfig_user'] = 'ispconfig';
69+
$conf['mysql']['ispconfig_password'] = md5(random_bytes(20));
70+
$conf['mysql']['master_slave_setup'] = 'n';
71+
$conf['mysql']['master_host'] = '';
72+
$conf['mysql']['master_port'] = '3306';
73+
$conf['mysql']['master_database'] = 'dbispconfig';
74+
$conf['mysql']['master_admin_user'] = 'root';
75+
$conf['mysql']['master_admin_password'] = '';
76+
$conf['mysql']['master_ispconfig_user'] = '';
77+
$conf['mysql']['master_ispconfig_password'] = md5(random_bytes(20));
78+
79+
//* Apache
80+
$conf['apache']['installed'] = false; // will be detected automatically during installation
81+
$conf['apache']['user'] = 'www-data';
82+
$conf['apache']['group'] = 'www-data';
83+
$conf['apache']['init_script'] = 'apache2';
84+
$conf['apache']['version'] = '2.4';
85+
$conf['apache']['vhost_conf_dir'] = '/etc/apache2/sites-available';
86+
$conf['apache']['vhost_conf_enabled_dir'] = '/etc/apache2/sites-enabled';
87+
$conf['apache']['vhost_port'] = '8080';
88+
$conf['apache']['php_ini_path_apache'] = '/etc/php/8.3/apache2/php.ini';
89+
$conf['apache']['php_ini_path_cgi'] = '/etc/php/8.3/cgi/php.ini';
90+
91+
//* Website base settings
92+
$conf['web']['website_basedir'] = '/var/www';
93+
$conf['web']['website_path'] = '/var/www/clients/client[client_id]/web[website_id]';
94+
$conf['web']['website_symlinks'] = '/var/www/[website_domain]/:/var/www/clients/client[client_id]/[website_domain]/';
95+
96+
//* Apps base settings
97+
$conf['web']['apps_vhost_ip'] = '_default_';
98+
$conf['web']['apps_vhost_port'] = '8081';
99+
$conf['web']['apps_vhost_servername'] = '';
100+
$conf['web']['apps_vhost_user'] = 'ispapps';
101+
$conf['web']['apps_vhost_group'] = 'ispapps';
102+
103+
//* Fastcgi
104+
$conf['fastcgi']['fastcgi_phpini_path'] = '/etc/php/8.3/cgi/';
105+
$conf['fastcgi']['fastcgi_starter_path'] = '/var/www/php-fcgi-scripts/[system_user]/';
106+
$conf['fastcgi']['fastcgi_bin'] = '/usr/bin/php-cgi';
107+
108+
//* Postfix
109+
$conf['postfix']['installed'] = false; // will be detected automatically during installation
110+
$conf['postfix']['config_dir'] = '/etc/postfix';
111+
$conf['postfix']['init_script'] = 'postfix';
112+
$conf['postfix']['user'] = 'postfix';
113+
$conf['postfix']['group'] = 'postfix';
114+
$conf['postfix']['vmail_userid'] = '5000';
115+
$conf['postfix']['vmail_username'] = 'vmail';
116+
$conf['postfix']['vmail_groupid'] = '5000';
117+
$conf['postfix']['vmail_groupname'] = 'vmail';
118+
$conf['postfix']['vmail_mailbox_base'] = '/var/vmail';
119+
120+
//* Mailman
121+
$conf['mailman']['installed'] = false; // will be detected automatically during installation
122+
$conf['mailman']['config_dir'] = '/etc/mailman';
123+
$conf['mailman']['init_script'] = 'mailman';
124+
125+
//* Getmail
126+
$conf['getmail']['installed'] = false; // will be detected automatically during installation
127+
$conf['getmail']['config_dir'] = '/etc/getmail';
128+
$conf['getmail']['program'] = '/usr/bin/getmail';
129+
130+
//* Courier
131+
$conf['courier']['installed'] = false; // will be detected automatically during installation
132+
$conf['courier']['config_dir'] = '/etc/courier';
133+
$conf['courier']['courier-authdaemon'] = 'courier-authdaemon';
134+
$conf['courier']['courier-imap'] = 'courier-imap';
135+
$conf['courier']['courier-imap-ssl'] = 'courier-imap-ssl';
136+
$conf['courier']['courier-pop'] = 'courier-pop';
137+
$conf['courier']['courier-pop-ssl'] = 'courier-pop-ssl';
138+
139+
//* Dovecot
140+
$conf['dovecot']['installed'] = false; // will be detected automatically during installation
141+
$conf['dovecot']['config_dir'] = '/etc/dovecot';
142+
$conf['dovecot']['init_script'] = 'dovecot';
143+
144+
//* SASL
145+
$conf['saslauthd']['installed'] = false; // will be detected automatically during installation
146+
$conf['saslauthd']['config'] = '/etc/default/saslauthd';
147+
$conf['saslauthd']['init_script'] = 'saslauthd';
148+
149+
//* Amavisd
150+
$conf['amavis']['installed'] = false; // will be detected automatically during installation
151+
$conf['amavis']['config_dir'] = '/etc/amavis';
152+
$conf['amavis']['init_script'] = 'amavis';
153+
154+
//* Rspamd
155+
$conf['rspamd']['installed'] = false; // will be detected automatically during installation
156+
$conf['rspamd']['config_dir'] = '/etc/rspamd';
157+
$conf['rspamd']['init_script'] = 'rspamd';
158+
159+
//* ClamAV
160+
$conf['clamav']['installed'] = false; // will be detected automatically during installation
161+
$conf['clamav']['init_script'] = 'clamav-daemon';
162+
163+
//* Pureftpd
164+
$conf['pureftpd']['installed'] = false; // will be detected automatically during installation
165+
$conf['pureftpd']['config_dir'] = '/etc/pure-ftpd';
166+
$conf['pureftpd']['init_script'] = 'pure-ftpd-mysql';
167+
168+
//* MyDNS
169+
$conf['mydns']['installed'] = false; // will be detected automatically during installation
170+
$conf['mydns']['config_dir'] = '/etc';
171+
$conf['mydns']['init_script'] = 'mydns';
172+
173+
//* PowerDNS
174+
$conf['powerdns']['installed'] = false; // will be detected automatically during installation
175+
$conf['powerdns']['database'] = 'powerdns';
176+
$conf["powerdns"]["config_dir"] = '/etc/powerdns/pdns.d';
177+
$conf['powerdns']['init_script'] = 'pdns';
178+
179+
//* BIND DNS Server
180+
$conf['bind']['installed'] = false; // will be detected automatically during installation
181+
$conf['bind']['bind_user'] = 'root';
182+
$conf['bind']['bind_group'] = 'bind';
183+
$conf['bind']['bind_zonefiles_dir'] = '/etc/bind';
184+
$conf['bind']['named_conf_path'] = '/etc/bind/named.conf';
185+
$conf['bind']['named_conf_local_path'] = '/etc/bind/named.conf.local';
186+
$conf['bind']['init_script'] = 'bind9';
187+
188+
//* Jailkit
189+
$conf['jailkit']['installed'] = false; // will be detected automatically during installation
190+
$conf['jailkit']['config_dir'] = '/etc/jailkit';
191+
$conf['jailkit']['jk_init'] = 'jk_init.ini';
192+
$conf['jailkit']['jk_chrootsh'] = 'jk_chrootsh.ini';
193+
$conf['jailkit']['jailkit_chroot_app_programs'] = '/usr/bin/groups /usr/bin/id /usr/bin/dircolors /usr/bin/lesspipe /usr/bin/basename /usr/bin/dirname /usr/bin/nano /usr/bin/pico /usr/bin/mysql /usr/bin/mysqldump /usr/bin/git /usr/bin/git-receive-pack /usr/bin/git-upload-pack /usr/bin/unzip /usr/bin/zip /bin/tar /bin/rm /usr/bin/patch /etc/localtime';
194+
$conf['jailkit']['jailkit_chroot_cron_programs'] = '/usr/bin/php /usr/bin/perl /usr/share/perl /usr/share/php';
195+
196+
//* Squid
197+
$conf['squid']['installed'] = false; // will be detected automatically during installation
198+
$conf['squid']['config_dir'] = '/etc/squid';
199+
$conf['squid']['init_script'] = 'squid';
200+
201+
//* Nginx
202+
$conf['nginx']['installed'] = false; // will be detected automatically during installation
203+
$conf['nginx']['user'] = 'www-data';
204+
$conf['nginx']['group'] = 'www-data';
205+
$conf['nginx']['config_dir'] = '/etc/nginx';
206+
$conf['nginx']['vhost_conf_dir'] = '/etc/nginx/sites-available';
207+
$conf['nginx']['vhost_conf_enabled_dir'] = '/etc/nginx/sites-enabled';
208+
$conf['nginx']['init_script'] = 'nginx';
209+
$conf['nginx']['vhost_port'] = '8080';
210+
$conf['nginx']['cgi_socket'] = '/var/run/fcgiwrap.socket';
211+
$conf['nginx']['php_fpm_init_script'] = 'php8.3-fpm';
212+
$conf['nginx']['php_fpm_ini_path'] = '/etc/php/8.3/fpm/php.ini';
213+
$conf['nginx']['php_fpm_pool_dir'] = '/etc/php/8.3/fpm/pool.d';
214+
$conf['nginx']['php_fpm_start_port'] = 9010;
215+
$conf['nginx']['php_fpm_socket_dir'] = '/var/lib/php8.3-fpm';
216+
217+
//* OpenVZ
218+
$conf['openvz']['installed'] = false;
219+
220+
//*Bastille-Firwall
221+
$conf['bastille']['installed'] = false;
222+
$conf['bastille']['config_dir'] = '/etc/Bastille';
223+
224+
//* vlogger
225+
$conf['vlogger']['config_dir'] = '/etc';
226+
227+
//* cron
228+
$conf['cron']['init_script'] = 'cron';
229+
$conf['cron']['crontab_dir'] = '/etc/cron.d';
230+
$conf['cron']['wget'] = '/usr/bin/wget';
231+
232+
//* Metronome XMPP
233+
$conf['xmpp']['installed'] = false;
234+
$conf['xmpp']['init_script'] = 'metronome';
235+
236+
237+
// AppArmor
238+
$conf['apparmor']['installed'] = false;
239+
240+
?>

install/dist/lib/debian60.lib.php

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public function configure_dovecot()
6161
if(is_file($config_dir.'/master.cf')){
6262
copy($config_dir.'/master.cf', $config_dir.'/master.cf~2');
6363
}
64-
if(is_file($config_dir.'/master.cf~')){
64+
if(is_file($config_dir.'/master.cf~2')){
6565
chmod($config_dir.'/master.cf~2', 0400);
6666
}
6767
//* Configure master.cf and add a line for deliver
@@ -209,14 +209,6 @@ public function configure_dovecot()
209209

210210
}
211211

212-
public function configure_apache() {
213-
global $conf;
214-
215-
if(file_exists('/etc/apache2/mods-available/fcgid.conf')) replaceLine('/etc/apache2/mods-available/fcgid.conf', 'MaxRequestLen', 'MaxRequestLen 15728640', 0, 1);
216-
217-
parent::configure_apache();
218-
}
219-
220212
public function configure_fail2ban() {
221213
/*
222214
copy('tpl/dovecot-pop3imap.conf.master',"/etc/fail2ban/filter.d/dovecot-pop3imap.conf");

install/dist/lib/fedora.lib.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ public function configure_dovecot()
144144
if(is_file($config_dir.'/master.cf')){
145145
copy($config_dir.'/master.cf', $config_dir.'/master.cf~2');
146146
}
147-
if(is_file($config_dir.'/master.cf~')){
147+
if(is_file($config_dir.'/master.cf~2')){
148148
chmod($config_dir.'/master.cf~2', 0400);
149149
}
150150
//* Configure master.cf and add a line for deliver
@@ -1076,6 +1076,12 @@ public function install_ispconfig()
10761076
if(!is_link('/usr/local/bin/ispconfig_update_from_dev.sh')) exec('ln -s /usr/local/ispconfig/server/scripts/ispconfig_update.sh /usr/local/bin/ispconfig_update_from_dev.sh');
10771077
if(!is_link('/usr/local/bin/ispconfig_update.sh')) exec('ln -s /usr/local/ispconfig/server/scripts/ispconfig_update.sh /usr/local/bin/ispconfig_update.sh');
10781078

1079+
// Install ISPConfig cli command
1080+
if(is_file('/usr/local/bin/ispc')) unlink('/usr/local/bin/ispc');
1081+
chown($install_dir.'/server/cli/ispc', 'root');
1082+
chmod($install_dir.'/server/cli/ispc', 0700);
1083+
symlink($install_dir.'/server/cli/ispc', '/usr/local/bin/ispc');
1084+
10791085
// set the fast cgi starter script to executable
10801086
// exec('chmod 755 '.$install_dir.'/interface/bin/php-fcgi');
10811087

0 commit comments

Comments
 (0)