25 Ερωτήσεις συνέντευξης Apache για αρχάριους και μεσαίους


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

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

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

1. Τι είναι ο διακομιστής ιστού Apache;
2. Πώς να ελέγξετε το Apache και την έκδοσή του;
[root@tecmint ~]# rpm -qa | grep httpd

httpd-devel-2.2.15-29.el6.centos.i686
httpd-2.2.15-29.el6.centos.i686
httpd-tools-2.2.15-29.el6.centos.i686
[root@tecmint ~]# httpd -v

Server version: Apache/2.2.15 (Unix)
Server built:   Aug 13 2013 17:27:11
3. Ο Apache εκτελείται ως ποιος χρήστης; και τη θέση του κύριου αρχείου ρυθμίσεων;.
4. Σε ποια θύρα ο Apache ακούει http και https και τα δύο;
[root@tecmint ~]# netstat -antp | grep http

tcp        0      0 :::80                       :::*                        LISTEN      1076/httpd          
tcp        0      0 :::443                      :::*                        LISTEN      1076/httpd
5. Πώς εγκαθιστάτε τον Apache Server στον υπολογιστή σας Linux;
[root@tecmint ~]# yum install httpd
[root@tecmint ~]# apt-get install apache2
6. Πού μπορείτε να βρείτε όλους τους καταλόγους διαμόρφωσης του Apache Web Server;
[root@tecmint ~]# cd /etc/httpd/
[root@tecmint httpd]# ls -l
total 8
drwxr-xr-x. 2 root root 4096 Dec 24 21:44 conf
drwxr-xr-x. 2 root root 4096 Dec 25 02:09 conf.d
lrwxrwxrwx  1 root root   19 Oct 13 19:06 logs -> ../../var/log/httpd
lrwxrwxrwx  1 root root   27 Oct 13 19:06 modules -> ../../usr/lib/httpd/modules
lrwxrwxrwx  1 root root   19 Oct 13 19:06 run -> ../../var/run/httpd
[root@tecmint ~]# cd /etc/apache2
[root@tecmint apache2]# ls -l
total 84
-rw-r--r-- 1 root root  7113 Jul 24 16:15 apache2.conf
drwxr-xr-x 2 root root  4096 Dec 16 11:48 conf-available
drwxr-xr-x 2 root root  4096 Dec 16 11:45 conf.d
drwxr-xr-x 2 root root  4096 Dec 16 11:48 conf-enabled
-rw-r--r-- 1 root root  1782 Jul 21 02:14 envvars
-rw-r--r-- 1 root root 31063 Jul 21 02:14 magic
drwxr-xr-x 2 root root 12288 Dec 16 11:48 mods-available
drwxr-xr-x 2 root root  4096 Dec 16 11:48 mods-enabled
-rw-r--r-- 1 root root   315 Jul 21 02:14 ports.conf
drwxr-xr-x 2 root root  4096 Dec 16 11:48 sites-available
drwxr-xr-x 2 root root  4096 Dec  6 00:04 sites-enabled

7. Μπορεί το Apache να ασφαλιστεί με περιτυλίγματα TCP;

8. Πώς να αλλάξετε την προεπιλεγμένη θύρα Apache και πώς λειτουργεί η Οδηγία ακρόασης στον Apache;

Ας υποθέσουμε ότι έχετε εκχωρήσει πολλές IP στον υπολογιστή σας Linux και θέλετε ο Apache να λαμβάνει αιτήματα HTTP σε μια ειδική θύρα Ethernet ή διεπαφή, ακόμη και αυτό μπορεί να γίνει με την οδηγία Listen.

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

[root@tecmint ~]# vi /etc/httpd/conf/httpd.conf

[root@tecmint ~]# vi /etc/apache2/apache2.conf

Αναζητήστε τη λέξη "Listen", σχολιάστε την αρχική γραμμή και γράψτε τη δική σας οδηγία κάτω από αυτήν τη γραμμή.

Listen 80
Listen 8080

OR

Listen 172.16.16.1:8080

Αποθηκεύστε το αρχείο και επανεκκινήστε τον διακομιστή web.

[root@tecmint ~]# service httpd restart

[root@tecmint ~]# service apache2 restart
9. Μπορούμε να έχουμε δύο διακομιστές Web Apache σε ένα μόνο μηχάνημα;
10. Τι εννοείτε με τον όρο DocumentRoot του Apache;
11. Πώς να φιλοξενήσετε αρχεία σε διαφορετικό φάκελο και τι είναι η οδηγία Alias;

