Hits : 3545


apache :: a very simple tutorial


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. Παρακάτω ακολουθεί ένας τυπικός οδηγός.


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

  • php 
  • mod_rewrite
  • ssl

  • php : Για να μπορούμε να δημιουργήσουμε ένα php site
  • mod_rewrite : Γιατί αρκετά php projects χρησιμοποιούν αυτή την δυνατότητα
  • ssl : Για να μπορούμε να χρησιμοποιήσουμε https πρωτόκολλο για ασφαλής συναλλαγές.

ΠΡΟΣΟΧΗ:
Το παρακάτω παράδειγμα προϋποθέτει την εγκατάσταση του 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