Hits : 5114

Yaws :: yet another web server


Contents


yaws


http://yaws.hyber.org/

http://yaws.hyber.org/yman.yaws?page=yaws.conf

Το πρόγραμμα yaws είναι υψηλής απόδοσης διακομιστής HTTP & HTTPS, ειδικά προσαρμοσμένο για διαδικτυακές εφαρμογές δυναμικού περιεχομένου.

Yaws is a HTTP high perfomance 1.1 webserver particularly well suited for dynamic-content webapplications.

top

Linux Installation


Μία πολύ απλή εγκατάσταση μπορεί να γίνει με τις παρακάτω εντολές:

$ wget -c http://yaws.hyber.org/download/yaws-1.88.tar.gz
$ tar zxvf yaws-1.88.tar.gz
$ cd yaws
$ ./configure
$ make
$ make install


Με τις παραπάνω εντολές έχουμε καταφέρει να εγκαταστήσουμε τον web server μας.
Οι προκαθορισμένες διαδρομές των καταλόγων, που ορίζονται από την παραπάνω εξ' ορισμού εγκατάσταση, είναι οι εξής:

Αρχεία Ρυθμίσεων:
etc files went into        /usr/local/etc


Εκτελέσιμα αρχεία:
executables went into      /usr/local/bin


Βιβλιοθήκες:
library files went into    /usr/local/lib/yaws


Αρχεία log και διάφορα άλλα (pid file):
var files went into        /usr/local/var


Προκαθορισμένος κατάλογος ενός διαδικτυακού ιστότοπου:
default docroot went into  /usr/local/var/yaws/www



Φυσικά με την εντολή:

./configure --help


Μπορεί να δει κανείς το πλήθος των επιλογών που μπορεί να ορίσει, όπως παράδειγμα να ορίσει τον κατάλογο εγκατάστασης.

top

Windows Installation


Κι όμως υπάρχει και Windows πρόγραμμα εγκατάστασης:

Yaws-1.88-windows-installer.exe[link1]

top

Check


Για να δούμε την έκδοση του προγράμματος

# /usr/local/bin/yaws -v
Yaws 1.88


Για να δούμε περισσότερες πληροφορίες:

/usr/local/bin/yaws --help


Ένα πλήρες output της παραπάνω εντολής είναι το εξής:

Formatter "highlight/html" not found

top

Configuration


Αφού ολοκληρώσουμε την εγκατάσταση είμαστε έτοιμοι να δούμε ότι όλα είναι δουλεύουν σωστα.

Το αρχείο ρυθμίσεων του yaws βρίσκεται κάτω από τον κατάλογο της εγκατάστασης:

/usr/local/etc/yaws/yaws.conf

ένα τυπικό παράδειγμα του αρχείου ρυθμίσεων είναι το εξής:

Formatter "highlight/html" not found

Εξαιρετικά απλό και straight forward.

# /usr/local/bin/yaws


Και στην συνέχεια στον firefox πληκτρολογούμε την εξής ηλεκτρονική διεύθυνση:

Formatter "highlight/html" not found

Το οποίο θα μας επιστρέψει την αρχική σελίδα του yaws.

ΠΡΟΣΟΧΗ: Μην μπερδευτείτε, το myarch είναι το hostname του μηχανήματός μου! Εσείς θα βάλετε το δικό σας.

top

Παράρτημα


O yaws έχει την δυνατότητα να συνδεθεί με την php ώστε να υποστηρίζει δυναμικά site.
Ο τρόπος με τον οποίο γίνεται αυτό είναι μέσω της χρήσης του fastcgi.

Περισσότερα για το fastcgi μπορεί κανείς να βρει στα παρακάτω urls:

http://wiki.nginx.org/NginxHttpFcgiModule
http://www.fastcgi.com
http://en.wikipedia.org/wiki/FastCGI

php 


http://php.net/

PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML.

Τυπική εγκατάσταση php (από την έκδοση 5.3.0 και μετά, η εγκατάσταση της php είναι εξ' ορισμού fast-cgi)
$ wget -c http://gr2.php.net/distributions/php-5.3.2.tar.bz2
$ tar jxvf php-5.3.2.tar.bz2
$ cd php-5.3.2
$ ./configure
$ make
$ make install


top


Υπάρχουν δύο, παρόμοιοι μεν – διαφορετικοί δε, τρόποι για να συνδέσουμε την Php με τον Yaws.
Ο ένας είναι μέσω του CGI, ο άλλος μέσω του Fast-Cgi.
Κι ενώ ακούγονται και λειτουργούν περίπου με τον ίδιο τρόπο το configuration μας στην κάθε περίπτωση είναι διαφορετικό.

CGI 


Φαινομενικά ο ευκολότερος (και πιο παραδοσιακός) τρόπος.
Εάν το εκτελέσιμο του php-cgi είναι σε αυτή την διαδρομή:
/usr/bin/php-cgi

τότε δεν χρειάζεται να πειράξουμε καθόλου το yaws.conf μας.

Αρκεί να τροποποιήσουμε μία μόνο μεταβλητή στο php.ini μας.

cgi.force_redirect = 0


Αλλιώς θα χρειαστεί να δηλώσουμε το path του php-cgi στο yaws.conf.
Παράδειγμα:

php_exe_path = /usr/local/bin/php-cgi


ΠΡΟΣΟΧΗ: Το php.ini πρέπει να βρίσκεται στην σωστή τοποθεσία!
Πληκτρολογήστε την παρακάτω εντολή για να βρείτε το σωστό path, στο οποίο έχετε ή πρέπει να τοποθετήσετε το php.ini

echo '<?php phpinfo(); ?>' | php | grep 'php.ini'


top

Fast-Cgi


Ο εναλλακτικός τρόπος (μιας και η php το υποστηρίζει) είναι να τρέξουμε την php σε μία TCP πόρτα
στην οποία θα ακούει τα αιτήματα του web server μας για να εξυπηρετεί τις σελίδες php που έχουμε

Πχ.

/usr/local/bin/php-cgi -b 3000


top

yaws.conf

Τώρα θα πρέπει να δηλώσουμε στον yaws μας όλες τις php σελίδες μας να τις στέλνει στην fast-cgi php 
για να μεταφράζονται σε html.

Οπότε προσθέτουμε το εξής στο αρχείο ρυθμίσεων:

fcgi_app_server = localhost:3000


Ναι τόσο απλό είναι!

ΠΡΟΣΟΧΗ: Η προσθήκη πρέπει να γίνει στο αντίστοιχο virtual host μας, στην δική μου περίπτωση ολόκληρο το configuration είναι ως εξής:

Formatter "highlight/html" not found

top

php files

Πολύ μεγάλη προσοχή στο εξής:

Ο yaws by default υποστηρίζει τις εξής καταλήξεις αρχείων:

.yaws
.php
.cgi
.fcgi


αλλά τα αρχεία PHP, θα προσπαθήσει να τα στείλει στο php-cgi πρόγραμμα.
Γεγονός που είναι λάθος, καθώς το php-cgi είναι το fast-cgi της php και δεν παίζει σε interactive mode!

Άρα θα πρέπει για να κάνετε χρήση της php over fast-cgi να αλλάξετε την κατάληξη των αρχείων από php σε fcgi !!!

Ορίστε ένα αρχείο δοκιμής:

/usr/local/var/yaws/www/p.fcgi

<?php
	phpinfo();
?>


Και στον firefox γράφουμε το εξής:

http://myarch/p.fcgi

για να δούμε ότι λειτουργεί άψογα.

ΥΓ: Μόλις βρω πως μπορεί να παίξει χωρίς την αλλαγή της κατάληξης – θα το προσθέσω εδώ!





top



Links
[link1] http://yaws.hyber.org/download/Yaws-1.88-windows-installer.exe