웹사이트 검색

초보자와 중급자를 위한 25가지 아파치 인터뷰 질문


새로운 Linux 인터뷰 섹션에 대한 반응에 대해 모든 독자들에게 매우 감사드립니다. 이제 인터뷰 질문에 대한 섹션별 학습을 시작했으며 오늘의 기사는 기본에서 중급 Apache 인터뷰 질문에 초점을 맞춰 준비하는 데 도움이 됩니다.

이 섹션에서는 이전에 전혀 알지 못했던 Apache에 대한 몇 가지 새로운 사항을 쉽게 이해할 수 있도록 몇 가지 흥미로운 Apache 취업 면접 질문 25개와 그에 대한 답변을 다루었습니다.

이 글을 읽기 전에, 답을 외우려고 하지 말고, 항상 실제적으로 시나리오를 이해하려고 노력하는 것이 좋습니다.

1. 아파치 웹서버란 무엇인가요?
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. Linux 시스템에 Apache Server를 어떻게 설치합니까?
[root@tecmint ~]# yum install httpd
[root@tecmint ~]# apt-get install apache2
6. Apache 웹 서버의 모든 구성 디렉터리는 어디에서 찾을 수 있습니까?
[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. TCP 래퍼로 Apache를 보호할 수 있나요?

8. 기본 Apache 포트를 변경하는 방법과 Apache에서 Listen Directive가 어떻게 작동합니까?

Linux 시스템에 여러 개의 IP가 할당되어 있고 Apache가 특수 이더넷 포트나 인터페이스에서 HTTP 요청을 수신하길 원한다고 가정해 보겠습니다. 이는 Listen 지시문을 사용하여 수행할 수도 있습니다.

Apache 기본 포트를 변경하려면 VI 편집기를 사용하여 Apache 기본 구성 파일 httpd.conf 또는 apache2.conf 파일을 엽니다.

[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

파일을 저장하고 웹 서버를 다시 시작하십시오.

[root@tecmint ~]# service httpd restart

[root@tecmint ~]# service apache2 restart
9. 단일 시스템에 두 개의 Apache 웹 서버를 가질 수 있습니까?
10. Apache의 DocumentRoot는 무엇을 의미합니까?
11. 다른 폴더에 있는 파일을 호스팅하는 방법과 Alias 지시어는 무엇입니까?

Alias 지시문을 사용하려면 Apache의 mod_alias 모듈의 일부입니다. Alias 지시문의 기본 구문은 다음과 같습니다.

Alias /images /var/data/images/

위의 예에서 /images URL 접두어는 /var/data/images 접두어입니다. 이는 클라이언트가 "http://www.example. com/images/sample-image.png”이고 Apache는 /var/data/images/sample-image에서 “sample-image.png” 파일을 선택합니다. png를 서버에 저장하세요. URL 매핑이라고도 합니다.

12. "DirectoryIndex"는 무엇을 의미합니까?

DirectoryIndex의 기본 설정은 .html index.html index.php입니다. 첫 번째 파일의 이름이 다른 경우 다음을 만들어야 합니다. DirectoryIndex 값에 대한 httpd.conf 또는 apache2.conf의 변경 사항을 클라이언트 브라우저에 표시합니다.

#
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 웹 서버의 다양한 로그 파일은 무엇입니까?
15. 오류 로그의 "피어에 의한 연결 재설정"은 무엇을 이해합니까?
16. Apache의 가상 호스트란 무엇입니까?

도메인에 필요한 만큼 지시어를 자유롭게 추가할 수 있지만 작동하는 웹사이트에 대한 두 가지 최소 항목은 ServerNameDocumentRoot입니다. 우리는 일반적으로 Linux 시스템의 httpd.conf 파일 하단에 가상 호스트 섹션을 정의합니다.

샘플 가상호스트
<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. ServerAdmin: 일반적으로 오류나 알림이 전송될 수 있는 웹사이트 소유자의 이메일 주소입니다.
  2. DocumentRoot : 서버에서 웹 파일이 있는 위치(필수).
  3. ServerName : 웹 브라우저에서 접속하려는 도메인 이름입니다(필수).
  4. ErrorLog : 모든 도메인 관련 로그가 기록되는 로그 파일의 위치입니다.
17. <위치>와 <디렉토리>의 차이점은 무엇인가요?
  1. <위치>는 웹 서버의 URL/주소 표시줄과 관련된 요소를 설정하는 데 사용됩니다.
  2. <디렉터리>는 서버의 파일 시스템 개체 위치를 나타냅니다.
18. 아파치 가상 호스팅이란 무엇입니까?

자세한 내용은 Apache에서 이름/IP 기반 가상 호스트를 만드는 방법을 읽어보세요.

19. Apache의 MPM은 무엇을 이해합니까?
20. Worker와 Prefork MPM의 차이점은 무엇입니까?
  1. Worker와 MPM의 기본 차이점은 하위 프로세스를 생성하는 프로세스에 있습니다. Prefork MPM에서는 마스터 httpd 프로세스가 시작되고 이 마스터 프로세스가 시작되어 클라이언트 요청을 처리하기 위해 다른 모든 하위 프로세스를 관리합니다. 반면 작업자 MPM에서는 하나의 httpd 프로세스가 활성화되어 있으며 다른 스레드를 사용하여 클라이언트 요청을 처리합니다.
  2. Prefork MPM은 각각 하나의 스레드가 있는 여러 하위 프로세스를 사용합니다. 여기서 작업자 MPM은 각각 많은 스레드가 있는 여러 하위 프로세스를 사용합니다.
  3. Prefork MPM의 연결 처리는 각 프로세스가 한 번에 하나의 연결을 처리하는 반면 Worker mpm에서는 각 스레드가 한 번에 하나의 연결을 처리합니다.
  4. 메모리 공간 Prefork MPM 작업자의 메모리 공간이 더 작은 대용량 메모리 공간.
21. "LimitRequestBody"의 용도는 무엇이며 업로드에 제한을 두는 방법은 무엇입니까?

예: /var/www/html/tecmin/업로드 폴더에 100000바이트 제한을 설정하고 싶습니다. 따라서 Apache 구성 파일에 다음 지시어를 추가해야 합니다.

<Directory "/var/www/html/tecmint/uploads">
LimitRequestBody 100000
</Directory>
22. mod_perl과 mod_php는 무엇입니까?
  1. mod_perl은 쉽게 통합하고 Perl 스크립트의 성능을 높이기 위해 Apache로 컴파일되는 Apache 모듈입니다.
  2. mod_php는 웹 서버에서 PHP 스크립트를 쉽게 통합하는 데 사용되며 Apache 프로세스 내에 PHP 인터프리터를 내장합니다. 이는 Apache 하위 프로세스가 더 많은 메모리를 사용하도록 강제하고 Apache에서만 작동하지만 여전히 매우 인기가 있습니다.
23. Mod_evasive란 무엇입니까?

자세한 내용은 Apache에서 mod_evasive를 설치하고 구성하는 방법을 안내하는 문서를 읽어보세요.

24. httpd.conf 파일의 Loglevel 디버그란 무엇입니까?
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가지 Apache 웹 서버 보안 및 강화 팁
  2. Rsync를 사용하여 두 개의 Apache 웹 서버/웹 사이트를 동기화하는 방법

또한 TecMint Ask질문/답변 섹션 베타 버전이 이미 출시되었음을 알리게 된 것을 자랑스럽게 생각합니다. Linux 주제에 대해 질문이 있는 경우. 우리와 함께 https://linux-console.net/ask/에 질문/질문을 게시하십시오.

향후 기사에서 DNS,메일 서버, PHP 등에 대한 인터뷰 질문을 더 많이 제시하겠습니다. 그때까지 괴짜이고 TecMint.com에 연결되어 있습니다.