소개
Apache HTTP Server(일반적으로 Apache라고도 함) 는 널리 사용되는 웹 서버 소프트웨어입니다. 초기 웹의 성장에 큰 영향을 주었으며, 지금도 Linux 관리에서 중요한 역할을 합니다.
Apache 는 오랜 역사, 다양한 모듈 생태계, 유연한 구성 모델 덕분에 특히 큰 영향력을 갖게 되었습니다. 많은 Linux 시스템과 튜토리얼, 레거시 애플리케이션이 여전히 Apache 에 크게 의존합니다.
이러한 역사적 기반은 실제 운영 환경에서 중요합니다. 최신 프로젝트에서 다른 웹 서버를 선택하더라도 Apache 기반 시스템을 물려받아 관리하게 되는 경우가 많기 때문입니다.
웹 서버를 사서에 비유할 수 있습니다.
- 도서관은 서버입니다.
- 책은 파일 (HTML 페이지, 이미지 등) 입니다.
- 사서는 Apache 입니다.
사용자가 웹 사이트를 방문하면 사서에게 특정 책을 요청하는 것과 같습니다. 사서는 해당 파일을 찾아 사용자에게 전달합니다.
이 실습에서는 다음 작업을 수행합니다.
- Apache 설치: 시스템에 소프트웨어를 설치합니다.
- 서비스 시작: 요청을 처리할 수 있도록 서버를 켭니다.
- Document Root 확인: 웹 사이트 파일이 저장되는 위치를 찾습니다.
- 사용자 지정 페이지 배포: 직접 만든
"Hello World"웹 페이지를 생성합니다.
이 실습은 완전한 초보자를 대상으로 합니다. 사전 경험은 필요하지 않습니다.
Apache HTTP Server 설치
이 단계에서는 Apache 웹 서버 소프트웨어를 설치합니다.
Ubuntu 및 Debian 기반 시스템에서는 Apache 패키지 이름이 apache2입니다. CentOS 나 RHEL 같은 다른 배포판에서는 일반적으로 httpd라고 합니다. 이 환경은 Ubuntu 를 사용하므로 apache2를 사용합니다.
다음 명령을 실행해 Apache 를 설치합니다.
Nginx 와 마찬가지로 패키지를 설치하면 소프트웨어와 기본 구성 파일이 시스템에 추가됩니다. 하지만 패키지를 설치하는 것만으로 서버가 이미 실행 중이며 요청을 정상적으로 처리하고 있다고 증명할 수는 없습니다.
sudo apt install apache2 -y
sudo: 관리자 권한으로 명령을 실행합니다.apt install: 패키지를 설치하는 명령입니다.-y: 확인 메시지에 자동으로"yes"라고 응답합니다.
설치가 완료되면 설치된 버전을 확인해 설치가 성공했는지 검증합니다.
apache2 -v
Server version: Apache/2.4.x와 비슷한 출력이 표시되면 Apache 가 설치된 것입니다.
Apache 서비스 시작
Apache 를 설치했으므로 이제 서비스를 시작해야 합니다. 소프트웨어를 설치하는 것만으로는 웹 서버 프로세스가 자동으로 시작되지 않습니다.
이는 앞에서 다른 데몬을 다룰 때 확인한 설치된 소프트웨어와 실행 중인 서비스의 차이와 같습니다. 서버 패키지가 디스크에 설치되어 있어도 HTTP 트래픽을 수신하는 프로세스가 실행 중이지 않을 수 있습니다.
service 명령으로 Apache 서비스를 시작합니다.
sudo service apache2 start
이제 서비스가 실행 중인지 확인합니다.
sudo service apache2 status
apache2 is running을 나타내는 메시지가 표시되어야 합니다.
프로덕션 환경에서는 일반적으로 systemctl enable apache2를 사용해 서버가 부팅될 때 Apache 가 자동으로 시작되도록 구성합니다. 하지만 이 실습 환경에서는 서비스를 수동으로 시작하는 것으로 충분합니다.
Document Root 확인
Apache 는 웹 사이트 파일을 찾을 위치를 알아야 합니다. 이 위치를 Document Root라고 합니다.
Ubuntu 에서 기본 Document Root 는 /var/www/html입니다. Apache 를 설치하면 이 디렉터리에 기본 "It works!" HTML 파일이 배치됩니다.
Document Root 는 Apache 가 정적 콘텐츠를 제공할 때 사용하는 기본 시작 위치입니다. 별도의 라우팅이나 애플리케이션 로직이 없으면 요청은 일반적으로 이 디렉터리 아래의 파일로 처리됩니다.
Document Root 디렉터리로 이동합니다.
cd /var/www/html
디렉터리의 파일 목록을 확인합니다.
ls -l
index.html이라는 파일이 표시되어야 합니다. 웹 서버 주소에 접속하면 이 파일이 제공됩니다.
사용자 지정 웹 페이지 배포
이제 기본 Apache 페이지를 직접 만든 메시지로 바꿉니다.
/var/www/html은 root 사용자가 소유하므로 이 디렉터리의 파일을 수정하려면 sudo를 사용해야 합니다. 간단한 명령으로 기존 index.html을 덮어씁니다.
다음 명령을 실행해 "Hello LabEx"라는 내용이 포함된 새 index.html 파일을 생성합니다.
echo "Hello LabEx" | sudo tee /var/www/html/index.html
echo "Hello LabEx":"Hello LabEx"텍스트를 생성합니다.|: 해당 텍스트를 다음 명령으로 전달합니다.sudo tee ...: 입력으로 받은 내용을 root 권한으로 지정된 파일에 기록합니다.
파일 내용을 확인합니다.
cat /var/www/html/index.html
마지막으로 localhost(현재 컴퓨터 자체) 에 요청을 보내 웹 서버를 테스트합니다.
curl localhost
출력에 Hello LabEx가 표시되어야 합니다. 이는 Apache 가 실행 중이며 사용자 지정 페이지를 제공하고 있음을 확인합니다.
이제 모든 웹 서비스에서 확인해야 하는 전체 흐름을 검증했습니다. 프로그램이 설치되고, 데몬이 실행되며, 파일이 Document Root 에 배치되고, HTTP 응답이 클라이언트에 도달하는 흐름입니다.
요약
이 실습에서는 Apache HTTP Server 를 성공적으로 설치하고 구성했습니다. 다음 작업을 수행하는 방법을 배웠습니다.
- Ubuntu 에
apache2패키지를 설치했습니다. - Apache 서비스를 시작하고 상태를 확인했습니다.
- 기본 Document Root 인
/var/www/html로 이동했습니다. - 기본
index.html을 직접 만든 콘텐츠로 교체했습니다.
이 작업은 웹 서버 관리의 첫 단계입니다. 이제 정적 웹 페이지를 호스팅할 수 있는 작동하는 웹 서버를 갖추었습니다.



