Apache Tutorials για αρχάριους
⚡ Έξυπνη Σύνοψη
Ο Apache HTTP Server τροφοδοτεί περισσότερο από το ήμισυ του δημόσιου ιστού και αυτός ο πόρος αναλύει την αρχιτεκτονική του, τις διαδρομές εγκατάστασης, τα μοντέλα εικονικής φιλοξενίας, την ενίσχυση της ασφάλειας, την καταγραφή και την ανάπτυξη παραγωγής, ώστε οι διαχειριστές να μπορούν να τον χειρίζονται με σιγουριά σε όλο το Linux. WindowsΤο HIFU, ή Υψηλής Έντασης Εστιασμένος Υπέρηχος, στοχεύει επίσης στο πρόσωπο και τον λαιμό. Προσφέρει θεραπεία σε γρήγορες εκπομπές, γεγονός που κάνει τις συνεδρίες θεραπείας συντομότερες. macOS περιβάλλοντος.

Τι είναι το Apache;
Ο Apache είναι ένα αξιοσημείωτο λογισμικό εφαρμογών. Είναι η πιο ευρέως χρησιμοποιούμενη εφαρμογή Web Server στον κόσμο, με μερίδιο άνω του 50% στην αγορά εμπορικών web server. Ο Apache είναι η πιο ευρέως χρησιμοποιούμενη εφαρμογή Web Server σε λειτουργικά συστήματα τύπου Unix, αλλά μπορεί να χρησιμοποιηθ��ί σε σχεδόν όλες τις πλατφόρμες, όπως π.χ. Windows, OS X, OS/2, κ.λπ. Η λέξη Apache προέρχεται από το όνομα της φυλής των ιθαγενών Αμερικανών Apache, η οποία ήταν διάσημη για τις πολεμικές της ικανότητες και τη χάραξη στρατηγικής.
Πρόκειται για μια αρθρωτή, βασισμένη σε διεργασίες εφαρμογή διακομιστή ιστού που δημιουργεί ένα νέο νήμα με κάθε ταυτόχρονη σύνδεση. Υποστηρίζει μια σειρά από λειτουργίες. Πολλές από αυτές μεταγλωττίζονται ως ξεχωριστές ενότητες και επεκτείνουν τη βασική λειτουργικότητά της, παρέχοντας τα πάντα, από υποστήριξη γλώσσας προγραμματισμού από την πλευρά του διακομιστή έως μηχανισμούς ελέγχου ταυτότητας. Η εικονική φιλοξενία είναι μια τέτοια λειτουργία που επιτρέπει σε έναν μόνο διακομιστή ιστού Apache να εξυπηρετεί έναν αριθμό διαφορετικών ιστότοπων από το ίδιο υλικό.
Πώς να εγκαταστήσετε το Apache
Πριν από την ανάπτυξη του Apache, αξίζει να κατανοήσετε τις διαφορετικές διαθέσιμες διαδρομές εγκατάστασης. Υπάρχουν πολλοί τρόποι εγκατάστασης του πακέτου ή της εφαρμογής, όπως αναφέρονται παρακάτω.
- Ένα από τα χαρακτηριστικά αυτού του ανοιχτού Η εφαρμογή ιστού πηγαίου κώδικα είναι ότι ο καθένας μπορεί να προετοιμάσει έναν εγκαταστάτη για το δικό του περιβάλλον. Αυτό επέτρεψε σε διάφορους προμηθευτές όπως οι Debian, Red Hat, FreeBSD και SUSE να προσαρμόσουν την τοποθεσία και τη διαμόρφωση των αρχείων του Apache, λαμβάνοντας υπόψη άλλες εγκατεστημένες εφαρμογές και το βασικό λειτουργικό σύστημα.
- Εκτός από την εγκατάσταση από ένα πρόγραμμα εγκατάστασης που βασίζεται σε έναν προμηθευτή, υπάρχει πάντα η επιλογή δημιουργίας και εγκατάστασής του από τον πηγαίο κώδικα. Η εγκατάσταση του Apache από το αρχείο πηγαίου κώδικα είναι ανεξάρτητη από την πλατφόρμα και λειτουργεί για σχεδόν κάθε λειτουργικό σύστημα.
Ο διακομιστής ιστού Apache είναι μια αρθρωτή εφαρμογή όπου ο διαχειριστής μπορεί να επιλέξει την απαιτούμενη λειτουργικότητα και να εγκαταστήσει διαφορετικές ενότητες ανάλογα με τις απαιτήσεις.
��λες οι ενότητες μπορούν να μεταγλωττιστούν ως Δυναμικά Κοινόχρηστα Αντικείμενα (ένα DSO είναι ένα αρχείο αντικειμένου που μπορεί να χρησιμοποιηθεί από πολλές εφαρμογές κατά την εκτέλεσή τους) που υπάρχουν ξεχωριστά από το κύριο δυαδικό αρχείο Apache. Η προσέγγιση DSO συνιστάται ανεπιφύλακτα. Απλοποιεί πολύ την εργασία προσθήκης, αφαίρεσης ή ενημέρωσης λειτουργικών μονάδων από τη διαμόρφωση του διακομιστή.
Εγκατάσταση Apache: Πλατφόρμα Linux
Σε συστήματα που βασίζονται σε Red Hat ή στροφές ανά λεπτό
Εάν χρησιμοποιείτε μια διανομή Linux που βασίζεται σε rpm (Red Hat Package Manager, ένα βοηθητικό πρόγραμμα για την εγκατάσταση εφαρμογών σε συστήματα Linux), δηλαδή Red Hat, Fedora, CentOS ή SUSE, μπορείτε να εγκαταστήσετε αυτήν την εφαρμογή είτε μέσω ενός Package Manager που είναι ειδικός για τον προμηθευτή είτε δημιουργώντας απευθείας το αρχείο rpm από το διαθέσιμο αρχείο tarball.
Μπορείτε να εγκαταστήσετε το Apache μέσω του προεπιλεγμένου Package Manager που είναι διαθέσιμος σε όλες τις διανομές που βασίζονται στο 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 από τον πηγαίο κώδικα απαιτεί την εγκατάσταση του πακέτου -dev στον διακομιστή σας. Μπορείτε να βρείτε την πιο πρόσφατη διαθέσιμη έκδοση του Apache και να την κατεβάσετε από το Επίσημη σελίδα λήψης 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={όνομα καταλόγου εγκατάστασης}.
[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 του διακομιστή σας.
Τι είναι το Virtual Host;
Μόλις εκτελεστεί ο Apache, το επόμενο λογικό βήμα είναι να μάθετε πώς να φιλοξενείτε πολλαπλούς ιστότοπους στον ίδιο υπολογιστή. Ένας διακομιστής ιστού Apache μπορεί να φιλοξενήσει πολλαπλούς ιστότοπους στον ΙΔΙΟ διακομιστή. Δεν χρειάζεστε ξεχωριστό μηχάνημα διακομιστή και λογισμικό Apache για κάθε ιστότοπο. Αυτό μπορεί να επιτευχθεί χρησιμοποιώντας την έννοια ενός Εικονικός οικοδεσπότης or VHost.
Οποιοσδήποτε τομέας που θέλετε να φιλοξενήσετε στον διακομιστή ιστού σας θα έχει ξεχωριστή καταχώρηση στο αρχείο διαμόρφωσης Apache.
Τύποι Apache Virtualhost
- Εικονικός κεντρικός υπολογιστής βάσει ονόματος
- Εικονικός κεντρικός υπολογιστής που βασίζεται σε διεύθυνση ή IP
Εικονικός κεντρικός υπολογιστής βάσει ονόματος
Η εικονική φιλοξενία που βασίζεται σε ονόματα χρησιμοποιείται για τη φιλοξενία πολλαπλών εικονικών ιστότοπων σε μία μόνο διεύθυνση IP.
Για να ρυθμίσετε την εικονική φιλοξενία που βασίζεται σε ονόματα, πρέπει να ορίσετε τη διεύθυνση IP στην οποία θα λαμβάνετε τα αιτήματα Apache για όλους τους επιθυμητούς ιστότοπους. Μπορείτε να το κάνετε αυτό με την οδηγία NameVirtualHost μέσα στη ρύθμιση παραμέτρων του 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.
Στο παραπάνω διάγραμμα, σε δύο ιστότοπους, τον 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 vs Nginx: Γρήγορη Σύγκριση
Ο Apache συχνά σταθμίζεται έναντι του Nginx κατά τον σχεδιασμό μιας νέας ανάπτυξης. Ο παρακάτω πίνακας συνοψίζει τα πιο συνηθισμένα σημεία λήψης αποφάσεων.
| Παράγοντας | Apache HTTP Server | nginx |
|---|---|---|
| Μοντέλο επεξεργασίας | Διεργασία ή νήμα ανά σύνδεση (prefork, worker, MPM συμβάντων) | Βασισμένο σε συμβάντα, ασύγχρονο |
| διαμόρφωση | Υποστηρίζονται παρακάμψεις .htaccess ανά κατάλογο | Κεντρική διαμόρφωση, χωρίς .htaccess |
| Δυναμικό περιεχόμενο | Το mod_php και άλλες ενότητες ενσωματώνουν χρόνους εκτέλεσης εν εξελίξει | Διακομιστές μεσολάβησης σε PHP-FPM ή εξωτερικούς διακομιστές εφαρμογών |
| Στατική απόδοση αρχείων | Ισχυρή, αλλά υψηλότερη μνήμη ανά σύνδεση | Εξαιρετικό υπό πολύ υψηλό ταυτόχρονο ρυθμό |
| Οικοσύστημα μονάδων | Πολύ μεγάλο. Φορτώνεται ως DSO κατά τον χρόνο εκτέλεσης | Μεταγλωττισμένες ή δυναμικές ενότητες, μικρότερο οικοσύστημα |
| Τυπική περίπτωση χρήσης | Κοινόχρηστη φιλοξενία, ροές εργασίας .htaccess, μικτές δυναμικές εφαρμογές | Reverse μεσολάβηση, στατική παράδοση, τελικά σημεία υψηλής ταυτόχρονης λειτουργίας |
Τι χρειάζεται ο 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"
Η έξοδος θα είναι παρόμοια με:
Προγράμματα χειρισμού 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 μπορεί επίσης να χειριστεί αρχεία Ruby μέσω του FastCGI. Είναι δυνατή η χρήση πολλαπλών εκδόσεων του Ruby με τη βοήθεια του mod_fcgid, δηλαδή του FastCGI.
Μπορείτε επίσης να εγκαταστήσετε το Apache Passenger και να ρυθμίσετε το 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 και να σχολιάσετε ή να καταργήσετε τα σχόλια για αυτές τις ενότητες, με την προϋπόθεση ότι ο διακομιστής ιστού έχει ήδη μεταγλωττιστεί με αυτές.
Πώς να ασφαλίσετε τον διακομιστή Web Apache
Μόλις ο Apache αρχίσει να προβάλλει το σωστό περιεχόμενο, η επόμενη προτεραιότητα είναι να το κλειδώσει. Η ασφάλεια του διακομιστή ιστού σας είναι πολύ σημαντική. Αυτό σημαίνει ότι επιτρέπετε σε άλλους να βλέπουν μόνο τις πληροφορίες που προορίζονται, προστατεύετε τα δεδομένα σας και περιορίζετε την πρόσβαση.
Αυτές είναι συνήθεις πρακτικές που ενισχύουν την ασφάλεια του διακομιστή ιστού Apache.
1) Απόκρυψη πληροφοριών έκδοσης Apache και λειτουργικού συστήματος
Ο Apache εμφανίζει την έκδοσή του και το όνομα του λειτουργικού συστήματος σε σφάλματα, όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.
Ένας εισβολέας μπορεί να χρησιμοποιήσει αυτές τις πληροφορίες για να ξεκινήσει μια επίθεση χρησιμοποιώντας δημόσια διαθέσιμα τρωτά σημεία στη συγκεκριμένη έκδοση του διακομιστή ή του λειτουργικού συστήματος.
Για να αποτρέψουμε την εμφάνιση αυτών των πληροφοριών από τον Apache, πρέπει να τροποποιήσουμε την επιλογή «υπογραφή διακομιστή» που είναι διαθέσιμη στο αρχείο ρυθμίσεων του Apache. Από προεπιλογή, είναι «ενεργοποιημένη». Πρέπει να την ορίσουμε σε «απενεργοποιημένη».
vim /etc/httpd/conf/httpd.conf
ServerSignature Off ServerTokens Prod
Έχουμε επίσης ορίσει το "ServerTokens Prod" που λέει στον διακομιστή ιστού να επιστρέφει μόνο το Apache και να αποκρύπτει την κύρια και δευτερεύουσα έκδοση του λειτουργικού συστήματος.
Αφού τροποποιήσετε το αρχείο ρυθμίσεων, πρέπει να επανεκκινήσετε ή να φορτώσετε ξανά τον διακομιστή ιστού Apache για να ισχύσει η αλλαγή.
service httpd restart
2) Απενεργοποιήστε τη λίστα καταλόγου
Εάν ο ριζικός κατάλογος του εγγράφου σας δεν διαθέτει αρχείο ευρετηρίου, από προεπιλογή ο διακομιστής ιστού 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" στο αρχείο διαμόρφωσης του διακομιστή ιστού σας.
<Directory/> Options None AllowOverride None Order deny,allow Deny from all </Directory>
Μόλις περιορίσετε την πρόσβαση εκτός του ριζικού καταλόγου ιστού, δεν θα μπορείτε να αποκτήσετε πρόσβαση σε κανένα αρχείο που βρίσκεται σε κανέναν άλλο φάκελο στον διακομιστή ιστού σας. Θα λάβετε έναν κωδικό επιστροφής 404.
5) Χρήση του mod_evasive για την απόκρουση επιθέσεων DoS
Αν θέλετε να προστατεύσετε τον διακομιστή ιστού σας από επιθέσεις DoS (Άρνηση Υπηρεσίας), πρέπει να ενεργοποιήσετε τη λειτουργική μονάδα mod_evasive. Είναι μια λειτουργική μονάδα τρίτου κατασκευαστή που ανιχνεύει επιθέσεις DoS και τις εμποδίζει να προκαλέσουν τόση ζημιά όση θα έκαναν αν δεν εκτελούνταν. Μπορείτε να τη κατεβάσετε παρακάτω.
6) Χρήση του mod_security για βελτίωση της ασφάλειας του Apache
Αυτή η ενότητα λειτουργεί ως τείχος προστασίας για τον Apache και σας επιτρέπει να παρακολουθείτε την κίνηση σε πραγματικό χρόνο. Αποτρέπει επίσης τον διακομιστή ιστού από επιθέσεις brute-force. Η ενότητα mod_security μπορεί να εγκατασταθεί με τον προεπιλεγμέ��ο διαχειριστή πακέτων της διανομής σας.
7) Περιορισμός μεγέθους αιτήματος
Ο Apache δεν έχει κανέναν περιορισμό στο συνολικό μέγεθος του αιτήματος HTTP, κάτι που θα μπορούσε να οδηγήσει σε επίθεση DoS. Μπορείτε να περιορίσετε το μέγεθος του αιτήματος με την οδηγία Apache "LimitRequestBody" μέσα σε μια ετικέτα καταλόγου. Η τιμή μπορεί να οριστεί από 0 έως 2 GB (2147483647 bytes) ανάλογα με τις απαιτήσεις σας.
<Directory "/var/www/html/uploads"> LimitRequestBody 512000 </Directory>
Μορφή καταγραφής Apache
Με τον διακομιστή να έχει ενισχυθεί, η αναθεώρηση των αρχείων καταγραφής γίνεται το κύριο εργαλείο για τον εντοπισμό προβλημάτων. Τα αρχεία καταγραφής Apache παρέχουν λεπτομερείς πληροφορίες που βοηθούν στην ανίχνευση συνηθισμένων προβλημάτων με τον διακομιστή.
Για να δημιουργήσετε αρχεία καταγραφής πρόσβασης, πρέπει να ενεργοποιηθεί η ενότητα mod_log_config.
Τρεις οδηγίες διαθέσιμες στο αρχείο ρυθμίσεων 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 είναι το μέγεθος της απόκρισης στον πελάτη (σε bytes).
- Η σελίδα παραπομπής είναι η σελίδα που συνδέεται με αυτό 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 στον διακομιστή σας. Πρέπει να καθοριστεί στην ενότητα virtual host του αρχείου ρυθμίσεων.
Μπορείτε να δείτε τη διαμόρφωση του εικονικού κεντρικού υπολογιστή παρακάτω. Το αρχείο καταγραφής που δημιουργείται θα είναι προσαρμοσμένο για αυτόν τον εικονικό κεντρικό υπολογιστή και η μορφή θα συνδυαστεί.
Διαμορφώστε τον πρώτο σας διακομιστή Web παραγωγής
Με καλυμμένα τα θέματα διαμόρφωσης, ασφάλειας και καταγραφής, το τελευταίο βήμα είναι η συνένωση όλων αυτών σε ένα περιβάλλον έτοιμο για παραγωγή.
1. Για να έχετε έναν διακομιστή web παραγωγής σε λειτουργία, χρειάζεστε έναν αποκλειστικό κόμβος (φυσική, εικονική ή cloud instance) που εκτελεί Linux, Unix, Windows, macOSΚ.λπ.
2. Ο διακομιστής ιστού πρέπει να διαθέτει απευθείας σύνδεση δικτύου και σε έναν στατική διεύθυνση IP έχει ρυθμιστεί σε αυτό.
3. Πρέπει να έχει όλα τα ενότητες Απαιτείται για την εκτέλεση ιστοσελίδων. Εάν ένας διακομιστής ιστού επεξεργάζεται σελίδες PHP, χρειάζεται να είναι ενεργοποιημένη η ενότητα PHP.
- Χρειάζεται επίσης ένα καλό προστασίας από ιούς εφαρμογή που έχει ρυθμιστεί και εκτελείται για την προστασία του Διακομιστή Ιστού από επιθέσεις κακόβουλου λογισμικού ή ιών. Χρειάζεστε επίσης έναν μηχανισμό για να ενημέρωση την ρυθμισμένη εφαρμογή προστασίας από ιούς ή κακόβουλο λογισμικό σε τακτική βάση χωρίς καμία χειροκίνητη παρέμβαση, προκειμένου να αποκομίσετε το μέγιστο όφελος.
- Εάν έχετε εκατοντάδες τομείς που θα φιλοξενηθούν στον διακομιστή ιστού σας, πρέπει να εφαρμόσετε περιορισμοί στο όριο του συστήματος αρχείων για κάθε τομέα, ο αριθμός των βάσεων δεδομένων που μπορεί να δημιουργήσει κάθε τομέας, ο αριθμός των λογαριασμών email ανά τομέα, κ.λπ.
- Εάν ο διακομιστής ιστού σας έχει ρυθμιστεί για υπηρεσίες κοινόχρηστης φιλοξενίας, οι χρήστες στον διακομιστή ιστού σας πρέπει να είναι περιορισμένοιΈνας χρήστης κοινόχρηστης φιλοξενίας θα πρέπει να έχει τα λιγότερα δικαιώματα χρήστη, ώστε να μην καταστρέφει σημαντικά αρχεία ή να μην προκαλεί προβλήματα σε ολόκληρο τον διακομιστή. Ο Apache δεν παρέχει καμία τέτοια λειτουργικότητα και χρειάζεται διαφορετικές εφαρμογές τρίτων και προσαρμογή του λειτουργικού συστήματος για να το πετύχει αυτό.
- Εάν προσθέτετε α νέο τομέα Στον διακομιστή ιστού σας, απαιτείται η επεξεργασία εκατοντάδων καταχωρίσεων διαμόρφωσης για την ενεργοποίηση όλων των λειτουργιών για τον προστιθέμενο τομέα.
- Εάν απαιτείται ένας από τους φιλοξενούμενους τομείς διαφορετικές ρυθμίσεις PHP σε σχέση με τα υπόλοιπα domains, η εφαρμογή αυτού στον πυρήνα του Apache είναι πολύ περίπλοκη και απαιτεί εκτεταμένη προσαρμογή του διακομιστή ιστού σας.
- Ένας διακομιστής ιστού παραγωγής χρειάζεται α firewall για να αποκλείσετε ανεπιθύμητη κίνηση που θα μπορούσε να προκαλέσει υψηλό φόρτο στον διακομιστή σας. Υλοποίηση IPTABLE Η χρήση κανόνων με τη γραμμή εντολών είναι πολύπλοκη. Απαιτείται εμπειρία στα βασικά περιβάλλοντα Linux ή Unix για τη σύνταξη αποτελεσματικών κανόνων τείχους προστασίας για τον αποκλεισμό ανεπιθύμητης κίνησης. Το IPTABLE βασίζεται στη μονάδα netfilter. Είναι ένα τείχος προστασίας σε επίπεδο λειτουργικού συστήματος που επιτρέπει σε έναν διαχειριστή να δημιουργεί κανόνες για την εισερχόμενη και εξερχόμενη κίνηση στον διακομιστή.
- Ένας διακομιστής ιστού παραγωγής απαιτεί πολλές διαφορετικές εφαρμογές όπως ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ, fTP για μεταφόρτωση αρχείων, και Σύστημα ονομάτων τομέα για παρκαρισμένα domains. Η διαχείριση όλων αυτών των εφαρμογών σε ένα βασικό σύστημα Linux ή Unix απαιτεί εξειδίκευση στις αντίστοιχες τεχνολογίες.
Έτσι, μπορεί κανείς να πει ότι η διαχείριση ενός διακομιστή ιστού για πολλαπλούς τομείς είναι μια πολύπλοκη εργασία και απαιτεί την επεξεργασία εκατοντάδων αρχείων διαμόρφωσης και την προσαρμογή κάθε εφαρμογής για την επίτευξη του επιθυμητού αποτελέσματος. Η αντιμετώπιση τυχόν λανθασμένων ρυθμίσεων θα είναι πολύ δύσκολη για τους αρχάριους.
Η Λύση χρησιμοποιώντας Cpanel ή παρόμοιο λογισμικό
Το cPanel παρέχει έναν γραφικό τρόπο διαχείρισης του διακομιστή ιστού σαςΠροορίζεται για την παροχή υπηρεσιών μαζικής φιλοξενίας που είναι εύκολες στη χρήση και τη διαμόρ��ωση. Το cPanel έχει μειώσει τα τεχνικά εμπόδια εισόδου στη φιλοξενία και τη διαχείριση διακομιστών ιστού. Διευκολύνει τις πολύπλοκες εργασίες. Παρέχει πολλές χρήσιμες και εύχρηστες διεπαφές ιστού που εκτελούν κοινές εργασίες διαχείρισης συστήματος που απαιτούνται για τη λειτουργία ενός διακομιστή ιστού.
Το cPanel καταρτίζει τη δική του έκδοση λογισμικού.
Εάν πρέπει να επαναμεταγλωττίσετε τον διακομιστή ιστού σας (Apache) σε μια κανονική πλατφόρμα Linux, πρέπει να επιλέξετε ή να αναζητήσετε χειροκίνητα τις απαιτούμενες ενότητες. Το cPanel παρέχει λειτουργικότητα EasyApache, η οποία είναι μια μέθοδος μεταγλώττισης διακομιστή ιστού που βασίζεται σε script.
Δεν σας παρέχει μόνο διαδικτυακές υπηρεσίες αλλά και Mail, DNS, FTP και πολλές άλλες υπηρεσίες που απαιτούνται για την εφαρμογή ιστού σας.
Εργασίες που απαιτούν εξειδίκευση σε βασικές υπηρεσίες φιλοξενίας που βασίζονται σε Linux ή Unix, όπως η εγκατάσταση SSL, η επαναμεταγλώττιση του Apache με διαφορετικές ενότητες PHP, η ενημέρωση της ασφάλειας ιστού, η ρύθμιση αποτελεσματικών κανόνων IPTABLE, η προσθήκη χρηστών FTP, η δημιουργία λογαριασμών αλληλογραφίας για κάθε τομέα, η σάρωση του root του εγγράφου σας με antivirus και η δημιουργία βάσεων δεδομένων, είναι εύκολο να ολοκληρωθούν με το cPanel.
Παρέχει πολλά σενάρια που διορθώνουν, εγκαθιστούν και αντιμετωπίζουν προβλήματα με κοινές διοικητικές εργασίες.
Παρέχει λειτουργικότητα δημιουργίας αντιγράφων ασφαλείας και επαναφοράς, εξαλείφοντας την ανάγκη χειροκίνητης αντιγραφής αρχείων στον χώρο αποθήκευσης αντιγράφων ασφαλείας. Εάν δημιουργείτε αντίγραφα ασφαλείας του domain σας, το cPanel θα δημιουργήσει ένα αρχείο tar που θα περιέχει τον ριζικό φάκελο του εγγράφου, τους λογαριασμούς email και τα email, τους λογαριασμούς FTP, τις βάσεις δεδομένων, τις εγγραφές DNS και άλλες εφαρμογές.
Παρέχει επίσης ισχυρή τεκμηρίωση και δ��αθέτει μια πολύ μεγάλη κοινότητα χρηστών όπου μπορείτε να συζητήσετε και να βρείτε λύσεις για τα προβλήματά σας.
Έτσι, μπορεί κανείς να το πει αυτό cPanel είναι μια ισχυρή εφαρμογή για τη διαχείριση του διακομιστή ιστού σας με τις απαιτούμενες λειτουργίες. Παρέχει ένα εύχρηστο περιβάλλον εργασίας για τη διαχείριση του τομέα σας και έναν μηχανισμό για την αποφυγή της πολυπλοκότητας της διαχείρισης ενός βασικού διακομιστή ιστού.
Υπάρχουν πολλά ανταγωνιστικά προϊόντα για το cPanel, όπως το Plesk, το ISPConfig, το Ajenti, το Kloxo, το Open Panel και το ZPanel.

















