In Apache HTTP und Karriere Letztes Updateated:
Teilen:
Jira-Software ist das Projektmanagement-Tool Nr. 1, das von agilen Teams zum Planen, Verfolgen, Freigeben und Unterstützen großartiger Software verwendet wird.

Apache ist der beliebteste Webserver, und wenn Sie beabsichtigen, als Middleware-/System-/Webadministrator zu arbeiten, müssen Sie damit vertraut sein. Apache HTTP ist ein Open-Source-Webserver für Windows & UNIX.

Vor ein paar Tagen schrieb ich darüber Fragen zum WebSphere-Interviewund viele von Ihnen haben darum gebeten, über Apache Web Server zu schreiben.

Die folgenden Fragen werden häufig in einem Interview vom Anfänger bis zum Experten gestellt. In den meisten Unternehmen wird der Webserver vom Middleware- / Systemadministrator zusammen mit dem Anwendungsserver und anderen Komponenten verwaltet.

Beginnen wir mit Fragen und Antworten zu Interviews in Echtzeit...

1. Wie stoppe / starte ich Apache Web Server?

Sie können den Computer neu starten, indem Sie zum Ordner Apache-Instanz >> bin wechseln und das Skript apachectl ausführen.

./apachectl stop
./apachectl start

Sie können auch einen Skript-Loc verwendenated in /etc/init.d/. Meistens wird es entweder „Apache“ oder „httpd“ heißen.

/etc/init.d/apache stop
/etc/init.d/apache start

Ein anderes Verfahren wäre die Nutzung von Diensten

httpd stop
service httpd start

2. Was ist der Standardport für HTTP und HTTPS?

Der Standardport für HTTP ist 80 und HTTPS 443. Überprüfen Sie die Standardports für andere Anwendungen Hier finden Sie.

3. Können Sie mir den wichtigen Namen der Konfigurationsdatei mitteilen?

httpd.conf ist die Hauptkonfigurationsdatei, die in Apache verwendet wird.

4. Wie überprüfe ich die Version von Apache Web Server?

Es gibt mehrere Möglichkeiten, dies zu finden, aber es gibt genauereately wäre;

  • Melden Sie sich bei einem Webserver an
  • Gehen Sie zur Apache-Instanz und zum bin-Ordner
  • Habe httpd mit -v ausgeführt, um die Versionsdetails abzurufen.
[root@lab sbin]# ./httpd -v
Server version: Apache/2.2.15 (Unix)
Server built:   Jul 18 2016 15:24:00
[root@lab sbin]#

Alternativ können Sie auch die verwenden rpm Befehl zum Überprüfen der installierten Version.

[root@lab ~]# rpm -qa |grep httpd
httpd-2.2.15-54.el6.centos.x86_64
httpd-tools-2.2.15-54.el6.centos.x86_64
[root@lab ~]#

5. Woher wissen, ob ein Webserver ausgeführt wird?

Es gibt mehrere Möglichkeiten, dies zu finden.

  1. Melden Sie sich bei einem Webserver an und suchen Sie nach „httpd“. process
ps -ef |grep httpd
  1. Suchen Sie nach Warnungen in Ihrem monitoring-Dashboard.
  2. Überprüfen Sie, ob Ihr Apache-IP:Port im b erreichbar istrowser

Beispiel: http://yourapacheserver.com

  1. Überprüfen Sie, ob die konfigurierte IP und der konfigurierte Port den Server mit überwachen netstat
netstat -anlp |grep 80

6. Wie installiere ich Apache HTTP?

Es gibt drei Möglichkeiten, dies zu installieren.

Die richtigen Quellcode - Sie können die Quelle herunterladen und kompilieren.

  • Laden Sie das l herunterateVeröffentlichung von http://httpd.apache.org/download.cgi
  • Extract die Quelle mit tar Dienstprogramm oder gzip Dienstprogramm abhängig vom Dateityp: .tar or .tar.gz
tar xvf  httpd-1.2.3.tar
gzip -d httpd-1.2.4.tar.gz
  •  Navigierenate wohin du extracted die Quelle über die cd Befehl und konfigurieren Sie es mit dem  ./configure  Befehl auf dem Terminal
  • Dann kompilieren Sie es mit dem make Befehl.
  • Finally, Verwenden Sie die make install Befehl, um es zu installieren.

Wenn Sie weitere Optionen zur Konfiguration erfahren möchten, können Sie die verwenden configure --help Befehl.

YUM-Repositories – wenn Ihr Server mit dem Internet verbunden ist oder über einen verfügt internal Repository, dann können Sie es mit yum installieren.

yum install httpd

RPM - Sie können die notwendigen herunterladen RPM-Paket und verwenden Sie den Befehl rpm.

rpm -ivh packagename.rpm

7. Wie kann sichergestellt werden, dass Apache nur eine IP-Adresse auf dem Server abhört?

Dies ist häufig erforderlich, wenn Sie mehrere IP-Adressen auf dem Server haben. Um sicherzustellen, dass Apache nur die angegebene IP-Adresse abhört, müssen Sie die IP-Adresse und den Port in der Listen-Direktive explizit angeben.

Ex:

Listen 10.10.10.10:80

8. Wie kann sichergestellt werden, dass Apache mit Nicht-Root- / Niemand-Benutzern ausgeführt wird?

Dies ist durch Hinzufügen der Benutzer- und Gruppenanweisung in der Datei httpd.conf möglich

User apache
Group apache

Das obige Konfigurationsbeispiel stellt sicher, dass es mit dem Benutzer "Apache" beginnt. Sie müssen sicherstellen, dass Benutzer auf dem Server vorhanden sind, bevor Sie ihn konfigurieren.

9. Wie disable Verzeichnisindizierung?

Sie können "Options -Indexes" in der jeweiligen Verzeichnisanweisung verwenden.

Ex:

<Directory />
       Options -Indexes
</Directory>

10. Welches Modul ist erforderlich, damit eine Umleitung möglich ist?

mod_rewrite ist für die Umleitung verantwortlich und muss in der Datei httpd.conf nicht kommentiert werden.

LoadModule rewrite_module modules/mod_rewrite.so

11. Können Sie den Überwachungsport von Standard auf etwas anderes ändern?

Ja, es ist möglich, indem Sie die Portnummer im Feld angeben Reinhören Richtlinie.

Beispiel: Damit Apache den 9000-Port auf die IP-Adresse 10.10.10.10 überwacht.

Listen 10.10.10.10:9000

12. Wie sichere ich eine auf Apache Web Server gehostete Website?

Es gibt mehrere Möglichkeiten Sichern Sie den Apache-Webserver Folgendes ist mit eingeschlossen.

13. Was sind die Protokolldateien?ated von Apache?

Es gibt zwei beliebte Protokolldateien: created;

  • access.log - alle Anforderungsdetails mit dem Statuscode
  • error.log - Erfasst alle Fehler in Apache oder stellt eine Verbindung zum Backend her

14. Wie man erstelltate ein CSR?

Sie können entweder den folgenden OpenSSL-Befehl verwenden oder Januarate CSR online.

Create neues CSR mit einem private Schlüssel

openssl req -out geekflare.csr -newkey rsa:2048 -nodes -keyout geekflare.key

Probieren Sie auch die OpenSSL Spickzettel für mehr Befehle.

15. Was ist virtuelles Hosting?

Mit Virtual Hosting in Apache können Sie mehrere Websites auf einer einzigen Instanz hosten. Sie können entweder create IP-basiert or Namensbasiert auf virtuellem Hosting.

16. Welches Modul wird benötigt, um eine Verbindung zu WebSphere herzustellen?

mod_was_ap22_http.so muss hinzugefügt werden httpd.conf Datei zum Integrierenate mit IBM WAS.

17. Wie versetze ich die Protokollstufe in den Debug-Modus?

Wird häufig benötigt, wenn Sie das Problem beheben und weitere Details erfassen möchten. Sie können die Protokollierungsstufe in Debug ändern, indem Sie in der Datei httpd.conf Folgendes sicherstellen.

LogLevel debug

18. Welches Modul ist erforderlich, um SSL zu aktivieren?

Das Modul mod_ssl muss vor der SSL-Implementierung auskommentiert werden.

LoadModule auth_basic_module modules/mod_ssl.so

19. Wie lautet der Name des WebLogic-Moduls?

mod_wl_22.so

20. Welche Protokollstufe ist in Apache verfügbar?

Die Standardkonfiguration ist auf „warnen”Ist jedoch auch folgendes möglich.

  • debuggen
  • Info
  • warnen
  • beachten
  • krit
  • Alarm
  • emerg
  • Fehler

21. Was ist DocumentRoot?

Die DocumentRoot-Direktive ist die Konfiguration, in der Sie den Ordner angeben können, von dem aus die statischen Dateien bereitgestellt werden. Es wird auch als WebRoot bezeichnet.

Default DocumentRoot location is /var/www/html

22. Wie kann ich Kriegs- oder JAVA-Anwendungen in Apache bereitstellen?

Ich fürchte, Apache ist ein Webserver und eine Java-basierte Anwendungsbereitstellung ist damit nicht möglich. Sie können jedoch integrierenate Java-Anwendungsserver wie WebLogic, WebSphere, JBoss, auf denen Sie War- und Ear-Dateien bereitstellen können.

23. Was ist ein Unterschied zwischen Apache Web Server und Apache Tomcat?

Apache Web ist ein HTTP-Server zum Bereitstellen statischer Inhalte, wobei Tomcat ein Servlet-Container zum Bereitstellen von JSP-Dateien ist.

Man kann sich immer integrierenate Apache HTTP mit Tomcat, je nach Anforderung müssen Sie jedoch eine der beiden Optionen auswählen. Wenn Sie einen geeigneten Webserver benötigen, dann Apache HTTP oder Tomcat für JSP-Servlet-Container.

24. Wie kann Apache als Proxyserver fungieren?

Sie können ein mod_proxy-Modul als Proxyserver verwenden. Das mod_proxy-Modul kann verwendet werden, um eine Verbindung zum Backend-Server herzustellen Kater, WebLogic, WebSphere usw.

25. Wie konfiguriere ich das Apache-Protokoll, damit es die Zeit erfasst, die für die Bearbeitung einer Anfrage benötigt wird?

Du kannst hinzufügen "%D”In der Datei httpd.conf unter der LogFormat-Direktive, um die Antwortzeit zu erfassen, die für die Bearbeitung der Anforderung benötigt wird. Es wird die Zeit in Mikrosekunden angezeigt.

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

Starten Sie den Apache-Webserver neu und Sie können die Ergebnisse sehen.

182.19.197.23 - - [02/Oct/2016:10:32:25 +0000] "GET / HTTP/1.1" 403 4961 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36" 1515
182.19.197.23 - - [02/Oct/2016:10:32:25 +0000] "GET /icons/apache_pb.gif HTTP/1.1" 304 - "http://lab.geekflare.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36" 424
182.19.197.23 - - [02/Oct/2016:10:32:25 +0000] "GET /icons/poweredby.png HTTP/1.1" 304 - "http://lab.geekflare.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36" 472

26. Welches Tool verwenden Sie für die Protokollanalyse?

Du musst speak die Wahrheit, sondern um Ihnen eine Idee zu geben, die Sie verwenden können GoAccess oder ein paar hier erwähnt.

27. An welchen Webservern haben Sie zusammen mit Apache gearbeitet?

Wiederum sollten Sie die Wahrheit sagen, aber um Sie darauf aufmerksam zu machen, gibt es auf dem Markt viele Webserver, darunter die folgenden.

  • Nginx
  • Microsoft IIS
  • LiteSpeed
  • GWS

28. Wie überprüfe ich die Datei httpd.conf, um sicherzustellen, dass kein Konfigurationssyntaxfehler vorliegt?

httpd –t hilft Ihnen bei der Überprüfung der Syntax.

[root@lab httpd]# /usr/sbin/httpd -t
Syntax OK
[root@lab httpd]#

Alternativ können Sie auch den Befehl apachectl verwenden.

[root@lab ~]# /usr/sbin/apachectl configtest
Syntax OK
[root@lab ~]#

29. So führen Sie die Apache-Leistung aus benchmarkieren?

Sie können ein Werkzeug wie verwenden ApacheBench, BELAGERUNG um den Lasttest auf Webservern einschließlich Apache durchzuführen. Eine weitere Möglichkeit, Stress auszuführen Online-Test um zu sehen, wie sich die Webanwendung insgesamt unter Last verhält.

30. Wie bekomme ich Unterstützung für Apache Web Server, wenn etwas nicht stimmt?

Apache ist ein Open-Source-Webserver, daher gibt es kein EnterpriseUnterstützung auf -Ebene. Sie können jedoch eine erhöhen Fehlerbericht oder stellen Sie eine Frage zum Stapelüberlauf.

31. Wie kann sichergestellt werden, dass der Webserver nach einem Neustart des Servers gestartet wird?

Wenn Sie Linux ausführen, können Sie ein Skript in /etc/init.d/ einfügen und aktivieren Starten Sie beim Booten mit dem Befehl chkconfig

Nehmen wir an, Sie sind Create eine Datei namens Apache und unter /etc/init.d setzen

chkconfig --add apache
chkconfig apache on

falls Sie ein Windows, stellen Sie dann sicher, dass der Starttyp „Automatisch“ ausgewählt ist.

32. Was ist ein Unterschied zwischen Apache und Nginx Webserver?

Beide sind categorisiert als Webserver und hier sind einige der Hauptunterschiede.

  • Nginx ist ein ereignisbasierter Webserver, auf dem sich Apache befindet process basierend
  • Nginx ist bekannt für eine bessere Leistung als Apache
  • Apache unterstützt eine Vielzahl von Betriebssystemen, in denen Nginx OpenVMS und IBMi nicht unterstützt
  • Apache verfügt über eine große Anzahl von Modulen, die in den Backend-Anwendungsserver integriert sind, wo Nginx noch aufholt
  • Nginx ist leichtgewichtig und erobert schnell Marktanteile. Wenn Sie neu bei Nginx sind, könnten Sie daran interessiert sein, meine Artikel über Nginx zu lesen.

33. Wie würden Sie den Apachen töten, wenn Graceful-Stop nicht funktioniert?

Wenn Sie unter Linux ausgeführt werden, können Sie den Befehl kill verwenden.

Ermitteln Sie die PID von Apache mithilfe von ps -ef | grep http

Dann töte es

kill $PIDNUMBER

Wenn normales Töten nicht funktioniert, versuchen Sie es mit -9

kill -9 $PIDNUMBER

Wenn an Windows, dann beenden Sie die Apache-Aufgabe über den Task-Manager.

34. Wie finde ich die Datei httpd.conf, wenn Sie den Installationsort nicht kennen?

Unter Linux können Sie verwenden Befehl find.

Nehmen wir an, Sie wissen, dass es sich im Dateisystem / apps befinden muss, dann können Sie den folgenden Befehl verwenden.

find /apps -name httpd.conf

Wenn Sie sich jedoch nicht sicher sind, welches Dateisystem Sie verwenden können, können Sie das Dateisystem finden. Beachten Sie jedoch, dass es aufgrund der Gesamtgröße des Dateisystems sehr lange dauern kann.

find / -name httpd.conf

35. Welche verschiedenen Varianten des Apache-Webservers kennen Sie?

  • IBM HTTP Server - bekannt als IHS und häufig mit IBM WebSphere Application Server verwendet
  • Oracle HTTP Server - bekannt als OHS, wird häufig mit Oracle Weblogic-Servern verwendet

36. Wo ist der Apache-Standort?ated am Standort des Rechenzentrums?

Sie können es anhand Ihrer Erfahrung jedoch typisch erklärenally Bei mit dem Internet verbundenen Anwendungen wäre es das Internet-DMZ-Netzwerk und bei Intranet-Anwendungen das Kernnetzwerk.

Dies hängt jedoch wiederum von der Anwendung / Organisation ab.

37. Wie verstecke ich Serverversionsdetails im HTTP-Antwortheader?

Fügen Sie Folgendes in die Datei httpd.conf ein und starten Sie den Webserver neu

ServerTokens Prod
ServerSignature Off

Dadurch wird die Version ausgeblendet und der Server als "Apache" Nur.

38. Was bedeuten 200, 403 und 503 HTTP-Fehlercodes?

  • 200 - Inhalt gefunden und serviert OK
  • 403 - versucht, auf eingeschränkte Dateien / Ordner zuzugreifen
  • 503 - Der Server ist zu beschäftigt, um die Anforderung zu bedienen, und mit anderen Worten - der Dienst ist nicht verfügbar.
  • Verweisen Infografik zum HTTP-Antwortcode für mehr.

39. Wie disable HTTP-Anfragen verfolgen?

Fügen Sie Folgendes in die Datei httpd.conf ein und starten Sie die Instanz neu

TraceEnable off

40. Wie kann ein Problem mit Portkonflikten behoben werden?

netstat Dies ist hilfreich, um das Problem mit dem Portkonflikt zu beheben. Wenn mehrere Instanzen auf einem einzelnen Server ausgeführt werden, wird empfohlen, die absolute IP: Port für die Listen-Direktive zu konfigurieren.

41. So installieren Sie das third-Party-Modul?

Sie können Gebrauch machen Apache-Toolbox. Einmal heruntergeladen, extract es mit dem tar Dienstprogramm.

tar  -xf   Apachetoolbox-1.5.72.tar.gz

Navigierenate zum Ordner Apachetoolbox-1.5.72 Verwendung der cd Befehl und führen Sie den folgenden Befehl aus, um Module für Ihren Apache-Server auszuwählen.

./install.sh

Es bietet Module wie  mod_ip_forwarding, mod_auth_mysql und mod_auth_samba zum Kompilieren mit dem Apache-Webserver. Sie können diese Module zwar manuell einbindenally, mit dem Apache Tool ist es einfacherbox.

42. Wie kann man virtuellen Hosts mehrere Namen zuweisen?

Sie können die verwenden ServerAlias Richtlinie wie unten gezeigt.

ServerName  example.com  
ServerAlias    awesome.com  fantastic.com

43. Wie kann die Upload-Größe begrenzt werden?

Ich habe eine Webanwendung, mit der Benutzer Dateien wie Word-Dokumente, PDF usw. hochladen können. Wie beschränke ich das Hochladen von Dateien durch Benutzer?

Sie können die verwenden LimitRequestBody Anweisung zur Begrenzung der Größe von Upload-Dateien.

<Directory "usr/local/apache2/uploads"> 
LimitRequestBody 9000 
</Directory>

Der dem zugewiesene Wert LimitRequestBody ermöglicht es Apache, Datei-Uploads von 9000 Bytes durch Benutzer zu akzeptieren und zu speichern. Sie können den Wert je nach Anforderung anpassen.

44. Wie kann der Zugriff durch IPs eingeschränkt werden?

Möglicherweise möchten Sie, dass ein Teil des Kontextstamms über zulässige IPs zugänglich ist. Dazu können Sie nutzen mod_authz_core or mod_authz_host Module, um den Zugriff mit dem zu beschränken Require Richtlinie.

Require 10.0.0.2 10.0.0.4 192.168.34.23 192.168.34.23

Auf diese Weise wird Apache Anfragen nur dann bearbeiten, wenn Anfragen von den aufgelisteten IPs gestellt werden.

Sie müssen die angeben Require Direktive innerhalb des Verzeichnisses, in dem Sie den Zugriff auf Ressourcen zulassen oder verweigern möchten.

Schlussfolgerung

Ich hoffe, die obigen Fragen und Antworten helfen Ihnen, sich auf einen Webserver-Administrator vorzubereiten Interview.

Teilen:
  • Chandan Kumar
    Autor
    Chandan Kumar ist ein erfahrener Technologie-Enthusiast und Unternehmer mit Leidenschaftate About empowering Unternehmen und Einzelpersonen weltweitally. Als Gründer von Geekflare, einer führenden Technologiepublikation, hat Chandan die Entwicklung vorangetrieben…

Danke an unsere Sponsoren

Weitere großartige Lektüren zu Apache HTTP

Treiben Sie Ihr Geschäft an

Einige der Tools und Services, die Ihrem Unternehmen helfen grow.