Έννοιες:οδηγίες διαμόρφωσης. Αρχεία διαμόρφωσης, οδηγίες. Βασικές οδηγίες διαμόρφωσης. διαδικασίες διακομιστή. Ελέγξτε την πρόσβαση σε καταλόγους και αρχεία.

Η διαμόρφωση (λατ. configuratio - αμοιβαία διάταξη) είναι μια ειδική λογική και μεθοδολογική συσκευή, μια νοητική τεχνική για τη σύνθεση γνώσεων διαφορετικών θεμάτων, διαφορετικών ιδεών για το ίδιο αντικείμενο.

οδηγίες, (από τα λατινικά directio - κατεύθυνση). Γενική καθοδήγηση που δίνεται από ανώτερη αρχή σε έναν υφιστάμενο (διακομιστής για σταθμός εργασίαςκαι τα λοιπά.) .

Το αρχείο ρυθμίσεων είναι ένα αρχείο με αρκετά απλή μορφή. Κάθε γραμμή είναι μια λέξη-κλειδί και ένα ή περισσότερα ορίσματα. Για απλότητα, οι περισσότερες γραμμές περιέχουν μόνο ένα όρισμα. Οτιδήποτε ακολουθεί το σύμβολο # είναι σχόλιο και αγνοείται.

Ο Apache διαμορφώνεται αλλάζοντας τα αρχεία υπηρεσίας στον κατάλογο /etc/httpd/conf/. Το κύριο αρχείο διαμόρφωσης διακομιστή ιστού είναι httpd.conf. Οι οδηγίες διαμόρφωσης μπορούν να τοποθετηθούν σε διάφορα αρχεία, τα οποία περιλαμβάνουν την κύρια δομή Include filename.conf.

Εάν η θέση οποιουδήποτε αρχείου ή καταλόγου προσδιορίζεται σιωπηρά στο αρχείο διαμόρφωσης (η ρητή θέση ξεκινά από τη ρίζα του συστήματος αρχείων - με τον χαρακτήρα "/"), ο Apache χρησιμοποιεί τον κατάλογο που καθορίζεται στην οδηγία ServerRoot για να προσδιορίσει την πραγματική θέση του στόχος.

Περιγραφή μονάδων Apache και οδηγίες διαμόρφωσης

Οι οδηγίες μπορούν να χρησιμοποιηθούν στα ακόλουθα επίπεδα:

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

Επίπεδο V - η οδηγία μπορεί να χρησιμοποιηθεί διαφορετικά για διαφορετικούς εικονικούς κεντρικούς υπολογιστές.

Δ επίπεδο - για οποιαδήποτε οδηγία καταλόγου αυτού του επιπέδου, μπορείτε να ορίσετε τις δικές σας ρυθμίσεις.

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

Σε οποιοδήποτε σημείο, η χρήση της παραμέτρου ονόματος αρχείου στην οδηγία υποδηλώνει μια απόλυτη (αρχίζει με "/") ή σχετική διαδρομή από τον κατάλογο ServerRoot προς το αρχείο.

CORE - πυρήνας διακομιστή ιστού (κύρια ενότητα Apache)

Όνομα αρχείου AccessConfig

Ορίζει τη θέση του αρχείου διαμόρφωσης. Το προεπιλεγμένο αρχείο διαμόρφωσης συστήματος είναι conf/access.conf. Για να απενεργοποιήσετε την ανάγνωση αυτού του αρχείου, συνιστάται να ορίσετε το /dev/null.

Αρχείο αρχείου AccessFileName...

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

Ενότητα μονάδας AddModule ... [A]

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

Μονάδα μονάδας AddModule ...

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

AllowOverride param param...

Ορίζει τους κανόνες με τους οποίους ο Apache χρησιμοποιεί οδηγίες από εσωτερικά αρχεία .htaccess.

Κανένα - αγνοεί.

Όλα - χρησιμοποιεί όλες τις οδηγίες.

Επιλογές - σας επιτρέπει να χρησιμοποιείτε το Options και το XBitHack.

Ευρετήρια - οδηγίες για τη διαχείριση της ευρετηρίασης καταλόγου.

FileInfo - οδηγίες για τη διαχείριση τύπων αρχείων και των χειριστών τους.

AuthConfig - οδηγίες για πρόσβαση σε καταλόγους Auth*.

Όριο - επιτρέπω/άρνηση/παραγγελία οδηγιών.

Το βασίλειο AuthName

AuthType

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

Διεύθυνση BindAddress [A]

Καθορίζει τη διεύθυνση όπου ο Apache θα δέχεται συνδέσεις. Μπορείτε να χρησιμοποιήσετε το όνομα κεντρικού υπολογιστή, τη διεύθυνση IP ή το *.

ClearModuleList[A]

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

ContentDigest on|off

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

Επώνυμο CoreDumpDirectory [A]

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

DefaultType mimetype

Καθορίζει τον τύπο MIME που αποστέλλεται στους πελάτες εάν ο Apache δεν μπορεί να προσδιορίσει τον τύπο μέσω του αρχείου mime.types ή των οδηγιών AddType. Η προεπιλογή έχει οριστεί σε κείμενο/απλό.

...

Συνδυάζει μια ομάδα οδηγιών που καθορίζουν τη συμπεριφορά του Apache κατά την πρόσβαση σε έγγραφα που βρίσκονται σε αυτόν τον κατάλογο. Επιτρέπεται η χρήση προσωπίδων ονομάτων - συμβόλων *, ? από τους κανόνες του κελύφους. Εάν χρησιμοποιείται μάσκα, τοποθετείται ένα tilde ~ πριν από το όνομα.

...

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

Όνομα DocumentRoot

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

ErrorDocumentΌνομα αρχείου|string|URL

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

ErrorDocument 500 http://foo.example.com/cgi-bin/tester

ErrorDocument 404 /cgi-bin/bad_urls.pl

ErrorDocument 401 /subscription_info.html

Έγγραφο σφάλματος 403 "Συγγνώμη δεν μπορώ να σας επιτρέψω την πρόσβαση σήμερα"

Όνομα αρχείου ErrorLog

Το όνομα του αρχείου καταγραφής σφαλμάτων. Εάν η συμβολοσειρά παραμέτρων ξεκινά με (/), τότε η διαδρομή του αρχείου πρέπει να καθοριστεί από το ServerRoot. εάν ξεκινά με (|), τότε τα μηνύματα σφάλματος διοχετεύονται στην καθορισμένη εντολή στην τυπική είσοδο. Συγκεκριμένα, με αυτόν τον τρόπο, για παράδειγμα, μπορείτε να εφαρμόσετε την αποθήκευση του αρχείου καταγραφής αμέσως στο SQL DBMS ή να τα αποθηκεύσετε αμέσως συμπιεσμένα, μεταφέροντας, για παράδειγμα, στο gzip. Η έκδοση 1.3 του Apache και μεταγενέστερη εκτυπώνει μηνύματα στο syslog από προεπιλογή, εάν το σύστημα το υποστηρίζει. αλλά αυτό μπορεί να απενεργοποιηθεί χρησιμοποιώντας το syslog:facility.

...

Έλεγχος πρόσβασης αρχείων. Ενότητες υποβάλλονται σε επεξεργασία με την ίδια σειρά όπως στο αρχείο διαμόρφωσης μετά την ανάγνωση των ενοτήτων της οδηγίας και .htaccess, αλλά πριν από την ανάγνωση των ενοτήτων καταλόγου . Το όρισμα πρέπει να περιέχει ένα όνομα αρχείου ή μια μάσκα που περιέχει "?" - οποιοσδήποτε χαρακτήρας, "*" - οποιαδήποτε συμβολοσειρά. Με τον πρόσθετο χαρακτήρα ~, μπορούν να χρησιμοποιηθούν εκτεταμένες ρυθμίσεις. εκφράσεις (δείτε την ενότητα ΚΑΝΟΝΙΚΕΣ ΕΚΦΡΑΣΕΙΣ στο grep(1)) Για παράδειγμα: θα ταιριάζει με τα αρχεία γραφικών που χρησιμοποιούνται συνήθως στο Διαδίκτυο.

...

Το ίδιο με , αλλά χρησιμοποιεί κανονικές εκφράσεις.

Έχει να κάνει μόνο με την εκκίνηση διαδικασιών Apache και forking στο περιβάλλον και με τα δικαιώματα που αντιστοιχούν στο συγκεκριμένο όνομα.

HostNameLookups on|off|double

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

IdentityCheck on|off

Ενεργοποιήστε τον έλεγχο ταυτότητας RFC1413. Η ενεργοποίηση της λειτουργίας θα αυξήσει σημαντικά τον χρόνο πρόσβασης στον διακομιστή.

...

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

...

Καθορίζει ότι οι οδηγίες τοποθετούνται μέσα σε ένα μπλοκ που σχηματίζεται από ένα ζεύγος οδηγιών καιπρέπει να εκτελείται μόνο εάν αυτή η ενότηταμεταγλωττισμένο σε Apache. Ο χαρακτήρας [ !] που προηγείται της μονάδας υποδεικνύει ότι το μπλοκ οδηγιών θα διαβαστεί μόνο εάν η παράμετρος δεν έχει οριστεί.

Συμπεριλάβετε το όνομα αρχείου [A]

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

KeepAlive on|off [A]

Επιτρέπει στον πελάτη να ζητήσει διαδοχικά πολλά αρχεία χωρίς να διακόψει τη σύνδεση TCP.

KeepAliveTimeout δευτερόλεπτο [A]

Καθορίζει το χρόνο (σε δευτερόλεπτα) μέχρι να κλείσει η σύνδεση TCP, τον οποίο ο Apache θα περιμένει για το επόμενο αίτημα από τον πελάτη.

...

Σας επιτρέπει να καθορίσετε ποια μέθοδο HTTP (για παράδειγμα, GET ή POST) θα τοποθετηθεί μέσα ... εντολές ελέγχου πρόσβασης.

Μπορούν να χρησιμοποιηθούν μέθοδοι: GET, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK.

Θύρα ακρόασης [A]

Κάνει τον Apache να ακούει καθορισμένες διευθύνσειςκαι λιμάνια. Για παράδειγμα, για να αναγκάσετε τον διακομιστή να ακούσει στις θύρες 80 και 8000, χρησιμοποιήστε:

Για να εκτελέσετε το Apache σε διαφορετικές διεπαφές με καθορισμένους αριθμούς θυρών, χρησιμοποιήστε:

Ακούστε 192.170.2.1:80

Ακούστε 192.170.2.5:8000

Μήκος ListenBacklog[A]

Το μέγιστο μήκος της ουράς επεξεργασίας σύνδεσης.

...

Λεπτομέρειες στο apache-manual :)

...

Λεπτομέρειες στο apache-manual

Όνομα αρχείου Lockfile[A]

Η οδηγία ορίζει τη διαδρομή προς το αρχείο κλειδώματος.

LogLevel emerg|ειδοποίηση|crit|σφάλμα|προειδοποίηση|ειδοποίηση|πληροφορίες|εντοπισμός σφαλμάτων

Ορίζει το επίπεδο του περιεχομένου πληροφοριών του πρωτοκόλλου (αρχείο καταγραφής της λειτουργίας διακομιστή). Συνιστάται η χρήση τουλάχιστον του επιπέδου crit.

Πλήθος MaxClients[A]

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

MaxKeepAliveRequest count[A]

Επιτρέπει στον πελάτη να ζητήσει διαδοχικά τον καθορισμένο αριθμό αρχείων χωρίς να διακόψει τη σύνδεση TCP εάν είναι ενεργοποιημένο το KeepAlive. Εάν η παράμετρος έχει οριστεί στο 0, τότε ο Apache θα κλείσει τη σύνδεση μόνο λαμβάνοντας υπόψη την παράμετρο KeepAliveTimeout.

MaxRequestsPerChild count[A]

Η οδηγία θέτει ένα όριο στον αριθμό των αιτημάτων που μπορεί να επεξεργαστεί μια μεμονωμένη επεξεργασία παιδιού. Εάν το MaxRequestsPerChild έχει οριστεί σε 0, ο αριθμός των αιτημάτων είναι απεριόριστος.

Πλήθος διακομιστών MaxSpare[A]

Η οδηγία ορίζει τον επιθυμητό μέγιστο αριθμό διαδικασιών αδρανούς διακομιστή. Η οδηγία είναι άχρηστη εάν χρησιμοποιείτε την έκδοση του Apache των Microsoft Windows.

Πλήθος διακομιστών MinSpare [A]

Η οδηγία ορίζει τον επιθυμητό ελάχιστο αριθμό διεργασιών διακομιστή αδράνειας. Η οδηγία είναι άχρηστη εάν χρησιμοποιείτε την έκδοση του Apache των Microsoft Windows.

NameVirtualHost port[A]

Υποδεικνύει ότι τα αιτήματα για το συγκεκριμένο όνομα θύρας πρέπει να διαχωρίζονται από το όνομα του κεντρικού υπολογιστή που απευθύνεται (κεφαλίδα "Host:" HTTP). Σας επιτρέπει να ορίσετε πολλούς εικονικούς κεντρικούς υπολογιστές για μία διεύθυνση IP.

Επιλογές παραμέτρων παραμέτρων...

Καθορίζει τις ρυθμίσεις ενέργειας Apache για το καθορισμένο περιεχόμενο. Όλες οι πιθανές ρυθμίσεις περιγράφονται λεπτομερώς στο apache-manual. Συχνά χρησιμοποιούνται: Ευρετήρια - ενεργοποιεί την εμφάνιση των περιεχομένων του καταλόγου εάν δεν βρεθεί αρχείο ευρετηρίου σε αυτόν (οδηγία DirectoryIndex). ExecCGI - επιτρέπει την τοποθέτηση εκτελέσιμων αρχείων (cgi, scripts perl) σε αυτόν τον κατάλογο. Περιλαμβάνει - περιλαμβάνει τη δυνατότητα τοποθέτησης αρχείων στον κατάλογο SSI. Κάθε ρύθμιση υποστηρίζεται από την αντίστοιχη μονάδα που τη χρησιμοποιεί και ενδέχεται να μην λειτουργεί εάν δεν έχει φορτωθεί η σωστή μονάδα. Κάθε οδηγία Επιλογών θεωρείται ότι είναι επιπλέον των ήδη γνωστών Επιλογών που έχουν οριστεί για τους γονικούς καταλόγους. Κάθε ρύθμιση μπορεί να έχει το πρόθεμα + ή - για να "ενεργοποιήσετε ή να απενεργοποιήσετε" σε αυτό το πλαίσιο.

Όνομα αρχείου PidFile [A]

Η οδηγία ορίζει το όνομα του αρχείου στο οποίο ο διακομιστής γράφει το αναγνωριστικό διεργασίας.

Καθορίζει τη θύρα Apache - έναν αριθμό από το 0 έως το 65535 (να γνωρίζετε ότι ορισμένες θύρες ενδέχεται να χρησιμοποιούνται από άλλα πρωτόκολλα, βλ. /etc/services). Η τυπική θύρα για το πρωτόκολλο http είναι 80.

απαιτούν userid|groupid|valid-user|file-owner|group-owner [A]

Καθορίζει ποιοι χρήστες έχουν πρόσβαση στον κατάλογο.

Απαιτείται userid χρήστη - μόνο αυτοί οι χρήστες έχουν πρόσβαση

Απαιτείται όνομα ομάδας ομάδας [όνομα ομάδας] - όλοι οι χρήστες αυτών των ομάδων

Απαιτείται έγκυρος χρήστης - όλοι οι έγκυροι χρήστες.

Όνομα αρχείου ResourceConfig[A]

Ο διακομιστής διαβάζει περαιτέρω οδηγίες από αυτό το αρχείο αφού διαβάσει το httpd.conf. Το όνομα αρχείου είναι σχετικό με το ServerRoot. Μπορεί να απενεργοποιηθεί: ResourceConfig /dev/null

RLimitCPU max|sec[max|sec] [A]

RLimitMEM μέγιστο|byte[ μέγιστο|byte] [A]

RLimitNPROC max|count[max|count] [A]

Ικανοποιήστε οποιαδήποτε|όλα [A]

Καθορίζει την πολιτική πρόσβασης όταν χρησιμοποιούνται τόσο το Allow όσο και το Require. Χρησιμοποιείται όταν η πρόσβαση στην περιοχή περιορίζεται από όνομα χρήστη/κωδικό πρόσβασης και διεύθυνση πελάτη. Σε αυτήν την περίπτωση, η προεπιλογή ("όλα") απαιτεί από τον πελάτη να επικυρώσει τη διεύθυνση και να εισαγάγει το σωστό όνομα χρήστη και κωδικό πρόσβασης. Στην περίπτωση της παραμέτρου "οποιαδήποτε", ο πελάτης θα αποκτήσει πρόσβαση εάν εισήγαγε το σωστό όνομα χρήστη και κωδικό πρόσβασης ή περάσει τον περιορισμό του κεντρικού υπολογιστή. Μπορεί να χρησιμοποιηθεί για τον περιορισμό της πρόσβασης με κωδικό πρόσβασης, αλλά αφήστε τους πελάτες από μια συγκεκριμένη διεύθυνση χωρίς κωδικό πρόσβασης.

Όνομα αρχείου ScoreBoard [A]

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

SendBufferSize byte[A]

Ορίζει το μέγεθος του buffer TCP.

Email Διαχειριστή διακομιστή

Ορίζει τη διεύθυνση email που εμφανίζει ο διακομιστής στον πελάτη σε μηνύματα σφάλματος.

Όνομα κεντρικού υπολογιστή ServerAlias

Καθορίζει ένα εναλλακτικό όνομα εικονικού κεντρικού υπολογιστή.

Όνομα διακομιστή Όνομα κεντρικού υπολογιστή

Η οδηγία ορίζει το όνομα του διακομιστή. χρησιμοποιείται στο link building. Εάν το όνομα δεν έχει οριστεί, ο διακομιστής θα προσπαθήσει να το πάρει από τη δική του διεύθυνση IP.

Διαδρομή διακομιστή διαδρομής

Η οδηγία ορίζει το κληρονομούμενο όνομα διαδρομής για τον κεντρικό υπολογιστή.

Διαδρομή ServerRoot[A]

Ορίζει τον κατάλογο όπου μένει ο διακομιστής. Συνήθως περιέχει conf/ και logs/ υποκαταλόγους. Οι διαδρομές για άλλα αρχεία διαμόρφωσης έχουν δημιουργηθεί σε σχέση με αυτόν τον κατάλογο.

ServerSignature on|ff|mail

Διαμορφώνει μια συμβολοσειρά στο κάτω μέρος ενός εγγράφου που δημιουργείται από διακομιστή. Απενεργοποιημένο από προεπιλογή, On - εμφανίζει την έκδοση διακομιστή και το Όνομα διακομιστή του εικονικού κεντρικού υπολογιστή, το Email προσθέτει έναν σύνδεσμο mailto: στο ServerAdmin

ServerTokens Minimal|OS|Full [A]

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

ServerType standalone|inetd[A]

Καθορίζει τον τρόπο εκκίνησης του διακομιστή από το σύστημα. inetd - Εκτελείται από τη διαδικασία συστήματος inetd. αυτόνομο - ως διαδικασία δαίμονα.

Αριθμός διακομιστών Start[A]

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

Ο χρόνος που θα περιμένει ο Apache: λήψη αιτήματος GET, λήψη πακέτων TCP σε αιτήματα POST και PUT, παύση μεταξύ των ACK κατά τη μετάδοση πακέτων TCP στις απαντήσεις.

UseCanonicalName on|off

Αναγκάζει τον Apache να δημιουργήσει τα ονόματα των σελίδων που δημιουργεί χρησιμοποιώντας τις τιμές SERVER_NAME με το SERVER_PORT.

όνομα χρήστη

Ορίζει το userid με το οποίο ο διακομιστής θα ανταποκρίνεται στα αιτήματα. Για να χρησιμοποιήσετε την οδηγία, ο διακομιστής πρέπει να εκτελείται ως root.

...[ΕΝΑ]

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

mod_env - ορίστε και περάστε μεταβλητές προς επεξεργασία σε αρχεία CGI/SSI

Μεταβλητή PassEnv[ μεταβλητή] ...

Μεταβιβάζει μια μεταβλητή περιβάλλοντος (π.χ. HOME) στους χειριστές.

Τιμή μεταβλητής SetEnv

Γράφει τη δεδομένη τιμή στην καθορισμένη μεταβλητή περιβάλλοντος.

UnsetEnv μεταβλητή[μεταβλητή] ...

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

mod_setenvif - χρήση συνθηκών για τον ορισμό μεταβλητών περιβάλλοντος

BrowserMatch regex env-variable[=value] ] ... [A]

Χρησιμοποιεί το περασμένο κοινή έκφρασηως φίλτρο για την κεφαλίδα User-Agent από το πρόγραμμα περιήγησης πελάτη. Σε μια επιτυχημένη επίσκεψη, αρχικοποιεί τη μεταβλητή στη δεδομένη τιμή. Εάν ορίζεται μόνο το όνομα μιας μεταβλητής, αρχικοποιείται με τον αριθμό 1. Εάν μια μεταβλητή έχει καθοριστεί με ένα προηγούμενο "!" - η μεταβλητή επαναφέρεται.

BrowserMatchNoCase regex env-variable[=value] ] ... [A]

Λειτουργεί παρόμοια με το BrowserMatch, επιτρέποντας διαφορές πεζών-κεφαλαίων μεταξύ της τιμής User-Agent που πέρασε και της τυπικής έκφρασης που χρησιμοποιείται ως φίλτρο.

SetEnvIf χαρακτηριστικό regex env-variable[=value] ] ... [A]

Η ενέργεια που εκτελείται από την οδηγία είναι εντελώς παρόμοια με το BrowserMatch, αλλά μπορεί να χρησιμοποιηθεί οποιαδήποτε άλλη κεφαλίδα αντί του User-Agent: Remote_Host; Remote_Addr; remote_user; Request_Method; Request_URI; Παραπομπή

SetEnvIfNoCase χαρακτηριστικό regex env-variable[=value] ] ... [A]

Η διαφορά από το SetEnvIf είναι ίδια με το BrowserMatchNoCase από το BrowserMatch παραπάνω.

mod_unique_id - δημιουργεί μια μοναδική μεταβλητή περιβάλλοντος UNIQUE_ID

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

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

mod_mime - έχει σχεδιαστεί για να προσδιορίζει τον τύπο mime ενός αρχείου όταν το διαβιβάζει στον πελάτη

Επέκταση συνόλου χαρακτήρων AddCharset...

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

AddEncoding επέκταση MIME-enc...

Για τις καθορισμένες επεκτάσεις αρχείων, ενημερώνει τον Apache εάν θα μεταφέρει το αρχείο χρησιμοποιώντας την επιθυμητή κωδικοποίηση MIME.

Επέκταση ονόματος χειριστή AddHandler...

Λέει στον Apache ότι τα αρχεία με τις δεδομένες επεκτάσεις πρέπει να περάσουν σε έναν συγκεκριμένο χειριστή. Ο χειριστής μπορεί να είναι είτε εσωτερικός (cgi-sript και άλλα) είτε εξωτερικός, όπως περιγράφηκε προηγουμένως από την οδηγία Action.

AddLanguage επέκταση MIME-lang ...

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

AddType επέκταση τύπου MIME ...

Συμπληρώνει τον πίνακα τύπου MIME με μια νέα αντιστοίχιση επεκτάσεων αρχείων και κώδικα MIME για την απάντηση στον πελάτη.

Προεπιλεγμένη γλώσσα MIME-lang

Ορίζει τη γλώσσα της απάντησης ώστε να αποστέλλεται πάντα, εάν δεν μπορεί να γίνει με άλλα μέσα.

ForceType τύπου MIME

Αναγκάζει μια απάντηση με τον συγκεκριμένο τύπο MIME στον κατάλογο με τον οποίο σχετίζεται η συγκεκριμένη οδηγία.

RemoveEncoding επέκταση...

Καταργεί την κωδικοποίηση MIME στην απόκριση για αρχεία με τις δεδομένες επεκτάσεις.

Επέκταση RemoveHandler...

Λέει στον Apache να μην εκτελεί χειριστές για αρχεία με τις δεδομένες επεκτάσεις.

Επέκταση RemoveType...

Επαναφέρει τον τύπο MIME στην απόκριση στον πελάτη στον προεπιλεγμένο τύπο MIME

Χειριστής SetHandler

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

Όνομα αρχείου TypesConfig[A]

Καθορίζει τη θέση του πίνακα αναζήτησης τύπου MIME. Προεπιλογή - conf.mime.types

mod_mime_magic - μια λειτουργική μονάδα που χρησιμοποιεί πολύπλοκους κανόνες για τον προσδιορισμό του τύπου MIME του αρχείου που αποστέλλεται στην απάντηση

Όνομα αρχείου MimeMagicFile

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

mod_negotiation - διασφάλιση της διαπραγμάτευσης των μεταδιδόμενων τύπων δεδομένων μεταξύ του πελάτη και του διακομιστή

CacheNegotiatedDocs[A]

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

Προτεραιότητα γλώσσας MIME-lang ... [A]

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

mod_alias - σας επιτρέπει να τακτοποιείτε έγγραφα σε καταλόγους διακομιστών ιστού με πιο αυθαίρετο τρόπο

Ψευδώνυμο URL-διαδρομή συστήματος αρχείων

Λέει στον Apache ότι τα έγγραφα που βρίσκονται "κάτω" από τη δεδομένη διεύθυνση URL θα πρέπει να αναζητηθούν "κάτω" από τη δεδομένη τοποθεσία στο σύστημα αρχείων.

Διαδρομή συστήματος αρχείων AliasMatch URL-regexp

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

Διεύθυνση URL διαδρομής URL ανακατεύθυνσης

Επιστρέφει τον καθορισμένο κωδικό απόκρισης (302 από προεπιλογή) και ανακατευθύνει τον πελάτη σε διαφορετική διεύθυνση URL ως απόκριση σε αίτημα για διαδρομή διεύθυνσης URL και έγγραφα "κάτω". Η κατάσταση μπορεί να καθοριστεί ως αριθμός ή συμβολικά: μόνιμος (301), θερμοκρασία (302), seeother (303), εξαφανίστηκε (410). Για έναν κωδικό απόκρισης 410, η διεύθυνση URL απάντησης πρέπει να παραλειφθεί.

RedirectMatch URL-regexp URL

Παρόμοια με την Ανακατεύθυνση, χρησιμοποιώντας μια δεδομένη τυπική έκφραση αντί για μια ακριβή αντιστοίχιση για να συγκρίνετε τη διεύθυνση URL που διαβιβάστηκε.

URL διαδρομής URL RedirectTemp

Παρόμοιο με το Redirect χρησιμοποιώντας τον κωδικό απόκρισης 302.

Ανακατεύθυνση Μόνιμη διεύθυνση URL διαδρομής URL

Παρόμοιο με το Redirect χρησιμοποιώντας έναν κωδικό απόκρισης 301.

Διαδρομή συστήματος αρχείων διαδρομής ScriptAlias

Λειτουργεί σαν το ψευδώνυμο, αλλά ρυθμίζει αυτόματα τον χειριστή cgi-handler να εκτελείται για όλα τα αρχεία μέσα στον κατάλογο προορισμού.

ScriptMatch URL-regexp σύστημα αρχείων-διαδρομή

Παρόμοιο με το ScriptAlias, με επικύρωση τυπικής έκφρασης της διεύθυνσης URL.

mod_rewrite - διαχείριση της θέσης των εγγράφων στον διακομιστή

Σε μια σύντομη συλλογή περιγραφών των οδηγιών Apache, είναι δύσκολο να περιγραφούν οι εργασίες που επιλύονται από αυτήν την πολύπλοκη ενότητα. Ως οδηγός δράσης, είναι καλύτερο να χρησιμοποιήσετε τις ειδικές ενότητες του εγχειριδίου apache "Module mod_rewrite URL Rewriting Engine" και "URL Rewriting Guide". Ο ευκολότερος τρόπος για να μάθετε πώς να χρησιμοποιείτε αυτήν την ενότητα είναι να εξετάσετε συγκεκριμένες εργασίες και τις λύσεις τους χρησιμοποιώντας τη.

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

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

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

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

httpd_core - Πυρήνας Apache, που απαιτείται με κάθε εγκατάσταση Apache.

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

mod_auth - Απαιτείται για τον έλεγχο ταυτότητας χρηστών χρησιμοποιώντας αρχεία κειμένου.

mod_dir - Απαιτείται για την αναζήτηση αρχείων ευρετηρίου: "index.html", "default.html" κ.λπ.

mod_log_config - Παρέχει καταγραφή των αιτημάτων που αποστέλλονται στον διακομιστή. mod_mime - Περιέχει οδηγίες που διευκολύνουν την οργάνωση διαφορετικών τύπων MIME στον διακομιστή.

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

Αξίζει επίσης να σημειωθεί ότι οι δύο μονάδες Apache (mod_autoindex και mod_info) είναι οι πιο επικίνδυνες. Η πρώτη ενότητα σάς επιτρέπει να δημιουργείτε αυτόματα ευρετήρια στον κατάλογο και είναι ενεργοποιημένη από προεπιλογή. Για να δείτε πώς λειτουργεί, πληκτρολογήστε, για παράδειγμα, http://server_name/icons/ και εάν δεν υπάρχουν αρχεία ευρετηρίου σε αυτόν τον κατάλογο, θα εμφανιστούν τα περιεχόμενα ολόκληρου του καταλόγου. Η δεύτερη ενότητα, mod_info, δεν πρέπει ποτέ να προσπελαστεί μέσω του Διαδικτύου, επειδή εμφανίζει ολόκληρη τη διαμόρφωση του διακομιστή Web Apache.

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

Ανεξάρτητη εργασία:Εργασία με τον διακομιστή βάσης δεδομένων Δεδομένα MySQL. Δημιουργία πινάκων. Εισαγωγή, ανάκτηση και ενημέρωση δεδομένων σε βάση δεδομένων.

Εργαστηριακή εργασία αριθμός 12.Εγκατάσταση και διαμόρφωση του διακομιστή ιστού Apache.

Ανεξάρτητη εργασία:Εργασία με τον διακομιστή βάσης δεδομένων MySQL.

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

Από προεπιλογή, οι ρυθμίσεις του Apache βρίσκονται στο αρχείο " httpd.conf"στον κατάλογο" συνδ".

Δώστε ιδιαίτερη προσοχή στις διαδρομές αρχείων στα αρχεία διαμόρφωσης Apache και PHP. Συχνά θα χρειαστεί να καθορίσετε διαδρομές σε διάφορους καταλόγους και αρχεία. Τα λειτουργικά συστήματα UNIX και Windows χρησιμοποιούν διαφορετικούς διαχωριστές καταλόγου. Στο UNIX, χρησιμοποιείται η κάθετο προς τα εμπρός (/), ενώ στα Windows, η κάθετο (\). Ορισμένες οδηγίες Apache και PHP λειτουργούν και με τους δύο τύπους διαχωριστών καταλόγου. Αλλά επειδή το Apache και η PHP αναπτύχθηκαν αρχικά για UNIX, χρησιμοποιώντας τη φυσική τους μορφή, μπορείτε να αποφύγετε μια σειρά προβλημάτων. Επομένως, οι διαδρομές στα αρχεία ρυθμίσεων " httpd.conf" και " php.iniΣυνιστάται η εγγραφή με κάθετο σε μορφή UNIX - "/".

Για παράδειγμα:
Οδηγίες αρχείων ScriptAlias ​​"/php_dir/" "c:/php/" httpd.conf:

Λιμάνι- καθορίζει τη θύρα TCP που χρησιμοποιεί ο Apache για να δημιουργήσει μια σύνδεση. Από προεπιλογή, ορίζεται η θύρα 80. Μπορείτε επίσης να καθορίσετε τη θύρα στην οδηγία Ονομα διακομιστή.
Θύρα 80 Ο μόνος λόγος για να ορίσετε μια μη τυπική θύρα είναι εάν δεν έχετε άδεια χρήσης της τυπικής θύρας. Όταν χρησιμοποιείτε μια μη τυπική θύρα, όπως το 8080, ο αριθμός θύρας πρέπει να προσδιορίζεται στη διεύθυνση " http://localhost:8080/".

Διαχειριστής διακομιστή- περιέχει την καθορισμένη διεύθυνση e-mail του διαχειριστή του διακομιστή Web. Είναι αυτή η διεύθυνση που θα εμφανίζεται σε περίπτωση σφαλμάτων λειτουργίας διακομιστή.
Διαχειριστής διακομιστή [email προστατευμένο] Ονομα διακομιστή- περιέχει το καθορισμένο όνομα υπολογιστή για το διακομιστή.
Όνομα διακομιστή localhost:80 ServerRoot- δείχνει στον κατάλογο που περιέχει τα αρχεία διακομιστή ιστού Apache.
ServerRoot "C:/web_server/apache" DocumentRoot- Καθορίζει τον κατάλογο όπου βρίσκονται τα αρχεία της τοποθεσίας Web.
DocumentRoot "C:/web_server/apache/htdocs" Δοχείο

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

Επιλογές FollowSymLinks Περιλαμβάνει ευρετήρια
Allow Override All
Διευθυντικός επιτρεπόμενη υπέρβασηοριστεί σε τιμή ΟΛΑ, σας επιτρέπει να παρακάμψετε την τιμή του κύριου αρχείου διαμόρφωσης " httpd.conf"στα αρχεία" .htaccess".

Διευθυντικός Επιλογές FollowSymLinksεπιτρέπει στον Apache να ακολουθεί συμβολικούς συνδέσμους.

Διευθυντικός Οι επιλογές περιλαμβάνουνεπιτρέπει την εφαρμογή των οδηγιών SSI (Server Side Includes) στον κώδικα των σελίδων της τοποθεσίας Web.

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

Ευρετήριο καταλόγου- περιέχει μια καθορισμένη λίστα αρχείων ευρετηρίου που θα πρέπει να εμφανίζονται κατά την πρόσβαση στον κατάλογο χωρίς να καθορίσετε όνομα αρχείου.
DirectoryIndex index.html index.htm index.php Οδηγία ScriptAliasχρησιμοποιείται για τη δημιουργία ενός ψευδώνυμου καταλόγου " /cgi-bin/", το οποίο περιέχει προγράμματα και σενάρια CGI.
ScriptAlias ​​/cgi-bin/ "C:/web_server/apache/cgi-bin/" Στη συνέχεια, πρέπει να διαμορφώσετε τα δικαιώματα και τους περιορισμούς στον κατάλογο cgi-bin.

Allow Override None
Επιλογές ExecCGI
Παραγγελία άδεια, άρνηση
Να επιτρέπεται από όλους
Αυτή η ενέργεια είναι απαραίτητη για να διασφαλιστεί ότι οι επιλογές καταλόγου δεν αλλάζουν, καθώς αυτό θα μπορούσε να δημιουργήσει ζητήματα ασφαλείας.

Διευθυντικός Allow Override Noneλέει ότι οι επιλογές για αυτόν τον κατάλογο δεν μπορούν να παρακαμφθούν από αρχεία " .htaccess".

Διευθυντικός Επιλογές ExecCGIεπιτρέπει την εκτέλεση σεναρίων CGI.

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

AddHandler- αναγκάζει τον Apache να εξετάσει αρχεία με επεκτάσεις " exe" και " νυχτερίδα», όπως τα σενάρια CGI.
AddHandler cgi-script .bat .exe DefaultTypeορίζει την κεφαλίδα των αρχείων των οποίων ο τύπος δεν μπορεί να προσδιοριστεί από την επέκταση. Σε αυτή την περίπτωση, όλα άγνωστα αρχείααντιμετωπίζονται σαν κανονικά αρχεία κειμένου. Για να αντιμετωπίσετε όλες τις άγνωστες επεκτάσεις αρχείων ως HTML, αλλάξτε την οδηγία ως εξής:
DefaultType text/html AddDefaultCharset- ορίζει την προεπιλεγμένη κωδικοποίηση εάν η κωδικοποίηση δεν καθορίζεται στην κεφαλίδα του εγγράφου HTML.
AddDefaultCharset windows-1251

Ορίστε τα ελάχιστα απαραίτητα χαρακτηριστικά για εργασία, για αυτό ανοίγουμε το αρχείο για επεξεργασία /etc/httpd/conf/httpd.conf

Το Apache μπορεί να τρέξει με μία από τις τρεις διαθέσιμες μονάδες πολλαπλών επεξεργαστών (mpm):

  1. prefork- μία διαδικασία ανά αίτημα, η πιο συχνά χρησιμοποιούμενη ενότητα.
  2. εργάτης- πολλές διεργασίες με πολλά νήματα για το καθένα.
  3. Εκδήλωση- μια νέα πειραματική έκδοση της τυπικής μονάδας πολυεπεξεργαστή εργαζομένων.

Για να δείτε πληροφορίες σχετικά με τις ενότητες, εκτελέστε:

# httpd -V | grep "Διακομιστής MPM"

Παράδειγμα διαμόρφωσης για το Apache 2.4


ServerLimit 256
Εκκίνηση διακομιστών 20
Ελάχιστοι ανταλλακτικοί διακομιστές 20
Max Spare Servers 20
MaxRequestWorkers 256
MaxConnectionsPerChild 4000

Ορίστε το MaxRequestWorkers σε μια τιμή ίση με το ServerLimit.

Παράδειγμα διαμόρφωσης για το Apache 2

Στο τμήμα [μονάδα πολλαπλών επεξεργαστών]>, για παράδειγμα, ορίστε τις ακόλουθες τιμές:

Εκκίνηση διακομιστών 5
MinSpareServers 10
MaxSpareServers 10
MaxClients 30
ServerLimit 30

StartServers— ο αριθμός των διεργασιών που θα ξεκινήσουν, υπολογιζόμενος ως (Συνολική μνήμη - Μνήμη για διακομιστή, MySQL, Memcache κ.λπ.) / μέγεθος διεργασίας. Για παράδειγμα, 64Gb - 32Gb / 0,256Gb = μέγιστο 125 διεργασίες.

MinSpareServers- τον ελάχιστο αριθμό διαδικασιών αδράνειας.

MaxSpareServersμέγιστο ποσόαδρανείς διαδικασίες.

MaxClients- όριο διαδικασίας.

Όριο διακομιστή- ορίστε την ίδια τιμή με το MaxClients.

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

Όταν χρησιμοποιείτε διαμόρφωση ενός επιπέδου και δύο επιπέδων του διακομιστή vtb, τα όρια ορίζονται διαφορετικά. Δίνοντας τις σελίδες που δημιουργούνται σε έναν πιο ελαφρύ διακομιστή ιστού (για παράδειγμα, nginx), τα όρια μπορούν να μειωθούν. Οι συγκεκριμένες τιμές υπολογίζονται ξεχωριστά για κάθε διακομιστή ιστού.

Κρατήσει ζωντανή

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

  1. Ενεργοποιήστε το KeepAlive, για αυτήν τη γραμμή Keep Alive Offαντικατέστησε με Keep Alive On.
  2. MaxKeepAliveRequestsοριστεί σε 100.
  3. KeepAliveTimeoutπιο συχνά ρυθμίζεται στην περιοχή 2 - 10. Συνιστούμε τη ρύθμιση 5 δευτερολέπτων.

Νωρίτερα στη σειρά Βασικών Linux, καλύψαμε τα βασικά της εργασίας με τον διακομιστή ιστού Apache. Είναι ο πιο ευρέως χρησιμοποιούμενος διακομιστής ιστού στον κόσμο στο Διαδίκτυο (από τον Ιούλιο του 2015, ο Apache αντιπροσώπευε το 38%, ο IIS το 26% και ο Nginx το 15%). Επομένως, όσο περισσότερα γνωρίζετε για αυτό και καταλαβαίνετε πώς λειτουργεί, τόσο μεγαλύτερη επιτυχία θα επιτύχετε όταν το χακάρετε.

Σήμερα θα καλύψουμε τα βασικά για τη ρύθμιση ενός διακομιστή Apache. Όπως γράψαμε νωρίτερα, σχεδόν όλες οι εφαρμογές σε Linux ή Unix διαμορφώνονται και διαμορφώνονται μέσω αρχείων διαμόρφωσης, τα οποία είναι απλό κείμενο. Το Apache δεν αποτελεί εξαίρεση εδώ. Επομένως, σε αυτό το άρθρο θα επικεντρωθούμε στο αρχείο διαμόρφωσης apache2.conf, το οποίο βρίσκεται στον κατάλογο /etc/apache2.

Βήμα 1: Εκκινήστε το Apache2

Ας ξεκινήσουμε ξεκινώντας το Apache2. Αυτό θα το κάνουμε μέσω του γραφικού κελύφους του περιβάλλοντος Kali πηγαίνοντας στο Applications -> Kali Linux-> Υπηρεσίες συστήματος -> HTTP -> apache2 εκκίνηση όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.

Ή περάστε το γραμμή εντολώνπληκτρολογώντας την ακόλουθη εντολή στο τερματικό

Kali >service apache2 start

Αυτό ξεκινά τον δαίμονα Apache2 και από εδώ και στο εξής, ο διακομιστής ιστού θα πρέπει να εξυπηρετεί το περιεχόμενό μας στον Ιστό.

Βήμα 2: Ελέγξτε την υγεία του διακομιστή

Για να ελέγξουμε αν ο διακομιστής μας Apache εκτελείται, ας πάμε απλώς στο localhost ή στο 127.0.0.1 στο πρόγραμμα περιήγησης. Αν δείτε μια σελίδα όπως στο παρακάτω στιγμιότυπο οθόνης, τότε αυτό σημαίνει ότι ο διακομιστής λειτουργεί καλά!

Βήμα 3: Ανοίξτε το αρχείο διαμόρφωσης

Για να ρυθμίσουμε τις παραμέτρους του Apache, πρέπει να αλλάξουμε στον κατάλογο /etc/apache2.

Kali > cd /etc/apache2

Ας εμφανίσουμε μια λίστα με όλα τα αρχεία σε αυτόν τον κατάλογο:

Kali > ls -l

Όπως μπορείτε να δείτε, υπάρχουν πολλά αρχεία και υποκατάλογοι σε αυτόν τον κατάλογο. Προς το παρόν, μας ενδιαφέρει μόνο το αρχείο apache2.conf, αλλά σημειώστε ότι έχουμε ένα αρχείο ports.conf και έναν φάκελο sites_available που θα χρειαστούμε αργότερα, μαζί με μερικά άλλα αρχεία διαμόρφωσης και φακέλους.

Μπορούμε να ανοίξουμε το apache2.conf σε οποιοδήποτε επεξεργαστής κειμένου, αλλά εδώ θα χρησιμοποιήσουμε το Leafpad. Το αρχείο μπορεί να ανοίξει απλά πληκτρολογώντας στην κονσόλα:

Kali > leafpad /etc/apache2/apache2.conf

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

Βήμα 4 ServerRoot

Ας κάνουμε κύλιση προς τα κάτω, παρακάμπτοντας όλα τα σχόλια και ας βρούμε τη γραμμή #70, όπου ξεκινά η ενότητα καθολικών ρυθμίσεων. Εδώ βλέπουμε τις ρυθμίσεις ServerRoot. Αυτή είναι η κορυφή του δέντρου καταλόγου όπου ο διακομιστής Apache αποθηκεύει όλα τα αρχεία που σχετίζονται με τον διακομιστή. Η γραμμή #84 ορίζει το ServerRoot. Μπορούμε απλά να αποσχολιάσουμε αυτή τη γραμμή εάν θέλουμε να ορίσουμε το /etc/apache2 ως ServerRoot. Σας συνιστούμε να το κάνετε.

Βήμα 5: Χρονικό όριο

Στην επόμενη ενότητα, έχουμε μεταβλητές που ορίζουν τις τιμές των παραμέτρων: Timeout, KeepAlive, MaxKeepAliveRequests και KeepAliveTimeout.

  • τέλος χρόνου: Αυτός είναι ο χρόνος εντός του οποίου ο διακομιστής πρέπει να εκπληρώσει το αίτημα του χρήστη. Η προεπιλεγμένη τιμή του είναι 300, που σημαίνει ότι ο διακομιστής πρέπει να επεξεργαστεί κάθε αίτημα εντός 300 δευτερολέπτων ή 5 λεπτών. Αυτό είναι σίγουρα πολύ μεγάλο και μπορεί να ρυθμιστεί στα 30 δευτερόλεπτα.
  • Κρατήσει ζωντανή: Αυτό σημαίνει ότι ο διακομιστής παραμένει ζωντανός (διατηρώντας τη σύνδεση) για πολλαπλά αιτήματα από τον ίδιο πελάτη. Η προεπιλεγμένη τιμή είναι "On" (ενεργοποιημένη). Αυτό σημαίνει ότι οι πελάτες δεν χρειάζεται να δημιουργήσουν μια νέα σύνδεση για κάθε αίτημα στον διακομιστή μας. Αυτή η προσέγγιση εξοικονομεί πόρους διακομιστή.
  • MaxKeepAliveRequests: Αυτή η τιμή ορίζει τον μέγιστο αριθμό δευτερολέπτων που επιτρέπεται μεταξύ των αιτημάτων που λαμβάνονται από μια εγκατεστημένη σύνδεση με τον ίδιο πελάτη. Αν θέσουμε αυτή την τιμή στο 0, τότε ο χρόνος είναι απεριόριστος.
  • KeepAliveTimeout: Αυτό είναι το χρονικό διάστημα που μεσολαβεί μεταξύ των αιτημάτων για να προσδιοριστεί εάν η σύνδεση είναι ακόμα ζωντανή (που έχει δημιουργηθεί).

Σας προτείνουμε να αφήσετε όλες τις προεπιλεγμένες τιμές εκτός από την παράμετρο "Timeout". Κάθε κατάσταση είναι διαφορετική και ίσως χρειαστεί να αλλάξετε αυτές τις προεπιλογές για να προσαρμόσετε την απόδοση του διακομιστή στο συγκεκριμένο περιβάλλον σας.

Βήμα 6 Χρήστης και ομάδες Apache2

Ας κάνουμε κύλιση προς τα κάτω ξανά μερικές γραμμές στο αρχείο apache2.conf μέχρι να φτάσουμε στη γραμμή #177. Εδώ μπορούμε να ορίσουμε τον χρήστη και τις ομάδες Apache2. Παρατηρήστε το σχόλιο στη γραμμή #177. Λέει ότι μπορούμε να ορίσουμε αυτές τις μεταβλητές στο αρχείο envvars ( μεταβλητές περιβάλλοντος). Θα αφήσουμε αυτήν την ερώτηση για μελλοντικά άρθρα, αλλά προς το παρόν, απλά έχετε κατά νου ότι τόσο ο χρήστης (χρήστης) όσο και η ομάδα (ομάδα) είναι μεταβλητές των οποίων οι τιμές λαμβάνονται από το αρχείο /etc/apache2/envvars.

