ISPConfig3 telepítése és beállítása Ubuntu 9.10 szerveren

Az ISPConfig 3 egy webhoszting kontroll panel ami lehetővé teszi a következő kiszolgálók web böngészőn keresztüli konfigurálását: Apache web szerver, Postfix levelező szerver, MySQL adatbázis kiszolgáló, MyDNS névszerver, PureFTPd FTP szerver, SpamAssassin, ClamAV antivírus, stb.

Követelmények

Először is szükség lesz egy Ubuntu 9.10 Server telepítő CD-re amit az alábbi oldalakról letölthetsz: http://releases.ubuntu.com/releases/9.10/ubuntu-9.10-server-i386.iso (PC Intel x86) vagy http://releases.ubuntu.com/releases/9.10/ubuntu-9.10-server-amd64.iso (64 Bit PC AMD64) és természetesen gyors Internet kapcsolatra.

Ebben a leírásban a hosztnév szerver1.pelda.hu az IP címe pedig 192.168.0.100. Az átjáró címe pedig 192.168.0.1.

Ubuntu 9.10 Server telepítése

  1. Helyezd be a telepítő CD-t a meghajtóba és boot-olj be róla
  2. Válasszunk nyelvet (magyar)
  3. Válaszd az Ubuntu kiszolgáló telepítése menüpontot
  4. A billentyűzet kiosztás automatikus felismerésé én Nem -et választok
  5. Adjuk meg a billentyűzet nyelvét: Hungary
  6. Adjuk meg a billentyűzetkiosztás nyelvét: Hungary
  7. Hálózat konfigurálása
    1. Állítsuk be kézzel az IP címet, az alhálózati maszkot az átjárót és a névszerver címét
    2. Adjuk meg a gép nevét (szerver1)
    3. Adjuk meg a tartományt (pelda.hu)
  8. A particionálást rábízhatjuk a telepítőre (irányított LVM az egész lemezen) de a hozzáértők kézzel is elvégezhetjük a particionálást
    1. Válasszuk ki a particionálandó lemezt
    2. Majd mondjunk igen -t a változások lemezre írása -ra
    3. Megadhatjuk, hogy a lemez mekkora részét akarjuk felparticionálni. Ha az egészet csak nyomjunk a Tovább -ra
    4. Az Igen -nel írjuk lemezre a változásokat
  9. Az alaprendszer telepítés után adjuk meg teljes nevünket aztán válasszunk magunknak felhasználónevet majd jelszót. Ha akarjuk akkor titkosíthatjuk saját mappánkat.
  10. Ha használunk proxy-t a hálózaton akkor adjuk meg a címét egyébként hagyjuk üresen
  11. Adjuk meg az automatikus frissítések módját. (Én jobb szeretem kézzel elvégezni úgyhogy a Nincsenek automatikus frissítések -et választom)
  12. Habár DNS, mail, és LAMP szervert szeretnénk a megjelenő opciók közül csak az OpenSSH server -t jelöljük be. a többit majd manuálisan telepítjük.
  13. Vegyük ki a telepítő CD-t a meghajtóból és indítsuk újra a gépet

Szerezzünk root jogokat

Jelentkezzünk be a saját felhasználónevünkkel és jelszavunkkal amjd gépeljük be a

sudo su

parancsot. Ezután adjunk a root nevű felhasználónak egy jelszót a

sudo passwd root

parancs segítségével. Miután megadtuk a root jelszavát már be is tudunk jelentkezni a root felhasználóval

Nézzük át hálózat beállításainkat

Nézzük meg a /etc/network/interfaces tartalmát aminek az alábbinak kell lennie

Install dash as /bin/sh kérdésre válaszoljunk No -val

Ha ezt nem hajtjuk végra az ISPConfig telepítése meghiúsul!

Kapcsoljuk ki az AppArmor -t az alábbi három parancs lefuttatásával

/etc/init.d/apparmor stop
update-rc.d -f apparmor remove
aptitude remove apparmor apparmor-utils

Szinkronizáljuk a rendszer óráját

aptitude install ntp ntpdate

így a rendszeridő mindig szinkronizálva lesz

Telepítsük a Postfix, Courier, Saslauthd, MySQL, phpMyAdmin, rkhunter, binutils csomagokat

Ezt egy szimmpla parancssorral megtehetjük a Postfix, Courier, Saslauthd, MySQL, phpMyAdmin, rkhunter, and binutils installálást:

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

Válaszoljunk az alábbi kérdésekre:

  • New password for the MySQL “root” user: <– aterootjelszavad
  • Repeat password for the MySQL “root” user: <– aterootjelszavad
  • Create directories for web-based administration? <– No
  • General type of mail configuration: <– Internet Site
  • System mail name: <– szerver1.pelda.hu
  • SSL certificate required <– Ok

Azt szeretnénk, hogy a MySQL minden interfészen figyeljen ne csak localhost -on, ehhez szerkesszük a /etc/mysql/my.cnf -et és kommentezzük ki a bind-address = 127.0.0.1: sort

Ezután indítsuk újra a MYSQL kiszolgálót: /etc/init.d/mysql restart
Ellenőrizzük le, hogy engedélyezve van-e. Futtasuk le a

netstat -tap | grep mysql

Az eredménynek ennek kell lennie:
root@szerver1:~# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 8844/mysqld

Telepítéskor az SSL certificate -ek az IMAP-SSL és POP3-SSL -hez localhost hosztnévvel lettek elkészítve. A jó hosztnévre cseréléshez (szerver1.pelda.hu ebben a leírásban), töröljük a certificate -okat

cd /etc/courier
rm -f /etc/courier/imapd.pem
rm -f /etc/courier/pop3d.pem

és módosítsuk az /etc/courier/imapd.cnf valamint a /etc/courier/pop3d.cnf fileokat!
Cseréljük mindkettőben a CN=localhost -ot CN=szerver1.pelda.hu -ra
Készítsuk el újra a certificate -okat:

mkimapdcert
mkpop3dcert

és indítsuk újra a Courier-IMAP-SSL és Courier-POP3-SSL -t:

/etc/init.d/courier-imap-ssl restart
/etc/init.d/courier-pop-ssl restart

Telepítsük a Amavisd-new, SpamAssassin, és Clamav csomagokat.

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

Telepítsük az Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear, And mcrypt csomagokat

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

Telepítéskor az alábbiak szerint válaszoljunk:

  • Web server to reconfigure automatically: <– apache2
  • Configure database for phpmyadmin with dbconfig-common? <– Yes
  • Password of your database’s administrative user: <– aterootsqljelszavad
  • MySQL application password for phpmyadmin: <– [üres]

Az Apache modules suexec, rewrite, ssl, actions, and include engedélyezéshez futtassuk a következő parancsot:

a2enmod suexec rewrite ssl actions include

Tegyük biztonságosabbá a phpMyAdmin -t a /etc/phpmyadmin/htpasswd.setup file törlésével

rm -f /etc/phpmyadmin/htpasswd.setup

…és töröljük vagy kommentezzük ki a következő részt a /etc/phpmyadmin/apache.conf -ban:

# Authorize for setup
#
#
#    AuthType Basic
#    AuthName "phpMyAdmin Setup"
#    AuthUserFile /etc/phpmyadmin/htpasswd.setup
#
#    Require valid-user
#

majd indítsuk újra az Apache2 webszervert

/etc/init.d/apache2 restart

PureFTPd és Quota telepítése

futtasd az

aptitude install pure-ftpd-common pure-ftpd-mysql quota quotatool

parancsot

szerkeszd az /etc/default/pure-ftpd-common -t

Figyelj, hogy a start mode legyen standalone -ra állítva és a VIRTUALCHROOT legyen true:

[...]
STANDALONE_OR_INETD=standalone
[...]
VIRTUALCHROOT=true
[...]

