Tökéletes szerver: Debian 8 (Jessie) V1.0 (4. oldal)

botond küldte be 2018. 05. 03., cs – 13:15 időpontban

Tartalom

 

 

Squirrelmail telepítése

Először telepítsük a Squirrelmailt az alábbi apt-get paranccsal:

apt-get -y install squirrelmail

Ezután konfiguráljuk:

squirrelmail-configure

Ekkor megjelenik egy szöveges menü, amiben választani kell több lépésben:

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 >>

Válasszuk a "D" -t majd enter.

SquirrelMail Configuration : Read: config.php
---------------------------------------------------------
While we have been building SquirrelMail, we have discovered some
preferences that work better with some servers that don't work so
well with others.  If you select your IMAP server, this option will
set some pre-defined settings for that server.

Please note that you will still need to go through and make sure
everything is correct.  This does not change everything.  There are
only a few settings that this will change.

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
    gmail       = IMAP access to Google mail (Gmail) accounts

    quit        = Do not change anything
Command >>

Itt "dovecot", majd enter. Ekkor felsorolja a jelenlegi IMAP beállításokat, itt nyomjunk entert a folytatáshoz. Utána visszakapjuk a főmenüt:

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 >>

Itt Mentsük el: "S", majd enter. Ekkor kiírja hogy az adatokat lementette egy config.php nevű fájlba, ezután enter.

Végül ismét visszajön a főmenü, lépjünk ki a "Q" -val.

 

Apache konfiguráció készítése

Ahhoz, hogy minden (ISPConfig kezelőpanelben létrehozott) weboldal alól el tudjuk érni a webmailt, készítenünk kell neki egy Apache konfigot, amiben beállítjuk többek között az aliasokat is. Így például el fogjuk tudni érni a szerveren lévő www.xyz.hu/webmail vagy www.xyz.hu/squirrelmail könyvtárakból.

A Squirrelmail-nak  van már Apache konfigurációs fájlja: /etc/squirrelmail/apache.conf, de ezt jelenleg nem tölti még be az Apache, mert nincs még a megfelelő helyen (/etc/apache2/conf-enabled/). Ezért most létrehozunk egy szimbolikus linket a cél helyen, ami a fizikai konfigurációs fájlra mutat:

cd /etc/apache2/conf-enabled/
ln -s /etc/squirrelmail/apache.conf squirrelmail.conf

Ezután indítsuk újra az Apache-t a service paranccsal:

service apache2 reload

Nyissuk meg a konfig fájlt:

nano /etc/apache2/conf-enabled/squirrelmail.conf

És adjuk hozzá a következő pár sort, hogy biztosíthassuk a SquirrelMail számára a mod_php-t és annak a megfelelő beállításait függetlenül attól, hogy milyen PHP módot állítottunk be az adott weboldal számára, ami alól éppen elérjük a webmailt. A következő sorokat tehát szúrjuk be a konfig fájlba a "<IfModule mod_php5.c>" sor után közvetlenül:

    AddType application/x-httpd-php .php
    php_flag magic_quotes_gpc Off
    php_flag track_vars On
    php_admin_flag allow_url_fopen Off
    php_value include_path .
    php_admin_value upload_tmp_dir /var/lib/squirrelmail/tmp
    php_admin_value open_basedir /usr/share/squirrelmail:/etc/squirrelmail:/var/lib/squirrelmail:/etc/hostname:/etc/mailname

Ezután így kell kinéznie a konfig fájlunknak (a végén lévő kommentezett részek nélkül):

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
Alias /squirrelmail /usr/share/squirrelmail
 
<Directory /usr/share/squirrelmail>
  Options FollowSymLinks
  <IfModule mod_php5.c>
    AddType application/x-httpd-php .php
    php_flag magic_quotes_gpc Off
    php_flag track_vars On
    php_admin_flag allow_url_fopen Off
    php_value include_path .
    php_admin_value upload_tmp_dir /var/lib/squirrelmail/tmp
    php_admin_value open_basedir /usr/share/squirrelmail:/etc/squirrelmail:/var/lib/squirrelmail:/etc/hostname:/etc/mailname
    php_flag register_globals off
  </IfModule>
  <IfModule mod_dir.c>
    DirectoryIndex index.php
  </IfModule>
 
  # access to configtest is limited by default to prevent information leak
  <Files configtest.php>
    order deny,allow
    deny from all
    allow from 127.0.0.1
  </Files>
</Directory>

Ezután hozzunk létre egy tmp könyvtárat a levelező számára:

mkdir /var/lib/squirrelmail/tmp

Majd állítsuk át a tulajdonosát a www-data -ra:

chown www-data /var/lib/squirrelmail/tmp

Indítsuk újra az Apache-t:

service apache2 reload

Készen is vagyunk. Ezzel tehát létrehoztunk egy alias-t (/squirrelmail), ami a levelezőprogram telepítési könyvtárába (/usr/share/squirrelmail) mutat.

Innentől a böngészőben elérhetjük a következő url címen: http://192.168.1.120/squirrelmail. Természetesen, ha más IP-címet állítottunk be a szervernek, akkor azon az IP-címen lesz elérhető. Valamint a szerveren létrehozott bármelyik weboldal alól is ugyanebből az alkönyvtárból elérhető (www.xyz.hu/squirrelmail). Az eredmény pedig:

SquirrelMail - Bejelentkezés

Ha szeretnénk a /webmail alkönyvtárakból is elérhetővé tenni a levelezőt, akkor nyissuk meg újra a konfigot:

nano /etc/apache2/conf-enabled/squirrelmail.conf

És tegyünk bele egy sort az elejébe, így:

Alias /squirrelmail /usr/share/squirrelmail
Alias /webmail /usr/share/squirrelmail
[...]

És indítsuk újra az Apache-t:

service apache2 reload

 

 

ISPConfig 3 telepítése

Legfrissebb változat beszerzése:
Másoljuk ki a legfrissebb verzió letöltési linkjét az ISPConfig letöltőoldaláról

 

Ezután telepítsük a következő módon:

cd /tmp
wget https://ispconfig.org/downloads/ISPConfig-3.1.11.tar.gz
tar -xvzf ISPConfig-3.1.11.tar.gz
cd ispconfig3_install/install/
php -q install.php

A telepítőfájl futtatása után megjelenik a szöveges logó, és az első kérdés is:

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


>> Initial configuration

Operating System: Debian 8.0 (Jessie) 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]:

Itt választhatunk az angol vagy a német nyelv közül. Én az angolt választom, tehát üresen enter.

Ezután még jön pár kérdés:

  • Installation mode (standard,expert) [standard]: Hajgyuk alapon, enter.
  • Full qualified hostname (FQDN) of the server, eg server1.domain.tld  [szerver1.linuxportal.info]: Itt is hagyjuk a felajánlott FQDN néven.
  • MySQL server hostname [localhost]: Ez is jó így, enter
  • MySQL server port [3306]: Enter
  • MySQL root username [root]: Enter
  • MySQL root password []: Itt adjuk meg a korábban beállított MySQL root jelszavunkat.
  • MySQL database to create [dbispconfig]: Ez jó így, Enter
  • MySQL charset [utf8]: Ez is jó így, Enter

Ezután bekonfigurálja a Postfix-et. Létre fog neki hozni egy SSL tanúsítványt, amihez megint válaszolni kell néhány kérdésre:

[INFO] service Postgrey not detected
Configuring Postfix
Generating a 4096 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]:

Ezekre a kérdésekre válaszolhatunk rendesen is, de nyomhatunk mindegyikre entert, mert nincs jelentősége. Ez most csak a postfixhez generálandó SSL-hez kell.

Az email cím bekérése itt az utolsó kérdés, utána konfigurálgatja tovább a szolgáltatásokat:

[INFO] service Mailman not detected
Configuring Dovecot
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Jailkit
Configuring Pureftpd
Configuring BIND
[INFO] haveged not detected - DNSSEC can fail
Configuring Apache
Configuring vlogger
[INFO] service OpenVZ not detected
Configuring Bastille Firewall
[INFO] service Metronome XMPP Server not detected
Configuring Fail2ban
Configuring Apps vhost
Installing ISPConfig

Majd ezután megkérdi, hogy melyik porton szeretnénk használni az ISPConfigot:

ISPConfig Port [8080]:

Ezt hagyhatjuk is így. Éles szerverkörnyezetben viszont megadhatunk ehelyett egy magasabb portszámot, hogy nehezebben találják meg a kintről próbálkozók az ISPConfig panelünket.

Admin password [a534612c]:

Itt adjunk meg egy admin jelszót az ISPConfig számára. Ha üresen hagyjuk, akkor a saját generált jelszó lesz érvényben a szögletes zárójelek között. Ezután újra bekéri a jelszót, megerősítésnek.

Ezután megkérdi, hogy szeretnénk-e SSL kapcsolaton használni az ISPConfig panelt:

Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]:

Itt erősen ajánlott az SSL használata, tehát hagyjuk az alapértelmezett igen-en.

Ezután generál egy újabb SSL-t az ISPConfig számára:

Generating RSA private key, 4096 bit long modulus
.......................................................................................................................++
..........................................................................................................++
e is 65537 (0x10001)
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]:

És itt jönnek megint az SSL generáláshoz szükséges kérdések, mindegyikre nyomjunk entert:

  • Country Name (2 letter code) [AU]:
  • State or Province Name (full name) [Some-State]:
  • Locality Name (eg, city) []:
  • Organization Name (eg, company) [Internet Widgits Pty Ltd]:
  • Organizational Unit Name (eg, section) []:
  • Common Name (e.g. server FQDN or YOUR name) []:
  • Email Address []:
  • A challenge password []:
  • An optional company name []:

Ezután még bekonfigurál néhány dolgot, újraindítja a szolgáltatásokat és készen is van a telepítés:

writing RSA key


Configuring DBServer
Installing ISPConfig crontab
Installing ISPConfig crontab
no crontab for root
no crontab for getmail
Detect IP addresses
Restarting services ...
Installation completed.

 

 

Ha minden jól sikerült, akkor a következő https-es url címen és a 8080-as porton (ahogy kértük) el is érhetjük az ISPConfig panelünket:

https://192.168.1.120:8080/

Mivel SSL-el kértük a telepítéstben az ISPConfig elérését, így a https-el be is jön, de előtte egy biztonsági figyelmeztetés (amit korábban írtam is a self-signed SSL-ekről):

SSL biztonsági figyelmeztetés

Ezután ha ezt engedélyeztük és továbbléptünk a webhelyre, akkor már be is jön a bejelentkező ablak:

ISPConfig - Belépés

Itt lépjünk be az admin felhasználóval és a telepítéskor megadott admin jelszavával. Majd bejön az ISPConfig kezdőoldala:

ISPConfig - Kezdőoldal

És a szerver állapotjelentés:

ISPConfig - Szerver állapot

Egyedül a kernel verzióra ír egy warning-ot, mivel már a Debian 8.10-ben lévőnél újabb van a 9-esben.

Ezután már elkezdhetjük a munkát az ISPConfig segítségével a szerveren.

 

Záró gondolatok

Ha már eljutottunk idáig, akkor meghálálja magát az eddig végzett munka, mert nagyon sokmindent tud az ISPConfig, így nem kell folyamatosan a konfig fájlokat bogarászni ha dolgunk akad a szerveren. Persze ez nem azt jelenti, hogy bármit meg tudunk oldani ennek a panelnek a segítségével, mert azért akadni fog bőven olyan dolog amit nekünk kell kézzel elvégeznünk. De hát ha ez nem így lenne, akkor már nem is kellene több leírást készítenem. :)

 

A leírást a Howtoforge The Perfect Server - Debian 8 Jessie (Apache2, BIND, Dovecot, ISPConfig 3) című leírása alapján készítettem el. Ezúton is köszönet nekik, mert ezen kívül nem találtam máshol ilyen átfogó, komplett leírást egy ilyen összetett szerver elkészítéséhez.

 

Az eredeti leírásból kihagytam két dolgot: Az egyik a SuPHP, aminek a telepítését ők sem ajánlják, mivel elavult, és a PHP-FPM is már sokkal kedvezőbb megoldást kínál helyette. A másik pedig a Mailman levelezőlista telepítése. Ezt egyszerűen nem éreztem létfontosságú dolognak, ezért hagytam ki. De ha lesz rá igény, készítek hozzá egy külön leírást.

Ezt a szerver konfigurációt bárkinek nyugodtan merem ajánlani, mert én már több, mint egy éve ezt az "alapot" használom ezen a szerveren, persze a hónapok alatt sokat alakítottam még rajta. Hibátlanul működik, még egy leállás sem volt a feltelepítés óta.

Későbbi leírásaimban többek között erre a telepítésre épülő további kiegészítéseket, alakításokat, módszereket fogok bemutatni, amivel még biztonságosabbá és hatékonyabbá tehetjük ezt a szerverkörnyezetet.

Remélem sokaknak hasznos lesz ez az útmutató, mert magyar nyelven eddig még nem akadtam rá ennek a megfelelőjére.

 

 

Virtuális gép letöltése

Az elkészült virtuális gép letölthető ezen az oldalon.

 

Ez a leírás több oldalból áll: