Komplett Ubuntu szerver ISPConfiggal
A következő leírásban egy tiszta Ubuntu 8.10 Serverre fogok komplett web és mail kiszolgálót telepíteni, ISPConfig 3 társaságában, a könnyebb adminisztrációs végett.
Webkiszolgálónak a szokásos Apache, PHP, MySQL kerül telepítésre, levelezéshez a Postfix, Courier, Squirrelmail (webes mail kliensnek), FTP szervernek a PureFTPd.
A vírusirtásról a Clamav, míg a spam mentességről a Amavisd-new, SpamAssassin lesznek a felelősek.
A leírásban a szerver IP címe 192.168.1.100 lesz, domain neve pedig server1.otthon.local
Szükség lesz egy alap Ubuntu 8.10 Server telepítésre. Erről leírást itt találsz.
Szerezzünk magunknak egy root jogú konzolt a következő paranccsal:
sudo -s
Állítsuk be megfelelően a hálózatot is, valamint frissítsük a rendszert.
Ehhez használjuk a következő parancsokat:
apt-get update apt-get upgrade apt-get dist-upgrade
Változtassuk meg az alapértelmezett shellt:
ln -sf /bin/bash /bin/sh
Erre az ISPConfig miatt van szükség.
Tiltsuk le, majd távolítsuk el az AppArmor szolgáltatást.
/etc/init.d/apparmor stop update-rc.d -f apparmor remove aptitude remove apparmor apparmor-utils
Szinkronizáljuk a gépünk óráját az interneten található időkiszolgálókhoz. Először telepítsük az ehhez szükséges klienst:
aptitude install ntp ntpdate
Postfix, Courier, Saslauthd, MySQL, phpMyAdmin, rkhunter, binutils csomagok telepítése
aptitude 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-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl maildrop getmail4 rkhunter binutils
A MySQL telepítésekor néhány kérdésre válaszolnunk kell:
- New password for the MySQL “root” user: root jelszó
- Repeat password for the MySQL “root” user: root jelszó
- Create directories for web-based administration? <– Nem
- General type of mail configuration: <– Internet Site
- System mail name: <– domain nevünk (server1.otthon.local)
- SSL certificate required <– Ok
Ha kész a telepítés be kell állítanunk, hogy a MySQL minden hálózati interfészen hallgasson
nano /etc/mysql/my.cnf
Keressük meg a következő sort:
bind-address = 127.0.0.1
Majd rakjunk elé egy # jelet (kikommentezzük).
Indítsuk újra a MySQL szervert
/etc/init.d/mysql restart
Majd ellenőrizzük, hogy mindenhol figyel
netstat -tap | grep mysql
Ilyesmit kell látnunk:
root@server1:~# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 10447/mysqld
root@server1:~#
A telepítés közben létrejöttek SSL tanúsítványok, azonban az ezekben a localhost domain név szerepel. Így ezeket ki kell törölni, majd létrehozni egy helyeset.
cd /etc/courier rm -f /etc/courier/imapd.pem rm -f /etc/courier/pop3d.pem
Majd módosítsuk az alábbi két fájlt úgy, hogy a CN=localhost sort írjuk át CN=server1.otthon.local (vagy ami a saját domain nevünk) sorra. Egyéb értékeket is módosíthatunk ha tudjuk mik azok.
nano /etc/courier/imapd.cnf
Majd a következő fájlban is ugyanezeket a módosításokat tegyük meg
nano /etc/courier/pop3d.cnf
Hozzuk létre a tanúsítványokat
mkimapdcert mkpop3dcert
Majd indítsuk újra a Courier-IMAP-SSL és Courier-POP3-SSL szolgáltatásokat
/etc/init.d/courier-imap-ssl restart /etc/init.d/courier-pop-ssl restart
Amavisd-new, SpamAssassin, és Clamav telepítése
aptitude 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
Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear, és mcrypt telepítése
aptitude 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 php5-imagick imagemagick libapache2-mod-suphp
A Web server to reconfigure automatically kérdésre válasszuk az apache2 opciót.
Engedélyezzük az suexec, rewrite, ssl, actions, és include Apache modulokat
a2enmod suexec rewrite ssl actions include
Töröljük a phpMyAdminhoz tartozó /etc/phpmyadmin/htpasswd.setup fájlt a biztonság érdekében
rm -f /etc/phpmyadmin/htpasswd.setup
Majd nyissuk meg szerkesztésre az Apache konfigurációs fájlját:
nano /etc/phpmyadmin/apache.conf
és távolítsuk el a következő részt (töröljük ki)
# Authorize for setup <Files setup.php> # For Apache 1.3 and 2.0 <IfModule mod_auth.c> AuthType Basic AuthName "phpMyAdmin Setup" AuthUserFile /etc/phpmyadmin/htpasswd.setup </IfModule> # For Apache 2.2 <IfModule mod_authn_file.c> AuthType Basic AuthName "phpMyAdmin Setup" AuthUserFile /etc/phpmyadmin/htpasswd.setup </IfModule> Require valid-user </Files>
Majd indítsuk újra az Apache kiszolgálót
/etc/init.d/apache2 restart
PureFTPd és kvóta telepítése
aptitude install pure-ftpd-common pure-ftpd-mysql quota quotatool
Szerkesszük a /etc/default/pure-ftpd-common fájlt
nano /etc/default/pure-ftpd-common
Majd a következő két sort keressük meg és módosítsuk az alább látható értékekre
STANDALONE_OR_INETD=standalone
...
VIRTUALCHROOT=trueIndítsuk újra a PureFTPd kiszolgálót
/etc/init.d/pure-ftpd-mysql restart
nyissuk meg szerkesztésre az /etc/fstab fájlt.
/etc/fstab
Itt keressük meg a / partíciónk csatolási sorát, majd adjuk a sor végére a ,usrquota,grpquota opciókat. Itt most a /dev/sda1 utáni sor lesz az.
# /etc/fstab: static file system information. # proc /proc proc defaults 0 0 # /dev/sda1 UUID=e7f9e640-1254-462f-b314-6471ce83db4d / ext3 relatime,errors=remount-ro,usrquota,grpquota 0 1 # /dev/sda5 UUID=32b41e4e-4d4a-4825-8922-27e8c6aeeb45 none swap sw 0 0 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
Kvóta engedélyezése:
touch /quota.user /quota.group chmod 600 /quota.* mount -o remount /
quotacheck -avugm quotaon -avug
MyDNS telepítése
függőségek telepítése
aptitude install g++ libc6 gcc gawk make texinfo libmysqlclient15-dev
Töltsük le a MyDNS forrását, és telepítsük (sajnos nem elérhető deb csomagban Ubuntu alá)
cd /tmp wget http://heanet.dl.sourceforge.net/sourceforge/mydns-ng/mydns-1.2.8.27.tar.gz tar xvfz mydns-1.2.8.27.tar.gz cd mydns-1.2.8 ./configure make make install
Hozzunk létre egy indító szkriptet a program számára
nano /etc/init.d/mydns
A tartalma a következő legyen:
#! /bin/sh # # mydns Start the MyDNS server # # Author: Philipp Kern <phil@philkern.de>. # Based upon skeleton 1.9.4 by Miquel van Smoorenburg # <miquels@cistron.nl> and Ian Murdock <imurdock@gnu.ai.mit.edu>. # set -e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/local/sbin/mydns NAME=mydns DESC="DNS server" SCRIPTNAME=/etc/init.d/$NAME # Gracefully exit if the package has been removed. test -x $DAEMON || exit 0 case "$1" in start) echo -n "Starting $DESC: $NAME" start-stop-daemon --start --quiet --exec $DAEMON -- -b echo "." ;; stop) echo -n "Stopping $DESC: $NAME" start-stop-daemon --stop --oknodo --quiet --exec $DAEMON echo "." ;; reload|force-reload) echo -n "Reloading $DESC configuration..." start-stop-daemon --stop --signal HUP --quiet --exec $DAEMON echo "done." ;; restart) echo -n "Restarting $DESC: $NAME" start-stop-daemon --stop --quiet --oknodo --exec $DAEMON sleep 1 start-stop-daemon --start --quiet --exec $DAEMON -- -b echo "." ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 exit 1 ;; esac exit 0
Tegyük futtathatóvá, és adjuk hozzá a rendszerindító szkriptek közé
chmod +x /etc/init.d/mydns update-rc.d mydns defaults
Vlogger és Webalizer telepítése
aptitude install vlogger webalizer
aptitude install vlogger webalizer
Jailkit telepítése
A Jailkitre azért van szükség, hogy be tudjuk zárni megadott helyre az SSH felhasználókat.
Ezt mindenképp az ISPConfig telepítése előtt kell telepítenünk, utólag már nem lehet!
aptitude install build-essential autoconf automake1.9 libtool flex bison
Töltsük le a forrását, és telepítsük
cd /tmp wget http://olivier.sessink.nl/jailkit/jailkit-2.5.tar.gz tar xvfz jailkit-2.5.tar.gz cd jailkit-2.5 ./configure make make install cd .. rm -rf jailkit-2.5*
fail2ban telepítése
Ez egy opcionális kiegészítő. Ha telepítjük, akkor az ISPConfig ki tudja tiltani azokat az IP címeket, ahonnét jelszópróbálkozások történnek.
aptitude install fail2ban
SquirrelMail webmail telepítése
aptitude install squirrelmail squirrelmail-locales
rakjunk be az apache által látott helyre egy linket
ln -s /usr/share/squirrelmail/ /var/www/webmail
Majd állítsuk be
squirrelmail-configure
A megjelenő menünél nyomjunk egy D betűt, majd enter (Set pre-defined settings for specific IMAP servers opcióhoz).
A következő opciónál írjuk be, hogy: courier
majd enter, és ezután mikor kiírja, hogy Press any key to continue… nyomjunk le egy billentyűt.
A főmenüben nyomjunk S betűt a mentéshez, majd Q a kilépéshez.
Mostmár elérjük a SquirrelMail felületét a http://server1.otthon.local/webmail vagy http://192.168.1.100/webmail címen (természetesen ha otthon más domainünk vagy ip címünk van, akkor azon).
ISPConfig 3 telepítése
Töltsük le a legutolsó verziót és telepítsük azt.
cd /tmp wget http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.1.1.tar.gz?use_mirror= tar xvfz ISPConfig-*.tar.gz cd ispconfig3_install/install/
Ha SVN-ből szeretnénk telepíteni:
Telepítsük az ahhoz szükséges programot
aptitude install subversion
Majd szedjük le az ISPConfigot
cd /tmp svn export svn://svn.ispconfig.org/ispconfig3/trunk/ cd trunk/install
Telepítsük az ISPConfigot:
php -q install.phpIlyet fogunk látni. Ahol ki van emelve, azt nekünk kell megadni.
——————————————————————————–
_____ ___________ _____ __ _
|_ _/ ___| ___ / __ / _(_)
| | `–.| |_/ / | / / ___ _ __ | |_ _ __ _
| | `–. __/ | | / _ | ‘_ | _| |/ _` |
_| |_/__/ / | | __/ (_) | | | | | | | (_| |
___/____/_| ____/___/|_| |_|_| |_|__, |
__/ |
|___/
——————————————————————————–>> Initial configuration
Operating System: Debian Lenny/Sid or compatible
Following will be a few questions for primary configuration so be careful.
Default values are in [brackets] and can be accepted with <ENTER>.
Tap in “quit” (without the quotes) to stop the installer.Select language (en,de) [en]: <– ENTER
Installation mode (standard,expert) [standard]: <– ENTER
Full qualified hostname (FQDN) of the server, eg server1.domain.tld [server1.example.com]: <– ENTER
MySQL server hostname [localhost]: <– ENTER
MySQL root username [root]: <– ENTER
MySQL root password []: <– MySQL root jelszó
MySQL database to create [dbispconfig]: <– ENTER
MySQL charset [utf8]: <– ENTER
Generating a 2048 bit RSA private key
………………………………………………….+++
.+++
writing new private key to ’smtpd.key’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [AU]: <– HU, majd ENTER
State or Province Name (full name) [Some-State]: <– Megye neve
Locality Name (eg, city) []: <– Város neve
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <– domain név
Organizational Unit Name (eg, section) []: <– ENTER
Common Name (eg, YOUR name) []: <– név
Email Address []: <– email cím
Configuring Jailkit
Configuring SASL
Configuring PAM
Configuring Courier
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Pureftpd
Configuring MyDNS
Configuring Apache
Configuring Firewall
Installing ISPConfig
ISPConfig Port [8080]: <– ENTERConfiguring DBServer
Installing Crontab
no crontab for root
no crontab for getmail
Restarting services …
* Stopping MySQL database server mysqld
…done.
* Starting MySQL database server mysqld
…done.
* Checking for corrupt, not cleanly closed and upgrade needing tables.
* Stopping Postfix Mail Transport Agent postfix
…done.
* Starting Postfix Mail Transport Agent postfix
…done.
* Stopping SASL Authentication Daemon saslauthd
…done.
* Starting SASL Authentication Daemon saslauthd
…done.
Stopping amavisd: amavisd-new.
Starting amavisd: amavisd-new.
* Stopping ClamAV daemon clamd
…done.
* Starting ClamAV daemon clamd
LibClamAV Warning: ***********************************************************
LibClamAV Warning: *** This version of the ClamAV engine is outdated. ***
LibClamAV Warning: *** DON’T PANIC! Read http://www.clamav.net/support/faq ***
LibClamAV Warning: ***********************************************************
…done.
* Stopping Courier authentication services authdaemond
…done.
* Starting Courier authentication services authdaemond
…done.
* Stopping Courier IMAP server…
…done.
* Starting Courier IMAP server…
…done.
* Stopping Courier IMAP-SSL server…
…done.
* Starting Courier IMAP-SSL server…
…done.
* Stopping Courier POP3 server…
…done.
* Starting Courier POP3 server…
…done.
* Stopping Courier POP3-SSL server…
…done.
* Starting Courier POP3-SSL server…
…done.
* Restarting web server apache2
… waiting …done.
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -E -u 1000 -O clf:/var/log/pure-ftpd/transfer.log -b -A -B
Installation completed.
root@server1:/tmp/ispconfig3_install/install#
Ezután már elérjük az ISPConfig admin felületét a következő címen: http://server1.otthon.local:8080/ vagy http://192.168.1.100:8080/ Tehát a 8080-as porton fog futni.
Bejelentkezéshez használjuk az admin felhasználónevet és admin jelszót.
Most már készen áll a rendszer a használatra.
