Apache logoSigurno ste se do sad susretali sa web adresama tipa http://www.domena.hr/~imekorisnika/. To je standardna adresa za web prostor svakog korisnika na nekom web serveru. Svaka takva adresa ima DocumentRoot u direktoriju /home/<imekorisnika>/public_html. To je defaultna postavka Apache web servera.

No, mogli ste se susresti i sa puno “ljepšim” adresama tipa http://imekorisnika.domena.hr. Do takvog oblika web adrese vrlo je lako doći koristeći mod_rewrite modul Apache web servera.

Otvorite datoteku /etc/apache2/httpd.conf (ili /etc/apache2/apache2.conf) u nekom editoru teksta (ja ću, kao i uvijek do sad koristiti vim).

vim /etc/apache2/httpd.conf

U nju upišite slijedeće:

<VirtualHost 192.168.1.1:80>
    ServerName korisnici.domena.hr
    ServerAlias *.domena.hr
    DocumentRoot /var/www/korisnici/

    UseCanonicalName Off

    RewriteEngine on

    RewriteCond %{HTTP_host} ^([a-z0-9][-a-z0-9]+)\.domena\.hr\.?(:80)?$ [NC]
    RewriteCond /home/%1/public_html -d
    RewriteRule ^(.*) /home/%1/public_html/$1 [L]
</VirtualHost>

U prvoj liniji umjesto IP adrese 192.168.1.1 stavite IP adresu vašeg servera. Svugdje gdje piše domena.hr promijenite u vlastitu domenu i restartajte Apache.

/etc/init.d/apache2 restart

Ako na serveru imate nekog korisnika (ovo ne vrijedi za root korisnika), u njegovom home direktoriju kreirajte direktorij naziva public_html. Otvorite Internet preglednik i upišite http://imekorisnika.domena.hr i trebali biste vidjeti korisnikov web prostor.

U slučaju da prilikom restarta Apache servera dobijete grešku o liniji RewriteEngine on, vjerojatno nemate instaliran modul mod_rewrite. Upišite slijedeće:

a2enmod rewrite

Nakon toga ponovno napravite restart Apache servera i sve bi trebalo raditi kako treba.