<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://admin.wiki.kzoli.hu/index.php?action=history&amp;feed=atom&amp;title=VExim_alap%C3%BA_levelez%C5%91_szerver_%28Wheezy%29</id>
	<title>VExim alapú levelező szerver (Wheezy) - Laptörténet</title>
	<link rel="self" type="application/atom+xml" href="https://admin.wiki.kzoli.hu/index.php?action=history&amp;feed=atom&amp;title=VExim_alap%C3%BA_levelez%C5%91_szerver_%28Wheezy%29"/>
	<link rel="alternate" type="text/html" href="https://admin.wiki.kzoli.hu/index.php?title=VExim_alap%C3%BA_levelez%C5%91_szerver_(Wheezy)&amp;action=history"/>
	<updated>2026-06-07T12:38:44Z</updated>
	<subtitle>Az oldal laptörténete a wikiben</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://admin.wiki.kzoli.hu/index.php?title=VExim_alap%C3%BA_levelez%C5%91_szerver_(Wheezy)&amp;diff=102&amp;oldid=prev</id>
		<title>KZoli: Új oldal, tartalma: „Ez a leírás házirend szerinti Debian Wheezy komponensekből felépített levélfogadó és levéltovábbító szerver telepítését mutatja be. Technikailag nem has…”</title>
		<link rel="alternate" type="text/html" href="https://admin.wiki.kzoli.hu/index.php?title=VExim_alap%C3%BA_levelez%C5%91_szerver_(Wheezy)&amp;diff=102&amp;oldid=prev"/>
		<updated>2018-05-29T21:49:25Z</updated>

		<summary type="html">&lt;p&gt;Új oldal, tartalma: „Ez a leírás házirend szerinti Debian Wheezy komponensekből felépített levélfogadó és levéltovábbító szerver telepítését mutatja be. Technikailag nem has…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Új lap&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Ez a leírás házirend szerinti Debian Wheezy komponensekből felépített levélfogadó és levéltovábbító szerver telepítését mutatja be. Technikailag nem használ olyan megoldást, amely miatt dedikált gépre vagy virtuális környezetbe kellene helyezni a szolgáltatást.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Komponensek:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* [http://www.exim.org/ Exim 4] MTA&lt;br /&gt;
* [http://www.courier-mta.org/imap/ Courier IMAP/POP3] levelező tárhelykezelés&lt;br /&gt;
* [http://roundcube.net/ RoundCube] webfelületű MUA (webmail)&lt;br /&gt;
* [https://github.com/avleen/vexim2 Virtual Exim] (VExim 2) PHP alkalmazás (saját módosításokkal)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Szolgáltatások:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* virtuális domainek és userek, user és domain aliasok webfelületű (https) adminisztrációval&lt;br /&gt;
* levélfogadás a fentiek számára SMTP-vel&lt;br /&gt;
* levélküldés a fentiektől SMTP authentikációval (TLS)&lt;br /&gt;
* levél tárolása Maildir-ben, külső hozzáférés IMAP(s), POP3(s) és webmail (https)&lt;br /&gt;
* saját jelszó, &amp;#039;&amp;#039;forward&amp;#039;&amp;#039;, &amp;#039;&amp;#039;vacances&amp;#039;&amp;#039; adminisztrációja a felhasználók által, webfelületen&lt;br /&gt;
* forrásszűrésen alapuló spamfilter&lt;br /&gt;
* DOS elleni intézkedések&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TODO:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exchange-like maildir automatikus létrehozatala&lt;br /&gt;
* felhasználó törlésekor a levelező tárterület automatikus törlése&lt;br /&gt;
* &amp;#039;&amp;#039;shared folders&amp;#039;&amp;#039;&lt;br /&gt;
* tartalomszűrésen alapuló spamfilter&lt;br /&gt;
* malware filter&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Squeeze megoldás alapján átírás alatt - még ne vedd komolyan!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==A megoldás vázlata==&lt;br /&gt;
* Egy szervergépen csak egy VExim példányt futtatunk (elvileg lehetséges lenne multiplikálni, &amp;#039;&amp;#039;&amp;#039;TODO!&amp;#039;&amp;#039;&amp;#039;).&lt;br /&gt;
* A leveleket a filerendszerben a &amp;#039;&amp;#039;mail:mail&amp;#039;&amp;#039; Linux felhasználó birtokában lévő &amp;#039;&amp;#039;/var/mail/.vexim&amp;#039;&amp;#039; gyökerű tárhelyen, &amp;#039;&amp;#039;domain/user/Maildir&amp;#039;&amp;#039; alkönyvtárakban &amp;#039;&amp;#039;maildir&amp;#039;&amp;#039; formátumban tároljuk. &lt;br /&gt;
* A levélfogadást és az SMTP authentikáció utáni levélküldést az Exim MTA végzi. &lt;br /&gt;
* A virtuális felhasználók authentikációs és egyéb (&amp;#039;&amp;#039;maildir path&amp;#039;&amp;#039;, &amp;#039;&amp;#039;alias&amp;#039;&amp;#039;, &amp;#039;&amp;#039;forward&amp;#039;&amp;#039;, stb.) adatai dedikált MySQL adatbázisban tárolódnak, amihez a VExim PHP alkalmazás nyújt kizárólag https-en elérhető webes adminisztrációs felületet. Az Exim számára az adatbázis használatához szükséges router és transport konfigurációs állományokat a &amp;#039;&amp;#039;vexim-addons&amp;#039;&amp;#039; csomag szolgáltatja. &lt;br /&gt;
* A maildir-ekhez a Courier segítségével lehet hozzáférni IMAP(s) és POP3(s) protokollal. A Courier a VExim-mel azonos authentikációs adatbázist használ.&lt;br /&gt;
* A RoundCube MUA kizárólag https-en elérhető web felületen biztosít IMAP klienst, ezzel webmail szolgáltatást. &lt;br /&gt;
* A webmail és az adminisztrációs webfelület azonos virtualhoston üzemelnek (pl. &amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;https://mail.mydomain.com/&amp;lt;/nowiki&amp;gt;&amp;#039;&amp;#039; a webmail, &amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;https://mail.mydomain.com/admin&amp;lt;/nowiki&amp;gt;&amp;#039;&amp;#039; az adminisztrációs web).&lt;br /&gt;
&lt;br /&gt;
A megoldás nem befolyásolja az Exim által a helyi Linux (rendszer)felhasználók (pl. &amp;#039;&amp;#039;smartd&amp;#039;&amp;#039;, &amp;#039;&amp;#039;sensord&amp;#039;&amp;#039;, &amp;#039;&amp;#039;logcheck&amp;#039;&amp;#039; és egyéb cron jobok) számára egyébként biztosított levelezést.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;Megjegyzés: a megoldás kevés saját elemet tartalmaz, zömmel a közösség által javasolt módszerekre épül (köszönet!), ld. Irodalom.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Előfeltételek==&lt;br /&gt;
A jelen leírás szerinti levelező szerver egy házirend szerinti szerint LAMP környezetet igényel, a következő kiegészítésekkel:&lt;br /&gt;
* &amp;#039;&amp;#039;wsm2&amp;#039;&amp;#039; LAMP, a &amp;#039;&amp;#039;php.ini&amp;#039;&amp;#039;-ben (&amp;#039;&amp;#039;/etc/php5/conf.d/wsm2-php5.ini&amp;#039;&amp;#039;) a &amp;#039;&amp;#039;mail&amp;#039;&amp;#039; és &amp;#039;&amp;#039;include&amp;#039;&amp;#039; funkciók engedélyezve;&lt;br /&gt;
* fix IP cím;&lt;br /&gt;
* Exim4 telepítve, beállítva Internet hostnak, a HELO hostnév megegyezik a DNS &amp;#039;&amp;#039;reverse&amp;#039;&amp;#039;-zel.&lt;br /&gt;
Gonosz hibalehetőségek (&amp;#039;&amp;#039;gotchas&amp;#039;&amp;#039;):&lt;br /&gt;
* az &amp;#039;&amp;#039;/etc/hosts&amp;#039;&amp;#039;-ban a gép hostneve (ld. &amp;#039;&amp;#039;hostname --fqdn&amp;#039;&amp;#039; kimenete) nincs a &amp;#039;&amp;#039;localhost&amp;#039;&amp;#039;-hoz rendelve. &amp;lt;br&amp;gt;&amp;lt;small&amp;gt;A &amp;#039;&amp;#039;vexim-addons&amp;#039;&amp;#039; exim4-routere a hostnévre a &amp;#039;&amp;#039;localhost&amp;#039;&amp;#039;-ra feloldást jelentő&amp;#039;&amp;#039;@&amp;#039;&amp;#039; indirekcióval hivatkozik, hogy ne kelljen a konkrét hostnevet ide beírni. Ha a hostnév nem a localhostra mutat, akkor nem számít &amp;#039;&amp;#039;local domain&amp;#039;&amp;#039;-nek és az admin levelekre az Exim4 a &amp;#039;&amp;#039;dnslookup&amp;#039;&amp;#039; routert fogja hívni, ami a (publikus IP-n) saját gépre mutató névfeloldás esetén hibát ad.&amp;lt;/small&amp;gt;&lt;br /&gt;
* az Exim4 telepítésekor nem &amp;#039;&amp;#039;split configuration&amp;#039;&amp;#039;-t választottunk. &amp;lt;br&amp;gt;&amp;lt;small&amp;gt;Ilyenkor az &amp;#039;&amp;#039;/etc/exim4/update-exim4.conf.conf&amp;#039;&amp;#039;-ban &amp;#039;&amp;#039;dc_use_split_config=&amp;#039;false&amp;#039;&amp;#039;&amp;#039; szerepel. Így a &amp;#039;&amp;#039;vexim-addons&amp;#039;&amp;#039; által hozott plusz konfigurációs állományok beállításait - pl. az adatbázis-kapcsolatot - az Exim4 nem fogja figyelembe venni.&amp;lt;/small&amp;gt;&lt;br /&gt;
Ezeket jobb már most ellenőrizni :-).&lt;br /&gt;
&lt;br /&gt;
==Telepítés==&lt;br /&gt;
A komponensek telepítését az alábbi sorrendben fogjuk elvégezni:&lt;br /&gt;
* MySQL adatbázis és adatbázis-felhasználó elkészítése&lt;br /&gt;
* VExim (az Exim működését vezérlő MySQL adminisztráció webfelületen) + &amp;#039;&amp;#039;vexim-addons&amp;#039;&amp;#039; (az Exim és a VExim kapcsolatát megteremtő eszközök, valamint egyéb kiegészítők)&lt;br /&gt;
&amp;lt;small&amp;gt;Megjegyzendő, hogy a VExim semmilyen file műveletet nem végez, kizárólag a hozzá tartozó Exim router és transport MySQL-en keresztüli vezérlésével működik! Nézetem szerint ez egy igen biztonságos megközelítés.&amp;lt;/small&amp;gt;&lt;br /&gt;
* Courier IMAP, POP3 (felhasználói levélkezelés levelező klienssel)&lt;br /&gt;
* RoundCube (felhasználói levélkezelés webfelületű IMAP klienssel)&lt;br /&gt;
===VExim és &amp;#039;&amp;#039;vexim-addons&amp;#039;&amp;#039; telepítése===&lt;br /&gt;
====MySQL adatbázis elkészítése====&lt;br /&gt;
Készítsük el a MySQL adatbázist, amelynek egyetlen, az adatbázisra nézve teljes jogú felhasználója van. Az adatbázist és a felhasználót a MySQL &amp;#039;&amp;#039;root&amp;#039;&amp;#039; hozzáféréssel hozzuk létre.&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql --defaults-file=/etc/mysql/root.cnf&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; CREATE DATABASE vexim character set utf8;&lt;br /&gt;
mysql&amp;gt; GRANT ALL PRIVILEGES ON vexim.* TO &amp;#039;vexim&amp;#039;@&amp;#039;localhost&amp;#039; IDENTIFIED BY &amp;#039;PASSWORD&amp;#039;;&lt;br /&gt;
mysql&amp;gt; FLUSH PRIVILEGES;&amp;lt;/pre&amp;gt;&lt;br /&gt;
ahol a PASSWORD egy megfelelő jelszó. Relatív megjegyezhető, mégis erős jelszó a pwgen segédprogrammal is generálható, pl. a következőképpen:&lt;br /&gt;
&amp;lt;pre&amp;gt;/usr/bin/pwgen -s -n -c 12 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ellenőrizzük, hogy a felhasználó megfelelően létrejött-e:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; SELECT host, user, password FROM mysql.user;&lt;br /&gt;
+-----------+------------------+-------------------------------------------+&lt;br /&gt;
| host      | user             | password                                  |&lt;br /&gt;
+-----------+------------------+-------------------------------------------+&lt;br /&gt;
| localhost | vexim            | *A9.............censored................E |&lt;br /&gt;
[...]&lt;br /&gt;
+-----------+------------------+-------------------------------------------+&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; quit&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ezután próbáljunk a létrehozott felhasználó nevében és jelszavával belépni. Az alábbi parancsokkal ellenőrizhetjük, hogy a felhasználó jogosultságai valóban csak erre az adatbázisra terjednek ki:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -u vexim -p&lt;br /&gt;
Enter password:&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; show databases;&lt;br /&gt;
+--------------------+&lt;br /&gt;
| Database           |&lt;br /&gt;
+--------------------+&lt;br /&gt;
| information_schema |&lt;br /&gt;
| vexim              |&lt;br /&gt;
+--------------------+&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; quit&amp;lt;/pre&amp;gt;&lt;br /&gt;
A felhasználó felvételét és kipróbálását követően töröljük le a &amp;#039;&amp;#039;.mysql_history&amp;#039;&amp;#039; állományt, mert ebben a jelszó szabad szöveges formában benne van:&lt;br /&gt;
&amp;lt;pre&amp;gt;rm ~/.mysql_history&amp;lt;/pre&amp;gt;&lt;br /&gt;
Az adatbázis iniciális feltöltését a telepítő script végzi.&lt;br /&gt;
&lt;br /&gt;
====A kódkészlet telepítése====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Még alakul!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
A VExim a jelen megoldás egyetlen, nem Debian komponense. A jelen leírás készítésekor a VExim [http://code.google.com/p/vexim/ aktuális fejlesztői webhelye] még nem tartalmaz stabil verziót, így egy (a leírás készítésének idején 2014 májusi állapotú), kódbázisként használt, archivált &amp;#039;&amp;#039;vexim2 2.2&amp;#039;&amp;#039; verziót fogunk használni a saját fejlesztésű &amp;#039;&amp;#039;vexim-addons&amp;#039;&amp;#039; &amp;#039;&amp;#039;tarball&amp;#039;&amp;#039;-ban található kódkiegészítésekkel. Az egyszerűbb telepíthetőség kedvéért a &amp;#039;&amp;#039;vexim-addons&amp;#039;&amp;#039; tartalmazza a módosított és újracsomagolt VEximet, valamint egy ennek telepítésére szolgáló shell scriptet is. A &amp;#039;&amp;#039;vexim-addons&amp;#039;&amp;#039;-ban fejlesztői segítségként megtalálható az eredeti kódbázis és a változtatásokat tételesen leíró &amp;#039;&amp;#039;patch&amp;#039;&amp;#039; állomány is (ezek a telepítéshez és használathoz nem szükségesek).&lt;br /&gt;
&lt;br /&gt;
[{{SERVER}}/download/ Töltsük le] a &amp;#039;&amp;#039;vexim-addons&amp;#039;&amp;#039; legfrissebb változatát, és rendszergazdaként, a &amp;#039;&amp;#039;/usr&amp;#039;&amp;#039; írhatóan újracsatolása után, csomagoljuk ki &amp;#039;&amp;#039;/usr/local/share/vexim-addons&amp;#039;&amp;#039; könyvtárba! Ezután indítsuk el a telepítő scriptet a &lt;br /&gt;
&amp;lt;pre&amp;gt;/usr/local/share/vexim-addons/update_vexim.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
paranccsal. A telepítő script igyekszik biztonságosan dolgozni, azaz minden lényeges lépéshez engedélyt kér, meglévő telepítést, adatbázist, stb. nem ír felül, így akár többször is, biztonsággal elindítható.&lt;br /&gt;
&lt;br /&gt;
* Az elindított telepítő engedélyt kér a PHP kód kicsomagolására, és ha engedjük (&amp;#039;&amp;#039;y&amp;#039;&amp;#039;), létrehozza az alábbi könyvtárstruktúrát:&lt;br /&gt;
&amp;lt;pre&amp;gt;/usr/local/share/vexim-versions&lt;br /&gt;
                               /vexim2-X.Y-pYYYYMMDD&amp;lt;/pre&amp;gt;&lt;br /&gt;
ahol &amp;#039;&amp;#039;X.Y&amp;#039;&amp;#039; a kódbázis verziószáma, &amp;#039;&amp;#039;pYYYYMMDD&amp;#039;&amp;#039; az alkalmazott &amp;#039;&amp;#039;patch&amp;#039;&amp;#039; azonosítója. A későbbi frissítések hasonló könyvtárakba kerülnek, ezek közül az aktuálisan használt kódverziót symlinkeléssel választhatjuk ki (mivel a telepítő még fut, a symlinket egy másik ablakban, vagy később, a telepítő lefutása után készíthetjük el):&lt;br /&gt;
&amp;lt;pre&amp;gt;# Symlink az aktuális verzióra&lt;br /&gt;
ln -s vexim-versions/vexim2-vexim2-X.Y-pYYYYMMDD /usr/local/share/vexim&lt;br /&gt;
chown -h root:www-data /usr/local/share/vexim  # Csak szépség :-)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ez a symlink biztosítja, hogy esetleges frissítés után is a mindenkori webszolgáltatás kódkészlete a &amp;#039;&amp;#039;/usr/local/share/vexim&amp;#039;&amp;#039; útvonalon látsszék.&lt;br /&gt;
&lt;br /&gt;
* A PHP kód kicsomagolása után a telepítő engedélyt kér a MySQL adatbázis feltöltésére.&lt;br /&gt;
Jelenleg a telepítő ezt a lépést csak akkor tudja végrehajtani, ha a MySQL &amp;#039;&amp;#039;root&amp;#039;&amp;#039; hozzáférés a házirendünk szerinti &amp;#039;&amp;#039;/etc/mysql/root.cnf&amp;#039;&amp;#039; állománnyal biztosított és a &amp;#039;&amp;#039;vexim&amp;#039;&amp;#039; adatbázis létezik (más helyzetek kezelése: &amp;#039;&amp;#039;&amp;#039;TODO!&amp;#039;&amp;#039;&amp;#039;). Engedjük az adatbázis feltöltését (&amp;#039;&amp;#039;y&amp;#039;&amp;#039;), de a telepítő további lépéseit (Exim4 és Courier konfigurációk beállítása) most még ne futtassuk le (&amp;#039;&amp;#039;n&amp;#039;&amp;#039;).&lt;/div&gt;</summary>
		<author><name>KZoli</name></author>
	</entry>
</feed>