Zope με Web Server Apache (Virtual Host Monster και Rewrite Rules)
Posted by superuser
Ο Zope είναι ένας ευέλικτος web server που προσφέρει πολλές δυνατότητες αλλά τρέχει default στην πόρτα 8080 (και όχι στην 80). Σε αυτήν την ενότητα θέλουμε να δώσουμε οδηγίες ώστε να εγκαταστήσετε παράλληλα στον ήδη εγκαταστημένο Apache και το Zope. Με αυτό τον τρόπο θα έχετε την δυνατότητα και να χρησιμοποιείτε τον Apache (να έχετε sites που θα τρέχουν apache) και websites σε Zope.
Η όλη ιδέα είναι πως πρέπει να δρομολογούνται οι URL εισόδου από τον Apache (στην πόρτα 80) προς το Zope (στην πόρτα 8080). Το mod_rewrite επιτρέπει ακριβώς αυτήν την δρομολόγηση και πρέπει να ελέγξετε πως είναι ενεργοποιημένο στον apache web server σας πριν συνεχίσετε (ελέγχοντας το httpd.conf).
Στο /etc/hosts θα πρέπει να αναφέρεται:
127.0.0.1 www.site-moy.gr
Επομένως όταν υπάρχει μια ζήτηση για το hostname μας, αυτή θα οδηγηθεί τοπικά στον ίδιο σέρβερ.
Πηγαίντε στο root του Zope. Δηλαδή από τον web browser σας δώστε http://thn-ip-sas:8080/manage. Στο root folder από την λίστα προσθέστε το στοιχείο Virtual Host Monster. Χρειάζεται μόνο ένα και δεν χρειάζεται να γράψετε τίποτε στο Mappings Tab.
Επιστρέφουμε στον apache. Στο httpd.conf θα θέσω το Rewrite Rule. Προσοχή: Το site μας στο παράδειγμα είναι www.site-moy.gr και θέλω ο φάκελος δεδομένων στον οποίο θέλω να αναφέρεται το συγκεκριμένο site να λέγεται fakelos-moy. Επομένως αν έχετε εγκαταστήσει το Zope στο /usr/local/www/Zope τότε θα πρέπει να έχετε δημιουργήσει φάκελο με όνομα fakelos-moy (/usr/local/www/Zope/fakelos-moy). Τώρα αρκεί να θέσουμε σωστά το VirtualHost στο httpd.conf:
( VirtualHost * )
ServerName www.site-moy.gr
RewriteEngine On
RewriteRule ^/(.*) http://127.0.0.1:8080/VirtualHostBase/http/www.site-moy.gr:80/fakelos-moy/VirtualHostRoot/$1 [L,P]
( /VirtualHost )
Αυτό ήταν. Κάθε επισκέπτης του site σας (σαν default στην πόρτα 80) θα οδηγείτε στην πόρτα 8080 του Zope. Τελικά είναι πιο απλό απ'ότι νομίζατε;