Για να χρησιμοποιήσετε την οδηγία Alias, είναι μέρος της ενότητας mod_alias του Apache. Η προεπιλεγμένη σύνταξη της οδηγίας Alias είναι:

Alias /images /var/data/images/

Εδώ στο παραπάνω παράδειγμα, η διεύθυνση url /images προστίθεται στο πρόθεμα /var/data/images που σημαίνει ότι οι πελάτες θα υποβάλουν ερώτημα για "http://www.example. com/images/sample-image.png" και ο Apache θα πάρει το αρχείο "sample-image.png " από το /var/data/images/sample-image. png στον διακομιστή. Είναι επίσης γνωστό ως χαρτογράφηση URL.

12. Τι καταλαβαίνετε με τον όρο «DirectoryIndex»;

Η προεπιλεγμένη ρύθμιση του DirectoryIndex είναι .html index.html index.php, εάν έχετε διαφορετικά ονόματα του πρώτου σας αρχείου, θα πρέπει να κάνετε τις αλλαγές στην τιμή httpd.conf ή apache2.conf για την τιμή DirectoryIndex για να την εμφανίσετε στο πρόγραμμα περιήγησης πελάτη σας.

#
DirectoryIndex: sets the file that Apache will serve if a directory
is requested.
#
The index.html.var file (a type-map) is used to deliver content-
negotiated documents.  The MultiViews Option can be used for the
same purpose, but it is much slower.
#
DirectoryIndex index.html index.html.var index.cgi .exe
13. Πώς να απενεργοποιήσετε τη λίστα καταλόγου όταν λείπει ένα αρχείο ευρετηρίου;

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

<Directory /var/www/html>
   Options -Indexes
</Directory>
14. Τι είναι τα διαφορετικά αρχεία καταγραφής του Apache Web Server;
15. Τι καταλαβαίνετε με τον όρο "επαναφορά σύνδεσης από ομότιμο" στα αρχεία καταγραφής σφαλμάτων;
16. Τι είναι το Virtual Host στον Apache;

Είστε ελεύθεροι να προσθέσετε όσες οδηγίες θέλετε για τον τομέα σας, αλλά οι δύο ελάχιστες καταχωρίσεις για έναν ιστότοπο που λειτουργεί είναι το ServerName και το DocumentRoot. Συνήθως ορίζουμε την ενότητα Virtual Host στο κάτω μέρος του αρχείου httpd.conf σε μηχανές Linux.

Δείγμα VirtualHost
<VirtualHost *:80>
   ServerAdmin [email 
   DocumentRoot /www/docs/dummy-host.example.com
   ServerName dummy-host.example.com
   ErrorLog logs/dummy-host.example.com-error_log
   CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
  1. Διαχειριστής διακομιστή : Συνήθως είναι η διεύθυνση ηλεκτρονικού ταχυδρομείου του κατόχου του ιστότοπου, όπου μπορεί να σταλεί το σφάλμα ή η ειδοποίηση.
  2. DocumentRoot : τοποθεσία όπου βρίσκονται τα αρχεία Ιστού στον διακομιστή (Απαραίτητο).
  3. Όνομα διακομιστή : Είναι το όνομα τομέα στον οποίο θέλετε να αποκτήσετε πρόσβαση από το πρόγραμμα περιήγησής σας στον ιστό (Απαραίτητο).
  4. ErrorLog : Είναι η θέση του αρχείου καταγραφής όπου καταγράφονται όλα τα αρχεία καταγραφής που σχετίζονται με τον τομέα.
17. Ποια είναι η διαφορά μεταξύ και ;
  1. Το χρησιμοποιείται για τον ορισμό στοιχείου που σχετίζεται με τη διεύθυνση URL/γραμμή διευθύνσεων του διακομιστή ιστού.
  2. Το αναφέρεται στη θέση του αντικειμένου συστήματος αρχείων στον διακομιστή
18. Τι είναι το Apache Virtual Hosting;

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

19. Τι καταλαβαίνετε από το MPM στο Apache;
20. Ποια είναι η διαφορά μεταξύ Worker και Prefork MPM;
  1. Η βασική διαφορά μεταξύ Worker και MPM βρίσκεται στη διαδικασία δημιουργίας της διαδικασίας θυγατρικής. Στο Prefork MPM, ξεκινά μια κύρια διεργασία httpd και αυτή η κύρια διεργασία ξεκινά διαχειρίζεται όλες τις άλλες θυγατρικές διεργασίες για την εξυπηρέτηση αιτημάτων πελατών. Ενώ, στο εργαζόμενο MPM μια διεργασία httpd είναι ενεργή και χρησιμοποιεί διαφορετικά νήματα για την εξυπηρέτηση των αιτημάτων πελατών.
  2. Το Prefork MPM χρησιμοποιεί πολλαπλές θυγατρικές διεργασίες με ένα νήμα η καθεμία, όπου η εργαζόμενη MPM χρησιμοποιεί πολλαπλές θυγατρικές διεργασίες με πολλά νήματα η καθεμία.
  3. Χειρισμός σύνδεσης στο Prefork MPM, κάθε διεργασία χειρίζεται μία σύνδεση κάθε φορά, ενώ στο Worker mpm κάθε νήμα χειρίζεται μία σύνδεση τη φορά.
  4. Αποτυπώματα μνήμης Prefork MPM Μεγάλα ίχνη μνήμης, όπου το Worker έχει μικρότερα ίχνη μνήμης.
21. Ποια είναι η χρήση του "LimitRequestBody" και πώς να βάλετε όριο στις μεταφορτώσεις σας;

Για παράδειγμα: Θέλω να βάλω όρια 100000 Bytes στο φάκελο /var/www/html/tecmin/μεταφορτώσεις. Επομένως, πρέπει να προσθέσετε την ακόλουθη οδηγία στο αρχείο διαμόρφωσης του Apache.

<Directory "/var/www/html/tecmint/uploads">
LimitRequestBody 100000
</Directory>
22. Τι είναι το mod_perl και το mod _php;
  1. Το mod_perl είναι μια λειτουργική μονάδα Apache που έχει μεταγλωττιστεί με Apache για εύκολη ενσωμάτωση και για αύξηση της απόδοσης των σεναρίων Perl.
  2. Το mod_php χρησιμοποιείται για την εύκολη ενσωμάτωση σεναρίων PHP από τον διακομιστή web, ενσωματώνει τον διερμηνέα PHP μέσα στη διαδικασία του Apache. Αναγκάζει τη θυγατρική διαδικασία Apache να χρησιμοποιεί περισσότερη μνήμη και λειτουργεί μόνο με Apache, αλλά εξακολουθεί να είναι πολύ δημοφιλής.
23. Τι είναι το Mod_evasive;

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

24. Τι είναι ο εντοπισμός σφαλμάτων Loglevel στο αρχείο httpd.conf;
25. Ποια είναι η χρήση του mod_ssl και πώς λειτουργεί το SSL με τον Apache;
Πώς λειτουργεί το SSL με τον Apache

Κάθε φορά που έρχεται ένα αίτημα https, ακολουθούν αυτά τα τρία βήματα ο Apache:

  1. Το Apache δημιουργεί το ιδιωτικό του κλειδί και το μετατρέπει σε αρχείο .CSR (Αίτημα υπογραφής πιστοποιητικού).
  2. Στη συνέχεια, ο Apache στέλνει το αρχείο .csr στην CA (Αρχή έκδοσης πιστοποιητικών).
  3. Η CA θα πάρει το αρχείο .csr και θα το μετατρέψει σε .crt (πιστοποιητικό) και θα στείλει αυτό το αρχείο .crt πίσω στον Apache για να ασφαλίσει και ολοκληρώστε το αίτημα σύνδεσης https.

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

Σας συνιστούμε επίσης να διαβάσετε τα προηγούμενα άρθρα μας για το Apache.

  1. 13 Συμβουλές για την ασφάλεια και τη σκλήρυνση του διακομιστή Web Apache
  2. Τρόπος συγχρονισμού δύο διακομιστών Web Apache/ιστοσελίδων χρησιμοποιώντας το Rsync

Επίσης, είμαστε περήφανοι που ανακοινώνουμε ότι η έκδοση Beta της ενότητας Ερώτηση/Απάντηση του TecMint Ask έχει ήδη κυκλοφορήσει. Εάν έχετε ερωτήσεις σχετικά με θέματα Linux. Ελάτε μαζί μας και δημοσιεύστε τις ερωτήσεις/απορίες σας στη διεύθυνση https://linux-console.net/ask/.

Θα απαντήσω σε κάποια άλλη ερώτηση συνέντευξης για διακομιστές DNS, Mail, PHP κ.λπ. στα μελλοντικά μας άρθρα, μέχρι τότε μείνετε Geeky και συνδέθηκε στο TecMint.com.