Mar 13, 2009

Δημιουργώντας ένα περιβάλλον ανάπτυξης (development environment) χρησιμοποιώντας το Slackware, Weblogic και Oracle στο VirtualBox

Τον τελευταίο καιρό ασχολούμαι εντατικά με τον Weblogic οπότε δεν άργησε να προκύψει η ανάγκη για πειραματισμό σε μια πιο περίπλοκη σύνθεση που περιλαμβάνει πολλαπλές μηχανές και Weblogic clusters. Ένα τέτοιο εγχείρημα είναι πια εφικτό επενδύοντας σε τεχνολογίες virtualization, όπως αυτές που προσφέρει το VirtualBox (http://www.virtualbox.org) Aπό την άποψη του λειτουργικού συστήματος, θέλησα να χρησιμοποιήσω μια διανομή ελαφριά και ευέλικτη. Μια θαυμάσια ευκαιρία προέκυψε με το τελευταίο τεύχος της ελληνικής έκδοσης του Linux Format (http://www.linuxformat.gr) που ανάμεσα στα άλλα περιελάμβανε το πιο πρόσφατο Slackware 12.2 (http://www.slackware.com/), μια διανομή λιτή και σταθερή, που προσφέρει τα απαραίτητα για ένα σταθερό προγραμματιστικό περιβάλλον. Συνεπώς, το στήσιμο δυο μηχανών περιελάμβανε τα εξής συστατικά στοιχεία:
Ως προς τα πρώτα δυο βήματα, η εγκατάσταση μιας εικονικής μηχανής σε Slackware δεν αντιμετωπίζει καμία ιδιαιτερότητα. Μια τυπική περίπτωση, δίχως περιττά προγράμματα, θα καταλάβει 4GB στο δίσκο μας. Αφότου τελειώσει η εγκατάσταση, θα κάνουμε ένα reboot στο virtual machine μας και θα ξεκινήσει το σύστημα. Το Slackware χρησιμοποιεί απλούς window managers (όπως για παράδειγμα το Χfce) οπότε μας αποδεσμεύει ακόμα περισσότερο χώρο στη μνήμη, ενώ ξεκινούν αυτόματα οι απόλυτα απαραίτητες υπηρεσίες (services)



Η εγκατάσταση της Oracle ΧΕ στο Slackware χρειάστηκε μερικές επεμβάσεις. Πρώτα από όλα δημιουργούμε τον χρήστη oracle και του αναθέτουμε τα groups dba και oinstall όπως άλλωστε και σε οποιαδήποτε άλλη εγκατάσταση της Oracle. Έπειτα, η διανομή της XE γίνεται είτε σε μορφή rpm είτε σε μορφή deb. Για την πρώτη κατηγορία, το Slackware περιλαμβάνει το εργαλείο rpm2tgz που μετατρέπει σε μορφή tgz (tar.gz) το rpm μας και εμείς αναλαμβάνουμε να επιλύσουμε τυχόν εξαρτήσεις (dependencies) Ευτυχώς η Oracle ΧΕ δεν έχει εξαρτήσεις με άλλα πακέτα και αφότου τρέξουμε το rpm2tgz, μπορούμε να αποσυμπιέσουμε το λογισμικό της XE σε ένα directory της επιλογής (πχ /opt/oraclexe) μας ως εξής:

installpkg -root /opt/oraclexe oracle-xe-univ-10.2.0.1-1.0.i386.tgz

Έτσι στον δεδομένο κατάλογο θα δημιουργηθούν ένας υποκατάλογος usr/lib/xe που επί της ουσίας περιλαμβάνει το λογισμικό της XE, και άλλος ένας, ο etc που περιλαμβάνει το script εγκατάστασης ονόματι oracle-xe. Προτού το εκτελέσουμε, θα χρειαστεί να επέμβουμε στα αρχεία init.ora και initXETemp.ora που βρίσκονται στον κατάλογο usr/lib/xe/app/oracle/product/10.2.0/server/config/scripts και να αντικαταστήσουμε τις μεταβλητές:

sga_target=%sga_target%
pga_aggregate_target=%pga_aggregate_target%


με πραγματικές τιμές. Ενδεικτικά:
sga_target=150m
pga_aggregate_target=40m

Ας αναθέσουμε τώρα στον χρήστη oracle την ιδιοκτησία του καταλόγου της XE:
chown -R oracle.dba /opt/oraclexe/usr/lib/xe

και τρέχοντας ως root την εντολή
etc/oracle-xe configure

θα εγκατασταθεί η XE, απαντώντας σε βασικές ερωτήσεις

Στο τέλος της εγκατάστασης, θα προκύψουν κάποια μηνύματα λαθών, οπότε δίνουμε στον χρήστη oracle δικαίωμα πρόσβασης στον κατάλογο των datafiles, πχ:

chmod u+x /usr/lib/oracle/xe/oradata/XE

Από την άλλη πλευρά η εγκατάσταση του Weblogic 10.3 δεν απαιτεί ιδιαίτερες ενέργειες αφού έρχεται σε μορφή εκτελέσιμου (.bin αρχείο)


Τέλος, για να διασυνδέσουμε τα μηχανήματα μας στο VirtualBox, φτιάχνουμε ένα νέο εικονικό δίκτυο (π.χ. slacknet) μεταξύ των μηχανών, ορίζοντας το Internal Network ως τύπο στον πρώτο Adapter.

Έπειτα σε κάθε μια από αυτές, τρέχουμε από το Slackware το πρόγραμμα netconfig ώστε να κάνουμε την ανάθεση των στατικών IP διευθύνσεων.


Με αυτόν τον τρόπο μπορούμε να κάνουμε ping η μια μηχανή στην άλλη, οπότε έχουμε στήσει επιτυχώς το εικονικό μας δίκτυο μεταξύ των Weblogic servers !

No comments: