1.우분투 서버의 설치 및 초기 설정, 우분투 서버 설치 가이드

우분투 서버는 높은 안정성과 성능 덕분에 많은 웹 서버 호스팅 옵션에서 널리 사용됩니다.
이번 가이드는 우분투 서버를 설치하고 초기 설정하는 방법을 자세히 설명합니다.
본 가이드는 초보자부터 전문가까지 모두가 활용할 수 있도록 단계별로 구성되어 있습니다.

1. 우분투 서버 다운로드

모든 설치는 먼저 우분투 서버 ISO 이미지를 다운로드하는 것에서 시작합니다.

  1. 우분투 공식 웹사이트를 방문합니다: Ubuntu Server Download
  2. 가장 최신의 LTS(장기 지원) 버전을 추천합니다.
  3. ISO 파일을 다운로드하십시오.

2. 설치 미디어 생성

다운로드한 ISO 파일을 USB 드라이브나 DVD에 구워야 합니다.
USB 드라이브를 사용하는 방법이 빠르고 편리합니다.

USB 드라이브 만들기

Windows에서는 Rufus, Mac에서는 Etcher와 같은 도구를 사용할 수 있습니다.

    # 예시: Rufus 사용
    1. Rufus를 실행합니다.
    2. USB 드라이브를 선택합니다.
    3. Boot selection에서 다운로드한 ISO 파일을 선택합니다.
    4. Start를 클릭하여 USB 드라이브 만들기를 시작합니다.
    

3. 서버 설치

USB 드라이브 또는 DVD를 사용하여 서버를 시작합니다.

  1. 부팅 시 BIOS 또는 UEFI 설정에서 USB 부팅을 선택합니다.
  2. 우분투 설치 화면이 나타나면 “Install Ubuntu Server”를 선택합니다.
  3. 언어, 지역 및 키보드를 설정하십시오.

디스크 파티셔닝

설치 과정에서 디스크 파티셔닝을 요청받게 됩니다. 추천하는 방법은 Guided – use entire disk입니다.
그러나 사용자 정의 파티션을 원할 경우 Manual 옵션을 선택할 수 있습니다.

    # 예시: 파티션 설정
    1. root (/) 파티션: 최소 20GB
    2. swap 파티션: RAM의 1배 (예: RAM이 8GB인 경우 8GB 설정)
    

4. 초기 설정

우분투 서버의 설치가 완료되면 초기 설정을 진행합니다.

4.1 사용자 계정 설정

루트 사용자 계정을 비활성화하고 대신 새로운 사용자 계정을 생성합니다. 이를 통해 보안을 강화할 수 있습니다.

    # 예시: 사용자 추가
    sudo adduser 사용자명
    sudo usermod -aG sudo 사용자명
    

4.2 SSH 설치 및 설정

원격에서 서버에 접근하기 위해 SSH 서버를 설치합니다.

    # SSH 서버 설치
    sudo apt update
    sudo apt install openssh-server
    # SSH 서비스 확인
    sudo systemctl status ssh
    

4.3 방화벽 설정

우분투에는 UFW(Uncomplicated Firewall)가 기본 제공되며, 이를 통해 서버의 보안을 강화할 수 있습니다.

    # 방화벽 활성화
    sudo ufw allow OpenSSH
    sudo ufw enable
    sudo ufw status
    

4.4 소프트웨어 업데이트

설치 후 즉시 최신 패키지로 업데이트하는 것이 좋습니다.

    # 시스템 업데이트
    sudo apt update
    sudo apt upgrade
    

4.5 NTP 설정

서버의 시간을 정확하게 유지하기 위해 NTP(Network Time Protocol)를 설정합니다.

    # NTP 설치
    sudo apt install ntp
    # 상태 확인
    timedatectl
    

5. 우분투 서버의 보안 강화

기본적인 보안 설정 외에도 추가적인 보안 조치를 취할 수 있습니다.

