... h1. 5.2.12. Webszerver Talán már le se kell írnom, hogy hozzuk létre a _jail_ fájlrendszerét a leírt módon, illetve az adatok tárolásához szükséges fájlrendszert, majd belépve telepítsük fel az _apache22_ kiszolgálót, amelyet akár el is indíthatunk, hiszen nem kell semmi különös beállítás. A webszerver feladate alapvetően weboldalak kiszolgálása lesz, illetve különféle -- többnyire PHP -- alkalmazások futtatása. {note} Mivel már telepítettünk fel _Apache_ kiszolgálót [az első _jail_|FREEBSD:The first jail] fejezetben, végezzük el ismét az ott olvasható lépéseket. {note} Az _Apache_ kiszolgáló -- eléggé elitélhető módon -- nem képes Syslog használatára, ezért képes a _jail_ teljes fájlrendszerét megtölteni a növekvő logfájlokkal. A trükk egyszerűen annyi, hogy a FreeBSD alaprendszer részét képező _/usr/bin/logger_ programot használjuk fel arra, hogy az _Apache_ bejegyzéseit továbbítsa a lokális _syslog-ng2_ felé, amely persze rögtön továbbküldi a _logserver_-nek. Az elmélet gyakorlatba ültetése mindössze annyi, hogy az _Apache_ _Includes_ könyvtárába felvesszük a _logger.conf_ állományt az alábbi tartalommal: {code:title=/usr/local/etc/apache22/Includes/conf_logging.conf} ErrorLog "|/usr/bin/logger -i -p local0.error -t httpd" LogLevel warn <IfModule log_config_module> LogFormat "%h %v %l %u \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined CustomLog "|/usr/bin/logger -i -p local0.warn -t httpd" Combined </IfModule> {code} Az _Includes_ könyvtárba célszerű írnunk az összes saját módosítást, mivel ebből a könyvtárból betöltődik az összes _*.conf_ állomány, és az _Apache_ úgy tekinti, mintha ezek is a _httpd.conf_ részét képeznék. Természetesen ha a "gyári" beállítások között azonos opciót állítunk át, akkor az _Includes_ könyvtárban lévő lesz érvényes. {note} Bár még nincs itt az ideje, de célszerű felvennünk a PHP5 támogatást az webszerverünkbe, különben nem fognak működni a feltelepített PHP programok: {code:title=/usr/local/etc/apache22/Includes/mod_php5.conf} <IfModule php5_module> <IfModule mime_module> AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps </IfModule> </IfModule> {code} {note} h2. 5.2.12.1. Webes levelezés Elsőképp állítsunk be egy webes levelezőrendszert, az én kedvencem a _squirrelmail_, függőségként feltelepül a _php5_ is, amelynél válasszuk ki opcióként az _APACHE_, a _MULTIBYTE_ opciót is, mivel csak ekkor tudatosul az _apache_ kiszolgálóban, hogy van neki _php5_ modulja is. Nézzük a _squirrelmail_ beállításait: {code:title=Parancssor} [root@httpd:/usr/local/www/squirrelmail]$ cd ~ [root@httpd:~]$ cd /usr/local/www/squirrelmail/ [root@httpd:/usr/local/www/squirrelmail]$ ./configure {code} Kapunk egy menüvezérelt felületet, ahol pár dolgot be tudunk állítani: * 2. Server Settings ** 1. Domain -- mail.javaforum.hu ** 2. Invert Time -- false ** 3. Sendmail or SMTP -- SMTP ** A. Update IMAP Settings *** 4. IMAP Server -- mail.jails.javaforum.hu *** 5. IMAP Port -- 143 *** 6. Authentication type -- login *** 7. Secure IMAP (TLS) -- false *** 8. Server software -- dovecot *** 9. Delimiter -- detect ** B. Update SMTP Settings *** 4. SMTP Server -- mail.jails.javaforum.hu *** 5. SMTP Port -- 25 *** 6. POP before SMTP -- false *** 7. SMTP Authentication -- none *** 8. Secure SMTP (TLS) -- false *** 9. Header encryption key -- * 4. General Options ** 1. Data Directory -- /data/squirrelmail/pref/ ** 2. Attachment Directory -- /data/squirrelmail/attach/ * S. Save Data A többit a mentés előtt értelemszerűen ki lehet tölteni saját ízlésünk szerint, azonban ne felejtsük el létrehozni a _/data_ alá a _squirrelmail_ könyvtárat a megfelelő jogokkal: {code:title=Parancssor} [root@mail:/mails]$ mv /var/spool/squirrelmail/ /data/ {code} A levelezés eléréséhez felhasználjuk az _Apache_ virtuális hoszt képességét, amivel több domén nevet is képes kiszolgálni. Ehhez elsőképp az alábbi fájlt kell létrehoznunk: {code:title=/usr/local/etc/apache22/Includes/mod_vhost.conf} NameVirtualHost *:80 {code} Ettől az _Apache_ képes lesz több domént kiszolgálni. Vegyük fel gyorsan egy virtuális hoszt konfigurációt a _hu.javaforum.mail.conf_ állományban: {code:title=/usr/local/etc/apache22/Includes/hu.javaforum.mail.conf} <VirtualHost *:80> ServerAdmin auth.gabor@javaforum.hu DocumentRoot /usr/local/www/squirrelmail/ ServerName mail.javaforum.hu ServerAlias mail.1000birka.hu ServerAlias mail.enaplo.hu ServerAlias mail.javakocsma.hu DirectoryIndex index.php index.html index.htm <Directory /usr/local/www/squirrelmail/> Options FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost> {code} Nem túl összetett az állomány, az elején fel kell sorolnunk azokat a doméneket, amelyeket ki akarunk szolgálni, megadjuk a weboldalak gyökerét, amely a _squirrelmail_ könyvtára, illetve elérési jogot adunk erre a könyvtárra. Az _Apache_ újratöltése után már el kell érnünk a levelezőprogram webes felületét. Ezek után egyszerűen navigáljunk el a _mail.javaforum.hu_ címre és nézzük meg mit dolgoztunk. h2. 5.2.12.2. Proxy Ha csak egy IP címünk van, akkor gondot okozhat több webkiszolgáló üzemeltetése, gondoljunk csak arra, hogy van már egy _Apache_ kiszolgáló a *mailman* és a *munin* _jail_-ben, amelyekhez vagy kérünk publikus IP címet, vagy az _ipnat_ használatávan más portról irányítjuk át a kéréseket, vagy használjuk az _Apache_ *mod_proxy* tudását. Gyakorlatilag az alábbi konfigurációs fájlt kell használnunk: {code:title=/usr/local/etc/apache22/Includes/hu.javaforum.lists.conf} <VirtualHost *:80> ServerAdmin auth.gabor@javaforum.hu DocumentRoot /usr/local/www/apache22/data/ ServerName lists.javaforum.hu DirectoryIndex index.php index.html index.htm <Location /> ProxyPass http://mailman.jails.javaforum.hu:80/ ProxyPassReverse http://mailman.jails.javaforum.hu:80/ </Location> ProxyVia Off ProxyPreserveHost On </VirtualHost> {code} A _lists.javaforum.hu_ doménre érkező kéréseket továbbítjuk a *mailman* _jail_ felé. h2. 5.2.12.3. Biztonságos kapcsolat ...
|