CentOS 7 서버 관리자를 위한 완벽 가이드: 설치부터 보안까지
안정성과 신뢰성으로 유명한 CentOS 7은 웹 서버, 데이터베이스 서버, 개발 서버 등 다양한 용도로 널리 사용되는 리눅스 배포판입니다. 이 가이드에서는 CentOS 7 서버 설치부터 기본적인 관리, 보안 설정, 네트워크 구성, 응용 프로그램 설치까지 모든 과정을 상세히 다룹니다.
1, CentOS 7 서버 설치
CentOS 7 서버 설치는 여러 방법으로 가능합니다. 가장 일반적인 방법은 ISO 이미지를 다운로드하여 가상 머신(VM)에 설치하는 것입니다.
1.
1, 가상 머신 설치
가상 머신은 실제 하드웨어에서 소프트웨어를 사용하여 여러 운영 체제를 동시에 실행할 수 있도록 하는 프로그램입니다. VMware Workstation, VirtualBox, KVM 등 여러 가상 머신 소프트웨어를 사용할 수 있습니다.
- VMware Workstation: 상용 가상 머신 소프트웨어로 강력한 기능을 제공합니다.
- VirtualBox: 무료 오픈 소스 가상 머신 소프트웨어로 사용이 간편합니다.
- KVM: 리눅스 커널 기반의 가상화 기술로 성능이 뛰어납니다.
예시:
VMware Workstation을 사용하여 CentOS 7을 설치하는 경우 다음 단계를 따르세요.
- VMware Workstation을 실행하고 새 가상 머신 만들기를 클릭합니다.
- 사용자 지정(고급) 설정을 선택하고 다음을 클릭합니다.
- 디스크 이미지 파일 옵션을 선택하고 다음을 클릭합니다.
- CentOS 7 ISO 이미지 파일을 선택하고 다음을 클릭합니다.
- 가상 머신 이름과 위치를 설정하고 다음을 클릭합니다.
- 프로세서 수와 메모리 크기를 설정하고 다음을 클릭합니다.
- 네트워크 유형을 선택하고 다음을 클릭합니다.
-
디스크 크기를 설정하고 마침을 클릭합니다.
-
가상 머신이 생성되면 전원 켜기를 클릭하여 CentOS 7 설치를 시작합니다.
1.
2, 설치 과정
CentOS 7 설치 과정은 다음과 같습니다.
- 언어 선택: 설치 언어를 선택합니다.
- 키보드 레이아웃 선택: 키보드 레이아웃을 선택합니다.
- 설치 목표: 서버 설치, 데스크탑 설치, 최소 설치 중 하나를 선택합니다.
- 날짜 및 시간: 서버의 날짜와 시간을 설정합니다.
- 인스톨 위치: CentOS 7을 설치할 파티션을 선택합니다.
- 네트워크 구성: 네트워크 인터페이스를 설정하고 IP 주소를 할당합니다.
- 루트 암호 설정: 루트 계정의 암호를 설정합니다.
- 사용자 추가: 사용자 계정을 추가합니다.
- 시스템 업데이트 활성화: 시스템 업데이트를 활성화합니다.
- 설치 시작: 설치 과정이 시작됩니다.
2, CentOS 7 서버 관리
CentOS 7 서버는 SSH (Secure Shell) 프로토콜을 사용하여 원격으로 관리할 수 있습니다. SSH는 암호화된 연결을 통해 서버에 안전하게 접속하는 데 사용됩니다.
2.
1, SSH 접속 설정
SSH 접속을 설정하려면 먼저 SSH 서버를 활성화해야 합니다. SSH 서버는 CentOS 7에 기본적으로 설치되어 있지만, 활성화되어 있지 않을 수 있습니다.
SSH 서버 활성화:
bash
sudo systemctl enable sshd
sudo systemctl start sshd
SSH 접속을 위해서는 SSH 클라이언트 프로그램이 필요합니다. PuTTY, Termius, OpenSSH 등 다양한 SSH 클라이언트 프로그램을 사용할 수 있습니다.
예시 (PuTTY 사용):
- PuTTY를 실행하고 Host Name (or IP address)에 서버의 IP 주소를 입력합니다.
- Port에 22를 입력합니다.
- Open 버튼을 클릭하여 서버에 접속합니다.
- 사용자 이름과 암호를 입력하고 Enter를 누릅니다.
2.
2, 기본 명령어
CentOS 7 서버에서 사용되는 기본적인 명령어는 다음과 같습니다.
- ls: 디렉토리의 파일 목록을 표시합니다.
- cd: 디렉토리를 변경합니다.
- pwd: 현재 디렉토리의 경로를 표시합니다.
- mkdir: 새 디렉토리를 생성합니다.
- rmdir: 디렉토리를 삭제합니다.
- cp: 파일 또는 디렉토리를 복사합니다.
- mv: 파일 또는 디렉토리를 이동하거나 이름을 변경합니다.
- rm: 파일 또는 디렉토리를 삭제합니다.
- cat: 파일의 내용을 표시합니다.
- grep: 파일에서 특정 텍스트를 검색합니다.
- find: 디렉토리에서 특정 파일을 검색합니다.
- ps: 현재 실행중인 프로세스를 표시합니다.
- top: 시스템 리소스 사용 현황을 보여줍니다.
- df: 디스크 사용량을 표시합니다.
- du: 디렉토리의 크기를 표시합니다.
2.
3, 시스템 업데이트 및 패키지 관리
CentOS 7 서버는 패키지 관리 시스템을 통해 다양한 소프트웨어를 설치하고 관리할 수 있습니다. CentOS 7에서 사용되는 패키지 관리 시스템은 yum (Yellowdog Updater, Modified)입니다.
서버 업데이트:
bash
sudo yum update
패키지 설치:
bash
sudo yum install [package name]
예시:
- Apache 웹 서버 설치:
sudo yum install httpd
- MySQL 데이터베이스 설치:
sudo yum install mysql-server
- PHP 설치:
sudo yum install php
패키지 삭제:
bash
sudo yum remove [package name]
예시:
- Apache 웹 서버 삭제:
sudo yum remove httpd
2.
4, 사용자 관리
CentOS 7 서버에서 사용자를 관리하려면 다음 명령어를 사용합니다.
- useradd: 새 사용자 계정을 생성합니다.
- passwd: 사용자 암호를 변경합니다.
- usermod: 사용자 계정 정보를 수정합니다.
- userdel: 사용자 계정을 삭제합니다.
예시:
- 새 사용자 계정 생성:
sudo useradd [username]
- 사용자 암호 변경:
sudo passwd [username]
- 사용자 계정 정보 수정:
sudo usermod -G [group name] [username]
- 사용자 계정 삭제:
sudo userdel [username]
3, CentOS 7 서버 보안
CentOS 7 서버를 안전하게 유지하는 것은 매우 중요합니다. 서버 보안을 강화하기 위해 다음과 같은 단계를 수행해야 합니다.
3.
1, 암호 강도 설정
루트 계정 암호 강도:
루트 계정은 서버의 최고 관리자 권한을 가지고 있으므로 암호를 강력하게 설정해야 합니다. 암호는 최소 12자 이상, 대문자, 소문자, 숫자, 특수 문자를 포함해야 합니다.
사용자 계정 암호 강도:
다른 사용자 계정의 암호도 마찬가지로 강력하게 설정하는 것이 좋습니다.
예시 (사용자 계정 암호 정책 변경):
bash
sudo nano /etc/login.defs
위 명령어 실행 후 아