Skip to end of metadata
Go to start of metadata

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.

Mivel már telepítettünk fel Apache kiszolgálót az első jail fejezetben, 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:

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

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:

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

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:

Parancssor
[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:

Parancssor
[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:

/usr/local/etc/apache22/Includes/mod_vhost.conf
NameVirtualHost *:80

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:

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

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:

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

A lists.javaforum.hu doménre érkező kéréseket továbbítjuk a mailman jail felé.

Biztonságos kapcsolat

...

      
      
Page viewed times
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels