서버는 다양한 네트워크 서비스를 제공하는 핵심 시스템입니다. 이 강좌에서는 서버 운영 체제를 설치하고 설정하는 과정, 그리고 기본 명령어와 설정 방법에 대해 자세히 알아보겠습니다.

1. 서버 운영 체제란?

서버 운영 체제는 서버에서 실행되는 운영 체제로, 웹 서버, 데이터베이스 서버, 메일 서버 등 다양한 서비스에 맞춰 최적화되어 있습니다. 대표적인 서버 운영 체제로는 리눅스 기반의 Ubuntu, CentOS, Debian, Windows Server 등이 있습니다.

2. 서버 OS 설치 방법

2.1. Ubuntu 서버 설치

우분투 서버는 가장 인기 있는 리눅스 배포본 중 하나입니다. 설치 과정은 다음과 같습니다:

단계 1: 설치 미디어 준비

  • 우분투 서버 ISO 이미지를 우분투 공식 웹사이트에서 다운로드합니다.
  • USB 드라이브에 ISO 이미지를 기록하여 부팅 가능한 설치 미디어를 만듭니다. (예: Rufus 또는 Etcher 사용)

단계 2: 설치 시작

부팅 가능한 USB 드라이브를 서버에 연결하고, BIOS 또는 UEFI 설정에서 USB 드라이브를 첫 번째 부팅 장치로 설정합니다. 그런 다음 다음 단계에 따라 설치를 진행합니다:

  1. 부팅 후 나타나는 화면에서 “Install Ubuntu Server”를 선택합니다.
  2. 언어, 키보드 레이아웃을 선택합니다.
  3. 네트워크 설정을 진행합니다. DHCP를 사용할 수 있으며, 고정 IP를 설정할 수도 있습니다.
  4. 디스크 파티션을 설정합니다. 기본적으로 전체 디스크를 사용하도록 선택할 수 있습니다.
  5. 루트 패스워드를 설정하고, 사용자 계정을 추가합니다.
  6. 필요한 소프트웨어 패키지를 선택합니다. 예를 들어, OpenSSH 서버를 선택하면 SSH를 통해 원격 접속할 수 있습니다.
  7. 설치가 완료되면 시스템을 재부팅합니다.

2.2. CentOS 서버 설치

CentOS는 Red Hat Enterprise Linux의 무료 버전으로, 많은 서버에서 사용되고 있습니다. 설치 방법은 다음과 같습니다:

단계 1: 설치 미디어 준비

  • CentOS ISO 이미지를 CentOS 공식 웹사이트에서 다운로드합니다.
  • USB 드라이브에 ISO 이미지를 기록하여 부팅 가능한 설치 미디어를 만듭니다.

단계 2: 설치 시작

UBUs 부팅 가능한 USB 드라이브를 서버에 연결한 후, 부팅 메뉴에서 USB를 선택하여 설치를 진행합니다:

  1. 부팅 후 “Install CentOS”를 선택합니다.
  2. 언어 및 키보드 레이아웃을 선택합니다.
  3. 네트워크 설정을 진행합니다. 네트워크를 활성화하고 IP 주소를 설정합니다.
  4. 디스크 파티션을 설정합니다. 기본적으로 지정을 사용할 수 있습니다.
  5. 루트 비밀번호를 설정하고, 추가 사용자 계정을 생성합니다.
  6. 설치 유형을 선택하고 필요한 소프트웨어를 선택합니다.
  7. 설치가 완료되면 시스템을 재부팅합니다.

3. 서버 OS의 기본 명령어

서버 운영 체제를 관리하기 위해 기본적으로 알아야 할 명령어를 살펴보겠습니다. 여기서는 주로 리눅스 환경에 대해 설명합니다.

3.1. 파일 및 디렉터리 관리

  • ls: 현재 디렉터리의 파일과 디렉터리 목록을 출력합니다.
  • cd: 디렉터리를 변경합니다.
    cd /path/to/directory
  • cp: 파일을 복사합니다.
    cp source_file destination_file
  • mv: 파일 또는 디렉터리를 이동하거나 이름을 변경합니다.
    mv old_name new_name
  • rm: 파일을 삭제합니다. 디렉터리를 삭제할 때는 -r 옵션을 사용합니다.
    rm file_name
    rm -r directory_name
  • mkdir: 새 디렉터리를 생성합니다.
    mkdir new_directory
  • rmdir: 비어 있는 디렉터리를 삭제합니다.
    rmdir empty_directory

3.2. 사용자 관리

  • adduser: 새로운 사용자를 추가합니다.
    sudo adduser username
  • passwd: 사용자의 비밀번호를 변경합니다.
    sudo passwd username
  • userdel: 사용자를 삭제합니다.
    sudo userdel username
  • usermod: 사용자의 정보를 수정합니다.
    sudo usermod -aG groupname username

3.3. 프로세스 관리

  • ps: 현재 실행 중인 프로세스 목록을 표시합니다.
    ps aux
  • top: 실시간으로 시스템의 프로세스와 자원 사용을 모니터링합니다.
  • kill: 특정 프로세스를 종료합니다.
    kill process_id

3.4. 파일 권한 관리

리눅스는 모든 파일과 디렉터리에 대해 사용 권한을 설정할 수 있습니다. 다음은 권한 관리에 관한 명령어입니다:

  • chmod: 파일 또는 디렉터리의 권한을 변경합니다.
    chmod 755 filename
  • chown: 파일 또는 디렉터리의 소유자를 변경합니다.
    chown user:group filename

4. 서버 설정 방법

서버를 설치한 후에는 다양한 설정을 통해 최적화된 환경을 만들어야 합니다. 여기에서는 SSH 설정, 방화벽 설정, 서비스 관리 등을 다루겠습니다.

4.1. SSH 설정

SSH(Secure Shell)는 원격 서버에 안전하게 접근하기 위해 사용됩니다. SSH 서버를 설치하고 설정하는 방법은 다음과 같습니다:

1단계: OpenSSH 서버 설치

sudo apt install openssh-server  # Ubuntu
sudo yum install openssh-server  # CentOS

2단계: SSH 서비스 시작

sudo systemctl start sshd

3단계: 부팅시 자동 시작 설정

sudo systemctl enable sshd

4단계: SSH 포트 변경 (선택 사항)

기본적으로 SSH는 포트 22를 사용합니다. 보안을 위해 포트를 변경하는 것이 좋습니다. SSH 설정 파일(/etc/ssh/sshd_config)을 수정합니다:

sudo nano /etc/ssh/sshd_config

Port 22를 원하는 포트 번호로 변경한 후, SSH 서비스를 재시작합니다:

sudo systemctl restart sshd

4.2. 방화벽 설정

서버를 안전하게 보호하기 위해 방화벽을 설정하는 것이 중요합니다. 다음은 UFW와 firewalld를 사용한 방화벽 설정 방법입니다.

1단계: UFW 사용 (Ubuntu)

sudo apt install ufw
sudo ufw allow ssh
sudo ufw enable

2단계: firewalld 사용 (CentOS)

sudo systemctl start firewalld
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

4.3. 서비스 관리

서버에서 실행되는 서비스는 systemd를 통해 관리할 수 있습니다.

  • 서비스 시작:
    sudo systemctl start service_name
  • 서비스 중지:
    sudo systemctl stop service_name
  • 서비스 상태 확인:
    sudo systemctl status service_name

5. 결론

이 강좌에서는 서버 운영 체제 설치와 기본 설정 방법에 대해 알아보았습니다. 서버를 운영하기 위해 알아야 할 기본 명령어와 설정 방법을 익히고, 안전하고 효율적인 서버 환경을 구축하시길 바랍니다. 다음에는 서버 소프트웨어 설치 및 서비스 설정에 대해 다룰 예정입니다.