Apache Tutorials για αρχάριους

Τι είναι το Apache;

Το Apache είναι ένα αξιόλογο κομμάτι λογισμικού εφαρμογής. Είναι η πιο ευρέως χρησιμοποιούμενη εφαρμογή Web Server στον κόσμο με μερίδιο άνω του 50% στην εμπορική αγορά web servers. Ο Apache είναι η πιο ευρέως χρησιμοποιούμενη εφαρμογή Web Server σε λειτουργικά συστήματα που μοιάζουν με Unix, αλλά μπορεί να χρησιμοποιηθεί σε όλες σχεδόν τις πλατφόρμες όπως π.χ. Windows, OS X, OS/2, κ.λπ. Η λέξη, Apache, έχει ληφθεί από το όνομα της φυλής των ιθαγενών της Αμερικής 'Apache', που φημίζεται για τις ικανότητές της στον πόλεμο και τη χάραξη στρατηγικής.

Είναι μια αρθρωτή εφαρμογή διακομιστή web που βασίζεται σε διαδικασίες που δημιουργεί ένα νέο νήμα με κάθε ταυτόχρονη σύνδεση. Υποστηρίζει μια σειρά από χαρακτηριστικά. Πολλά από αυτά έχουν μεταγλωττιστεί ως ξεχωριστές ενότητες και επεκτείνουν τη βασική του λειτουργικότητα και μπορούν να παρέχουν τα πάντα, από υποστήριξη γλώσσας προγραμματισμού στην πλευρά του διακομιστή μέχρι μηχανισμό ελέγχου ταυτότητας. Η εικονική φιλοξενία είναι ένα τέτοιο χαρακτηριστικό που επιτρέπει σε έναν μόνο διακομιστή Web Apache να εξυπηρετεί έναν αριθμό διαφορετικών ιστότοπων.

Apache

Πώς να εγκαταστήσετε το Apache

Υπάρχουν πολλοί τρόποι εγκατάστασης του πακέτου ή της εφαρμογής. Παρατίθενται παρακάτω -

  1. Ένα από τα χαρακτηριστικά αυτού του ανοιχτού πηγή web εφαρμογή είναι ότι ο καθένας μπορεί να κάνει εγκατάσταση σύμφωνα με το δικό του περιβάλλον. Αυτό επέτρεψε σε διάφορους προμηθευτές όπως το Debian, το Red Hat, το FreeBSD, το Suse κ.λπ. να προσαρμόσουν τη θέση του αρχείου και τη διαμόρφωση του apache λαμβάνοντας υπόψη άλλες εγκατεστημένες εφαρμογές και το βασικό λειτουργικό σύστημα.
  2. Εκτός από την εγκατάστασή του από ένα πρόγραμμα εγκατάστασης που βασίζεται στον προμηθευτή, υπάρχει πάντα η επιλογή δημιουργίας και εγκατάστασης από τον πηγαίο κώδικα. Η εγκατάσταση του Apache από το αρχείο προέλευσης είναι μια ανεξάρτητη πλατφόρμα και λειτουργεί για όλα τα λειτουργικά συστήματα.

Ο διακομιστής ιστού apache είναι μια αρθρωτή εφαρμογή όπου ο διαχειριστής μπορεί να επιλέξει την απαιτούμενη λειτουργικότητα και να εγκαταστήσει διαφορετικές μονάδες σύμφωνα με τις απαιτήσεις του.

Όλες οι ενότητες μπορούν να μεταγλωττιστούν ως α Δυναμικά Κοινόχρηστα Αντικείμενα (Το DSO είναι ένα αρχείο αντικειμένου που θα μπορούσε να είναι κοινόχρηστο από πολλές εφαρμογές ενώ εκτελούνται) που υπάρχει χωριστά από το κύριο αρχείο apache. Η προσέγγιση DSO συνιστάται ιδιαίτερα, καθιστά πολύ απλή την εργασία προσθήκης/αφαίρεσης/ενημέρωσης μονάδων από τη διαμόρφωση των διακομιστών.

Εγκαταστήστε το Apache:Linux Platform

Σε συστήματα που βασίζονται σε Red Hat ή στροφές ανά λεπτό

Εάν χρησιμοποιείτε ένα rpm (το RedHat Package Manager είναι ένα βοηθητικό πρόγραμμα για την εγκατάσταση εφαρμογής σε συστήματα Linux) που βασίζεται σε διανομή Linux, π.χ. Red Hat, Fedora, CentOs, Suse, μπορείτε να εγκαταστήσετε αυτήν την εφαρμογή είτε από τον Διαχειριστή πακέτων συγκεκριμένου προμηθευτή είτε να δημιουργήσετε απευθείας το αρχείο rpm από τη διαθέσιμη πηγή tarball.

Μπορείτε να εγκαταστήσετε το Apache μέσω του προεπιλεγμένου Διαχειριστή πακέτων που είναι διαθέσιμο σε όλες τις διανομές που βασίζονται στην Red Hat όπως CentOs, Red Hat και Fedora.

[root@amsterdam ~]# yum install httpd

Το tarball της πηγής apache θα μπορούσε να μετατραπεί σε αρχείο rpm χρησιμοποιώντας την ακόλουθη εντολή.

[root@amsterdam ~]# rpmbuild -tb httpd-2.4.x.tar.bz2

Είναι υποχρεωτικό να έχετε εγκατεστημένο το πακέτο -devel στον διακομιστή σας για τη δημιουργία αρχείου .rpm από την πηγή.

Μόλις μετατρέψετε το αρχείο προέλευσης σε πρόγραμμα εγκατάστασης rpm, θα μπορούσατε να χρησιμοποιήσετε την ακόλουθη εντολή για να εγκαταστήσετε το Apache.

[root@amsterdam ~]# rpm –ivh httpd-2.4.4-3.1.x86_64.rpm

Μετά την εγκατάσταση ο διακομιστής δεν ξεκινά αυτόματα, για να ξεκινήσει η υπηρεσία, πρέπει να χρησιμοποιήσετε οποιαδήποτε από τις παρακάτω εντολές στο Fedora, CentOs ή Red Hat.

[root@amsterdam ~]# /usr/sbin/apachectl start

[root@amsterdam ~]# service httpd start

[root@amsterdam ~]# /etc/init.d/httpd start

Εγκαταστήστε το Apache από το Source

Η εγκατάσταση του apache από την πηγή απαιτεί την εγκατάσταση του πακέτου –devel στον διακομιστή σας. .Μπορείτε να βρείτε την πιο πρόσφατη διαθέσιμη έκδοση του Apache, μπορείτε να την κατεβάσετε εδώ . Μόλις κατεβάσετε το αρχείο προέλευσης, μετακινήστε το στον φάκελο /usr/local/src.

[root@amserversterdam ~] cd /usr/local/src

[root@amserversterdam ~] gzip -d httpd-2.2.26.tar.gz

[root@amserversterdam ~] tar xvf httpd-2.2.26.tar

[root@amserversterdam ~] httpd-2.2.26

Για να δείτε όλες τις διαθέσιμες επιλογές διαμόρφωσης για το Apache, μπορείτε να χρησιμοποιήσετε την επιλογή ./configure –help. Η πιο κοινή επιλογή διαμόρφωσης είναι –prefix={install directory name}.

[root@amserversterdam ~]./configure --help

[root@amserversterdam ~]./configure –prefix=/usr/local/apache –enable-so

[root@amserversterdam ~] make

[root@amserversterdam ~] make install

Το παραπάνω παράδειγμα δείχνει τη μεταγλώττιση του Apache στον κατάλογο /usr/local/apache με δυνατότητα DSO. Η επιλογή –enable-so, μπορεί να φορτώσει τις απαιτούμενες ενότητες στον apache κατά το χρόνο εκτέλεσης μέσω του μηχανισμού DSO αντί να απαιτεί εκ νέου μεταγλώττιση.

Μόλις ολοκληρωθεί η εγκατάσταση, μπορείτε να περιηγηθείτε στην προεπιλεγμένη σελίδα των διακομιστών Ιστού με το αγαπημένο σας πρόγραμμα περιήγησης. Εάν το τείχος προστασίας είναι ενεργοποιημένο στον διακομιστή σας, πρέπει να κάνετε εξαίρεση για τη θύρα 80 στο τείχος προστασίας του λειτουργικού σας συστήματος. Μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή για να ανοίξετε τη θύρα 80.

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

υπηρεσία iptables αποθήκευση

Μπορείτε να δείτε την προεπιλογή Οθόνη καλωσορίσματος Apache2 με περιήγηση στη διεύθυνση IP του διακομιστή σας.

Εγκαταστήστε το Apache από το Source

Τι είναι το Virtual Host;

Ένας διακομιστής ιστού Apache μπορεί να φιλοξενήσει πολλούς ιστότοπους στο ΙΔΙΟ υπηρέτης. Δεν χρειάζεστε ξεχωριστό μηχάνημα διακομιστή και λογισμικό apache για κάθε ιστότοπο. Αυτό μπορεί να επιτευχθεί χρησιμοποιώντας την έννοια του Εικονικός οικοδεσπότης or VHost.