11.3 Indítsuk újra a PureFTPd -t:

/etc/init.d/pure-ftpd-mysql restart

11.4 szerkesszük /etc/fstab. -ot Nálam ez így néz ki (Beállítottam a usrquota, grpquota -t a / mount point partícióra):

# /etc/fstab: static file system information.
#
# Use 'vol_id --uuid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
#
proc            /proc           proc    defaults        0       0
# / was on /dev/mapper/dc--e121-root during installation
UUID=ab690543-1782-4106-8ad4-f1d4970e96b3 /               ext3    relatime,errors=remount-ro,usrquota,grpquota 0       1
# /boot was on /dev/sda5 during installation
UUID=f93719ce-e8de-45ae-83c0-5f6fbd37c9d0 /boot           ext2    relatime        0       2
# swap was on /dev/mapper/dc--e121-swap_1 during installation
UUID=45c15634-eb5b-4dd2-95eb-27108319ebd3 none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0

11.5 A quota engedélyezéshez futtasd az alábbi parancsokat:

touch /quota.user /quota.group
chmod 600 /quota.*
mount -o remount /
quotacheck -avugm
quotaon -avug

12. MyDNS telepítés
12.1 Mielőtt installáljuka MyDNS egy-két csomagot rakjunk fel:

aptitude install g++ libc6 gcc gawk make texinfo libmysqlclient15-dev

12.2 Így már elkezdhetjük a MyDNS telepítését a következő parancsokkal:

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

12.3 Készítsük el the start/stop script -et a MyDNS -hez:

vi /etc/init.d/mydns

A tartalma a következő legyen:

#! /bin/sh
#
# mydns         Start the MyDNS server
#
# Author:       Philipp Kern
.
#               Based upon skeleton 1.9.4 by Miquel van Smoorenburg
#                and Ian Murdock .
#
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á a szkriptet:

chmod +x /etc/init.d/mydns
update-rc.d mydns defaults

13. Vlogger és Webalizer telepítése
13. 1 Futtassuk a

aptitude install vlogger webalizer

parancsot
14. Jailkit telepítés
A Jailkit csak akkor kell ha szeretnéd engedélyezni chroot -ot az SSH usereknek? (figyelem: a Jailkit -et még az ISPConfig telepítés előtt kell feltenni- utána nem működik!):

aptitude install build-essential autoconf automake1.9 libtool flex bison
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*

15. fail2ban installálás
Ez opcionális de ajánlott, mert az ISPConfig monitor meg tudja mutatni a fail2ban log -ot:

aptitude install fail2ban

16. Squirrelmail (Mókusposta) telepítés

aptitude install squirrelmail

hozzuk létre a symlink -et:

ln -s /usr/share/squirrelmail/ /var/www/webmail

és konfiguráljuk a mókuspostánkat:

squirrelmail-configure

Mi a SquirrelMail -t a Courier-IMAP/-POP3 -ra akarjuk használni:

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >>  D

Please select your IMAP server:
bincimap    = Binc IMAP server
courier     = Courier IMAP server
cyrus       = Cyrus IMAP server
dovecot     = Dovecot Secure IMAP server
exchange    = Microsoft Exchange IMAP server
hmailserver = hMailServer
macosx      = Mac OS X Mailserver
mercury32   = Mercury/32
uw          = University of Washington's IMAP server

quit        = Do not change anything
Command >> <-- courier imap_server_type = courier
default_folder_prefix = INBOX.
trash_folder = Trash
sent_folder = Sent
draft_folder = Drafts
show_prefix_option = false
default_sub_of_inbox = false
show_contain_subfolders_option = false
optional_delimiter = .
delete_folder = true

Press any key to continue...  ENTER

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> S

Data saved in config.php
Press enter to continue... ENTER

quirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >> <-- Q

Ezután elérhető a SquirrelMail a http://szerver1.pelda.hu/webmail or http://192.168.0.100/webmail címen

17. Az ISPConfig3 telepítése

cd /tmp
wget http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.1.1.tar.gz?use_mirror=
tar xvfz ISPConfig-3.0.1.1.tar.gz
cd ispconfig3_install/install/

Következő lépésben futtassuk a telepítőt

php -q install.php
--------------------------------------------------------------------------------
_____ ___________   _____              __ _
|_   _/  ___| ___ \ /  __ \            / _(_)
| | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _
| |  `--. \  __/  | |    / _ \| '_ \|  _| |/ _` |
_| |_/\__/ / |     | \__/\ (_) | | | | | | | (_| |
\___/\____/\_|      \____/\___/|_| |_|_| |_|\__, |
__/ |
|___/
--------------------------------------------------------------------------------

>> 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 .
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 []: <-- atemysqlrootjelszavad

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]: <-- ENTER
State or Province Name (full name) [Some-State]: <-- ENTER
Locality Name (eg, city) []: <-- ENTER
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- ENTER
Organizational Unit Name (eg, section) []: <-- ENTER
Common Name (eg, YOUR name) []: <-- ENTER
Email Address []: <-- ENTER
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]: <-- ENTER

Configuring 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
...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 -A -E -b -u 1000 -O clf:/var/log/pure-ftpd/transfer.log -B
Installation completed.
root@szerver1:/tmp/ispconfig3_install/install#

A telepítő automatikusan beállít mindent, nekünk nem kell semmit kézzel csinálni

Az ISPConfig 3 a http://szerver1.peldahu:8080/ vagy http://192.168.0.100:8080/. címen érhető el. Jelentkezz be az admin felhasználónévvel és az admin jelszóval (első bejelentkezés után feltétlenül cseréld le!)

Amennyiben gondod akadt a telepítéssel vagy valami hibát találsz a leírásban kérlek jelezd!

41 hozzászólás


  1. Hali!
    Újabb hibába ütköztem melyben segítséget kérnék:
    Telepítve van a mydns, és a mydnsconfig.
    fut is, a ispconfig monitor mutatja is, viszont nem működik.
    Ahogy nézem amúgy az ispconfig alapból a bind9-et használja, és az fut is rendsen.
    Tehát:
    ispconfig admin/dns/új déenes rekord.
    mezőbe megadom a domaint: webhost.lepesradio.hu.tld. megadom, hogy ns1.webhost.lepesradio.hu.tld. info.webhost.lepesradio.hu.tld és mentem.
    Megadom pl dot.tk-n dns name szervernek a ns1.webhost.lepesradio.hu-t, és erre nem viszi a domaint a szerverre.
    amikor a mydns-t restartolom akor a következőt kapom:
    /etc/init.d/mydns restart
    Restarting DNS server: mydnsmydns[343]: Error connecting to MySQL server at loca
    lhost: Access denied for user ‘ispconfig’@’localhost’ (using password: YES) (err
    no=0) Egyértelmű, hogy nem csatlakozik adatbázishoz.
    A beálításban azt mutatja, hogy dbmydns táblához csatlakozna ami elvileg a mydns config telepítésekor létre is jött.
    Viszont ez a tábla nem létezik az adatbázisban csak a dbispconfig.
    Már töbször újra húztam mind a mydnsconfig-ot mind a ispconfigot de nem oldódott meg.
    úgyse, hgoy előbb a mydns configot installáltam, illetve aztán az ispconfig-ot vagy volt, hogy fordítva.
    Egyszerűen nem létezik ez a tábla. pedig minden adat jó.
    Mit tegyek?
    Elég esetleg a bind9 nameserver hosting?
    vagy a mydns is kell?
    Vagy mit csináljak a mydnssel, hogy ne kapjam ezt a hibát indításkor?
    Esetleg valakinek nincs, egy kész mydns táblája, tartalmazó adatokkal amit eltudna küldeni?
    Előre is köszönöm válaszotok!
    Üdv:
    Robi

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.