Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Register
Sign in
Toggle navigation
Menu
Open sidebar
lolo888
ISPConfig 3
Commits
cc3fb3d9
Commit
cc3fb3d9
authored
Aug 27, 2007
by
oliver
Browse files
fixed some bugs in the installer
parent
92bea0b6
Changes
5
Hide whitespace changes
Inline
Side-by-side
install/dist/conf/debian40.conf.php
View file @
cc3fb3d9
...
...
@@ -3,63 +3,77 @@
//*** Debian 4.0 default settings
//* Main
$dist
[
'init_scripts'
]
=
'/etc/init.d'
;
$dist
[
'runlevel'
]
=
'/etc'
;
$dist
[
'shells'
]
=
'/etc/shells'
;
$dist
[
'cron_tab'
]
=
'/var/spool/cron/crontabs/root'
;
$dist
[
'pam'
]
=
'/etc/pam.d'
;
$conf
[
'language'
]
=
'en'
;
$conf
[
'distname'
]
=
'debian40'
;
$conf
[
'hostname'
]
=
'server1.example.com'
;
// Full hostname
$conf
[
'ispconfig_install_dir'
]
=
'/usr/local/ispconfig'
;
$conf
[
'ispconfig_config_dir'
]
=
'/usr/local/ispconfig'
;
$conf
[
'server_id'
]
=
1
;
$conf
[
'init_scripts'
]
=
'/etc/init.d'
;
$conf
[
'runlevel'
]
=
'/etc'
;
$conf
[
'shells'
]
=
'/etc/shells'
;
$conf
[
'cron_tab'
]
=
'/var/spool/cron/crontabs/root'
;
$conf
[
'pam'
]
=
'/etc/pam.d'
;
//* MySQL
$dist
[
'mysql'
][
'init_script'
]
=
'mysql'
;
$conf
[
'mysql'
][
'init_script'
]
=
'mysql'
;
$conf
[
'mysql'
][
'host'
]
=
'localhost'
;
$conf
[
'mysql'
][
'ip'
]
=
'127.0.0.1'
;
$conf
[
'mysql'
][
'port'
]
=
'3306'
;
$conf
[
'mysql'
][
'database'
]
=
'dbispconfig'
;
$conf
[
'mysql'
][
'admin_user'
]
=
'root'
;
$conf
[
'mysql'
][
'admin_password'
]
=
''
;
$conf
[
'mysql'
][
'ispconfig_user'
]
=
'ispconfig'
;
$conf
[
'mysql'
][
'ispconfig_password'
]
=
'5sDrewBhk'
;
//* Apache
$
dist
[
'apache'
][
'user'
]
=
'www-data'
;
$
dist
[
'apache'
][
'group'
]
=
'www-data'
;
$
dist
[
'apache'
][
'init_script'
]
=
'apache2'
;
$
dist
[
'apache'
][
'version'
]
=
'2.2'
;
$
dist
[
'apache'
][
'vhost_
dist
_dir'
]
=
'/etc/apache2/sites-available'
;
$
dist
[
'apache'
][
'vhost_
dist
_enabled_dir'
]
=
'/etc/apache2/sites-enabled'
;
$
conf
[
'apache'
][
'user'
]
=
'www-data'
;
$
conf
[
'apache'
][
'group'
]
=
'www-data'
;
$
conf
[
'apache'
][
'init_script'
]
=
'apache2'
;
$
conf
[
'apache'
][
'version'
]
=
'2.2'
;
$
conf
[
'apache'
][
'vhost_
conf
_dir'
]
=
'/etc/apache2/sites-available'
;
$
conf
[
'apache'
][
'vhost_
conf
_enabled_dir'
]
=
'/etc/apache2/sites-enabled'
;
//* Postfix
$
dist
[
'postfix'
][
'config_dir'
]
=
'/etc/postfix'
;
$
dist
[
'postfix'
][
'init_script'
]
=
'postfix'
;
$
dist
[
'postfix'
][
'user'
]
=
'postfix'
;
$
dist
[
'postfix'
][
'group'
]
=
'postfix'
;
$
dist
[
'postfix'
][
'vmail_userid'
]
=
'5000'
;
$
dist
[
'postfix'
][
'vmail_username'
]
=
'vmail'
;
$
dist
[
'postfix'
][
'vmail_groupid'
]
=
'5000'
;
$
dist
[
'postfix'
][
'vmail_groupname'
]
=
'vmail'
;
$
dist
[
'postfix'
][
'vmail_mailbox_base'
]
=
'/home/vmail'
;
$
conf
[
'postfix'
][
'config_dir'
]
=
'/etc/postfix'
;
$
conf
[
'postfix'
][
'init_script'
]
=
'postfix'
;
$
conf
[
'postfix'
][
'user'
]
=
'postfix'
;
$
conf
[
'postfix'
][
'group'
]
=
'postfix'
;
$
conf
[
'postfix'
][
'vmail_userid'
]
=
'5000'
;
$
conf
[
'postfix'
][
'vmail_username'
]
=
'vmail'
;
$
conf
[
'postfix'
][
'vmail_groupid'
]
=
'5000'
;
$
conf
[
'postfix'
][
'vmail_groupname'
]
=
'vmail'
;
$
conf
[
'postfix'
][
'vmail_mailbox_base'
]
=
'/home/vmail'
;
//* Getmail
$
dist
[
'getmail'
][
'config_dir'
]
=
'/etc/getmail'
;
$
dist
[
'getmail'
][
'program'
]
=
'/usr/bin/getmail'
;
$
conf
[
'getmail'
][
'config_dir'
]
=
'/etc/getmail'
;
$
conf
[
'getmail'
][
'program'
]
=
'/usr/bin/getmail'
;
//* Courier
$
dist
[
'courier'
][
'config_dir'
]
=
'/etc/courier'
;
$
dist
[
'courier'
][
'courier-authdaemon'
]
=
'courier-authdaemon'
;
$
dist
[
'courier'
][
'courier-imap'
]
=
'courier-imap'
;
$
dist
[
'courier'
][
'courier-imap-ssl'
]
=
'courier-imap-ssl'
;
$
dist
[
'courier'
][
'courier-pop'
]
=
'courier-pop'
;
$
dist
[
'courier'
][
'courier-pop-ssl'
]
=
'courier-pop-ssl'
;
$
conf
[
'courier'
][
'config_dir'
]
=
'/etc/courier'
;
$
conf
[
'courier'
][
'courier-authdaemon'
]
=
'courier-authdaemon'
;
$
conf
[
'courier'
][
'courier-imap'
]
=
'courier-imap'
;
$
conf
[
'courier'
][
'courier-imap-ssl'
]
=
'courier-imap-ssl'
;
$
conf
[
'courier'
][
'courier-pop'
]
=
'courier-pop'
;
$
conf
[
'courier'
][
'courier-pop-ssl'
]
=
'courier-pop-ssl'
;
//* SASL
$
dist
[
'saslauthd'
][
'config'
]
=
'/etc/default/saslauthd'
;
$
dist
[
'saslauthd'
][
'init_script'
]
=
'saslauthd'
;
$
conf
[
'saslauthd'
][
'config'
]
=
'/etc/default/saslauthd'
;
$
conf
[
'saslauthd'
][
'init_script'
]
=
'saslauthd'
;
//* Amavisd
$
dist
[
'amavis'
][
'config_dir'
]
=
'/etc/amavis'
;
$
dist
[
'amavis'
][
'init_script'
]
=
'amavis'
;
$
conf
[
'amavis'
][
'config_dir'
]
=
'/etc/amavis'
;
$
conf
[
'amavis'
][
'init_script'
]
=
'amavis'
;
//* ClamAV
$
dist
[
'clamav'
][
'init_script'
]
=
'clamav-daemon'
;
$
conf
[
'clamav'
][
'init_script'
]
=
'clamav-daemon'
;
//* Pureftpd
$
dist
[
'pureftpd'
][
'config_dir'
]
=
'/etc/pure-ftpd'
;
$
dist
[
'pureftpd'
][
'init_script'
]
=
'pure-ftpd-mysql'
;
$
conf
[
'pureftpd'
][
'config_dir'
]
=
'/etc/pure-ftpd'
;
$
conf
[
'pureftpd'
][
'init_script'
]
=
'pure-ftpd-mysql'
;
//* MyDNS
$
dist
[
'mydns'
][
'config_dir'
]
=
'/etc'
;
$
dist
[
'mydns'
][
'init_script'
]
=
'mydns'
;
$
conf
[
'mydns'
][
'config_dir'
]
=
'/etc'
;
$
conf
[
'mydns'
][
'init_script'
]
=
'mydns'
;
?>
\ No newline at end of file
install/install.php
View file @
cc3fb3d9
...
...
@@ -52,21 +52,18 @@ echo "\n\n>> Initial configuration \n\n";
//** Include the library with the basic installer functions
require_once
(
'lib/install.lib.php'
);
require_once
(
'options.conf.php'
);
//** Include the base class of the installer class
require_once
(
'lib/installer_base.lib.php'
);
//** Include the distribution specific installer class library and configuration
include_once
(
'dist/lib/'
.
$conf
[
'distname'
]
.
'.lib.php'
);
include_once
(
'dist/conf/'
.
$conf
[
'distname'
]
.
'.conf.php'
);
//** Get distribution identifier
$distname
=
get_distname
();
//** Copt the $dist created in dist/conf/foo to global var
$conf
[
'dist'
]
=
$dist
;
//** Include the distribution specific installer class library and configuration
include_once
(
'dist/lib/'
.
$distname
.
'.lib.php'
);
include_once
(
'dist/conf/'
.
$distname
.
'.conf.php'
);
//** Install logfile
define
(
'ISPC_LOG_FILE'
,
'/var/log/ispconfig_install.log'
);
//****************************************************************************************************
...
...
@@ -78,8 +75,8 @@ swriteln($inst->lng(' Default values are in [brackets] and can be accepted wi
swriteln
(
$inst
->
lng
(
' Tap in "quit" (without the quotes) to stop the installer.'
.
"
\n\n
"
));
//** Check log file is writable (probably not root or sudo)
if
(
!
is_writable
(
ISPC_LOG_FILE
)){
die
(
"ERROR: Cannot write to the
log file '"
.
ISPC_LOG_FILE
.
"
'
. Are you root or sudo ?
\n\n
"
);
if
(
!
is_writable
(
dirname
(
ISPC_LOG_FILE
))
)
{
die
(
"ERROR: Cannot write to the
directory "
.
dirname
(
ISPC_LOG_FILE
)
.
". Are you root or sudo ?
\n\n
"
);
}
//** Select the language
...
...
@@ -92,7 +89,7 @@ $install_mode = $inst->simple_query('Installation mode', array('Standard','Exper
//** Get the hostname
$tmp_out
=
array
();
exec
(
'hostname -f'
,
$tmp_out
);
$conf
[
'hostname'
]
=
$inst
->
free_query
(
'Full qualified hostname (FQDN) of the server, eg foo.example.com '
,
$tmp_out
[
0
]);
$
inst
->
conf
[
'hostname'
]
=
$inst
->
free_query
(
'Full qualified hostname (FQDN) of the server, eg foo.example.com '
,
$tmp_out
[
0
]);
unset
(
$tmp_out
);
//** Get MySQL root credentials
...
...
@@ -175,19 +172,19 @@ if($install_mode == 'Standard') {
$inst
->
install_crontab
();
swriteln
(
'Restarting services ...'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
mysql'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
postfix'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
saslauthd'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
amavis'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
clamav'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
courier'
][
'courier-authdaemon'
]
.
' restart'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
courier'
][
'courier-imap'
]
.
' restart'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
courier'
][
'courier-imap-ssl'
]
.
' restart'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
courier'
][
'courier-pop'
]
.
' restart'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
courier'
][
'courier-pop-ssl'
]
.
' restart'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
apache'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
pureftpd'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
mydns'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'mysql'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'postfix'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'saslauthd'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'amavis'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'clamav'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-authdaemon'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-imap'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-imap-ssl'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-pop'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-pop-ssl'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'apache'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'pureftpd'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'mydns'
][
'init_script'
]
.
' restart'
);
}
else
{
...
...
@@ -226,29 +223,29 @@ if($install_mode == 'Standard') {
swriteln
(
'Configuring Getmail'
);
$inst
->
configure_getmail
();
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
postfix'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
saslauthd'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
amavis'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
clamav'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
courier'
][
'courier-authdaemon'
]
.
' restart'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
courier'
][
'courier-imap'
]
.
' restart'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
courier'
][
'courier-imap-ssl'
]
.
' restart'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
courier'
][
'courier-pop'
]
.
' restart'
);
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
courier'
][
'courier-pop-ssl'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'postfix'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'saslauthd'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'amavis'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'clamav'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-authdaemon'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-imap'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-imap-ssl'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-pop'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-pop-ssl'
]
.
' restart'
);
}
//** Configure Pureftpd
if
(
strtolower
(
$inst
->
simple_query
(
'Configure FTP Server'
,
array
(
'y'
,
'n'
),
'y'
)
)
==
'y'
)
{
swriteln
(
'Configuring Pureftpd'
);
$inst
->
configure_pureftpd
();
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
pureftpd'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'pureftpd'
][
'init_script'
]
.
' restart'
);
}
//** Configure MyDNS
if
(
strtolower
(
$inst
->
simple_query
(
'Configure DNS Server'
,
array
(
'y'
,
'n'
),
'y'
))
==
'y'
)
{
swriteln
(
'Configuring MyDNS'
);
$inst
->
configure_mydns
();
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
mydns'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'mydns'
][
'init_script'
]
.
' restart'
);
}
//** Configure Apache
...
...
@@ -265,7 +262,7 @@ if($install_mode == 'Standard') {
//* Configure ISPConfig
swriteln
(
'Installing Crontab'
);
$inst
->
install_crontab
();
system
(
$conf
[
'
dist'
][
'
init_scripts'
]
.
'/'
.
$conf
[
'
dist'
][
'
apache'
][
'init_script'
]
.
' restart'
);
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'apache'
][
'init_script'
]
.
' restart'
);
}
}
//* << $install_mode / 'Standard' or Genius
...
...
install/lib/install.lib.php
View file @
cc3fb3d9
...
...
@@ -56,9 +56,22 @@ error_reporting(E_ALL|E_STRICT);
$FILE
=
realpath
(
'../install.php'
);
//** Get distribution identifier
function
get_distname
()
{
global
$conf
;
// TODO wtf ?
$distname
=
$conf
[
'distname'
];
//** Debian
if
(
file_exists
(
'/etc/debian_version'
))
{
if
(
trim
(
file_get_contents
(
'/etc/debian_version'
))
==
'4.0'
)
{
$distname
=
'debian40'
;
}
}
//** Redhat
elseif
(
file_exists
(
"/etc/redhat_release"
))
{
}
return
$distname
;
}
...
...
install/lib/installer_base.lib.php
View file @
cc3fb3d9
...
...
@@ -33,7 +33,7 @@ class installer_base {
var
$wb
=
array
();
var
$language
=
'en'
;
var
$db
;
p
rivate
$conf
;
p
ublic
$conf
;
public
function
__construct
()
...
...
@@ -161,7 +161,7 @@ class installer_base {
//** writes postfix configuration files
private
function
process_postfix_config
(
$configfile
)
{
$config_dir
=
$this
->
conf
[
'
dist'
][
'
postfix'
][
'config_dir'
]
.
'/'
;
$config_dir
=
$this
->
conf
[
'postfix'
][
'config_dir'
]
.
'/'
;
$full_file_name
=
$config_dir
.
$configfile
;
//* Backup exiting file
if
(
is_file
(
$full_file_name
)){
...
...
@@ -179,7 +179,7 @@ class installer_base {
public
function
configure_postfix
(
$options
=
''
)
{
$cf
=
$this
->
conf
[
'
dist'
][
'
postfix'
];
$cf
=
$this
->
conf
[
'postfix'
];
$config_dir
=
$cf
[
'config_dir'
];
if
(
!
is_dir
(
$config_dir
)){
...
...
@@ -337,14 +337,14 @@ class installer_base {
$configfile
=
'sasl_smtpd.conf'
;
if
(
is_file
(
$conf
[
"
dist"
][
"
postfix"
][
"config_dir"
]
.
'/sasl/smtpd.conf'
))
copy
(
$conf
[
"
dist"
][
"
postfix"
][
"config_dir"
]
.
'/sasl/smtpd.conf'
,
$conf
[
"
dist"
][
"
postfix"
][
"config_dir"
]
.
'/sasl/smtpd.conf~'
);
if
(
is_file
(
$conf
[
"
dist"
][
"
postfix"
][
"config_dir"
]
.
'/sasl/smtpd.conf~'
))
exec
(
'chmod 400 '
.
$conf
[
"
dist"
][
"
postfix"
][
"config_dir"
]
.
'/sasl/smtpd.conf~'
);
if
(
is_file
(
$conf
[
"postfix"
][
"config_dir"
]
.
'/sasl/smtpd.conf'
))
copy
(
$conf
[
"postfix"
][
"config_dir"
]
.
'/sasl/smtpd.conf'
,
$conf
[
"postfix"
][
"config_dir"
]
.
'/sasl/smtpd.conf~'
);
if
(
is_file
(
$conf
[
"postfix"
][
"config_dir"
]
.
'/sasl/smtpd.conf~'
))
exec
(
'chmod 400 '
.
$conf
[
"postfix"
][
"config_dir"
]
.
'/sasl/smtpd.conf~'
);
$content
=
rf
(
"tpl/"
.
$configfile
.
".master"
);
$content
=
str_replace
(
'{mysql_server_ispconfig_user}'
,
$this
->
conf
[
'mysql'
][
'ispconfig_user'
],
$content
);
$content
=
str_replace
(
'{mysql_server_ispconfig_password}'
,
$this
->
conf
[
'mysql'
][
'ispconfig_password'
],
$content
);
$content
=
str_replace
(
'{mysql_server_database}'
,
$this
->
conf
[
'mysql'
][
'database'
],
$content
);
$content
=
str_replace
(
'{mysql_server_ip}'
,
$this
->
conf
[
'mysql'
][
'ip'
],
$content
);
wf
(
$conf
[
"
dist"
][
"
postfix"
][
"config_dir"
]
.
'/sasl/smtpd.conf'
,
$content
);
wf
(
$conf
[
"postfix"
][
"config_dir"
]
.
'/sasl/smtpd.conf'
,
$content
);
// TODO: Chmod and chown on the config file
...
...
@@ -354,7 +354,7 @@ class installer_base {
exec
(
'mkdir -p /var/spool/postfix/var/run/saslauthd'
);
// Edit the file /etc/default/saslauthd
$configfile
=
$conf
[
'dist'
][
"saslauthd"
][
"config"
];
$configfile
=
$conf
[
"saslauthd"
][
"config"
];
if
(
is_file
(
$configfile
))
copy
(
$configfile
,
$configfile
.
'~'
);
if
(
is_file
(
$configfile
.
'~'
))
exec
(
'chmod 400 '
.
$configfile
.
'~'
);
$content
=
rf
(
$configfile
);
...
...
@@ -363,7 +363,7 @@ class installer_base {
wf
(
$configfile
,
$content
);
// Edit the file /etc/init.d/saslauthd
$configfile
=
$conf
[
"
dist"
][
"
init_scripts"
]
.
'/'
.
$conf
[
"
dist"
][
"
saslauthd"
][
"init_script"
];
$configfile
=
$conf
[
"init_scripts"
]
.
'/'
.
$conf
[
"saslauthd"
][
"init_script"
];
$content
=
rf
(
$configfile
);
$content
=
str_replace
(
'PIDFILE=$RUN_DIR/saslauthd.pid'
,
'PIDFILE="/var/spool/postfix/var/run/${NAME}/saslauthd.pid"'
,
$content
);
wf
(
$configfile
,
$content
);
...
...
@@ -373,7 +373,7 @@ class installer_base {
public
function
configure_pam
()
{
$pam
=
$this
->
conf
[
'
dist'
][
'
pam'
];
$pam
=
$this
->
conf
[
'pam'
];
//* configure pam for SMTP authentication agains the ispconfig database
$configfile
=
'pamd_smtp'
;
if
(
is_file
(
"
$pam
/smtp"
))
copy
(
"
$pam
/smtp"
,
"
$pam
/smtp~"
);
...
...
@@ -392,7 +392,7 @@ class installer_base {
public
function
configure_courier
()
{
$config_dir
=
$this
->
conf
[
'
dist'
][
'
courier'
][
'config_dir'
];
$config_dir
=
$this
->
conf
[
'courier'
][
'config_dir'
];
//* authmysqlrc
$configfile
=
'authmysqlrc'
;
if
(
is_file
(
"
$config_dir
/
$configfile
"
)){
...
...
@@ -410,7 +410,7 @@ class installer_base {
exec
(
"chown daemon:daemon
$config_dir
/
$configfile
"
);
//* authdaemonrc
$configfile
=
$this
->
conf
[
'
dist'
][
'
courier'
][
'config_dir'
]
.
'/authdaemonrc'
;
$configfile
=
$this
->
conf
[
'courier'
][
'config_dir'
]
.
'/authdaemonrc'
;
if
(
is_file
(
$configfile
)){
copy
(
$configfile
,
$configfile
.
'~'
);
}
...
...
@@ -427,15 +427,15 @@ class installer_base {
// amavisd user config file
$configfile
=
'amavisd_user_config'
;
if
(
is_file
(
$conf
[
"
dist"
][
"
amavis"
][
"config_dir"
]
.
'/conf.d/50-user'
))
copy
(
$conf
[
"
dist"
][
"
amavis"
][
"config_dir"
]
.
'/conf.d/50-user'
,
$conf
[
"
dist"
][
"
courier"
][
"config_dir"
]
.
'/50-user~'
);
if
(
is_file
(
$conf
[
"
dist"
][
"
amavis"
][
"config_dir"
]
.
'/conf.d/50-user~'
))
exec
(
'chmod 400 '
.
$conf
[
"
dist"
][
"
amavis"
][
"config_dir"
]
.
'/conf.d/50-user~'
);
if
(
is_file
(
$conf
[
"amavis"
][
"config_dir"
]
.
'/conf.d/50-user'
))
copy
(
$conf
[
"amavis"
][
"config_dir"
]
.
'/conf.d/50-user'
,
$conf
[
"courier"
][
"config_dir"
]
.
'/50-user~'
);
if
(
is_file
(
$conf
[
"amavis"
][
"config_dir"
]
.
'/conf.d/50-user~'
))
exec
(
'chmod 400 '
.
$conf
[
"amavis"
][
"config_dir"
]
.
'/conf.d/50-user~'
);
$content
=
rf
(
"tpl/"
.
$configfile
.
".master"
);
$content
=
str_replace
(
'{mysql_server_ispconfig_user}'
,
$this
->
conf
[
'mysql'
][
'ispconfig_user'
],
$content
);
$content
=
str_replace
(
'{mysql_server_ispconfig_password}'
,
$this
->
conf
[
'mysql'
][
'ispconfig_password'
],
$content
);
$content
=
str_replace
(
'{mysql_server_database}'
,
$this
->
conf
[
'mysql'
][
'database'
],
$content
);
$content
=
str_replace
(
'{mysql_server_port}'
,
$conf
[
"mysql"
][
"port"
],
$content
);
$content
=
str_replace
(
'{mysql_server_ip}'
,
$this
->
conf
[
'mysql'
][
'ip'
],
$content
);
wf
(
$conf
[
"
dist"
][
"
amavis"
][
"config_dir"
]
.
'/conf.d/50-user'
,
$content
);
wf
(
$conf
[
"amavis"
][
"config_dir"
]
.
'/conf.d/50-user'
,
$content
);
// TODO: chmod and chown on the config file
...
...
@@ -447,7 +447,7 @@ class installer_base {
);
// Make a backup copy of the main.cf file
copy
(
$conf
[
"
dist"
][
"
postfix"
][
"config_dir"
]
.
'/main.cf'
,
$conf
[
"
dist"
][
"
postfix"
][
"config_dir"
]
.
'/main.cf~2'
);
copy
(
$conf
[
"postfix"
][
"config_dir"
]
.
'/main.cf'
,
$conf
[
"postfix"
][
"config_dir"
]
.
'/main.cf~2'
);
// Executing the postconf commands
foreach
(
$postconf_commands
as
$cmd
)
{
...
...
@@ -456,11 +456,11 @@ class installer_base {
}
// Append the configuration for amavisd to the master.cf file
if
(
is_file
(
$conf
[
"
dist"
][
"
postfix"
][
"config_dir"
]
.
'/master.cf'
))
copy
(
$conf
[
"
dist"
][
"
postfix"
][
"config_dir"
]
.
'/master.cf'
,
$conf
[
"
dist"
][
"
postfix"
][
"config_dir"
]
.
'/master.cf~'
);
if
(
is_file
(
$conf
[
"postfix"
][
"config_dir"
]
.
'/master.cf'
))
copy
(
$conf
[
"postfix"
][
"config_dir"
]
.
'/master.cf'
,
$conf
[
"postfix"
][
"config_dir"
]
.
'/master.cf~'
);
$content
=
rf
(
"tpl/master_cf_amavis.master"
);
// Only add the content if we had not addded it before
if
(
!
stristr
(
"127.0.0.1:10025 inet n - - - - smtpd"
,
$content
))
{
af
(
$conf
[
"
dist"
][
"
postfix"
][
"config_dir"
]
.
'/master.cf'
,
$content
);
af
(
$conf
[
"postfix"
][
"config_dir"
]
.
'/master.cf'
,
$content
);
}
// Add the clamav user to the amavis group
...
...
@@ -483,7 +483,7 @@ class installer_base {
public
function
configure_getmail
()
{
$config_dir
=
$this
->
conf
[
'
dist'
][
'
getmail'
][
'config_dir'
];
$config_dir
=
$this
->
conf
[
'getmail'
][
'config_dir'
];
$command
=
"useradd -d
$config_dir
getmail"
;
caselog
(
$command
.
' &> /dev/null'
,
__FILE__
,
__LINE__
,
"EXECUTED:
$command
"
,
"Failed to execute the command
$command
"
);
...
...
@@ -498,7 +498,7 @@ class installer_base {
public
function
configure_pureftpd
()
{
$config_dir
=
$this
->
conf
[
'
dist'
][
'
pureftpd'
][
'config_dir'
];
$config_dir
=
$this
->
conf
[
'pureftpd'
][
'config_dir'
];
//* configure pam for SMTP authentication agains the ispconfig database
$configfile
=
'db/mysql.conf'
;
...
...
@@ -528,17 +528,17 @@ class installer_base {
// configure pam for SMTP authentication agains the ispconfig database
$configfile
=
'mydns.conf'
;
if
(
is_file
(
$conf
[
"
dist"
][
"
mydns"
][
"config_dir"
]
.
'/'
.
$configfile
))
copy
(
$conf
[
"
dist"
][
"
mydns"
][
"config_dir"
]
.
'/'
.
$configfile
,
$conf
[
"
dist"
][
"
mydns"
][
"config_dir"
]
.
'/'
.
$configfile
.
'~'
);
if
(
is_file
(
$conf
[
"
dist"
][
"
mydns"
][
"config_dir"
]
.
'/'
.
$configfile
.
'~'
))
exec
(
'chmod 400 '
.
$conf
[
"
dist"
][
"
mydns"
][
"config_dir"
]
.
'/'
.
$configfile
.
'~'
);
if
(
is_file
(
$conf
[
"mydns"
][
"config_dir"
]
.
'/'
.
$configfile
))
copy
(
$conf
[
"mydns"
][
"config_dir"
]
.
'/'
.
$configfile
,
$conf
[
"mydns"
][
"config_dir"
]
.
'/'
.
$configfile
.
'~'
);
if
(
is_file
(
$conf
[
"mydns"
][
"config_dir"
]
.
'/'
.
$configfile
.
'~'
))
exec
(
'chmod 400 '
.
$conf
[
"mydns"
][
"config_dir"
]
.
'/'
.
$configfile
.
'~'
);
$content
=
rf
(
"tpl/"
.
$configfile
.
".master"
);
$content
=
str_replace
(
'{mysql_server_ispconfig_user}'
,
$this
->
conf
[
'mysql'
][
'ispconfig_user'
],
$content
);
$content
=
str_replace
(
'{mysql_server_ispconfig_password}'
,
$this
->
conf
[
'mysql'
][
'ispconfig_password'
],
$content
);
$content
=
str_replace
(
'{mysql_server_database}'
,
$this
->
conf
[
'mysql'
][
'database'
],
$content
);
$content
=
str_replace
(
'{mysql_server_host}'
,
$conf
[
"mysql"
][
"host"
],
$content
);
$content
=
str_replace
(
'{server_id}'
,
$conf
[
"server_id"
],
$content
);
wf
(
$conf
[
"
dist"
][
"
mydns"
][
"config_dir"
]
.
'/'
.
$configfile
,
$content
);
exec
(
'chmod 600 '
.
$conf
[
"
dist"
][
"
mydns"
][
"config_dir"
]
.
'/'
.
$configfile
);
exec
(
'chown root:root '
.
$conf
[
"
dist"
][
"
mydns"
][
"config_dir"
]
.
'/'
.
$configfile
);
wf
(
$conf
[
"mydns"
][
"config_dir"
]
.
'/'
.
$configfile
,
$content
);
exec
(
'chmod 600 '
.
$conf
[
"mydns"
][
"config_dir"
]
.
'/'
.
$configfile
);
exec
(
'chown root:root '
.
$conf
[
"mydns"
][
"config_dir"
]
.
'/'
.
$configfile
);
}
...
...
@@ -627,8 +627,8 @@ class installer_base {
//* Copy the ISPConfig vhost for the controlpanel
//TODO These are missing! should they be "vhost_dist_*_dir" ?
$vhost_conf_dir
=
$this
->
conf
[
'
dist'
][
'
apache'
][
'vhost_conf_dir'
];
$vhost_conf_enabled_dir
=
$this
->
conf
[
'
dist'
][
'
apache'
][
'vhost_conf_enabled_dir'
];
$vhost_conf_dir
=
$this
->
conf
[
'apache'
][
'vhost_conf_dir'
];
$vhost_conf_enabled_dir
=
$this
->
conf
[
'apache'
][
'vhost_conf_enabled_dir'
];
copy
(
'tpl/apache_ispconfig.vhost.master'
,
"
$vhost_conf_dir
/ispconfig.vhost"
);
//* and create the symlink
if
(
!
is_link
(
"
$vhost_conf_enabled_dir
/ispconfig.vhost"
))
{
...
...
@@ -653,7 +653,7 @@ class installer_base {
unlink
(
'crontab.txt'
);
//* Getmail crontab
$cf
=
$this
->
conf
[
'
dist'
][
'
getmail'
];
$cf
=
$this
->
conf
[
'getmail'
];
exec
(
'crontab -u getmail -l > crontab.txt'
);
$existing_cron_jobs
=
file
(
'crontab.txt'
);
...
...
install/update.php
View file @
cc3fb3d9
...
...
@@ -38,8 +38,10 @@ require_once('lib/install.lib.php');
// Include the base class of the installer class
require_once
(
'lib/installer_base.lib.php'
);
include_once
(
"options.conf.php"
);
$conf
[
'dist'
]
=
$dist
;
//** Install logfile
define
(
'ISPC_LOG_FILE'
,
'/var/log/ispconfig_install.log'
);
//** Get distribution identifier
$distname
=
get_distname
();
include_once
(
"/usr/local/ispconfig/server/lib/config.inc.php"
);
...
...
@@ -68,24 +70,38 @@ echo "This application will update ISPConfig 3 on your server.\n";
// Initialize the MySQL server connection
include_once
(
'lib/mysql.lib.php'
);
$inst
->
db
=
new
db
();
// Database update is a bit brute force and should be rebuild later ;)
// export the current database data
if
(
$conf
[
"mysql"
][
"admin_password"
]
!=
''
)
{
system
(
"mysqldump -h
$conf[mysql_server_host]
-u
$conf[mysql_server_admin_user]
-p
$conf[mysql_server_admin_password]
-c -t --add-drop-table --all --quick
$conf[mysql_server_database]
> existing_db.sql"
);
}
else
{
system
(
"mysqldump -h
$conf[mysql_server_host]
-u
$conf[mysql_server_admin_user]
-c -t --add-drop-table --all --quick
$conf[mysql_server_database]
> existing_db.sql"
);
if
(
empty
(
$conf
[
"mysql"
][
"admin_password"
])
)
{
$conf
[
"mysql"
][
"admin_password"
]
=
$inst
->
free_query
(
'MySQL root password'
,
$conf
[
'mysql'
][
'admin_password'
]);
}
if
(
!
empty
(
$conf
[
"mysql"
][
"admin_password"
])
)
{
system
(
"mysqldump -h "
.
$conf
[
'mysql'
][
'host'
]
.
" -u "
.
$conf
[
'mysql'
][
'admin_user'
]
.
" -p"
.
$conf
[
'mysql'
][
'admin_password'
]
.
" -c -t --add-drop-table --all --quick "
.
$conf
[
'mysql'
][
'database'
]
.
" > existing_db.sql"
);
}
else
{
system
(
"mysqldump -h "
.
$conf
[
'mysql'
][
'host'
]
.
" -u "
.
$conf
[
'mysql'
][
'admin_user'
]
.
" -c -t --add-drop-table --all --quick "
.
$conf
[
'mysql'
][
'database'
]
.
" > existing_db.sql"
);
}
// Delete the old database
exec
(
"/etc/init.d/mysql stop"
);
$inst
->
db
=
new
db
();
if
(
!
$inst
->
db
->
query
(
'DROP DATABASE IF EXISTS '
.
$conf
[
'mysql'
][
'database'
])
)
{
$inst
->
error
(
'Unable to drop MySQL database: '
.
$conf
[
'mysql'
][
'database'
]
.
'.'
);
}
/*exec("/etc/init.d/mysql stop");
sleep(3);
if($conf["mysql"]["database"] != '') exec("rm -rf /var/lib/mysql/".$conf["mysql"]["database"]);
exec("/etc/init.d/mysql start");
sleep
(
5
);
sleep(5);
*/
// Create the mysql database
$inst
->
configure_database
();
...
...
@@ -98,9 +114,9 @@ foreach($db_tables as $table) {
// load old data back into database
if
(
$conf
[
"mysql"
][
"admin_password"
]
!=
''
)
{
system
(
"mysql -h
$conf[mysql
_server_host]
-u
$conf[mysql
_server_
admin_user
]
-p
$conf[mysql
_server_
admin_password
]
$conf[mysql
_server_
database
]
< existing_db.sql"
);
system
(
"mysql -h
"
.
$conf
[
'
mysql
'
][
'host'
]
.
"
-u
"
.
$conf
[
'
mysql
'
][
'
admin_user
'
]
.
"
-p
"
.
$conf
[
'
mysql
'
][
'
admin_password
'
]
.
" "
.
$conf
[
'
mysql
'
][
'
database
'
]
.
"
< existing_db.sql"
);
}
else
{
system
(
"mysql -h
$conf[mysql
_server_host]
-u
$conf[mysql
_server_
admin_user
]
$conf[mysql
_server_
database
]
< existing_db.sql"
);
system
(
"mysql -h
"
.
$conf
[
'
mysql
'
][
'host'
]
.
"
-u
"
.
$conf
[
'
mysql
'
][
'
admin_user
'
]
.
" "
.
$conf
[
'
mysql
'
][
'
database
'
]
.
"
< existing_db.sql"
);
}
// Configure postfix
$inst
->
configure_postfix
(
'dont-create-certs'
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment