Marius Cramer
2013-10-14 d9bcf68e395d6156645a7974b1a992aa6e6c00aa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
 
Installation
-----------
 
It is recommended to use a clean (fresh) OpenSUSE installatiom where you selected to install just the minimal packages. A Gnome or KDE desktop is not needed and will just slow down the server. Then follow the steps below to setup your server with ISPConfig 3:
 
The following guide is for the 64Bit version of openSUSE, for 32Bit installations the package names may differ especially the names of downloaded rpm files.
 
This guide will use Dovecote as pop3 / imap server and BIND as DNS Server. Dovecot and BIND are supported by ISPConfig version > 3.0.2
 
Before we start, update the installed packages
 
zypper update
 
Install some basic packes and the compilers that we need later
 
yast2 -i findutils readline libgcc glibc-devel findutils-locate gcc flex lynx compat-readline4 db-devel wget gcc-c++ subversion make vim telnet cron iptables iputils man man-pages nano pico sudo
 
1) Install Postfix, Divecot, MySQL with the following command line (on one line!):
 
yast2 -i postfix postfix-mysql mysql mysql-community-server mysql-client python libmysqlclient-devel dovecot12 dovecot12-backend-mysql pwgen cron
 
vi /etc/postfix/master.cf
=========================
[...]
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
[...]
 
ln -s /usr/lib64/dovecot/modules /usr/lib/dovecot
 
chkconfig --add mysql
/etc/init.d/mysql start
 
chkconfig --add postfix
/etc/init.d/postfix start
 
chkconfig --add dovecot
/etc/init.d/dovecot start
 
rpm -ivh http://download.opensuse.org/repositories/server:/mail/openSUSE_11.3/noarch/getmail-4.20.0-1.1.noarch.rpm
 
// Set the mysql database password:
 
mysql_secure_installation
 
 
2) Install Amavisd-new, Spamassassin and Clamav (1 line!):
 
yast2 -i amavisd-new clamav clamav-db zoo unzip unrar bzip2 unarj perl-DBD-mysql
 
Open /etc/amavisd.conf...
 
vi /etc/amavisd.conf
 
... and add the $myhostname line with your correct hostname below the $mydomain line:
 
[...]
$mydomain = 'example.com';   # a convenient default for other settings
$myhostname = "server1.$mydomain";
[...]
 
then execute:
 
mkdir -p /var/run/clamav
ln -s /var/lib/clamav/clamd-socket /var/run/clamav/clamd
 
# On 64Bit systems, run this command to symlink the dovecot library folder. Thats for 64Bit systems only, so do not exekute the ln command on 32bit systems.
 
ln -s /usr/lib64/dovecot/modules /usr/lib/dovecot 
 
 
chkconfig --add amavis
chkconfig --add clamd
/etc/init.d/amavis start
/etc/init.d/clamd start
 
2.1) Install apache2
 
yast2 -i apache2 apache2-mod_fcgid
 
3) Install PHP5 modules (1 line!):
 
yast2 -i php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-mysql php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-fastcgi php5-pear php5-sysvmsg php5-sysvshm ImageMagick curl apache2-mod_php5
 
rpm -ivh http://download.opensuse.org/repositories/server:/php/openSUSE_11.3/x86_64/suphp-0.7.1-3.1.x86_64.rpm
 
Edit the file /etc/php5/cli/php.ini
 
vi /etc/php5/cli/php.ini
 
and change:
 
error_reporting = E_ALL & ~E_DEPRECATED
 
to:
 
error_reporting = E_ALL & ~E_NOTICE
 
Then run the following to enable the Apache modules:
 
a2enmod suexec
a2enmod rewrite
a2enmod ssl
a2enmod actions
a2enmod suphp
a2enmod fcgid
 
// Fix a suexec permission problem
 
chown root:www /usr/sbin/suexec2
chmod 4755 /usr/sbin/suexec2
 
// and start apache
 
chkconfig --add apache2
/etc/init.d/apache2 start
 
// Comment out the /error/ alias in the apache error.conf file or the custom error pages in the websites wont work.
 
Edit the file error.conf in the apache configuration directory and comment out the line:
 
Alias /error/ "/usr/share/apache2/error/
 
By changing the line to:
 
# Alias /error/ "/usr/share/apache2/error/
 
// Install phpmyadmin
 
cd /tmp
 
yast2 -i pwgen
rpm -ivh http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_11.3/noarch/phpMyAdmin-3.3.4-1.1.noarch.rpm
 
// Warnings like "warning: phpMyAdmin-3.1.2-1.1.src.rpm: Header V3 DSA signature: NOKEY, key ID 367fe7fc" can be ignored.
 
4) Install pure-ftpd and quota
 
yast2 -i pure-ftpd quota
 
chkconfig --add pure-ftpd
/etc/init.d/pure-ftpd start
 
 
5) Install Bind
 
yast2 -i bind
 
chkconfig --add named
 
6) Install webalizer and awstats
 
rpm -ivh http://download.opensuse.org/repositories/network:/utilities/openSUSE_11.3/noarch/awstats-6.95-3.1.noarch.rpm
yast2 -i webalizer perl-DateManip 
 
6.1 Install fail2ban
 
yast2 -i fail2ban
 
 
6.2 Install jailkit and ntp
 
rpm -ivh http://download.opensuse.org/repositories/security/openSUSE_11.3/x86_64/jailkit-2.11-1.2.x86_64.rpm
 
yast2 -i xntp
 
chkconfig --add ntp
/etc/init.d/ntp start
 
7) Install ISPConfig 3
 
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3.0.2.2.tar.gz
tar xvfz ISPConfig-3.0.2.2.tar.gz
cd ispconfig3_install/install/
php -q install.php
 
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 necessary. To login to the ISPConfig controlpanel, open the following URL in your browser (replace the IP to match your settings!):
 
http://192.168.0.100:8080/
 
the default login is:
 
user: admin
password: admin
 
In case you get a permission denied error from apache, please restart the apache webserver process.
 
Optional:
 
Install a webbased Email Client
 
rpm -i http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_11.2/noarch/squirrelmail-1.4.19-4.1.noarch.rpm