Changed quota to use journaled version.
[ispconfig-lite:ispconfig.git] / docs / INSTALL_DEBIAN_6.0_dovecot_bind.txt
1 Installation
2 -------------
3
4 # It is recommended to use a clean (fresh) Debian Squeeze 6.0 install where you just selected "Standard System" at the package selection during
5 # setup (tasksel). Journaled quota which this guide uses works on ext3 and ext4 file systems, so format disks either one if you are going to use
6 # quota (recommended). Then follow the steps below to setup your server with ISPConfig 3. In this guide "vi" is used as text editor, but
7 # you can use whatever you prefer. You should be root for doing all of this.
8
9
10 # Check we have Fully Qualified Domain Name
11
12 /bin/hostname
13
14 # it should return something like "ispconfig.example.com"
15 # if not, then we assign a hostname (for example ispconfig):
16
17 echo ispconfig.example.com > /etc/hostname
18
19 vi /etc/hosts
20
21 # and add lines similar but appropriate:
22
23 127.0.0.1       localhost.localdomain   localhost
24 192.168.0.100   ispconfig.example.com   ispconfig
25
26 # Run:
27
28 /etc/init.d/hostname.sh
29
30 # enable the Debian Volatile repository to get an updated ClamAV version
31 # The Volatile repository for Debian Squeeze was not available yet at the time this howto was written.
32 # echo "deb http://volatile.debian.org/debian-volatile squeeze/volatile main contrib non-free" >> /etc/apt/sources.list.d/volatile.list
33 # apt-get update
34
35 # Some optional choices
36
37 opt0.1) Optionally install SSH-server to get remote shell
38
39 apt-get install openssh-server
40
41 opt0.2) Optionally, if you are not running inside a virtual machine, you can set server clocksync via NTP. Virtual guests get this from the host.
42
43 apt-get -y install ntp ntpdate
44
45 opt0.3) Optionally if you want vi editor improvement
46
47 apt-get -y install vim-nox
48
49
50 # Next is the real deal
51
52 1) Install Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils with the following command line (on one line!):
53
54 apt-get -y install postfix postfix-mysql postfix-doc mysql-client mysql-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d sudo
55
56 # Answer the questions from the package manager as follows.
57
58 General type of configuration? <-- Internet site
59 Mail name? <-- server1.mydomain.tld
60
61 # ...use your own domain name of course ;)
62
63
64
65 # Edit the file /etc/mysql/my.cnf
66
67 vi /etc/mysql/my.cnf
68
69 # and change the line:
70
71 bind-address          = 127.0.0.1
72
73 to:
74
75 #bind-address          = 127.0.0.1
76
77 # then restart mysql
78
79 /etc/init.d/mysql restart
80
81 2) Install Amavisd-new, Spamassassin and ClamAV (1 line!):
82
83 apt-get -y 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
84
85
86 3) Install Apache, PHP5, phpmyadmin, better fastCGI, suexec, Pear and mcrypt (1 line!):
87
88 apt-get -y 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 php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt imagemagick libapache2-mod-suphp libopenssl-ruby libapache2-mod-ruby
89
90
91 # When phpMyAdmin is asking wether to configure itself automatically, select "Apache2"
92
93 # Then run the following to enable the Apache modules suexec, rewrite and ssl:
94
95 a2enmod suexec rewrite ssl actions include ruby
96
97 # restart Apache before continuing
98
99 /etc/init.d/apache2 restart
100  
101
102 4) Install pure-ftpd and quota
103
104 apt-get -y install pure-ftpd-common pure-ftpd-mysql quota quotatool
105
106 # Optional: Enable TLS in pureftpd
107 echo 1 > /etc/pure-ftpd/conf/TLS
108 mkdir -p /etc/ssl/private/
109 openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/ssl/private/pure-ftpd.pem  -out /etc/ssl/private/pure-ftpd.pem
110 chmod 600 /etc/ssl/private/pure-ftpd.pem 
111
112
113 # Edit /etc/fstab. Add "usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0" to the partition where you want to use quota.
114 # Mine looks like this (I want to use quota on the / partition):
115
116 vi /etc/fstab
117
118 ----------------------------------------------------------------------------------------------
119 # /etc/fstab: static file system information.
120 #
121 # <file system> <mount point>   <type>  <options>       <dump>  <pass>
122 proc            /proc           proc    defaults        0       0
123 /dev/sda1       /               ext3    errors=remount-ro,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0      0       1
124 /dev/sda5       none            swap    sw              0       0
125 /dev/hda        /media/cdrom0   udf,iso9660 user,noauto     0       0
126 /dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0
127 ----------------------------------------------------------------------------------------------
128
129 # To enable quota, run these commands:
130
131 touch /aquota.user /aquota.group
132 chmod 600 /aquota.*
133 mount -o remount /
134 quotacheck -F vfsv0 -afcvdugm
135 quotaon -avug
136
137
138 5) Install BIND DNS Server
139
140 apt-get -y install bind9 dnsutils
141
142 6) Install vlogger and webalizer
143
144 apt-get -y install vlogger webalizer awstats
145
146 mkdir /usr/share/awstats/tools
147 cp -prf /usr/share/doc/awstats/examples/awstats_buildstaticpages.pl /usr/share/awstats/tools/awstats_buildstaticpages.pl
148
149
150 7) Install Jailkit (optional, only needed if you want to use chrooting for SSH users)
151
152 apt-get -y install build-essential autoconf automake1.9 libtool flex bison debhelper
153 cd /tmp
154 wget http://olivier.sessink.nl/jailkit/jailkit-2.11.tar.gz
155 tar xvfz jailkit-2.11.tar.gz
156 cd jailkit-2.11
157 ./debian/rules binary
158 cd ..
159 dpkg -i jailkit_2.11-1_*.deb
160 rm -rf jailkit-2.11*
161
162 8) Install fail2ban (optional but recomended, because the monitor tries to show the log)
163 More info at: http://www.howtoforge.com/fail2ban_debian_etch
164
165 apt-get -y install fail2ban
166
167 9) Install ISPConfig 3
168
169 cd /tmp
170 wget http://www.ispconfig.org/downloads/ISPConfig-3.0.2.2.tar.gz
171 tar xvfz ISPConfig-3.0.2.2.tar.gz
172 cd ispconfig3_install/install/
173
174 # Now start the installation process by executing:
175
176 php -q install.php
177
178 # 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!):
179
180 http://192.168.0.100:8080/
181
182 # the default login is:
183
184 user: admin
185 password: admin
186
187 # In case you get a permission denied error from apache, please restart the apache webserver process.
188
189
190
191 ----------------------------------------------------------------------------------------------------------
192 Optional:
193
194 Install a webbased Email Client
195
196 apt-get install squirrelmail
197 ln -s /usr/share/squirrelmail/ /var/www/webmail
198
199 Access squirrelmail:
200
201 http://192.168.0.100/webmail
202
203
204 To configure squirrelmail, run:
205
206 /usr/sbin/squirrelmail-configure
207
208 ----------------------------------------------------------------------------------------------------------
209
210 Hints:
211
212 debian 5.0 under openvz:
213
214 VPSID=101
215 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
216 do
217   vzctl set $VPSID --capability ${CAP}:on --save
218 done
219
220 ----------------------------------------------------------------------------------------------------------
221
222
223 Optional recommended packages:
224
225 denyhosts - a utility to help sys admins thwart ssh crackers
226 rsync - fast remote file copy program (for backup)
227
228 -----------------------------------------------------------------------------------------------------------
229
230 Ispc log files rotation, for now manual add but to add in ispc installer:
231
232 /etc/logrotate.d/logispc3
233
234 /var/log/ispconfig/ispconfig.log {
235         weekly
236         missingok
237         rotate 4
238         compress
239         delaycompress
240 }
241 /var/log/ispconfig/cron.log {
242         weekly
243         missingok
244         rotate 4
245         compress
246         delaycompress
247 }
248
249
250 -----------------------------------------------------------------------------------------------------------
251
252 Possible errors and their solutions
253 ------------------------------------
254
255 pureftpd login does not work. Take a look at the syslog, if you find an error message like this:
256 Mar 24 16:26:28 ispconfig pure-ftpd: (?@?) [ERROR] Sorry, invalid address given
257
258 then pureftpd is not able to resolve the hostname. Name resolving can be disabled with these commands:
259
260 echo 'yes' > /etc/pure-ftpd/conf/DontResolve
261 /etc/init.d/pure-ftpd-mysql restart
262
263
264
265
266
267