Ramaze # Ένα μινιμαλιστικό ruby web framework

Posted by superuser Tue, 09 Dec 2008 20:27:00 GMT

Το Ramaze είναι μια απλή αλλά ολοκληρωμένη πλατφόρμα ανάπτυξης εφαρμογών web βασισμένο στη γλώσσα προγραμματισμού ruby. Είναι βαθιά επηρεασμένο από το Nitro του Γιώργου Μοσχοβίτη - ίσως τη δεύτερη διασημότερη πλατφόρμα μετά το rails. Μοιάζει πιο πολύ με ένα καθαρό πρόγραμμα γραμμένο σε ruby. Αν θέλετε να φτιάξετε σε ένα λεπτό την πρώτη σας σελίδα web τότε ακολουθήστε τα παρακάτω βήματα

Εγκατάσταση Ramaze (μέσω gems). Εξαρτάται μόνο από το rack (και από το win32-console στα windows)

gem install ramaze

ή
gem install manveru-ramaze --source=http://gems.github.com/

Δημιουργήστε ένα αρχείο κειμένου με τον ακόλουθο κώδικα και σώστε το πρόγραμμα με όποιο όνομα θέλετε (πιθανώς με επέκταση .rb) και εκτελέστε το.

require 'rubygems'
require 'ramaze'

class MainController < Ramaze::Controller

def index
"Γειά σου κόσμε. Αυτή είναι η πρώτη μου σελίδα!"
end
end

Ramaze.start

Μόλις δημιουργήσατε την πρώτη σελίδα σας στο Web! Ανοίξτε τον browser σας στην http://127.0.0.1:7000 για να δείτε το αποτέλεσμα.

Το ramaze υποστηρίζει πλήρως το μοντέλο ανάπτυξης MVC (Model - View - Controller). Ωστόσο η ιδέα παρουσίασης μιας ολόκληρης εφαρμογής σαν ένα μονοκόμματο πρόγραμμα ruby είναι πολύ χρήσιμη για να γίνει αντιληπτό πως τα συστατικά που αποτελούν το MVC fraamework δεν είναι τίποτε άλλο από κομμάτια ενός πάζλ που συνθέτουν ένα πρόγραμμα ruby.

Posted in  | Tags , , ,  | no comments

Αναβάθμιση 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