Και τελικά τελευταία ενότητα, το οποίο έχει μεγάλη σημασία για την ασφάλεια του Apache, ξεκινά από τη γραμμή #193. Αυτή η ενότητα διασφαλίζει ότι οι πελάτες web δεν μπορούν να έχουν πρόσβαση στα αρχεία .htaccess και .htpasswd.

Βήμα 7. Καταγραφή

Η ακόλουθη ενότητα περιγράφει τον τρόπο με τον οποίο ο Apache διαχειρίζεται τα αρχεία καταγραφής (logs).

Στην πρώτη υποενότητα, αναφερόμαστε στην παράμετρο HostNameLookups. Αυτή η οδηγία λέει στον Apache2 εάν πρέπει να πραγματοποιεί αναζητήσεις DNS όταν καταγράφει μια σύνδεση που έχει δημιουργηθεί. Με την προεπιλεγμένη τιμή "Off", το Apache2 λειτουργεί πολύ καλύτερα.

Βήμα 8 Διαθέσιμοι ιστότοποι

Τώρα ας δούμε τον κατάλογο site_available (διαθέσιμοι ιστότοποι) και, το πιο σημαντικό, το αρχείο που βρίσκεται σε αυτόν από προεπιλογή. Συχνά αναφέρεται ως το προεπιλεγμένο αρχείο Virtual Hosts. Ανοίξτε αυτό το αρχείο πληκτρολογώντας στην κονσόλα:

Kali > leafpad /etc/apache2/site_available/default

Όπως μπορείτε να δείτε, υπάρχουν τρεις κρίσιμοι τομείς σε αυτό το αρχείο. Η πρώτη γραμμή καθορίζει σε ποια θύρα ακούει ο διακομιστής web. Εδώ ορίζεται ότι ακούει σε οποιαδήποτε διεπαφή στη θύρα 80 (*:80). Η δεύτερη γραμμή ορίζει τη διεύθυνση email στην οποία θα πρέπει να αποστέλλονται ειδοποιήσεις σε περίπτωση προβλημάτων με τον διακομιστή. Από προεπιλογή, υπάρχει μια διεύθυνση Εάν είστε διαχειριστής συστήματος, μπορείτε να εισαγάγετε τη διεύθυνση email σας εδώ. Το τρίτο στοιχείο μπορεί να είναι το πιο σημαντικό - το DocumentRoot. Καθορίζει πού θα τοποθετηθεί το περιεχόμενο για αυτόν τον εικονικό κεντρικό υπολογιστή, η προεπιλογή είναι ο κατάλογος /var/www. Σας προτείνουμε να αφήσετε τα πάντα όπως ορίστηκαν από τους προγραμματιστές.

Βήμα 9 Θύρες

Τέλος, μπορούμε να πάμε ακόμα πιο κάτω στο αρχείο apache2.conf στη γραμμή #248 - "include port.conf". Αυτή η οδηγία απλώς λέει στον Apache να μεταβεί στο αρχείο port.conf για να βρει τις θύρες στις οποίες πρέπει να ακούσει.

Ο Apache είναι ο πιο δημοφιλής δωρεάν διακομιστής ιστού. Από το 2016, χρησιμοποιείται από το 33% όλων των τοποθεσιών του Διαδικτύου, δηλαδή περίπου 304 δισεκατομμύρια τοποθεσίες. Αυτός ο διακομιστής web αναπτύχθηκε το 1995 ως αντικατάσταση του δημοφιλούς διακομιστή NCSA και διόρθωσε πολλά από τα προβλήματά του. Φήμες λένε ότι το όνομά του προέρχεται από ένα μπαλωμένο αφού διόρθωσε τα λάθη του NCSA. Τώρα, είναι ένα πρόγραμμα πολλαπλών πλατφορμών που υποστηρίζει Windows, Linux και MacOS και παρέχει επαρκή ευελιξία, προσαρμογή και λειτουργικότητα. Το πρόγραμμα έχει μια αρθρωτή δομή, η οποία σας επιτρέπει να επεκτείνετε τη λειτουργικότητά του σχεδόν επ 'αόριστον με τη βοήθεια μονάδων.

Μπορείτε να εγκαταστήσετε το Apache σε Linux με μερικές εντολές, αλλά το πρόγραμμα παρέχει έναν πολύ μεγάλο αριθμό ρυθμίσεων που μπορείτε να αλλάξετε, καθώς και ενότητες, αφού ενεργοποιήσετε τις οποίες θα λειτουργήσει καλύτερα. Αυτό το άρθρο θα καλύψει την εγκατάσταση και τη διαμόρφωση του Apache, θα χρησιμοποιήσουμε το Ubuntu ως κύριο σύστημα, αλλά μπορείτε να επαναλάβετε αυτά τα βήματα σε οποιαδήποτε άλλη διανομή. Δεν θα εξεταστεί μόνο η εγκατάσταση του ίδιου του προγράμματος, αλλά και τρόποι διαμόρφωσής του, διαμόρφωση εικονικών κεντρικών υπολογιστών apache, καθώς και οι πιο χρήσιμες ενότητες.

Στο αυτή τη στιγμή, το περισσότερο μια νέα έκδοσηΤο πρόγραμμα 2.4, επομένως, θα εξεταστεί η διαμόρφωση του apache 2.4. Όπως είπα, στο Linux, το πρόγραμμα εγκαθίσταται μόνο με μερικές εντολές. Για εγκατάσταση στο Ubuntu, ενημερώστε πρώτα το σύστημα στην πιο πρόσφατη έκδοση:

sudo apt ενημέρωση
$ αναβάθμιση sudo apt

Στη συνέχεια εγκαταστήστε το apache2:

sudo apt εγκατάσταση apache2

Σε άλλες διανομές, το πακέτο προγράμματος ονομάζεται είτε that, είτε httpd και δεν θα δυσκολευτείτε να το εγκαταστήσετε.

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

sudo systemctl ενεργοποίηση του apache2

Ρύθμιση Apache

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

Όλες οι ρυθμίσεις περιέχονται στον φάκελο /etc/apache/:

  • Αρχείο /etc/apache2/apache2.confυπεύθυνος για τις βασικές ρυθμίσεις
  • /etc/apache2/conf-available/* - επιπρόσθετες ρυθμίσειςδιακομιστή Ιστού
  • /etc/apache2/mods-available/*- ρυθμίσεις μονάδας
  • /etc/apache2/sites-available/*- Ρυθμίσεις εικονικού κεντρικού υπολογιστή
  • /etc/apache2/ports.conf- θύρες στις οποίες εκτελείται ο apache
  • /etc/apache2/envvars

Όπως μπορείτε να δείτε υπάρχουν δύο φάκελοι για conf, mods και site. Αυτά είναι διαθέσιμα και ενεργοποιημένα. Όταν είναι ενεργοποιημένη μια λειτουργική μονάδα ή κεντρικός υπολογιστής, δημιουργείται ένας συμβολικός σύνδεσμος από τον διαθέσιμο φάκελο προς τον φάκελο ενεργοποίησης. Επομένως, είναι καλύτερο να κάνετε ρυθμίσεις στους διαθέσιμους φακέλους. Γενικά, θα ήταν δυνατό να κάνουμε χωρίς αυτούς τους φακέλους, να πάρουμε τα πάντα και να τα απορρίψουμε σε ένα αρχείο με τον παλιό τρόπο, και όλα θα λειτουργούσαν, αλλά τώρα κανείς δεν το κάνει.

Αρχικά, ας δούμε το κύριο αρχείο ρυθμίσεων:

vi /eta/apache2/apache2.conf

τέλος χρόνου- υποδεικνύει πόσο καιρό θα προσπαθήσει ο διακομιστής να συνεχίσει τη διακοπτόμενη μετάδοση ή λήψη δεδομένων. 160 δευτερόλεπτα θα είναι αρκετά.

Keep Alive On- πολύ χρήσιμη παράμετρος, σας επιτρέπει να μεταφέρετε πολλά αρχεία, για μία σύνδεση, για παράδειγμα, όχι μόνο το σελίδα html, αλλά και εικόνες και αρχεία css.

MaxKeepAliveRequests 100- ο μέγιστος αριθμός αιτημάτων ανά σύνδεση, όσο περισσότερα, τόσο το καλύτερο.

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

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

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

LogLevel- επίπεδο καταγραφής σφαλμάτων. Από προεπιλογή, χρησιμοποιείται προειδοποίηση, αλλά για να γεμίσετε τα αρχεία καταγραφής πιο αργά, απλώς ενεργοποιήστε το σφάλμα

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

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


Τιμή παραμέτρου

Εδώ είναι οι κύριες διαθέσιμες επιλογές:

επιτρεπόμενη υπέρβαση- καθορίζει εάν θα διαβάζονται αρχεία .htaccess από αυτόν τον κατάλογο, αυτά είναι τα ίδια αρχεία ρυθμίσεων και η ίδια σύνταξη. Όλα - επιτρέπονται τα πάντα, Κανένα - μην διαβάζετε αυτά τα αρχεία.

DocumentRoot- ορίζει από ποιον φάκελο πρέπει να λαμβάνετε έγγραφα για εμφάνιση στον χρήστη

Επιλογές- Καθορίζει ποιες δυνατότητες του διακομιστή web θα πρέπει να επιτρέπονται σε αυτόν τον φάκελο. Για παράδειγμα, Όλα - επιτρέπονται τα πάντα, FollowSymLinks - ακολουθήστε συμβολικούς συνδέσμους, Ευρετήρια - εμφανίστε τα περιεχόμενα του καταλόγου εάν δεν υπάρχει αρχείο ευρετηρίου.

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

Σειρά- σας επιτρέπει να ελέγχετε την πρόσβαση στον κατάλογο. Χρειάζονται δύο τιμές: Allow,Deny - επιτρέπονται για όλους εκτός από αυτούς που καθορίζονται ή Deny,Allow - deny για όλους εκτός από αυτούς που καθορίζονται..ru.

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

Μας μένει το αρχείο /etc/apache2/ports.conf:

Έχει μόνο μία οδηγία, Listen, η οποία λέει στο πρόγραμμα σε ποια θύρα να εργαστεί.

Το τελευταίο αρχείο είναι το /etc/apache2/envvars, το οποίο είναι απίθανο να χρησιμοποιήσετε, περιέχει μεταβλητές που μπορούν να χρησιμοποιηθούν σε άλλα αρχεία διαμόρφωσης.

Ρύθμιση διακομιστή Apache μέσω htaccess

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

Είναι σημαντικό να σημειωθεί ότι για να διαβάσει ο διακομιστής οδηγίες από το .htaccess, οι ρυθμίσεις για αυτόν τον φάκελο στο κύριο αρχείο ή το αρχείο εικονικού κεντρικού υπολογιστή δεν πρέπει να περιέχουν Allow Override Noneγια να λειτουργήσουν όλες οι ρυθμίσεις, χρειάζεστε Allow Override All.

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

Παραγγελία Άρνηση, Επιτρέπεται
Αρνηθείτε από όλους

Δεν επιτρέπει σε όλους την πρόσβαση σε αυτόν τον φάκελο, είναι σημαντικό να κάνετε αίτηση για φακέλους διαμόρφωσης. Τις περισσότερες φορές, το .htaccess χρησιμοποιείται για να εργαστεί με τη λειτουργική μονάδα mod_rewrite, η οποία σας επιτρέπει να αλλάζετε αιτήματα αμέσως:

Επανεγγράψτε τον κινητήρα ενεργοποιημένο
RewriteRule ^product/([^/\.]+)/?$ product.php?id=$1 [L]

Αλλά αυτό είναι ένα πολύ ευρύ θέμα και πέρα ​​από το πεδίο αυτού του άρθρου.

Διαμόρφωση μονάδων Apache

Όπως είπα, το Apache είναι ένα αρθρωτό πρόγραμμα, η λειτουργικότητά του μπορεί να επεκταθεί χρησιμοποιώντας μονάδες. Όλα τα διαθέσιμα προγράμματα φόρτωσης λειτουργιών και τα αρχεία διαμόρφωσης λειτουργιών βρίσκονται στον φάκελο /etc/apache/mods-available. Και αυτά που είναι ενεργοποιημένα στο /etc/apache/mods-enable.

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

Μπορείτε να ενεργοποιήσετε τη μονάδα με την εντολή:

sudo a2enmod module_name

Και απενεργοποιήστε:

sudo a2dismod module_name

Αφού ενεργοποιήσετε ή απενεργοποιήσετε τις λειτουργικές μονάδες, πρέπει να επανεκκινήσετε το apache:

sudo systemctl επανεκκίνηση του apache2

Κατά την εκτέλεση μιας από αυτές τις εντολές, δημιουργείται ή αφαιρείται ένας συμβολικός σύνδεσμος προς το αρχείο λειτουργικής μονάδας με το φορτίο επέκτασης στον κατάλογο mods-available. Μπορείτε να δείτε τα περιεχόμενα αυτού του αρχείου, υπάρχει μόνο μία γραμμή. Για παράδειγμα:

vi /etc/apache2/mods-available/deflate.load

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

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

vi /etc/apache2/mods-available/deflate.conf

Τα αρχεία στον φάκελο conf-available είναι τα ίδια modules, μόνο που εγκαθίστανται χωριστά από το apache, αυτά μπορεί να είναι αρχεία διαμόρφωσης για την ενεργοποίηση της ενότητας php ή οποιασδήποτε άλλης γλώσσας προγραμματισμού. Όλα λειτουργούν ακριβώς το ίδιο εδώ, μόνο οι εντολές για την ενεργοποίηση και απενεργοποίηση αυτών των μονάδων είναι ελαφρώς διαφορετικές:

a2enconf module_name

Όνομα μονάδας a2disconf

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

Το sudo a2enmod λήγει
$ sudo a2enmod κεφαλίδες
$ sudo a2enmod ξαναγράψτε
$ sudo a2enmod ssl

Οι ενότητες λήγει και κεφαλίδες μειώνουν το φόρτο του διακομιστή. Επιστρέφουν μια μη τροποποιημένη κεφαλίδα εάν το έγγραφο δεν έχει αλλάξει από το τελευταίο αίτημα. Η μονάδα λήξεων σάς επιτρέπει να ορίσετε την ώρα για την οποία το πρόγραμμα περιήγησης θα πρέπει να αποθηκεύσει προσωρινά το ληφθέν έγγραφο. Το Rewrite σάς επιτρέπει να αλλάζετε τις ζητούμενες διευθύνσεις αμέσως, πολύ χρήσιμο όταν δημιουργείτε συνδέσμους CNC κ.λπ. Και το τελευταίο είναι για την ενεργοποίηση της υποστήριξης κρυπτογράφησης SSL. Μην ξεχάσετε να κάνετε επανεκκίνηση του apache2 αφού ολοκληρώσετε τις ρυθμίσεις.

Ρύθμιση εικονικών κεντρικών υπολογιστών Apache

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

Οι ρυθμίσεις κεντρικών υπολογιστών Apache βρίσκονται στο φάκελο /etc/apache2/hosts-available/. Για να δημιουργήσετε έναν νέο κεντρικό υπολογιστή, αρκεί να δημιουργήσετε ένα αρχείο με οποιοδήποτε όνομα (καλύτερα τελειωμένο με το όνομα του κεντρικού υπολογιστή) και να το συμπληρώσετε με τα απαραίτητα δεδομένα. Τυλίξτε όλες αυτές τις παραμέτρους σε μια οδηγία εικονικός οικοδεσπότης.Εκτός από τις παραμέτρους που συζητούνται εδώ, θα χρησιμοποιηθούν τα ακόλουθα:

  • Ονομα διακομιστή- όνομα κύριου τομέα
  • ServerAlias- επιπλέον όνομα με το οποίο θα είναι διαθέσιμος ο ιστότοπος
  • Διαχειριστής διακομιστή - ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗδιαχειριστής
  • DocumentRoot- φάκελος με έγγραφα για αυτόν τον τομέα

Για παράδειγμα:

vi /etc/apache2/sites-available/test.site.conf