Οποιοσδήποτε τομέας που θέλετε να φιλοξενήσετε στον διακομιστή ιστού σας θα έχει ξεχωριστή καταχώρηση στο αρχείο διαμόρφωσης του apache.

Εικονικός οικοδεσπότης

Τύποι Apache Virtualhost

  1. Εικονικός κεντρικός υπολογιστής βάσει ονόματος
  2. Εικονικός κεντρικός υπολογιστής βάσει διεύθυνσης ή IP και.

Εικονικός κεντρικός υπολογιστής βάσει ονόματος

Η εικονική φιλοξενία βάσει ονόματος χρησιμοποιείται για τη φιλοξενία πολλαπλών εικονικών τοποθεσιών σε μία μόνο διεύθυνση IP.

Εικονικός κεντρικός υπολογιστής βάσει ονόματος

Για να διαμορφώσετε την εικονική φιλοξενία βάσει ονόματος, πρέπει να ορίσετε τη διεύθυνση IP στην οποία θα λαμβάνετε τα αιτήματα Apache για όλους τους επιθυμητούς ιστότοπους. Μπορείτε να το κάνετε αυτό με την οδηγία NameVirutalHost εντός της διαμόρφωσης του apache, π.χ Αρχείο httpd.conf/apache2.conf.

Παράδειγμα εικονικού κεντρικού υπολογιστή Apache:

NameVirtualHost *:80

<VirtualHost 192.168.0.108:80>

ServerAdmin webmaster@example1.com

DocumentRoot /var/www/html/example1.com      

ServerName www.example1.com

</VirtualHost>

<VirtualHost 192.168.0.108:80>

ServerAdmin admin@example2.com

DocumentRoot /var/www/html/example2.com

ServerName www.example2.com

</VirtualHost>

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

[root@amsterdam ~]#httpd –t
Syntax OK

Εάν το αρχείο ρυθμίσεων έχει κάποια λανθασμένη σύνταξη, θα εμφανίσει σφάλμα

[root@115 conf.d]# httpd -t

Syntax error on line 978 of /etc/httpd/conf/httpd.conf:

Invalid command '*', perhaps misspelled or defined by a module not included in the server configuration

Εικονικός κεντρικός υπολογιστής που βασίζεται σε IP

Για να ρυθμίσετε την εικονική φιλοξενία βάσει IP, χρειάζεστε περισσότερες από μία διευθύνσεις IP ρυθμισμένες στον διακομιστή σας. Έτσι, ο αριθμός του vhost apache θα εξαρτηθεί από τον αριθμό της διεύθυνσης IP που έχει διαμορφωθεί στον διακομιστή σας. Εάν ο διακομιστής σας έχει 10 διευθύνσεις IP, μπορείτε να δημιουργήσετε 10 εικονικούς κεντρικούς υπολογιστές βασισμένους σε IP.

Εικονικός κεντρικός υπολογιστής που βασίζεται σε IP

Στο παραπάνω διάγραμμα σε δύο ιστότοπους example1.com και example2.com εκχωρήθηκαν διαφορετικές IP και χρησιμοποιούν εικονική φιλοξενία που βασίζεται σε IP.

Listen 192.168.0.100:80

<VirtualHost 192.168.10.108:80>

ServerAdmin webmaster@example1.com

DocumentRoot /var/www/html/example1.com      

ServerName www.example1.com

</VirtualHost>

<VirtualHost 192.168.10.109:80>

ServerAdmin admin@example2.com

DocumentRoot /var/www/html/example2.com

ServerName www.example2.com

</VirtualHost>

Τι χρειάζεται ο Apache για την εκτέλεση του αρχείου Php;

Απαιτείται η εκτέλεση αρχείων Php σε Apache mod_php ενεργοποιημένο στον διακομιστή σας. Επιτρέπει στον Apache να ερμηνεύει αρχεία .Php. Διαθέτει χειριστές Php που ερμηνεύουν τον κώδικα Php στον apache και στέλνουν HTML στον διακομιστή ιστού σας.

Εάν το mod_php είναι ενεργοποιημένο στον διακομιστή σας, θα έχετε ένα αρχείο με το όνομα php.conf στον κατάλογο /etc/httpd/conf.d/. Μπορείτε επίσης να το ελέγξετε με:

httpd -M | grep "php5_module"

Η έξοδος θα είναι παρόμοια με:

Τι χρειάζεται ο Apache για την εκτέλεση του αρχείου Php

Προγράμματα χειρισμού php στον Apache

  • mod_php
  • CGI
  • FastCGI
  • suPHP

