phar0z zijn blog
My blog
04-07-2007
Klik hier om een link te hebben waarmee u dit artikel later terug kunt lezen.Ubuntu Linux + Apache2 + Virtual Host + Syslog Server
Ubuntu Linux + Apache2 + Virtual Hosts + Syslog Server

Stappen

1)Apache2 installeren en de ports aanpassen
2)Virtual Hosts voorbeeld
3)Syslog server aan de hand van php en Virtual Hosts
4)Ik alleen wil die logs zien !! (gebruikmakend van .htaccess)

Lokaal statisch ip adres

Stel dat eth0 je interface is en 192.168.0.102 willen we als lokaal statisch ip  dan zetten we in /etc/network/interfaces

auto eth0
iface eth0 inet static
address 192.168.0.102
netmask 255.255.255.0
gateway 192.168.0.1
broadcast 192.168.0.255

Syslog het nodige vertellen

mkdir /logs     (we maken een aparte directory voor de logs)

Bewerk /etc/syslog.conf en voeg onderstaande toe als je echt alles wilt loggen voeg je volgende toe en sla je op

*.* /logs/logger.log            

Het kan ook dat je bv. enkel bepaalde dingen wilt loggen, hier de lijst:

auth - authentication (login) messages
cron - messages from the memory-resident scheduler
daemon - messages from resident daemons
kern - kernel messages
lpr - printer messages (used by JetDirect cards)
mail - messages from Sendmail
user - messages from user-initiated processes/apps
local0-local7 - user-defined (see below)
syslog - messages from the syslog process itself

0 - Emergency (emerg)
1 - Alerts (alert)
2 - Critical (crit)
3 - Errors (err)
4 - Warnings (warn)
5 - Notification (notice)
6 - Information (info)
7 - Debug (debug)

Wil je bv. alles loggen van auth, cron, errors van lpr en enkel warnings van syslog dan moet je volgende toevoegen aan /etc/syslog.conf:

auth.*              /logs/logger.log
cron.*         /logs/logger.log
kern.*         /logs/logger.log
lpr.3                /logs/logger.log
syslog.4          /logs/logger.log

Bewerk nu /etc/init.d/ksyslogd met je favoriete editor en do ehet volgende

SYSLOGD=””                                          wordt vervangen door:
SYSLOGD=”-r -m0”                                   (en sla op)


restart networking service opnieuw: /etc/init.d/networking restart

Installeer Apache en andere benodigdheden:

apt-get install apache2 php5 libapache2-mod-php5 mysql-server mysql-client php5-mysql


Doe cat /etc/hostname, en de naam die je hier ziet je je lokaal statisch ip adres  zet je in /etc/hosts, dus:

/etc/hosts:
192.168.0.102 mijnhostname

We gaan op Port 8070 hosten, want sommige ISP's blokkeren de poorten beneden 1024

/etc/apache2/ports.conf

Listen 8070                 

Als je achter een NAT zit, zet dan natuurlijk de poorten open in je router.

We gaan nu onze virtual hosts installeren, ga in /etc/apache2/sites-available
cd /etc/apache2/sites-available
Maak er mijnnaam.homelinux.com aan:

touch mijnnaam.homelinux.com

Bewerkt het en plaats er volgende:


<Virtual Host *:8070>
<VirtualHost *:8070>
        ServerAdmin jij@gmail.com
        ServerName mijnnaam.homelinux.com
        ServerAlias mijnnaam.homelinux.com
DirectoryIndex index.php
DocumentRoot /logs
</VirtualHost>

Ok, nu gaan we naar etc/apache2/sites-enabled

cd /etc/apache2/sites-enabled
ln -s /etc/apache2/sites-available/mijnnaam.homelinux.com mijnnaam.homelinux.com

Ok, nu gaan we in logs en plaatsen we er een index.php met volgende inhoud

cd /logs
touch index.php
nano index.php

<html>
<head>
<title>mijnaam.homelinux.com</title>
</head>
<body>
<center><h2>mijn syslog server</h2></center>
<?php
$FileHandle = fopen("logger.log", "r") or die("<font color="#ff0000"><b>Fout bij inlezen van het logbestand :(</b></font>");
while (!feof($FileHandle))
echo fgets($FileHandle) . "<br />";
fclose($FileHandle);
?>
</body>
</html>

Restart apache: /etc/init.d/apache2 force-reload


Ok, surf naar www.dyndns.com en www.whatsmyip.org (onthoud je ip)
En bij dyndns registreer je je, je logt in, je klikt op DNS services -> dynamic DNS -> Add Host ... en je registreert gratis mijnnaam.homelinux.com en bij ip zet je natuurlijk je remote ip (wat je zag bij whatsmyip.org)

Als je nu surft naar mijnnaam.homelinux.com/:8070 zal je je syslogs zien

4)Ik alleen wil mijn syslogs zien!!! (.htacces))

We gaan ervoor zorgen dat je een paswoord moet opgeven om de logs te bekijken, dit regelen we met .htaccess


cd /logs
touch .htaccess
nano .htaccess


AuthUserFile /root/.htpasswd
AuthName 'Beperkte toegang hier'
AuthType basic
require valid-user

cd /root
htpasswd -c .htpasswd webmaster

Nu passen we /etc/apache2/sites-available/default aan:

DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>

        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
                # Uncomment this directive is you want to see apache2's
                # default start page (in /apache2-default) when you go to /
                #RedirectMatch ^/$ /apache2-default/
        </Directory>

Deze AllowOverride all vertelt apache rekening te houden met een .htaccess bestand

Restart opnieuw apache: /etc/init.d/apache2 force-reload

Surf naar je site, en je zal een paswoord moeten opgeven dat ge hebt gespecifcieerd.

Conclusie

Via Virtual Host op apache kan je dus meerdere websites hosten op één machine.

Door: phar0z   mansondudeNOSPAM@gmail.com

Shouts profox & aboutdebian.com

04-07-2007 om 21:19 geschreven door phar0z  

0 1 2 3 4 5 - Gemiddelde waardering: 3/5 - (6 Stemmen)


Beoordeel dit blog
  Zeer goed
  Goed
  Voldoende
  Nog wat bijwerken
  Nog veel werk aan
 

Archief per maand
  • 07-2007

    Gastenboek
  • veel blogplezier

    Druk oponderstaande knop om een berichtje achter te laten in mijn gastenboek


    Inhoud blog
  • Redenen voor Vlaamse onafhankelijkheid!
  • Postfix mailserver opgezet
  • Ubuntu Linux + Apache2 + Virtual Host + Syslog Server


    Blog tegen de wet? Klik hier.
    Gratis blog op https://www.bloggen.be - Meer blogs