View source for modchroot

{{anchor href="top"}}
Hits :  **{{hits}}**

== mod_chroot ==

{{ToC from="h2" to="h3"}}

=== Apache Module : mod_chroot ===

mod_chroot makes running Apache in a secure chroot environment easy.

mod_chroot allows you to run Apache in a chroot jail with no additional files. 
The chroot() system call is performed at the end of startup procedure - 
when all libraries are loaded and log files open.

((#top))
-----------

=== Download ===

Η τελευταία έκδοση του μπορεί να βρεθεί στο 

http://core.segfault.pl/~hobbit/mod_chroot/

http://core.segfault.pl/~hobbit/mod_chroot/dist/mod_chroot-0.5.tar.gz

((#top))
-----------

=== Εγκατάσταση ===

Η εγκατάσταση

%%(html)
tar zxvf mod_chroot-0.5.tar.gz
cd mod_chroot-0.5

apxs -cia mod_chroot.c

%%

Για να δούμε εάν ολοκληρώθηκε η εγκατάστασή μας τρέχουμε,
αλλά και για να δούμε τι modules τρέχουμε πληκτρολογούμε:

%%(html)
httpd -M
%%

πρέπει να δούμε κάτι τέτοιο:

%%(html)
chroot_module (shared)
%%

((#top))
-----------

=== Ρυθμίσεις ===

Το μόνο που χρειάζεται είναι να προσθέσουμε την εξής γραμμή στο **httpd.conf**

%%(html)
ChrootDir /opt/www
%%

Στην συνέχεια χρειάζεται να αλλάξουμε το **Document Root** σε "/":

%%(html)
DocumentRoot "/"
%%

==== ΣΗΜΑΝΤΙΚΗ ΠΑΡΑΤΗΡΗΣΗ ====

Για να ολοκληρώσουμε την ρύθμισή μας χρειάζεται να ορίσουμε σωστά το αρχείο Pid File 
του apache. Στο συγκεκριμένο παράδειγμά μας και επειδή έχουμε εγκαταστήσει τον
web server μας στον κατάλογο: /opt/apache, το αρχείο Pid File βρίσκεται στην διαδρομή:

%%(html)
/opt/apache/logs/httpd.pid
%%

Έτσι για να μπορούμε να κάνουμε restart ή graceful τον apache μας χρειάζεται στην νέα
ρίζα που δημιουργήσαμε με το Chroot Dir να δημιουργήσουμε την ίδια διαδρομή:

%%(html)
mkdir -p /opt/www/opt/apache/logs/
%%

και τέλος να δημιουργήσουμε ένα νέο σύνδεσμο από τον παλιό κατάλογο του apache 
στον καινούριο.

%%(html)
ln -s /opt/www/opt/apache/logs/httpd.pid opt/apache/logs/httpd.pid 
%%

((#top))
-----------

=== Restart ή Graceful === 

Πλέον είμαστε σε θέση να επανεκκινήσουμε ή να επαναφορτώσουμε τις νέες μας 
ρυθμίσεις. Πληκτρολογούμε:

%%(html)
httpd -k restart
ή 
httpd -k graceful
%%

((#top))
-----------

=== Virtual Hosts ===

Δεν ξεχνάμε ότι πλέον όλα τα virtual hosts μας πρέπει να έχουν ως 
document root το **/**.

¶ρα εάν έχουμε ένα virtual host με πραγματικό κατάλογο:

%%(html)
DocumentRoot /opt/www/ebalaskas.gr
%%

τώρα θα γίνει απλά:

%%(html)
DocumentRoot ebalaskas.gr
%%

((#top))
-----------