5.1 SSH 포트 변경

기본 SSH 포트(22)를 변경하여 공격을 어렵게 만들 수 있습니다. /etc/ssh/sshd_config 파일을 수정합니다.

    # SSH 포트 변경
    sudo nano /etc/ssh/sshd_config
    # Port 22를 원하는 숫자로 변경 (예: 2222)
    sudo systemctl restart ssh
    

5.2 Fail2ban 설치

서버에 대한 무차별 대입 공격을 막기 위해 Fail2ban을 설치합니다.

    # Fail2ban 설치
    sudo apt install fail2ban
    # 서비스 시작
    sudo systemctl enable fail2ban
    sudo systemctl start fail2ban
    

6. 웹 서버 설치

우분투 서버에서 웹사이트를 호스팅하기 위해 Apache 또는 Nginx와 같은 웹 서버를 설치합니다.

6.1 Apache 웹 서버 설치

    # Apache 설치
    sudo apt install apache2
    # 상태 확인
    sudo systemctl status apache2
    

설치 후 웹 브라우저에서 서버의 IP 주소를 입력하여 Apache 기본 페이지가 표시되는지 확인합니다.

6.2 MySQL 또는 MariaDB 설치

데이터베이스를 사용하기 위해 MySQL 또는 MariaDB를 설치합니다.

    # MariaDB 설치
    sudo apt install mariadb-server
    # 보안 설정 스크립트 실행
    sudo mysql_secure_installation
    

6.3 PHP 설치

PHP는 웹 애플리케이션과 함께 사용하는 언어입니다. Apache와 연동하기 위해 PHP와 필요한 모듈들을 설치합니다.

    # PHP 및 모듈 설치
    sudo apt install php libapache2-mod-php php-mysql
    

7. WordPress 설치

우분투 서버에 WordPress를 설치하여 블로그를 시작해보겠습니다.

7.1 WordPress 다운로드

    # WordPress 파일 다운로드
    cd /tmp
    curl -O https://wordpress.org/latest.tar.gz
    tar xzvf latest.tar.gz
    

다운로드한 파일을 Apache의 루트 디렉토리로 복사합니다.

    # 파일 복사
    sudo cp -a /tmp/wordpress/. /var/www/html/
    

7.2 권한 설정

웹 서버가 WordPress 파일에 접근할 수 있도록 권한을 설정합니다.

    sudo chown -R www-data:www-data /var/www/html/
    sudo chmod -R 755 /var/www/html/
    

7.3 WordPress 설정

웹 브라우저에서 서버의 IP 주소를 입력하여 WordPress 설치를 시작합니다.
데이터베이스 정보와 사용자 정보를 입력하시면 됩니다.

결론

이제 우리는 우분투 서버를 설치하고 초기 설정을 완료했습니다.
또한 웹 서버와 데이터베이스를 설치하여 WordPress를 위한 환경을 설정했습니다.
앞으로도 지속적인 업데이트와 보안 점검을 통해 안정적인 서버 운영을 이어가시기 바랍니다.

10.네트워크 설정 및 관리, iptables를 이용한 고급 방화벽 설정

1. 서론

디지털 시대에 네트워크 보안은 필수적입니다. 특히 웹 서버를 운영하는 경우, 외부의 공격으로부터 보호할 방화벽 설정이 중요합니다. 본 글에서는 Ubuntu 서버에서 iptables를 이용한 네트워크 설정과 고급 방화벽 설정 방법에 대해 설명하겠습니다. 이 글의 목표는 독자가 실무에서 적용할 수 있는 집약적이고 종합적인 가이드를 제공하는 것입니다.

2. 네트워크 기본 설정

2.1. IP 주소 및 서브넷 설정

서버의 IP 주소를 설정하는 것이 첫 단계입니다. Ubuntu에서는 netplan을 통해 네트워크 설정을 관리합니다. 일반적으로 설치 시 DHCP를 사용하지만, 고정 IP로 변경할 필요가 있습니다.

sudo nano /etc/netplan/01-netcfg.yaml

이 파일에서 다음과 같이 설정합니다:

network:
    version: 2
    renderer: networkd
    ethernets:
        enp0s3:
            dhcp4: no
            addresses:
                - 192.168.1.10/24
            gateway4: 192.168.1.1
            nameservers:
                addresses: [8.8.8.8, 8.8.4.4]
    

저장 후, 다음 명령어로 변경 사항을 적용합니다:

sudo netplan apply

2.2. 방화벽 기본 설정

네트워크가 설정되면 기본 방화벽을 설정합니다. Ubuntu는 기본적으로 ufw(Uncomplicated Firewall)를 제공합니다. 다음과 같이 기본 규칙을 설정할 수 있습니다:

sudo ufw allow OpenSSH
    sudo ufw enable

이렇게 함으로써 SSH 접속을 허용하고 방화벽을 활성화합니다.

3. iptables 소개

iptables는 Linux 기반의 방화벽이다. 패킷 필터링, NAT(네트워크 주소 변환) 및 포트포워딩과 같은 기능을 제공하며, 고급 보안 설정을 구현할 수 있습니다. iptables는 기본적으로 4개의 체인을 가지고 있습니다:

  • INPUT: 시스템으로 들어오는 패킷에 대한 규칙
  • OUTPUT: 시스템에서 나가는 패킷에 대한 규칙
  • FORWARD: 시스템을 통해 다른 네트워크로 전달되는 패킷에 대한 규칙
  • PREROUTING: 패킷이 라우팅되는 경로를 변경하기 위해 사용
  • POSTROUTING: 패킷이 전송된 후 규칙을 적용

4. iptables 설치 및 기본 사용법

4.1. iptables 설치

Ubuntu에 기본적으로 설치되어 있지만, 설치 상태를 확인하거나 설치할 수 있습니다:

sudo apt update
    sudo apt install iptables

4.2. 기본 명령어

iptables의 기본적인 사용법을 소개합니다:

sudo iptables -L            # 규칙 리스트 확인
    sudo iptables -F            # 모든 규칙 제거
    sudo iptables -S            # 규칙 확인

5. 고급 방화벽 설정

이제 고급 방화벽 설정을 위한 몇 가지 예제를 다룰 것입니다. 다양한 유형의 트래픽을 필터링하고, 특정 조건에 맞는 패킷을 차단하거나 허용할 수 있습니다.

5.1. 특정 IP 주소 차단

특정 IP 주소로부터의 접근을 차단할 수 있습니다:

sudo iptables -A INPUT -s 203.0.113.0 -j DROP

이 명령어는 203.0.113.0 IP 주소에서 오는 모든 패킷을 차단합니다.

5.2. 특정 포트 차단

특정 포트로의 접근을 차단할 때는 다음과 같이 설정합니다:

sudo iptables -A INPUT -p tcp --dport 23 -j DROP

이 명령어는 Telnet 포트(23번)를 차단합니다.

5.3. 특정 IP 주소에 대해서만 허용

특정 IP 주소에 대해서만 포트를 허용하려면, 다음과 같이 설정합니다:

sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 80 -j ACCEPT

이 명령어는 192.168.1.100 IP 주소에서 오는 HTTP 요청을 허용합니다.

5.4. 포트 포워딩 설정

서버가 포트를 포워딩할 수 있도록 설정할 수도 있습니다. 예를 들어, 8080 포트로 들어오는 요청을 80 포트로 전달할 수 있습니다. 다음과 같이 설정합니다:

sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80

6. iptables 관리하기

6.1. iptables 규칙 저장

설정한 규칙을 영구적으로 저장하려면, iptables-persistent 패키지를 사용할 수 있습니다:

sudo apt install iptables-persistent

설치하는 동안 저장하길 원하는 규칙을 선택하게 됩니다.

6.2. 규칙 복원

다시 시작할 때 자동으로 iptables 규칙을 복원해야 할 경우, 저장된 규칙 파일을 이용할 수 있습니다. 다음 명령어로 복원합니다:

sudo iptables-restore < /etc/iptables/rules.v4

7. 모니터링 및 로그 설정

방화벽 로그를 통해 어떤 패킷이 차단되었는지 확인할 수 있습니다. iptables 로그를 설정하려면 다음과 같이 할 수 있습니다:

sudo iptables -A INPUT -j LOG --log-prefix "iptables: " --log-level 4

로그는 /var/log/syslog 파일에서 확인할 수 있습니다.

8. 결론

오늘날 보안 위협이 증가함에 따라, 서버에 대한 방화벽 설정은 필수적입니다. Ubuntu에서 iptables를 사용하여 네트워크를 보호하는 방법을 배웠습니다. 기본 설정부터 고급 설정까지 진행하며, 실무에서 유용하게 활용할 수 있도록 했습니다. 방화벽 규칙을 자주 검토하고, 필요에 따라 규칙을 업데이트하는 것이 중요합니다.

9. 참고 자료

1.우분투 서버의 설치 및 초기 설정, 기본 네트워크 설정 및 서버 IP 주소 고정하기

서버를 구축하는 과정은 조직이나 개인이 자원을 관리하고 최적화하는 데 있어 매우 중요한 단계입니다. 본 글에서는 우분투 서버를 설치하고, 초기 설정을 진행하며, 기본 네트워크 설정 및 서버의 IP 주소를 고정하는 방법에 대해 자세히 설명합니다.

1. 우분투 서버 설치하기

우분투 서버를 설치하기 위해서는 다음의 준비물이 필요합니다:

  • 부팅 가능한 USB 드라이브 또는 CD/DVD
  • 우분투 서버 ISO 이미지 파일 (우분투 공식 웹사이트에서 다운로드 가능)
  • 서버 하드웨어(물리 서버 또는 가상 서버)

1.1 우분투 서버 ISO 이미지 다운로드

우분투 서버의 최신 버전을 [우분투 공식 다운로드 페이지](https://ubuntu.com/download/server)에서 다운로드합니다. 다운로드 받은 후는 USB 드라이브에 ISO 이미지를 굽기 위해 필요한 소프트웨어(예: Rufus, Etcher 등)를 사용합니다.

1.2 부팅 가능한 USB 드라이브 만들기

Rufus를 사용하여 부팅 가능한 USB 드라이브를 만드는 방법:

  1. Rufus를 실행하고 USB 드라이브를 선택합니다.
  2. 다운로드한 ISO 파일을 선택합니다.
  3. 파티션 스타일을 선택하고 시작 버튼을 클릭합니다.

1.3 서버 부팅 및 설치 진행

USB 드라이브를 서버에 연결하고 전원을 켭니다. BIOS 설정에서 USB 드라이브를 첫 번째 부팅 장치로 설정합니다. 이후 설치 과정은 다음과 같습니다:

  1. 우분투 서버 설치 옵션에서 “Install Ubuntu Server”를 선택합니다.
  2. 언어, 키보드 레이아웃 등을 설정합니다.
  3. 네트워크 설정: DHCP를 통해 자동으로 IP를 받을 것인지, 정적 IP를 설정할 것인지 선택합니다.
  4. 디스크 파티셔닝: “Guided – use entire disk”를 선택하여 설치할 수 있습니다.
  5. 사용자 계정, 비밀번호 및 서버 이름을 입력합니다.
  6. 설치가 완료되면 시스템을 재부팅합니다.

2. 초기 설정

서버 설치 후, 기본적인 초기 설정을 진행해야 합니다. 다음은 필수적인 초기 설정 목록입니다:

  • 시스템 업데이트
  • SSH 서버 설치 및 설정
  • 방화벽 설정
  • 루트 비밀번호 변경

2.1 시스템 업데이트

sudo apt update && sudo apt upgrade -y

위 명령어로 시스템을 최신 상태로 업데이트합니다.

2.2 SSH 서버 설치

원격 접속을 위해 SSH 서버를 설치하는 방법은 다음과 같습니다:

sudo apt install openssh-server

SSH 서버가 설치된 후, SSH 서비스가 자동으로 시작됩니다. 서비스 상태를 확인하려면:

sudo systemctl status ssh

2.3 방화벽 설정

우분투 서버의 기본 방화벽인 UFW(Uncomplicated Firewall)를 활성화하고 필요 포트를 허용하는 방법:

sudo ufw allow OpenSSH
sudo ufw enable

UFW 상태를 확인하려면:

sudo ufw status

2.4 루트 비밀번호 변경

기본적으로 루트 계정은 비활성화되어 있습니다. 그러나 필요하다면 비밀번호를 변경할 수 있습니다:

sudo passwd root

3. 기본 네트워크 설정

서버의 네트워크 설정은 서버의 통신 방식에 영향을 미칩니다. 일반적으로 DHCP를 사용하나, 특정 네트워크 환경에서는 정적 IP 주소가 필요할 수 있습니다.

3.1 DHCP 설정

기본적으로 우분투는 DHCP를 지원하므로 추가 작업 없이도 IP 주소를 자동으로 할당받게 됩니다. 그러나 정적 IP 주소 설정이 필요할 때는:

3.2 정적 IP 주소 설정하기

우분투 서버에서 정적 IP 주소를 설정하는 방법은 다음과 같습니다:

  1. 네트워크 설정 파일을 엽니다:
  2. sudo nano /etc/netplan/01-netcfg.yaml
  3. 다음 예와 같이 내용을 수정합니다:
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

여기서 eth0는 사용 중인 네트워크 인터페이스 이름을 입력합니다. IP 주소, 서브넷 마스크, 게이트웨이 및 DNS 서버를 설정합니다.

  1. 설정을 적용합니다:
sudo netplan apply

4. 서버 IP 주소 고정하기

서버의 IP 주소를 고정하는 것은 서버의 안정성을 높이는 중요한 설정입니다. 아래는 서버의 IP 주소를 고정하는 방법입니다.

4.1 모듈 통한 IP 주소 고정

일반적으로 netplan을 통해 IP 주소를 고정할 수 있습니다. 이미 위에서 설명한 내용을 그대로 참고하면 됩니다.

4.2 네트워크 관리 도구 사용하기

Ubuntu Desktop 버전에서는 GUI 환경에서 네트워크 관리 도구를 통해 IP 주소를 고정할 수 있습니다. 항목은 다음과 같습니다:

  • Networking 메뉴를 엽니다.
  • 사용 중인 네트워크를 선택합니다.
  • IPv4 설정을 수동으로 변경하고 IP 주소, 게이트웨이, DNS 서버를 입력합니다.
  • 저장하고 네트워크를 재시작합니다.

5. 결론

우분투 서버를 설치하고 초기 설정을 마친 후, 기본 네트워크 설정과 IP 주소 고정 방법을 배웠습니다. 이러한 기본적인 설정을 통해 안정적으로 서버를 운영할 수 있습니다. 이후에는 웹 서버, 데이터베이스, 애플리케이션 서버 등을 설치하여 자신만의 서버 환경을 구축해 나갈 수 있습니다.

참고 자료

1.우분투 서버의 설치 및 초기 설정, SSH 설정 및 원격 접속 환경 만들기

1. 우분투 서버 설치

우분투 서버는 안정성과 성능 덕분에 개발자와 기업에서 인기 있는 리눅스 배포판입니다. 우분투 서버를 설치하는 과정은 간단하지만, 몇 가지 중요한 설정을 반드시 체크해야 합니다.

1.1 설치 미디어 준비하기

우분투 서버 ISO 이미지를 다운로드하고 USB 드라이브에 기록합니다. ‘Rufus’와 같은 도구를 사용하면 손쉽게 부팅 가능한 USB를 만들 수 있습니다.

1.2 부팅 및 설치 과정

USB 드라이브로 부팅하여 설치를 시작합니다. 설치 중에 언어, 시간대, 키보드 레이아웃을 설정하고 네트워크 구성을 확인합니다.

  • 디스크 파티셔닝: ‘자동’ 또는 ‘수동’ 옵션을 선택할 수 있으며, 서버의 목적에 따라 변동이 있습니다.
  • 사용자 계정 설정: 관리자 계정(예: root 계정)을 생성하고, 강력한 비밀번호를 설정합니다.
  • 패키지 및 소프트웨어 선택: 기본적인 서버 운영에 필요한 패키지를 선택합니다.

설치가 완료되면 시스템을 재부팅합니다.

2. 초기 설정

서버가 부팅되면 몇 가지 초기 설정을 적용해야 합니다.

2.1 패키지 업데이트

우분투 설치 후 패키지를 업데이트하여 최신 버전을 유지하는 것이 중요합니다. 터미널을 열고 다음 명령어를 입력합니다.

sudo apt update && sudo apt upgrade -y

2.2 방화벽 설정

UFW(Uncomplicated Firewall)를 사용하여 서버의 보안을 강화합니다.

sudo ufw allow OpenSSH
sudo ufw enable

설정 후 방화벽 상태를 확인할 수 있습니다.

sudo ufw status

2.3 SSH 설치 및 구성

SSH를 통해 원격에서 안전하게 서버에 접근할 수 있도록 SSH 서버를 설치합니다.

sudo apt install openssh-server

설치 후 SSH 서버 상태를 확인합니다.

sudo systemctl status ssh

3. SSH 설정 및 원격 접속 환경 만들기

SSH를 통해 서버에 원격으로 안전하게 접속할 수 있는 환경을 만들어야 합니다.

3.1 SSH 기본 설정 수정

SSH 기본 설정 파일을 열어 보안을 강화합니다.

sudo nano /etc/ssh/sshd_config

다음과 같은 항목을 수정합니다:

  • 포트 변경: 기본 22번 포트 대신 다른 포트를 사용합니다.
  • 루트 로그인 비활성화: 루트 계정으로의 직접 로그인을 비활성화합니다.
  • 비밀번호 인증 비활성화: 비밀번호 대신 SSH 키 인증을 사용하도록 설정합니다.

3.2 SSH 키 생성 및 설정

SSH 키를 생성하여 비밀번호 없이 안전하게 로그인할 수 있습니다. 클라이언트 컴퓨터에서 다음 명령을 실행합니다.

ssh-keygen -t rsa -b 4096

키 생성 후, 공개 키를 서버로 복사합니다.

ssh-copy-id username@server_ip

이제 공개 키 인증을 통해 안전하게 로그인할 수 있습니다.

4. 원격 접속 테스트 및 결론

서버에 원격으로 접속할 수 있는지 테스트합니다.

ssh username@server_ip -p port_number

테스트가 성공하면 SSH를 통한 원격 관리 환경이 완벽히 설정된 것입니다. 이제부터는 안전하게 서버를 관리하고 운영할 수 있습니다.

이상으로 우분투 서버의 설치 과정과 초기 설정, SSH 설정 및 원격 접속 환경 만들기에 대해 설명하였습니다. 이러한 과정을 통해 사용자들은 더욱 안전하고 효율적인 서버 운영을 경험할 수 있습니다.

[우분투] 아파치 가상 호스트 설정하기

우분투 서버에서 아파치 가상 호스트 설정하기

아파치 웹 서버에서 여러 웹사이트를 호스팅하는 가장 효과적인 방법 중 하나가 가상 호스트(Virtual Host) 기능을 이용하는 것입니다. 가상 호스트는 한 서버에서 여러 도메인 또는 여러 웹사이트를 호스팅할 수 있도록 해줍니다. 여기서는 우분투 서버 기준으로 가상 호스트를 설정하는 방법을 설명하겠습니다.

1. 아파치 설치

먼저, 아파치가 설치되어 있지 않다면 설치합니다. 터미널에서 다음 명령어를 입력하세요.

sudo apt update
sudo apt install apache2

설치가 완료되면 아파치 서버가 자동으로 시작됩니다. 아파치가 정상적으로 동작하는지 확인하려면 다음 명령어를 입력하여 서비스 상태를 확인할 수 있습니다.

sudo systemctl status apache2

2. 가상 호스트 디렉토리 생성

각 웹사이트의 파일을 보관할 디렉토리를 생성합니다. 예를 들어, 두 개의 웹사이트를 설정하려고 한다면 다음과 같이 디렉토리를 만들 수 있습니다.

sudo mkdir -p /var/www/yourdomain1.com/public_html
sudo mkdir -p /var/www/yourdomain2.com/public_html

그런 다음, 생성한 디렉토리에 대한 올바른 권한을 부여합니다.

sudo chown -R $USER:$USER /var/www/yourdomain1.com/public_html
sudo chown -R $USER:$USER /var/www/yourdomain2.com/public_html

3. 가상 호스트 설정 파일 작성

아파치에서 각 도메인에 대한 설정을 별도의 파일로 작성할 수 있습니다. 아파치 설정 파일은 /etc/apache2/sites-available/ 디렉토리에 저장됩니다. 예를 들어 yourdomain1.com에 대한 설정 파일을 만들려면 다음 명령어를 사용합니다.

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

파일에 다음 내용을 추가합니다. 각 <VirtualHost> 블록은 각 도메인의 설정을 나타냅니다.

<VirtualHost *:80>
ServerAdmin webmaster@yourdomain1.com
ServerName yourdomain1.com
ServerAlias www.yourdomain1.com
DocumentRoot /var/www/yourdomain1.com/public_html
ErrorLog ${APACHE_LOG_DIR}/yourdomain1.com-error.log
CustomLog ${APACHE_LOG_DIR}/yourdomain1.com-access.log combined
</VirtualHost>

두 번째 도메인 yourdomain2.com도 비슷한 방식으로 설정 파일을 만듭니다.

sudo nano /etc/apache2/sites-available/yourdomain2.com.conf
<VirtualHost *:80>
ServerAdmin webmaster@yourdomain2.com
ServerName yourdomain2.com
ServerAlias www.yourdomain2.com
DocumentRoot /var/www/yourdomain2.com/public_html
ErrorLog ${APACHE_LOG_DIR}/yourdomain2.com-error.log
CustomLog ${APACHE_LOG_DIR}/yourdomain2.com-access.log combined
</VirtualHost>

4. 가상 호스트 활성화

작성한 가상 호스트 파일을 활성화하려면 다음 명령어를 입력합니다.

sudo a2ensite yourdomain1.com.conf
sudo a2ensite yourdomain2.com.conf

변경 사항을 적용하려면 아파치 서버를 다시 시작해야 합니다.

sudo systemctl restart apache2

5. 로컬 테스트를 위한 /etc/hosts 파일 수정

가상 호스트 설정이 제대로 동작하는지 확인하려면 로컬 테스트를 위해 /etc/hosts 파일을 수정할 수 있습니다. 터미널에서 다음 명령어를 입력하여 파일을 엽니다.

sudo nano /etc/hosts

파일에 다음 줄을 추가하여 로컬에서 도메인을 테스트할 수 있습니다.

127.0.0.1 yourdomain1.com
127.0.0.1 yourdomain2.com

6. 가상 호스트 테스트

브라우저에서 http://yourdomain1.comhttp://yourdomain2.com으로 접속하여 가상 호스트 설정이 올바르게 적용되었는지 확인합니다.