@@ -130,7 +130,12 @@ public function find_installed_apps() {
130130 if (is_installed ('jk_chrootsh ' )) $ conf ['jailkit ' ]['installed ' ] = true ;
131131 if (is_installed ('pdns_server ' ) || is_installed ('pdns_control ' )) $ conf ['powerdns ' ]['installed ' ] = true ;
132132 if (is_installed ('named ' ) || is_installed ('bind ' ) || is_installed ('bind9 ' )) $ conf ['bind ' ]['installed ' ] = true ;
133-
133+ if (is_installed ('squid ' )) $ conf ['squid ' ]['installed ' ] = true ;
134+ if (is_installed ('nginx ' )) $ conf ['nginx ' ]['installed ' ] = true ;
135+ if (is_installed ('iptables ' ) && is_installed ('ufw ' )) $ conf ['ufw ' ]['installed ' ] = true ;
136+ if (is_dir ("/etc/Bastille " )) $ conf ['bastille ' ]['installed ' ] = true ;
137+
138+ if ($ conf ['services ' ]['web ' ] && $ conf ['apache ' ]['installed ' ] && is_file ($ conf ['apache ' ]["vhost_conf_enabled_dir " ]."/000-ispconfig.vhost " )) $ this ->ispconfig_interface_installed = true ;
134139 }
135140
136141 /** Create the database for ISPConfig */
@@ -227,6 +232,11 @@ public function add_database_server_record() {
227232 $ tpl_ini_array ['dns ' ]['named_conf_path ' ] = $ conf ['bind ' ]['named_conf_path ' ];
228233 $ tpl_ini_array ['dns ' ]['named_conf_local_path ' ] = $ conf ['bind ' ]['named_conf_local_path ' ];
229234
235+ if ($ conf ['nginx ' ]['installed ' ] == true ) {
236+ $ tpl_ini_array ['nginx ' ]['vhost_conf_dir ' ] = $ conf ['nginx ' ]['vhost_conf_dir ' ];
237+ $ tpl_ini_array ['nginx ' ]['vhost_conf_enabled_dir ' ] = $ conf ['nginx ' ]['vhost_conf_enabled_dir ' ];
238+ }
239+
230240 if (array_key_exists ('awstats ' , $ conf )) {
231241 foreach ($ conf ['awstats ' ] as $ aw_sett => $ aw_value ) {
232242 $ tpl_ini_array ['web ' ]['awstats_ ' .$ aw_sett ] = $ aw_value ;
@@ -242,6 +252,8 @@ public function add_database_server_record() {
242252 $ file_server_enabled = ($ conf ['services ' ]['file ' ])?1 :0 ;
243253 $ db_server_enabled = ($ conf ['services ' ]['db ' ])?1 :0 ;
244254 $ vserver_server_enabled = ($ conf ['services ' ]['vserver ' ])?1 :0 ;
255+ $ proxy_server_enabled = ($ conf ['services ' ]['proxy ' ])?1 :0 ;
256+ $ firewall_server_enabled = ($ conf ['services ' ]['firewall ' ])?1 :0 ;
245257
246258 //** Get the database version number based on the patchfiles
247259 $ found = true ;
@@ -261,13 +273,13 @@ public function add_database_server_record() {
261273 if ($ conf ['mysql ' ]['master_slave_setup ' ] == 'y ' ) {
262274
263275 //* Insert the server record in master DB
264- $ sql = "INSERT INTO `server` (`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_name`, `mail_server`, `web_server`, `dns_server`, `file_server`, `db_server`, `vserver_server`, `config`, `updated`, `active`, `dbversion`) VALUES (1, 1, 'riud', 'riud', 'r', ' " .$ conf ['hostname ' ]."', ' $ mail_server_enabled', ' $ web_server_enabled', ' $ dns_server_enabled', ' $ file_server_enabled', ' $ db_server_enabled', ' $ vserver_server_enabled', ' $ server_ini_content', 0, 1, $ current_db_version); " ;
276+ $ sql = "INSERT INTO `server` (`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_name`, `mail_server`, `web_server`, `dns_server`, `file_server`, `db_server`, `vserver_server`, `config`, `updated`, `active`, `dbversion`,`firewall_server`,`proxy_server` ) VALUES (1, 1, 'riud', 'riud', 'r', ' " .$ conf ['hostname ' ]."', ' $ mail_server_enabled', ' $ web_server_enabled', ' $ dns_server_enabled', ' $ file_server_enabled', ' $ db_server_enabled', ' $ vserver_server_enabled', ' $ server_ini_content', 0, 1, $ current_db_version, $ proxy_server_enabled , $ firewall_server_enabled ); " ;
265277 $ this ->dbmaster ->query ($ sql );
266278 $ conf ['server_id ' ] = $ this ->dbmaster ->insertID ();
267279 $ conf ['server_id ' ] = $ conf ['server_id ' ];
268280
269281 //* Insert the same record in the local DB
270- $ sql = "INSERT INTO `server` (`server_id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_name`, `mail_server`, `web_server`, `dns_server`, `file_server`, `db_server`, `vserver_server`, `config`, `updated`, `active`, `dbversion`) VALUES (' " .$ conf ['server_id ' ]."',1, 1, 'riud', 'riud', 'r', ' " .$ conf ['hostname ' ]."', ' $ mail_server_enabled', ' $ web_server_enabled', ' $ dns_server_enabled', ' $ file_server_enabled', ' $ db_server_enabled', ' $ vserver_server_enabled', ' $ server_ini_content', 0, 1, $ current_db_version); " ;
282+ $ sql = "INSERT INTO `server` (`server_id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_name`, `mail_server`, `web_server`, `dns_server`, `file_server`, `db_server`, `vserver_server`, `config`, `updated`, `active`, `dbversion`,`firewall_server`,`proxy_server` ) VALUES (' " .$ conf ['server_id ' ]."',1, 1, 'riud', 'riud', 'r', ' " .$ conf ['hostname ' ]."', ' $ mail_server_enabled', ' $ web_server_enabled', ' $ dns_server_enabled', ' $ file_server_enabled', ' $ db_server_enabled', ' $ vserver_server_enabled', ' $ server_ini_content', 0, 1, $ current_db_version, $ proxy_server_enabled , $ firewall_server_enabled ); " ;
271283 $ this ->db ->query ($ sql );
272284
273285 //* username for the ispconfig user
@@ -277,7 +289,7 @@ public function add_database_server_record() {
277289
278290 } else {
279291 //* Insert the server, if its not a mster / slave setup
280- $ sql = "INSERT INTO `server` (`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_name`, `mail_server`, `web_server`, `dns_server`, `file_server`, `db_server`, `vserver_server`, `config`, `updated`, `active`, `dbversion`) VALUES (1, 1, 'riud', 'riud', 'r', ' " .$ conf ['hostname ' ]."', ' $ mail_server_enabled', ' $ web_server_enabled', ' $ dns_server_enabled', ' $ file_server_enabled', ' $ db_server_enabled', ' $ vserver_server_enabled', ' $ server_ini_content', 0, 1, $ current_db_version); " ;
292+ $ sql = "INSERT INTO `server` (`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_name`, `mail_server`, `web_server`, `dns_server`, `file_server`, `db_server`, `vserver_server`, `config`, `updated`, `active`, `dbversion`,`firewall_server`,`proxy_server` ) VALUES (1, 1, 'riud', 'riud', 'r', ' " .$ conf ['hostname ' ]."', ' $ mail_server_enabled', ' $ web_server_enabled', ' $ dns_server_enabled', ' $ file_server_enabled', ' $ db_server_enabled', ' $ vserver_server_enabled', ' $ server_ini_content', 0, 1, $ current_db_version, $ proxy_server_enabled , $ firewall_server_enabled ); " ;
281293 $ this ->db ->query ($ sql );
282294 $ conf ['server_id ' ] = $ this ->db ->insertID ();
283295 $ conf ['server_id ' ] = $ conf ['server_id ' ];
@@ -1108,6 +1120,67 @@ public function configure_apache() {
11081120 if (!is_group ('sshusers ' )) caselog ($ command .' &> /dev/null 2> /dev/null ' , __FILE__ , __LINE__ , "EXECUTED: $ command " , "Failed to execute the command $ command " );
11091121
11101122 }
1123+
1124+ public function configure_nginx ()
1125+ {
1126+ global $ conf ;
1127+ $ row = $ this ->db ->queryOneRecord ("SELECT server_name FROM server WHERE server_id = " .$ conf ["server_id " ]."" );
1128+ $ ip_address = gethostbyname ($ row ["server_name " ]);
1129+ $ server_name = $ row ["server_name " ];
1130+
1131+ //setup proxy.conf
1132+ $ configfile = 'proxy.conf ' ;
1133+ if (is_file ($ conf ["nginx " ]["config_dir " ].'/ ' .$ configfile )) copy ($ conf ["nginx " ]["config_dir " ].'/ ' .$ configfile ,$ conf ["nginx " ]["config_dir " ].'/ ' .$ configfile .'~ ' );
1134+ if (is_file ($ conf ["nginx " ]["config_dir " ].'/ ' .$ configfile .'~ ' )) exec ('chmod 400 ' .$ conf ["nginx " ]["config_dir " ].'/ ' .$ configfile .'~ ' );
1135+ $ content = rf ("tpl/nginx_ " .$ configfile .".master " );
1136+ wf ($ conf ["nginx " ]["config_dir " ].'/ ' .$ configfile ,$ content );
1137+ exec ('chmod 600 ' .$ conf ["nginx " ]["config_dir " ].'/ ' .$ configfile );
1138+ exec ('chown root:root ' .$ conf ["nginx " ]["config_dir " ].'/ ' .$ configfile );
1139+
1140+ //setup conf.d/cache.conf
1141+ $ configfile = 'cache.conf ' ;
1142+ if (is_file ($ conf ["nginx " ]["config_dir " ].'/conf.d/ ' .$ configfile )) copy ($ conf ["nginx " ]["config_dir " ].'/conf.d/ ' .$ configfile ,$ conf ["nginx " ]["config_dir " ].'/conf.d/ ' .$ configfile .'~ ' );
1143+ if (is_file ($ conf ["nginx " ]["config_dir " ].'/conf.d/ ' .$ configfile .'~ ' )) exec ('chmod 400 ' .$ conf ["nginx " ]["config_dir " ].'/conf.d/ ' .$ configfile .'~ ' );
1144+ $ content = rf ("tpl/nginx_ " .$ configfile .".master " );
1145+ wf ($ conf ["nginx " ]["config_dir " ].'/conf.d/ ' .$ configfile ,$ content );
1146+ exec ('chmod 600 ' .$ conf ["nginx " ]["config_dir " ].'/conf.d/ ' .$ configfile );
1147+ exec ('chown root:root ' .$ conf ["nginx " ]["config_dir " ].'/conf.d/ ' .$ configfile );
1148+
1149+ //setup cache directories
1150+ mkdir ('/var/cache/nginx/cache ' );
1151+ exec ('chown www-data:www-data /var/cache/nginx/cache ' );
1152+ mkdir ('/var/cache/nginx/temp ' );
1153+ exec ('chown www-data:www-data /var/cache/nginx/temp ' );
1154+ }
1155+
1156+ public function configure_squid ()
1157+ {
1158+ global $ conf ;
1159+ $ row = $ this ->db ->queryOneRecord ("SELECT server_name FROM server WHERE server_id = " .$ conf ["server_id " ]."" );
1160+ $ ip_address = gethostbyname ($ row ["server_name " ]);
1161+ $ server_name = $ row ["server_name " ];
1162+
1163+ $ configfile = 'squid.conf ' ;
1164+ if (is_file ($ conf ["squid " ]["config_dir " ].'/ ' .$ configfile )) copy ($ conf ["squid " ]["config_dir " ].'/ ' .$ configfile ,$ conf ["squid " ]["config_dir " ].'/ ' .$ configfile .'~ ' );
1165+ if (is_file ($ conf ["squid " ]["config_dir " ].'/ ' .$ configfile .'~ ' )) exec ('chmod 400 ' .$ conf ["squid " ]["config_dir " ].'/ ' .$ configfile .'~ ' );
1166+ $ content = rf ("tpl/ " .$ configfile .".master " );
1167+ $ content = str_replace ('{server_name} ' ,$ server_name ,$ content );
1168+ $ content = str_replace ('{ip_address} ' ,$ ip_address , $ content );
1169+ $ content = str_replace ('{config_dir} ' ,$ conf ['squid ' ]['config_dir ' ], $ content );
1170+ wf ($ conf ["squid " ]["config_dir " ].'/ ' .$ configfile ,$ content );
1171+ exec ('chmod 600 ' .$ conf ["squid " ]["config_dir " ].'/ ' .$ configfile );
1172+ exec ('chown root:root ' .$ conf ["squid " ]["config_dir " ].'/ ' .$ configfile );
1173+ }
1174+
1175+ public function configure_ufw_firewall ()
1176+ {
1177+ $ configfile = 'ufw.conf ' ;
1178+ if (is_file ('/etc/ufw/ufw.conf ' )) copy ('/etc/ufw/ufw.conf ' ,'/etc/ufw/ufw.conf~ ' );
1179+ $ content = rf ("tpl/ " .$ configfile .".master " );
1180+ wf ('/etc/ufw/ufw.conf ' ,$ content );
1181+ exec ('chmod 600 /etc/ufw/ufw.conf ' );
1182+ exec ('chown root:root /etc/ufw/ufw.conf ' );
1183+ }
11111184
11121185 public function configure_firewall () {
11131186 global $ conf ;
@@ -1426,13 +1499,14 @@ public function install_ispconfig() {
14261499 $ file_server_enabled = ($ conf ['services ' ]['file ' ])?1 :0 ;
14271500 $ db_server_enabled = ($ conf ['services ' ]['db ' ])?1 :0 ;
14281501 $ vserver_server_enabled = ($ conf ['services ' ]['vserver ' ])?1 :0 ;
1502+ $ proxy_server_enabled = ($ conf ['services ' ]['proxy ' ])?1 :0 ;
1503+ $ firewall_server_enabled = ($ conf ['services ' ]['firewall ' ])?1 :0 ;
14291504
14301505
14311506
14321507
14331508
1434-
1435- $ sql = "UPDATE `server` SET mail_server = ' $ mail_server_enabled', web_server = ' $ web_server_enabled', dns_server = ' $ dns_server_enabled', file_server = ' $ file_server_enabled', db_server = ' $ db_server_enabled', vserver_server = ' $ vserver_server_enabled' WHERE server_id = " .intval ($ conf ['server_id ' ]);
1509+ $ sql = "UPDATE `server` SET mail_server = ' $ mail_server_enabled', web_server = ' $ web_server_enabled', dns_server = ' $ dns_server_enabled', file_server = ' $ file_server_enabled', db_server = ' $ db_server_enabled', vserver_server = ' $ vserver_server_enabled', proxy_server = ' $ proxy_server_enabled', firewall_server = ' $ firewall_server_enabled' WHERE server_id = " .intval ($ conf ['server_id ' ]);
14361510
14371511 if ($ conf ['mysql ' ]['master_slave_setup ' ] == 'y ' ) {
14381512 $ this ->dbmaster ->query ($ sql );
0 commit comments