Ubuntu에서 Apache 설치 및 설정하기

2025. 1. 27. 16:05·운영체제 (OS)/리눅스 (Linux)

Ubuntu에서 Apache를 설치하는 방법은 다음과 같습니다. Apache는 널리 사용되는 웹 서버 소프트웨어로, Ubuntu에서 쉽게 설치하고 설정할 수 있습니다.


Ubuntu에서 Apache 설치 및 설정하기

1. Apache란?

Apache는 전 세계에서 가장 많이 사용되는 웹 서버 소프트웨어 중 하나입니다. 웹 사이트를 호스팅하고, 사용자의 요청에 따라 웹 페이지를 제공하는 역할을 합니다.

2. Apache 설치하기

(1) 패키지 목록 업데이트

설치 전에 Ubuntu의 패키지 목록을 최신 상태로 업데이트합니다.
터미널에서 다음 명령어를 입력하세요:

sudo apt update

(2) Apache 설치

sudo apt install apache2
  • 설치 중에 "Y"를 입력하여 계속 진행합니다.

3. Apache 서비스 관리

(1) Apache 상태 확인

Apache가 설치되면 자동으로 실행됩니다. 상태를 확인하려면:

sudo systemctl status apache2
  • 실행 중이면 초록색으로 "active (running)"이라고 표시됩니다.

(2) Apache 시작/중지/재시작

  • 시작: Apache를 시작하려면:
sudo systemctl start apache2
  • 중지: Apache를 중지하려면:
sudo systemctl stop apache2
  • 재시작: 설정 파일을 변경한 후 재시작하려면:
sudo systemctl restart apache2

(3) 부팅 시 자동 시작

Apache가 시스템 부팅 시 자동으로 시작되도록 설정하려면:

sudo systemctl enable apache2

4. 방화벽 설정 (UFW 사용 시)

Ubuntu의 기본 방화벽인 UFW를 사용 중이라면, 웹 트래픽(HTTP/HTTPS)을 허용해야 합니다.

(1) HTTP/HTTPS 허용

다음 명령어로 HTTP(80)와 HTTPS(443) 포트를 열어줍니다:

sudo ufw allow 'Apache Full'

(2) 방화벽 상태 확인

방화벽 규칙이 적용되었는지 확인합니다:

sudo ufw status
  • 출력 결과에 "Apache Full"이 허용된 것으로 표시되면 성공입니다.

5. Apache 테스트

(1) 웹 브라우저로 확인

웹 브라우저를 열고 서버의 IP 주소를 입력합니다. 예를 들어:

http://서버_IP_주소
  • Apache가 정상적으로 실행 중이면 "Apache2 Ubuntu Default Page"가 표시됩니다.

(2) 터미널로 확인

터미널에서 다음 명령어를 입력해도 확인할 수 있습니다:

curl http://localhost
  • HTML 코드가 출력되면 Apache가 잘 동작하고 있는 것입니다.

6. Apache 설정 파일

Apache의 설정 파일은 /etc/apache2/ 디렉토리에 있습니다. 주요 파일 및 디렉토리는 다음과 같습니다:

  • apache2.conf: Apache의 주요 설정 파일.
  • sites-available/: 사용 가능한 사이트 설정 파일이 저장된 곳.
  • sites-enabled/: 실제로 활성화된 사이트 설정 파일이 저장된 곳.
  • mods-available/: 사용 가능한 모듈 설정 파일.
  • mods-enabled/: 활성화된 모듈 설정 파일.
  • logs/: 로그 파일이 저장된 곳 (access.log, error.log).

7. 가상 호스트 설정 (여러 웹 사이트 호스팅)

Apache를 사용해 여러 웹 사이트를 호스팅하려면 **가상 호스트(Virtual Host)**를 설정해야 합니다.

(1) 사이트 디렉토리 생성

예를 들어, example.com 사이트를 호스팅하려면:

sudo mkdir -p /var/www/example.com

(2) 샘플 HTML 파일 생성

사이트 디렉토리에 샘플 HTML 파일을 만듭니다:

sudo nano /var/www/example.com/index.html

다음 내용을 입력하고 저장합니다 (Ctrl + X → Y → Enter):

<!DOCTYPE html>
<html>
<head>
    <title>Welcome to Example.com!</title>
</head>
<body>
    <h1>Hello, World!</h1>
    <p>This is the example.com website.</p>
</body>
</html>

(3) 가상 호스트 설정 파일 생성

sites-available 디렉토리에 새로운 설정 파일을 만듭니다:

sudo nano /etc/apache2/sites-available/example.com.conf

다음 내용을 입력합니다:

<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com

    <Directory /var/www/example.com>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

(4) 사이트 활성화

설정 파일을 활성화합니다:

sudo a2ensite example.com.conf

(5) Apache 재시작

변경 사항을 적용하기 위해 Apache를 재시작합니다:

sudo systemctl restart apache2

(6) 호스트 파일 수정 (로컬 테스트용)

로컬에서 테스트하려면 /etc/hosts 파일을 수정합니다:

sudo nano /etc/hosts

다음 줄을 추가합니다:

127.0.0.1 example.com

(7) 브라우저에서 확인

브라우저에서 http://example.com으로 접속해 "Hello, World!" 메시지가 표시되는지 확인합니다.

8. 로그 확인

Apache의 로그는 /var/log/apache2/ 디렉토리에 저장됩니다.

  • 접속 로그: access.log
  • 오류 로그: error.log

로그를 실시간으로 확인하려면:

sudo tail -f /var/log/apache2/access.log
sudo tail -f /var/log/apache2/error.log

9. 추가 팁

모듈 관리:
모듈 활성화: sudo a2enmod 모듈_이름
모듈 비활성화: sudo a2dismod 모듈_이름
예: rewrite 모듈 활성화:

sudo a2enmod rewrite
sudo systemctl restart apache2

HTTPS 설정:
Let's Encrypt를 사용해 무료 SSL 인증서를 발급받고 HTTPS를 설정할 수 있습니다.

 

'운영체제 (OS) > 리눅스 (Linux)' 카테고리의 다른 글

[PHP 설정 가이드] PHP-FPM 완벽 설정 방법  (0) 2025.01.28
우분투에서 MySQL/MariaDB 완벽 설치 및 설정 가이드  (1) 2025.01.28
우분투 PHP 설치 및 Nginx 연동 가이드  (1) 2025.01.27
NGINX로 멀티 도메인 호스팅하기  (0) 2025.01.27
우분투에서 Nginx를 설치하는 방법  (0) 2025.01.27
'운영체제 (OS)/리눅스 (Linux)' 카테고리의 다른 글
  • 우분투에서 MySQL/MariaDB 완벽 설치 및 설정 가이드
  • 우분투 PHP 설치 및 Nginx 연동 가이드
  • NGINX로 멀티 도메인 호스팅하기
  • 우분투에서 Nginx를 설치하는 방법
체리모찌
체리모찌
inknotes 님의 블로그 입니다.
  • 체리모찌
    모먼트로그
    체리모찌
    • 분류 전체보기 (32)
      • 일상 이야기 (6)
        • 영화 리뷰 (2)
        • 드라마 리뷰 (4)
      • 운영체제 (OS) (14)
        • 윈도우 (Windows) (1)
        • 리눅스 (Linux) (13)
      • 파이썬 (Python) (9)
      • 정보나눔 (3)
  • 최근 글

  • 최근 댓글

  • 인기 글

  • 태그

    스터디그룹3화
    청춘드라마
    웹사이트속도개선
    서버최적화
    김호민
    중증외상센터리뷰
    웹툰원작
    스터디드라마
    스터디그룹4화
    눅스서버
    nginx
    웹서버
    nginx캐싱
    프로그래밍
    파이썬 기초
    스터디그룹리뷰
    황민현
    스터디그룹
    코딩
    우분투
    개발
    서버관리
    파이썬
    python
  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.3
체리모찌
Ubuntu에서 Apache 설치 및 설정하기
상단으로

티스토리툴바