Hits : 5225


apache :: a very simple tutorial


Contents


Apache


http://httpd.apache.org/

Το πρόγραμμα Apache Httpd Server είναι μία προσπάθεια να αναπτυχθεί και να υποστηριχθεί ένα ανοιχτού-κώδικα διακομιστής πρωτοκόλλου HTTP για σύγχρονα λειτουργικά συστήματα.
(web server)

The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating systems including UNIX and Windows NT.
The goal of this project is to provide a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards.

top

Simple Installation


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

$ wget -c http://apache.otenet.gr/dist/httpd/httpd-2.0.63.tar.bz2
$ tar jxvf httpd-2.0.63.tar.bz2
$ cd httpd-2.0.63
$ ./configure
$ make
$ make install


Έτσι έχουμε καταφέρει να εγκαταστήσουμε έναν web server.
Η εγκατάσταση εξ'ορισμού (όπως παραπάνω) ορίζει την διαδρομή του httpd daemon να είναι η εξής:
/usr/local/apache2

Άρα για να δούμε ότι όλα παίζουν σωστά, ως διαχειριστής πληκτρολογούμε την παρακάτω εντολή :

# /usr/local/apache2/bin/httpd -k start


Ανοίγουμε έναν http client (web browser --> firefox) και πληκτρολογούμε το εξής:

http://localhost


top

Installation


Με το παραπάνω τμήμα κώδικα μπορεί κανείς εύκολα και γρήγορα να εγκαταστήσει έναν web server.
Τις περισσότερες φορές όμως θέλουμε να εγκαταστήσουμε έναν web server που να έχει την δυνατότητα να 
φιλοξενεί δυναμικά sites π.χ. γραμμένα σε php. Παρακάτω ακολουθεί ένας τυπικός οδηγός.

Έστω λοιπόν ότι θέλουμε να έχουμε :


ΠΡΟΣΟΧΗ:
Το παρακάτω παράδειγμα προϋποθέτει την εγκατάσταση του openssl πακέτου.
Τυπική εγκατάσταση υπάρχει στο τέλος της σελίδας.

Για να μην ξαναγράψω την παραπάνω διαδικασία, απλά πραγματοποιήστε την αντικατάσταση της γραμμής:

$ ./configure


με την γραμμή:

$ ./configure --enable-modules=so --enable-ssl --enable-rewrite --with-ssl=/usr/local/ssl/ --enable-mods-shared='rewrite'


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

./configure --help


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

top

Check


Αφού ολοκληρώσουμε την εγκατάσταση είμαστε έτοιμοι να δούμε ότι όλα είναι δουλεύουν σωστα.
Για να γίνει αυτό χρειάζεται για αρχή να ελέγξουμε ότι το αρχείο ρυθμίσεων είναι "συντακτικά" σωστό.
Αυτό γίνεται με την παρακάτω εντολή ως διαχειριστής :

Syntax Check

# /usr/local/apache2/bin/httpd -t
Syntax OK


Για να δούμε μερικές πληροφορίες όπως π.χ. την έκδοση του προγράμματος :

# /usr/local/apache2/bin/httpd -V
 
Server version: Apache/2.0.61
Server built:   Nov 29 2007 11:33:07
Server's Module Magic Number: 20020903:12
Server loaded:  APR 0.9.16, APR-UTIL 0.9.15
Compiled using: APR 0.9.16, APR-UTIL 0.9.15
Architecture:   32-bit
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D HTTPD_ROOT="/usr/local/apache2"
 -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"


Για να πραγματοποιήσουμε τυπικό έλεγχο της σωστής λειτουργίας της υπηρεσίας, που μόλις εγκαταστήσαμε,
χρειάζεται να εκκινήσουμε την υπηρεσία με την παρακάτω εντολή:

# /usr/local/apache2/bin/httpd -k start


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

Formatter "highlight/html" not found

Το οποίο θα μας επιστρέψει εάν όλα είναι καλά το εξής:

It works!

Ένα πολύ τυπικό παράδειγμα του αρχείου ρυθμίσεων μπορείτε να βρείτε εδώ:
file:httpd.conf.pdf

top

Παράρτημα

php 


https://php.net/

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

$ wget -c http://gr2.php.net/distributions/php-5.2.5.tar.bz2
$ tar jxvf php-5.2.5.tar.bz2
$ cd php-5.2.5
$ ./configure \
        --with-apxs2=/usr/local/apache2/bin/apxs \
        --with-mysql-sock=/tmp/mysql.sock \
        --with-openssl=/usr/local/ssl
$ make
$ make install


top

openssl


http://www.openssl.org

Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols

Τυπική εγκατάσταση:

$ wget -c http://www.openssl.org/source/openssl-0.9.8g.tar.gz
$ tar zxvf openssl-0.9.8g.tar.gz
$ cd openssl-0.9.8g/
$ ./config
$ make
$ make test
$ make install
$ ls -ls /usr/local/ssl


top

Benchmark


$ /usr/local/apache2/bin/ab -n 1000 http://localhost/


top