Skip to content

Commit 8065e06

Browse files
committed
- Added the interface part of the ispconfig pacage manager
- updated the debian installation instructions
1 parent 6f76a9f commit 8065e06

18 files changed

+896
-8
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 ar
4040

4141
3) Install apache, PHP5 and phpmyadmin (1 line!):
4242

43-
apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli
43+
apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli libapache2-mod-fcgid
4444

4545
Then run the following to enable the Apache modules:
4646

INSTALL_DEBIAN_LENNY.txt

Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,175 @@
1+
Installation
2+
-----------
3+
4+
It is recommended to use a clean (fresh) Debian etch install where you just selected "Standard System" as the package selection during setup. Then follow the steps below to setup your server with ISPConfig 3:
5+
6+
1) Install Postfix, Courier, Saslauthd, MySQL, phpMyAdmin with the following command line (on one line!):
7+
8+
apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl courier-maildrop getmail4
9+
10+
Answer the questions from the package manager as follows.
11+
12+
Create directories for web-based administration ? <-- No
13+
General type of configuration? <-- Internet site
14+
Mail name? <-- server1.mydomain.tld
15+
SSL certificate required <-- Ok
16+
17+
...use your own domain name of course ;)
18+
19+
Edit the file /etc/mysql/my.cnf
20+
21+
vi /etc/mysql/my.cnf
22+
23+
and comment out the line
24+
25+
bind-address = 127.0.0.1
26+
27+
then restart mysql
28+
29+
/etc/init.d/mysql restart
30+
31+
Set the mysql database password:
32+
33+
mysqladmin -u root password yourrootsqlpassword
34+
mysqladmin -h ispconfig.local -u root password yourrootsqlpassword
35+
36+
37+
2) Install Amavisd-new, Spamassassin and Clamav (1 line!):
38+
39+
apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl
40+
41+
3) Install apache, PHP5 and phpmyadmin (1 line!):
42+
43+
apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli libapache2-mod-fcgid apache2-suexec
44+
45+
Then run the following to enable the Apache modules:
46+
47+
a2enmod suexec
48+
a2enmod rewrite
49+
a2enmod ssl
50+
51+
4) Install pure-ftpd and quota
52+
53+
apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatool
54+
55+
Edit the file /etc/default/pure-ftpd-common
56+
57+
vi /etc/default/pure-ftpd-common
58+
59+
and change the start mode from inetd to standalone.
60+
61+
Edit the file /etc/inetd.conf
62+
63+
vi /etc/inetd.conf
64+
65+
and comment out the line for the FTP service, so it looks like this:
66+
67+
# ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper
68+
69+
Then execute:
70+
71+
/etc/init.d/openbsd-inetd restart
72+
73+
74+
5) Install mydns
75+
76+
apt-get install mydns-mysql
77+
78+
What is the hostname of the machine on which the database will run? -> localhost
79+
What is the database name for the MyDNS database? -> mydns
80+
Would you like to set up the database and tables automatically? -> yes
81+
What is the username of the MySQL administrator? -> root
82+
Enter the MySQL administrator password -> yourrootsqlpassword
83+
Confirm this password -> yourrootsqlpassword
84+
What is the MyDNS username? -> mydns
85+
What is the MyDNS user password? -> mydnspassword
86+
87+
The mydns installer is a bit tricky, you will have to select to create a new database for mydns and use a existing mysql user, e.g. the mysql root user. This database is only to fullfill the requirements for the debian pacakge during installation and will not be used by ISPConfig later. ISPConfig will automatically change the mydns configuration files to use the ISPConfig database.
88+
89+
90+
6) Install vlogger and webalizer
91+
92+
apt-get install vlogger webalizer
93+
94+
95+
7) Install ISPConfig 3
96+
97+
There are two possile scenarios, but not both:
98+
7.1) Install the latest released version
99+
7.2) Install directly from SVN
100+
101+
apt-get install php5-cli
102+
103+
7.1) Installation of beta 3 from tar.gz
104+
105+
cd /tmp
106+
wget http://www.ispconfig.org/downloads/ISPConfig-3.0.0.6-beta.tar.gz
107+
tar xvfz ISPConfig-3.0.0.6-beta.tar.gz
108+
cd ispconfig3_install/install/
109+
110+
7.2) Installation from SVN
111+
112+
apt-get install subversion
113+
cd /tmp
114+
svn export svn://svn.ispconfig.org/ispconfig3/trunk/
115+
cd trunk/install
116+
117+
118+
7.1+7.2) Now proceed with the ISPConfig installation.
119+
120+
Now start the installation process by executing:
121+
122+
php -q install.php
123+
124+
The installer will configure all services like postfix, sasl, courier, etc. for you. A manual setup as required for ISPConfig 2 (perfect setup guides) is not nescessary. To login to the ISPConfig controlpanel, open the following URL in your browser (replace the IP to match your settings!):
125+
126+
http://192.168.0.100:8080/
127+
128+
the default login is:
129+
130+
user: admin
131+
password: admin
132+
133+
In case you get a permission denied error from apache, please restart the apache webserver process.
134+
135+
Optional:
136+
137+
Install a webbased Email Client
138+
139+
apt-get install squirrelmail
140+
ln -s /usr/share/squirrelmail/ /var/www/webmail
141+
142+
Access squirrelmail:
143+
144+
http://192.168.0.100/webmail
145+
146+
147+
To configure squirrelmail, run:
148+
149+
/usr/sbin/squirrelmail-configure
150+
151+
----------------------------------------------------------------------------------------------------------
152+
153+
Hints:
154+
155+
debian 4.0 under openvz:
156+
157+
VPSID=101
158+
for CAP in CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE
159+
do
160+
vzctl set $VPSID --capability ${CAP}:on --save
161+
done
162+
163+
----------------------------------------------------------------------------------------------------------
164+
165+
Installing Jailkit:
166+
167+
apt-get install build-essential autoconf automake1.9 libtool flex bison
168+
cd /tmp
169+
wget http://olivier.sessink.nl/jailkit/jailkit-2.5.tar.gz
170+
tar xvfz jailkit-2.5.tar.gz
171+
cd jailkit-2.5
172+
./configure
173+
make
174+
make install
175+
rm -rf jailkit-2.5*

install/sql/ispconfig3.sql

Lines changed: 56 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -606,6 +606,27 @@ CREATE TABLE `shell_user` (
606606
--
607607

608608

609+
-- --------------------------------------------------------
610+
611+
--
612+
-- Tabellenstruktur für Tabelle `software_package`
613+
--
614+
615+
CREATE TABLE `software_package` (
616+
`package_id` int(11) NOT NULL auto_increment,
617+
`software_repo_id` int(11) NOT NULL,
618+
`package_name` varchar(100) NOT NULL,
619+
`package_title` varchar(255) NOT NULL,
620+
`package_description` text,
621+
`package_version` varchar(255) default NULL,
622+
PRIMARY KEY (`package_id`),
623+
UNIQUE KEY `package_name` (`package_name`)
624+
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
625+
626+
--
627+
-- Daten für Tabelle `software_package`
628+
--
629+
609630
-- --------------------------------------------------------
610631

611632
--
@@ -625,7 +646,13 @@ CREATE TABLE `software_repo` (
625646
`repo_password` varchar(30) default NULL,
626647
`active` varchar(255) NOT NULL default 'y',
627648
PRIMARY KEY (`software_repo_id`)
628-
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
649+
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
650+
651+
--
652+
-- Daten für Tabelle `software_repo`
653+
--
654+
655+
INSERT INTO `software_repo` (`software_repo_id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `repo_name`, `repo_url`, `repo_username`, `repo_password`, `active`) VALUES (1, 1, 1, 'riud', 'riud', '', 'ISPConfig Addons', 'http://repo.ispconfig.org/addons/', '', '', 'n');
629656

630657
-- --------------------------------------------------------
631658

@@ -636,18 +663,43 @@ CREATE TABLE `software_repo` (
636663
CREATE TABLE `software_update` (
637664
`software_update_id` int(11) NOT NULL auto_increment,
638665
`software_repo_id` int(11) NOT NULL,
666+
`package_name` varchar(255) NOT NULL,
639667
`update_url` varchar(255) NOT NULL,
640668
`update_md5` varchar(255) NOT NULL,
641-
`install` char(1) NOT NULL,
642-
`depenencies` varchar(255) NOT NULL,
669+
`update_dependencies` varchar(255) NOT NULL,
643670
`update_title` varchar(255) NOT NULL,
671+
`v1` tinyint(4) NOT NULL default '0',
672+
`v2` tinyint(4) NOT NULL default '0',
673+
`v3` tinyint(4) NOT NULL default '0',
674+
`v4` tinyint(4) NOT NULL default '0',
675+
`type` enum('full','update') NOT NULL default 'full',
644676
PRIMARY KEY (`software_update_id`)
645-
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
677+
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
646678

647679
--
648680
-- Daten für Tabelle `software_update`
649681
--
650682

683+
-- --------------------------------------------------------
684+
685+
--
686+
-- Tabellenstruktur für Tabelle `software_update_inst`
687+
--
688+
689+
CREATE TABLE `software_update_inst` (
690+
`software_update_inst_id` int(10) unsigned NOT NULL auto_increment,
691+
`software_update_id` int(11) NOT NULL default '0',
692+
`package_name` varchar(255) NOT NULL,
693+
`server_id` int(11) NOT NULL,
694+
`status` enum('none','installing','installed','deleting') NOT NULL default 'none',
695+
PRIMARY KEY (`software_update_inst_id`),
696+
UNIQUE KEY `software_update_id` (`software_update_id`,`package_name`,`server_id`)
697+
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
698+
699+
--
700+
-- Daten für Tabelle `software_update_inst`
701+
--
702+
651703

652704
-- --------------------------------------------------------
653705

interface/lib/classes/db_mysql.inc.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,10 +250,10 @@ public function datalogSave($db_table, $action, $primary_field, $primary_id, $re
250250
}
251251
} elseif(is_array($record_new)) {
252252
foreach($record_new as $key => $val) {
253-
if(isset($record_new[$key]) && $record_old[$key] != $val) {
253+
if(isset($record_new[$key]) && @$record_old[$key] != $val) {
254254
// Record has changed
255255
$diffrec_full['new'][$key] = $val;
256-
$diffrec_full['old'][$key] = $record_old[$key];
256+
$diffrec_full['old'][$key] = @$record_old[$key];
257257
$diff_num++;
258258
} else {
259259
$diffrec_full['new'][$key] = $val;
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
$wb['list_head_txt'] = 'Software packages';
3+
$wb['installed_txt'] = 'Status';
4+
$wb['package_title_txt'] = 'Package';
5+
$wb['package_description_txt'] = 'Description';
6+
$wb['action_txt'] = 'Action';
7+
?>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
$wb['list_head_txt'] = 'Software updates';
3+
$wb['installed_txt'] = 'Action';
4+
$wb['update_title_txt'] = 'Update';
5+
$wb['version_txt'] = 'Version';
6+
$wb['action_txt'] = 'Action';
7+
?>

interface/web/admin/lib/module.conf.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,13 @@
9090
'target' => 'content',
9191
'link' => 'admin/software_repo_list.php');
9292

93+
$items[] = array( 'title' => 'Packages',
94+
'target' => 'content',
95+
'link' => 'admin/software_package_list.php');
9396

97+
$items[] = array( 'title' => 'Updates',
98+
'target' => 'content',
99+
'link' => 'admin/software_update_list.php');
94100

95101
$module['nav'][] = array( 'title' => 'Software',
96102
'open' => 1,

0 commit comments

Comments
 (0)