Αναβάθμιση Web Server [Backup & Αναβάθμιση Apache / Zope]

Posted by superuser Sat, 12 Jan 2008 15:45:00 GMT

Backup & Αναβάθμιση Apache / Zope

Μετά από μια μακρά περίοδο - 294 μέρες - σταθερότητος του VPS σέρβερ μου αποφάσισα να κάνω μια ριζική αναβάθμιση στο σύστημα ώστε να συμβαδίζει με το σύστημα των Ports του FreeBSD, και να χρησιμοποιεί ασφαλέστερες εκδόσεις για τα προγράμματα μου. Το σύστημα VPS τρέχει FreeBSD 6.1 και το χρησιμοποιώ κυρίως για φιλοξενία ιστοσελίδων με εξυπηρετητές Apache και Zope.

Καταρχήν έκανα το απαραίτητο backup των σημαντικών αρχείων.

  • Για τον Apache αποθήκευσα το αρχείο ρύθμισης (/usr/local/etc/apache/httpd.conf) που περιέχει όλες τις ρυθμίσεις απόκρισης του σέρβερ καθώς και του Virtual Hosting, και όλους τους υποκαταλόγους του /usr/local/www που περιλαμβάνει τα περιεχόμενα όλων των ιστοσελίδων που εξυπηρετεί ο Apache.Το backup είναι απαραίτητο σε κάθε περίπτωση. Αν κάτι δεν πάει καλά, πριν πάθετε το εγκεφαλικό μπορείτε να καθησυχάσετε τον εαυτό σας πως δεν χάθηκε τίποτε! Στην περίπτωση του Apache στόχος μου ήταν να περάσω από την έκδοση 1.3.36 στην τελευταία έκδοση 1.3.39_2
  • Το Zope φυλάει τα αρχεία των σελίδων σε ένα εκτελέσιμο αρχείο ονόματι Data.fs. Θέλει ιδιαίτερη προσοχή ο τρόπος που θα αντιγράφετε αυτό το αρχείο. Καλό είναι να το αντιγράψετε και με τον σέρβερ σε λειτουργία, αλλά και σταματημένο για παν ενδεχόμενο. Επιπλέον, για κάθε Instance του Zope αποθηκεύω τους καταλόγους var,log, etcκαι τον κατάλογο των Products(περιέχει το CoreBlog και μερικές διορθώσεις σφαλμάτων του συστήματος). Στην προκειμένη περίπτωση η αναβάθμιση αφορούσε το πέρασμα από την έκδοση 2.8.6, στην τελευταία έκδοση του κορμού, την 2.8.9.1

Αναβάθμισα τώρα την συλλογή των Ports του FreeBSD με την τελευταία έκδοση χρησιμοποιώντας cvsup. Προτιμώ να χρησιμοποιώ την έκδοση current και όχι την τελευταία stable, αυτό μπορείτε να το ελέγξετε από το ports-supfile που θα δημιουργήσετε. Η αναβάθμιση της συλλογής των Ports έγινε με επιτυχία. Πριν αναβαθμίσω σταματάω χειροκίνητα τον Apache και το Zope.

Για την αναβάθμιση των πακέτων στο FreeBSD χρησιμοποιώ το portmanager. Μου αρέσει ο τρόπος με τον οποίο αναβαθμίζει τα πακέτα. Κάνει backup την παλαιά έκδοση, σε περίπτωση που η νέα εγκατάσταση αποτύχει, ξεκινάει την μεταγλώττιση της νέας έκδοσης και εγκαθιστά/αναβαθμίζει όσα άλλα πακέτα ή βιβλιοθήκες εξαρτώνται απ'αυτό. Αν κάτι πάει στραβά, επαναφέρει την παλαιά έκδοση. Πριν ξεκινήσω όμως να το χρησιμοποιώ, παρατήρησα αλλαγή στην δομή των καταλόγων στις πόρτες του FreeBSD. Το μήνυμα λάθους στην πρώτη προσπάθεια μου να αναβαθμίσω ήταν χαρακτηριστικό:

On FreeBSD before 6.2 ports system unfortunately 
can not set default X11BASE by itself so please help 
it a bit by setting X11BASE=${LOCALBASE} in make.conf.
On the other hand, if you do wish to use non-default X11BASE, 
please set variable USE_NONDEFAULT_X11BASE.
*** Error code 1
Πρόσθεσα στο αρχείο /etc/make.conf την γραμμή:
X11BASE=${LOCALBASE}
και το πρόβλημα λύθηκε.

Τώρα είμαι έτοιμος για την αναβάθμιση του Apache.Η νέα έκδοση είναι η 1.3.39_2 , και για την εγακατάσταση προϋποθέτει και αναβάθμιση των πακέτων expat και perl. Όπως είπα και παραπάνω χρ5ησιμοποιώ portmanager, επομένως περιμένω να ενεργήσει από μόνο του για τις ενημερώσεις όλων των εξαρτούμενων πακέτων. Δίνω λοιπόν:

portmanager www/apache13
Με την ολοκλήρωση των αναγκαίων μεταγλωττίσεων και κατασκευών και εγκαταστάσεων σε λιγότερο από μισή ώρα είχα εγκατεστημένη είχα αναβαθμίσει στην τελευταία έκδοση. Το αρχείο httpd.conf βρισκόταν ανέγγιχτο στην θέση του, και η εκκίνηση του httpd έδειξε πως όλα ήταν εντάξει.

Για το Zope 2.8 ακολούθησα την ίδια πρακτική:

portmanager www/zope28
Εδώ δεν ήμουν το ίδιο τυχερός. Καταρχήν άλλαξε ο προεπιλεγμένος κατάλογος των Products:
The default installation directory for 
Zope Products has changed from 
/usr/local/www/zope28/lib/python/Products 
to /usr/local/www/zope28/Products.
Η λύση σε αυτό το πρόβλημα δώθηκε εύκολα προσθέτοντας στον τομέα "Products" του αρχείου ρυθμίσεων zope.conf:
products /usr/local/www/zope28/Products
products $INSTANCE/Products
Ωστόσο ο Zope Server δεν ξεκινούσε. Τα αρχεία - που είχαμε κάνει backup - βρίσκονταν στην θέση τους, επομένως κάτι άλλο συνέβαινε. Ξεκίνησα το Zope με αναφορά σφάλματος, και πια φανερό. Κατά την αναβάθμιση τα αρχεία των καταλόγων var και log είχαν χάσει τις άδειες εγγραφής:
$ cd ./INSTANCE/var
$ ls -l 
total 64924
-r--r--r--  1 W_user  wheel  64502610 Jan 10 14:10 Data.fs
-r--r--r--  1 W_user  wheel     33103 Jan 19  2007 Data.fs.index
-r--r--r--  1 W_user  wheel         6 Oct 31 20:15 Data.fs.lock
-r--r--r--  1 W_user  wheel   1857299 Jan 10 14:10 Data.fs.tmp


$ cd ./INSTANCE/log
$ ls -l
total 85026
-r--r--r--  1 W_user  W_user        57 Jan 10 15:37 README.txt
-r-r--r--  1 W_user  W_user  86712990 Jan 10 15:38 Z2.log
-r-r--r--  1 W_user  W_user    250011 Jan 10 15:37 event.log
Τελικά δεν ήταν τόσο τραγικό.Πρόσθεσα άδειες εγγραφής χρήστη (π.χ. για το κύριο αρχείο δεδομένων του Zope):
chmod a+w Data.fs
και όλα επιστρέψαν λειτουργικά όπως πρώτα.Τα αρχεία backup του Zope δεν χρησίμευσαν εκτός του ότι έπρεπε να αντιγράψω τις άδειες των αρχείων που επλήγησαν.

Καλές Αναβαθμίσεις στα Συστήματα σας

----------------------------
Comments:

Re: Αναβάθμιση Web Server [Backup & Αναβάθμιση Apache / Zope] Από που έχεις αγοράσει το VPS σου; Είχα ψάξει παλιότερα (πρόχειρα όμως), και το μόνο που έβρισκα ήταν κάτι απαρχαιωμένα με 4.x. Καταχωρήθηκε από: streamkid at January 19,2008 15:09

Re: Αναβάθμιση Web Server [Backup & Αναβάθμιση Apache / Zope] WWW.JOHNCOMPANIES.COM.Υπάρχει κάποια έκπτωση στην τιμή αν είσαι developer ή αν ασχολείσαι με κάποιο project ανοιχτού λογισμικού. Επίσης υπάρχει και το HIGHSPEEDRAILS. Είχα παλαιότερα εκεί τον σέρβερ (παλαιότερα ονομαζόταν Zettai.Net). Και στις 2 περιπτώσεις οι σέρβερ είναι αξιόπιστοι και έχουν πολύ καλή υποστήριξη. Είναι στην Αμερική - έχουν σχετικά καλό ping για τις δικές μου ανάγκες, και κυρίως χαμηλές τιμές (τώρα που το δολλάριο έχει πέσει αισθητά). Αν θες κάτι στην Ευρώπη, η πιο προσιτή λύση - για FreeBSD - είναι στην Ολλανδία LEASEWEB. Δεν προσφέρουν VPS, αλλά πραγματικό σέρβερ με τιμή 59,00 Ευρώ. Αν και πάς σε άλλη κατηγορία, αν έχεις ένα καλό project ή έχεις ώρα να αφιερώσεις, νομίζω πως μπορείς εύκολα να αποσβέσεις το ποσό. Καταχωρήθηκε από: superuser at January 19,2008 22:58

Re: Αναβάθμιση Web Server [Backup & Αναβάθμιση Apache / Zope] Απ' όλες τις προτάσεις σου, η πιο ενδιαφέρουσα είναι η τελευταία. Είναι εξακριβωμένη εταιρεία; Μου φαίνεται πολύ παράξενο να δίνουν κανονικό server με τέτοια specs για 60 ευρώ. Καταχωρήθηκε από: streamkid at February 03,2008 13:50

Re: Αναβάθμιση Web Server [Backup & Αναβάθμιση Apache / Zope] Εξακριβωμένη; Είναι μια μεγάλου μεγέθους εταιρεία στην Ολλανδία, και νομίζω πως και για αυτό το λόγο καταφέρνει και κάνει αυτές τις τιμές. Δεν έχω διαβάσει κάτι αρνητικό. Καταχωρήθηκε από: superuser at February 06,2008 11:27

Re: Αναβάθμιση Web Server [Backup & Αναβάθμιση Apache / Zope] Δεν δουλεύει το παραπάνω λινκ για την LeaseWeb, προφανώς γιατί σταμάτησαν να προσφέρουν σέρβερ FreeBSD. Απλά να προσθέσω πως μια ακόμη καλή περίπτωση για VPS είναι η RootBSD. Έχει τους εκπληκτικούς χρόνους ping για αμερικάνικο πάροχο, πολύ καλά χαρακτηριστικά και κοστίζει λιγότερο από την "JohnCompanies", δέχεται μηνιαία συνδρομή με Paypal και έχει δικό του cpanel που επιτρέπει reboot. Ήδη το site έχει βάλει πλώρη προς North Carolina (εκεί εδρεύει). Καταχωρήθηκε από: superuser at March 23,2008 14:08

Posted in  | Tags , , , , ,  | no comments

Zope με Web Server Apache (Virtual Host Monster και Rewrite Rules)

Posted by superuser Tue, 13 Mar 2007 21:46:00 GMT

Ο 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. Τελικά είναι πιο απλό απ'ότι νομίζατε;

Posted in  | Tags , , , , , , , , ,  | no comments

Βασικές ρυθμίσεις Apache 1.3.X

Posted by superuser Sun, 11 Mar 2007 22:06:00 GMT

O Απάτσι 1.3.Χ βρίσκεται στις πόρτες της FreeBSD (/usr/ports/www/apache13). Μετά την εγκατάσταση θα πρέπει να κάνετε τις απαραίτητες ρυθμίσεις στο αρχείο ρυθμίσεων (/usr/local/etc/apache/httpd.conf) του σέρβερ. Μπορείτε να τρέξετε με τα defaults, απλά διορθώστε τα ακόλουθα:

ServerAdmin      you@your.address 
ServerName www.example.com
DocumentRoot "/usr/local/www/data"

Για να ξεκινήσετε τον σέρβερ:

# /usr/local/sbin/apachectl start

Για να σταματήσετε τον σέρβερ:

# /usr/local/sbin/apachectl stop

Για να επανακινήσετε τον σέρβερ μετά από αλλαγές στο httpd.conf:

# /usr/local/sbin/apachectl restart

Για ομαλή επανακίνηση:

 # /usr/local/sbin/apachectl graceful 

Virtual Hosting: Μια απ'τις πιο συνήθης λειτουργίες ενός server είναι η ταυτόχρονη εξυπηρέτηση διαφόρων sites από τον ίδιο σέρβερ (και με την ίδια IP διεύθυνση). Το κάθε site θα έχει τον δικό του φάκελο δεδομένων και απλά ο apache μέσω των ρυθμίσεων του httpd.conf θα οδηγεί τον επισκέπτη του site στον κατάλληλο φάκελο. Στο τελευταίο τμήμα του httpd.conf θα βρείτε:

NameVirtualHost * 
ServerName www.proto.gr
DocumentRoot /www/proto-data


ServerName www.deytero.gr
DocumentRoot /www/deytero-data
 

Με την ίδια λογική μπορείτε να θέσετε ιδιαίτερο φάκελο δεδομένων html για μια διεύθυνση τρίτου επιπέδου. Δηλαδή αν π.χ. έχετε το domain name www.site.gr και θέλετε να δημιουργήσετε την υποδιεύθυνση allo.site.gr τότε:

NameVirtualHost * 
ServerName www.site.gr
DocumentRoot /www/site-data


ServerName allo.site.gr
DocumentRoot /www/allou

_________________________________________________
"And near the end, the love you take is equal to the love you made" The Beatles

Posted in  | Tags , , , , ,  | no comments