mod_phpείναι ο παλαιότερος χειριστής PHP, κάνει την PHP μέρος του apache και δεν καλεί καμία εξωτερική διαδικασία PHP. Αυτή η ενότητα είναι εγκατεστημένη από προεπιλογή σε κάθε χώρο αποθήκευσης διανομής Linux, επομένως η ενεργοποίηση/απενεργοποίηση αυτής της ενότητας είναι πολύ εύκολη.

Εάν χρησιμοποιείτε FastCGI Ως πρόγραμμα χειρισμού PHP, μπορείτε να ορίσετε πολλές εκδόσεις της PHP που θα χρησιμοποιούνται από διαφορετικούς λογαριασμούς στον διακομιστή σας.

FastCGI δηλ mod_fastcgi είναι προέκταση του mod_fcgid, όπου ως mod_fcgid είναι μια εναλλακτική λύση υψηλής απόδοσης του CGI, δηλαδή mod_cgi. Ξεκινά επαρκή αριθμό παρουσιών CGI για τη διαχείριση ταυτόχρονων αιτημάτων ιστού. Χρησιμοποιεί επίσης το suexec για την υποστήριξη διαφορετικών χρηστών με τις δικές τους παρουσίες PHP και βελτιώνει την ασφάλεια ιστού.

Η εκτέλεση αρχείων ruby ​​στον Apache χρειάζεται να ενεργοποιηθεί το mod_ruby. Ο Apache μπορεί επίσης να χειριστεί αρχεία ρουμπίνι μέσω του FastCGI. Είναι δυνατή η χρήση πολλαπλών εκδόσεων του ρουμπίνι με τη βοήθεια του mod_fcgid δηλαδή FastCGI.

Μπορείτε επίσης να εγκαταστήσετε τον επιβάτη apache και να ρυθμίσετε το Apache ώστε να το χρησιμοποιεί για την εξυπηρέτηση σελίδων ruby.

(Phusion Passenger γνωστός και ως "επιβάτης” είναι μια δωρεάν ενότητα διακομιστή ιστού που έχει σχεδιαστεί για να ενσωματώνεται με Apache και Nginx)

Βήματα για την εγκατάσταση του mod_ruby στον διακομιστή σας –

cd /tmp

wget http://www.modruby.net/archive/mod_ruby-1.2.6.tar.gz

tar zxvf mod_ruby-1.2.6.tar.gz

cd mod_ruby-1.2.6/                    

./configure.rb --with-apr-includes=/usr/include/apr-1

make

make install

Πώς να εκτελέσετε το Ruby με το Apache

Πρέπει να προσθέσουμε τη μονάδα mod_ruby στη διαμόρφωση του Apache, π.χ. /etc/httpd/conf.d/ruby.conf και να προσθέσουμε την ακόλουθη γραμμή.

LoadModule ruby_module modules/mod_ruby.so

Εάν θέλετε να ενεργοποιήσετε ή να απενεργοποιήσετε αυτές τις λειτουργικές μονάδες, πρέπει να επεξεργαστείτε το αρχείο ρύθμισης παραμέτρων του apache και να σχολιάσετε ή να αποσχολιάσετε αυτές τις λειτουργικές μονάδες, εάν ο διακομιστής ιστού έχει ήδη μεταγλωττιστεί με αυτές τις λειτουργικές μονάδες.

Εκτελέστε το Ruby με Apache

Πώς να ασφαλίσετε τον διακομιστή Web Apache

Η ασφάλεια του διακομιστή ιστού σας είναι πολύ σημαντική, σημαίνει να επιτρέπετε στους άλλους να βλέπουν μόνο τις προβλεπόμενες πληροφορίες και να προστατεύετε τα δεδομένα σας και να περιορίζετε την πρόσβαση.

Αυτά είναι κοινά πράγματα που ενισχύουν την ασφάλεια των διακομιστών ιστού Apache σας.

1) Απόκρυψη πληροφοριών έκδοσης Apache και λειτουργικού συστήματος:

Το Apache εμφανίζει την έκδοσή του και το όνομα του λειτουργικού συστήματος σε σφάλματα, όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.

Απόκρυψη της έκδοσης του Apache και των πληροφοριών του λειτουργικού συστήματος

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

Για να αποτρέψουμε τον διακομιστή ιστού Apache από την εμφάνιση αυτών των πληροφοριών, πρέπει να τροποποιήσουμε

Η επιλογή "υπογραφή διακομιστή" είναι διαθέσιμη στο αρχείο διαμόρφωσης του apache. Από προεπιλογή, είναι "on", πρέπει να το θέσουμε "off".

vim /etc/httpd/conf/httpd.conf
ServerSignature Off

ServerTokens Prod

Έχουμε επίσης ορίσει το "ServerTokens Prod" που λέει στον διακομιστή ιστού να επιστρέφει μόνο το apache και να καταργεί την κύρια και δευτερεύουσα έκδοση του λειτουργικού συστήματος

Μετά την τροποποίηση του αρχείου διαμόρφωσης, πρέπει να επανεκκινήσετε/φορτώσετε ξανά τον διακομιστή web apache για να το κάνετε αποτελεσματικό.

service httpd restart

Απόκρυψη της έκδοσης του Apache και των πληροφοριών του λειτουργικού συστήματος

2) Απενεργοποιήστε τη λίστα καταλόγου

Εάν ο ριζικός κατάλογος του εγγράφου σας δεν έχει αρχείο ευρετηρίου, από προεπιλογή ο διακομιστής web apache θα εμφανίζει όλο το περιεχόμενο του ριζικού καταλόγου εγγράφων.

Απενεργοποιήστε την καταχώριση καταλόγου

Αυτή η δυνατότητα θα μπορούσε να απενεργοποιηθεί για έναν συγκεκριμένο κατάλογο μέσω της «οδηγίας επιλογών» που είναι διαθέσιμη στο αρχείο διαμόρφωσης του Apache.

<Directory /var/www/html>

    Options -Indexes

</Directory>

Απενεργοποιήστε την καταχώριση καταλόγου

3) Απενεργοποίηση περιττών μονάδων

Είναι καλή πρακτική να απενεργοποιείτε όλες τις περιττές ενότητες που δεν χρησιμοποιούνται. Μπορείτε να δείτε τη λίστα των ενεργοποιημένων λειτουργικών μονάδων που είναι διαθέσιμα στο αρχείο ρυθμίσεων του apache –

[root@amsterdam ~]#httpd –M

perl_module (shared)

php5_module (shared)

proxy_ajp_module (shared)

python_module (shared)

ssl_module (shared)

Πολλές από τις αναφερόμενες ενότητες μπορούν να απενεργοποιηθούν όπωςmod_imap, mod_include, mod_info, mod_userdir, mod_autoindex, καθώς δεν χρησιμοποιούνται σχεδόν καθόλου από οποιονδήποτε διακομιστή ιστού παραγωγής.

vi /etc/httpd/conf/httpd.conf

#LoadModule auth_digest_module modules/mod_auth_digest.so

Μόλις σχολιάσετε τη μονάδα, αποθηκεύστε το αρχείο.

Επανεκκινήστε τις υπηρεσίες apache με την ακόλουθη εντολή.

/etc/init.d/httpd restart

4) Περιορισμός της πρόσβασης σε αρχεία εκτός του ριζικού καταλόγου web

Εάν θέλετε να βεβαιωθείτε ότι τα αρχεία που βρίσκονται εκτός του ριζικού καταλόγου ιστού δεν είναι προσβάσιμα, πρέπει να βεβαιωθείτε ότι ο κατάλογος είναι περιορισμένος με «Allow» και «Deny option» στο αρχείο διαμόρφωσης του διακομιστή web.

<Directory/>

Options None

AllowOverride None

Order deny,allow

Deny from all

</Directory>

Μόλις περιορίσετε την πρόσβαση εκτός του καταλόγου ρίζας ιστού, δεν θα μπορείτε να έχετε πρόσβαση σε κανένα αρχείο που βρίσκεται σε οποιονδήποτε άλλο φάκελο στον διακομιστή ιστού σας, θα λάβετε κωδικό επιστροφής 404.

Περιορισμός της πρόσβασης σε αρχεία εκτός του καταλόγου ρίζας Web

5) Χρήση mod_evasive για την απόκρουση της επίθεσης DoS

Εάν θέλετε να προστατεύσετε τον διακομιστή ιστού σας από Dos (δηλαδή άρνηση υπηρεσίας), πρέπει να ενεργοποιήσετε τη μονάδα mod_evasive. Είναι μια λειτουργική μονάδα τρίτου κατασκευαστή που ανιχνεύει την επίθεση Dos και εμποδίζει την επίθεση να προκαλέσει τόση ζημιά όση θα έκανε αν αφεθεί να εκτελέσει την πορεία της. Θα μπορούσε να γίνει λήψη από εδώ.

Κατεβάστε το παραπάνω Αρχείο

6) Χρήση του mod_security για τη βελτίωση της ασφάλειας του apache

Αυτή η ενότητα λειτουργεί ως τείχος προστασίας για τον Apache και σας επιτρέπει να παρακολουθείτε την κυκλοφορία σε πραγματικό χρόνο. Αποτρέπει επίσης τον διακομιστή ιστού από επιθέσεις ωμής βίας. Η λειτουργική μονάδα mod_security θα μπορούσε να εγκατασταθεί με τον προεπιλεγμένο διαχειριστή πακέτων της διανομής σας.

Χρήση mod_security για βελτίωση της ασφάλειας του Apache

7) Περιορισμός μεγέθους αιτήματος

Ο Apache δεν έχει κανέναν περιορισμό στο συνολικό μέγεθος του αιτήματος http που θα μπορούσε να οδηγήσει σε επίθεση DoS. Μπορείτε να περιορίσετε το μέγεθος αιτήματος μιας οδηγίας Apache "LimitRequestBody" με την ετικέτα καταλόγου. Η τιμή μπορεί να οριστεί από 0 έως 2 GB (δηλ. 2147483647 byte) σύμφωνα με τις απαιτήσεις σας.

<Directory "/var/www/html/uploads">

   LimitRequestBody 512000

</Directory>

Μορφή καταγραφής Apache

Τα αρχεία καταγραφής Apache παρέχουν λεπτομερείς πληροφορίες που βοηθούν στον εντοπισμό κοινών προβλημάτων με τον διακομιστή.

Για να δημιουργήσετε αρχεία καταγραφής πρόσβασης, το mod_log_configmodule πρέπει να είναι ενεργοποιημένο.

Τρεις οδηγίες διαθέσιμες στο αρχείο ρυθμίσεων apache, π.χ

  • TransferLog: Δημιουργία αρχείου καταγραφής.
  • LogFormat : Καθορισμός προσαρμοσμένης μορφής.
  • CustomLog : Δημιουργία και μορφοποίηση ενός αρχείου καταγραφής.

Η οδηγία TransferLog είναι διαθέσιμη στο αρχείο διαμόρφωσης του apache και περιστρέφει τα αρχεία καταγραφής εικονικού κεντρικού υπολογιστή σύμφωνα με τις παραμέτρους που έχουν οριστεί.

<VirtualHost www.example.com>

  ServerAdmin webmaster@example.com

  DocumentRoot /usr/www/example/httpd/htdocs/

  ServerName www.example.com

  ServerAlias example.com www.example

  ErrorLog /usr/www/example/httpd/logs/error_log

  TransferLog/usr/www/example/httpd/logs/accesslog

  CustomLog /usr/www/example/httpd/logs/accesslog combined

</VirtualHost>

Δύο τύποι μορφής καταγραφής Apache

  • Κοινή μορφή αρχείου καταγραφής
  • Μορφή συνδυασμένου αρχείου καταγραφής.

Μπορείτε να τα ενεργοποιήσετε επεξεργάζοντας το αρχείο διαμόρφωσης apache, π.χ. αρχείο apache2.conf (Debian/ubuntu) ή httpd.conf (συστήματα που βασίζονται σε rpm)

Κοινή μορφή αρχείου καταγραφής

LogFormat "%h %l %u %t \"%r\" %>s %b" common

CustomLog logs/access_log common

Κοινό αρχείο καταγραφής που δημιουργήθηκε από τον Apache

[Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1] client denied by server configuration: /export/home/live/ap/htdocs/test

Μορφή συνδυασμένου αρχείου καταγραφής

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined

CustomLog log/access_log combined

Εδώ,

  • Το %h είναι ο απομακρυσμένος κεντρικός υπολογιστής
  • Το %l είναι η ταυτότητα του χρήστη που προσδιορίζεται από το identd
  • %u είναι το όνομα χρήστη που καθορίζεται από τον έλεγχο ταυτότητας HTTP
  • %t είναι ο χρόνος που ο διακομιστής ολοκλήρωσε την επεξεργασία του αιτήματος.
  • %r είναι η γραμμή αιτήματος από τον πελάτη. ("GET / HTTP/1.0")
  • %>s είναι ο κωδικός κατάστασης που αποστέλλεται από τον διακομιστή στον πελάτη (500, 404 κ.λπ.)
  • %b είναι το μέγεθος της απάντησης στον πελάτη (σε byte)
  • Το Referer είναι η σελίδα που συνδέεται με αυτήν τη διεύθυνση URL.
  • User-agent είναι η συμβολοσειρά αναγνώρισης του προγράμματος περιήγησης.

Συνδυασμένο αρχείο καταγραφής που δημιουργήθηκε από τον Apache:

199.187.122.91 - - [06/Mar/2014:04:22:58 +0100] "GET /robots.txt HTTP/1.1" 404 1228 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)"

Το Custom Log δημιουργεί ξεχωριστό αρχείο καταγραφής για κάθε Virtual Host στον διακομιστή σας. Πρέπει να καθοριστεί στην ενότητα εικονικού κεντρικού υπολογιστή του αρχείου διαμόρφωσης.

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

Συνδυασμένο αρχείο καταγραφής που δημιουργήθηκε από τον Apache

Διαμορφώστε τον πρώτο σας διακομιστή Web Production

1. Για να έχετε έναν διακομιστή web παραγωγής σε λειτουργία, χρειάζεστε έναν αποκλειστικό διακομιστή κόμβος (Παράδειγμα φυσικής/εικονικής ή cloud) με Linux/Unix, Windows, MacOS κ.λπ.

2. Ο διακομιστής Web πρέπει να έχει α απευθείας σύνδεση δικτύου και σε έναν διεύθυνση staticIP έχει ρυθμιστεί σε αυτό.

3. Πρέπει να έχει όλα τα ενότητες απαιτείται για την εκτέλεση ιστοσελίδων. Εάν ένας διακομιστής ιστού επεξεργάζεται σελίδες PHP, πρέπει να έχει ενεργοποιημένη τη μονάδα PHP.

Διαμόρφωση διακομιστή Web Production

  1. Πρέπει επίσης να έχει ένα καλό προστασίας από ιούς εφαρμογή που έχει ρυθμιστεί και εκτελείται για την ασφάλεια του διακομιστή Web από επιθέσεις κακόβουλου λογισμικού ή ιών. Χρειάζεσαι και μηχανισμό για να ενημέρωση η ρυθμισμένη εφαρμογή προστασίας από ιούς/κακόβουλο λογισμικό σε τακτική βάση χωρίς καμία χειροκίνητη παρέμβαση προκειμένου να αποκομίσετε το μέγιστο όφελος από αυτές.
  2. Εάν έχετε εκατοντάδες τομείς προς φιλοξενία στον διακομιστή ιστού σας, πρέπει να τα εφαρμόσετε περιορισμοί στο όριο του συστήματος αρχείων για κάθε τομέα, τον αριθμό των βάσεων δεδομένων που μπορεί να δημιουργήσει κάθε τομέας, τον αριθμό των λογαριασμών email ανά τομέα κ.λπ.
  3. Εάν ο διακομιστής ιστού σας έχει ρυθμιστεί για κοινόχρηστες υπηρεσίες φιλοξενίας, οι χρήστες στον διακομιστή ιστού σας πρέπει να περιοριστούν. Ένας χρήστης κοινόχρηστης φιλοξενίας θα πρέπει να έχει τα λιγότερα δικαιώματα χρήστη, ώστε να μην καταστρέφει σημαντικά αρχεία και να σπάει ολόκληρο τον διακομιστή. Το Apache δεν παρέχει καμία τέτοια λειτουργικότητα και χρειάζεται διαφορετικές εφαρμογές τρίτων, προσαρμογή του λειτουργικού συστήματος για να επιτευχθεί αυτό.
  4. Εάν προσθέτετε α νέο τομέα στον διακομιστή ιστού σας, χρειάζεται επεξεργασία εκατοντάδων αρχείων διαμόρφωσης για να ενεργοποιηθούν όλες οι δυνατότητες για τον προστιθέμενο τομέα.
  5. Εάν απαιτείται ένας από τους φιλοξενούμενους τομείς διαφορετική ρύθμιση PHP από τους υπόλοιπους τομείς, η εφαρμογή αυτού στον κεντρικό διακομιστή ιστού Apache είναι πολύ περίπλοκη και χρειάζεται σε μεγάλο βαθμό προσαρμογή του διακομιστή ιστού σας.
  6. Ένας διακομιστής ιστού παραγωγής χρειάζεται α firewall για να αποκλείσετε την ανεπιθύμητη κυκλοφορία που θα μπορούσε να προκαλέσει υψηλό φόρτο στον διακομιστή σας. Εφαρμογή IPTABLE κανόνες με τη γραμμή εντολών είναι πολύ περίπλοκος. Χρειάζεται τεχνογνωσία του βασικού περιβάλλοντος Linux/Unix για τη σύνταξη αποτελεσματικών κανόνων τείχους προστασίας για τον αποκλεισμό της ανεπιθύμητης κυκλοφορίας. Το IPTABLE βασίζεται σε μονάδα φίλτρου δικτύου. Είναι ένα τείχος προστασίας επιπέδου λειτουργικού συστήματος που επιτρέπει σε έναν διαχειριστή να δημιουργήσει κανόνες για την εισερχόμενη/εξερχόμενη κίνηση στο διακομιστή.
  7. Ένας διακομιστής ιστού παραγωγής απαιτεί πολλές διαφορετικές εφαρμογές όπως Email, fTP για ανέβασμα αρχείων, Σύστημα ονομάτων τομέα για σταθμευμένους τομείς. Η διαχείριση όλων αυτών των εφαρμογών σε ένα βασικό σύστημα Linux/Unix απαιτεί εξειδίκευση στις αντίστοιχες τεχνολογίες.

Έτσι, μπορεί κανείς να πει ότι η διαχείριση ενός διακομιστή ιστού για πολλούς τομείς είναι πολύ περίπλοκη εργασία και απαιτεί την επεξεργασία εκατοντάδων αρχείων διαμόρφωσης, την προσαρμογή κάθε εφαρμογής για να εκπληρώσει το επιθυμητό αποτέλεσμα. Η αντιμετώπιση προβλημάτων οποιασδήποτε διαμόρφωσης αστοχίας θα είναι πολύ δύσκολη για αρχάριους.

Η Λύση χρησιμοποιώντας Cpanel ή παρόμοιο λογισμικό

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

Η λύση με χρήση Cpanel ή παρόμοιου λογισμικού

Το cPanel καταρτίζει τη δική του έκδοση λογισμικού.

Εάν πρέπει να κάνετε εκ νέου μεταγλώττιση του διακομιστή ιστού σας, π.χ. του apache σε κανονική πλατφόρμα Linux, πρέπει να επιλέξετε/αναζητήσετε χειροκίνητα τη μονάδα που απαιτείται. Το cPanel παρέχει λειτουργία Easyapache που είναι μια μέθοδος μεταγλώττισης διακομιστή ιστού που βασίζεται σε σενάρια.

Η λύση με χρήση Cpanel ή παρόμοιου λογισμικού

Δεν σας παρέχει μόνο υπηρεσίες web αλλά και Mail, DNS, FTP και πολλές άλλες υπηρεσίες που απαιτούνται για την εφαρμογή Ιστού σας.

Μια εργασία που χρειάζεται εξειδίκευση σε βασική φιλοξενία Linux/Unix, όπως εγκατάσταση SSL, εκ νέου μεταγλώττιση του Apache με διαφορετικές μονάδες PHP, ενημέρωση Web Security, διαμόρφωση αποτελεσματικών κανόνων IPTABLE, Προσθήκη χρηστών ftp, δημιουργία λογαριασμών αλληλογραφίας για κάθε τομέα, σάρωση ρίζας εγγράφων με προστασία από ιούς και Η δημιουργία βάσεων δεδομένων είναι εύκολο να ολοκληρωθεί με το cPanel.

Παρέχει πολλά σενάρια που διορθώνουν, εγκαθιστούν και αντιμετωπίζουν κοινές διαχειριστικές εργασίες.

Παρέχει μια λειτουργία δημιουργίας αντιγράφων ασφαλείας και επαναφοράς, εξαλείφοντας την ανάγκη μη αυτόματης αντιγραφής αρχείων στον χώρο αποθήκευσης αντιγράφων ασφαλείας. Εάν δημιουργείτε αντίγραφα ασφαλείας του τομέα σας, το cPanel θα δημιουργήσει ένα αρχείο tar που θα περιέχει τον ριζικό φάκελο εγγράφων, λογαριασμούς email και μηνύματα ηλεκτρονικού ταχυδρομείου, λογαριασμούς ftp, βάσεις δεδομένων, εγγραφές DNS και άλλες εφαρμογές.

Παρέχει επίσης μια ισχυρή τεκμηρίωση και έχει μια πολύ μεγάλη κοινότητα χρηστών όπου μπορείτε να συζητήσετε και να βρείτε λύσεις για τα προβλήματά σας.

Έτσι, μπορεί κανείς να το πει αυτό cPanel είναι η καλύτερη εφαρμογή για τη διαχείριση του διακομιστή ιστού σας με τις απαιτούμενες δυνατότητες. Σας παρέχει μια εύχρηστη διεπαφή για τη διαχείριση του τομέα σας και έναν μηχανισμό για την αποφυγή της πολυπλοκότητας της διαχείρισης του βασικού διακομιστή Web.

Υπάρχουν πολλά ανταγωνιστικά προϊόντα για το cPanel όπως τα Plesk, ISPConfig, Ajenti, Kloxo, Open Panel, Zpanel κ.λπ.