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.
Mivel már telepítettünk fel Apache kiszolgálót az első jail posztban, végezzük el ismét az ott olvasható lépéseket.
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:
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>
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.
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:
<IfModule php5_module>
<IfModule mime_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>
</IfModule>
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:
[root@httpd:/usr/local/www/squirrelmail]$ cd ~
[root@httpd:~]$ cd /usr/local/www/squirrelmail/
[root@httpd:/usr/local/www/squirrelmail]$ ./configure
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:
[root@mail:/mails]$ mv /var/spool/squirrelmail/ /data/
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:
<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>
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.
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:
<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>
A lists.javaforum.hu doménre érkező kéréseket továbbítjuk a mailman jail felé.