리눅스 서버 구축, 따라 하면 완성되는 설정법
서버 구축이 어렵다고요? 걱정 마세요. 리눅스 서버를 처음 접하는 분들도 쉽게 따라 할 수 있도록, 단계별로 설정법을 알려드리겠습니다. 한 걸음씩 따라 하면 어느새 완벽한 서버가 완성될 것입니다.
리눅스 서버 구축이 필요한 이유
요즘 기업뿐만 아니라 개인 프로젝트에서도 리눅스 서버를 구축하는 일이 많아졌습니다. 그 이유는 다음과 같습니다.
- 비용 절감: 오픈소스 운영체제로 무료 사용 가능
- 안정성: 윈도우보다 크래시가 적고 장기간 운영 가능
- 보안성: 강력한 사용자 권한 관리 및 방화벽 제공
- 확장성: 다양한 서비스(웹 서버, 데이터베이스, 애플리케이션 서버) 구축 가능
리눅스 서버를 직접 설정하면 필요에 맞게 최적화할 수도 있고, 유지보수 능력도 키울 수 있습니다.
적절한 리눅스 배포판 선택하기
리눅스 배포판(디스트로)은 다양하지만, 서버 운영을 위해 적절한 것을 선택해야 합니다.
- 우분투 서버(Ubuntu Server) – 초보자 친화적, 문서가 많아 학습하기 좋음
- 센트OS(CentOS) / 록키 리눅스(Rocky Linux) – 기업 환경에서 많이 사용됨
- 데비안(Debian) – 안정성이 높아 장기 운영 서버에 적합
- 알파인 리눅스(Alpine Linux) – 가볍고 빠른 컨테이너 환경 구축용
처음이라면 우분투 서버를 추천합니다.
리눅스 서버 설치 및 초기 설정
- ISO 파일 다운로드 및 부팅 USB 만들기
우분투 서버(또는 선택한 배포판)의 ISO 파일을 공식 홈페이지에서 다운로드하세요. - 서버 설치
- 부팅 후 언어 선택 및 기본 설정 진행
- 디스크 파티셔닝 (기본 설정을 사용해도 무방)
- SSH 서버 설치 선택 (원격 접속 필수)
- 업데이트 및 필수 패키지 설치
설치 후 최신 업데이트를 적용합니다. sudo apt update && sudo apt upgrade -y
- 서버 정보 확인
설치가 완료되면 서버 정보를 확인합니다. hostnamectl # 호스트명 확인 ip a # 네트워크 IP 확인
네트워크 및 원격 접속 설정
서버는 원격에서 관리하는 경우가 많습니다. SSH를 설정하면 편리하게 접속할 수 있습니다.
- SSH 설치 및 실행 확인
sudo systemctl enable ssh sudo systemctl start ssh
- SSH 포트 변경 (보안 강화)변경 후 적용:
sudo systemctl restart ssh
sudo nano /etc/ssh/sshd_config # Port 2222 (예: 2222로 변경)
- 원격 접속하기
다른 PC에서 SSH 클라이언트(Terminal 또는 PuTTY)로 접속합니다. ssh -p 2222 사용자명@서버IP
사용자 계정 및 권한 관리
루트(root) 계정을 직접 사용하는 것은 위험하므로 일반 사용자를 추가하고 권한을 부여하는 것이 중요합니다.
- 새 사용자 생성
sudo adduser 새로운사용자
- 관리자 권한 부여
sudo usermod -aG sudo 새로운사용자
- 사용자 계정 확인
cat /etc/passwd
보안을 위해 비밀번호 없이 SSH 로그인하는 기능은 반드시 차단해야 합니다.
방화벽 및 보안 설정
서버 보안은 필수입니다. UFW(방화벽)를 설정해서 필요하지 않은 포트를 닫아야 합니다.
- 방화벽 활성화 및 기본 정책 설정
sudo ufw default deny incoming sudo ufw default allow outgoing
- SSH, 웹 서버 등 필요한 포트 열기
sudo ufw allow 2222/tcp # SSH 포트 열기 sudo ufw allow 80/tcp # 웹 서버 포트 열기
- 방화벽 활성화 및 상태 확인
sudo ufw enable sudo ufw status
서버 최적화 및 유지보수 방법
서버를 오래 운영하려면 최적화와 정기적인 유지보수가 필요합니다.
- 자동 업데이트 설정
sudo apt install unattended-upgrades
- 서버 부하 모니터링
top # 실시간 CPU, 메모리 사용량 확인 df -h # 디스크 용량 확인
- 불필요한 서비스 정리
sudo systemctl list-units --type=service --state=running sudo systemctl disable 불필요한서비스
정기적으로 점검하면 서버 성능과 안정성을 유지할 수 있습니다.
자주 묻는 질문 (FAQ)
Q1. 리눅스 서버 구축 시 가장 중요한 보안 설정은?
A. SSH 포트 변경, 방화벽 설정(UFW), 불필요한 서비스 종료 등이 필수입니다.
Q2. 원격으로 접속이 안 돼요!
A. 방화벽에서 SSH 포트를 열었는지 확인하고, sudo systemctl status ssh
로 SSH 서비스 상태를 체크하세요.
Q3. 무료로 서버를 운영할 수 있는 방법은?
A. 클라우드 서비스(AWS, GCP, Oracle Cloud)의 무료 티어를 활용하면 가능합니다.
Q4. 서버 속도를 빠르게 하는 방법은?
A. 불필요한 프로세스 종료, 캐시 사용, SSD 활용, 네트워크 최적화 등을 고려하세요.
Q5. 서버 백업은 어떻게 하나요?
A. rsync
또는 tar
명령어를 사용해 정기적으로 백업을 진행하세요.
'운영체제 (OS) > 리눅스 (Linux)' 카테고리의 다른 글
Nginx Reverse Proxy 설정 가이드 (1) | 2025.02.01 |
---|---|
Nginx 설정 가이드, 기본부터 최적화까지 (2) | 2025.02.01 |
우분투 22.04 LTS 설치 후 꼭 해야 할 기본 설정 (1) | 2025.01.29 |
우분투에서 FTP 서버 설정하기: vsftpd 설치부터 Nginx 가상 호스팅까지 (0) | 2025.01.29 |
우분투에서 PHP 설치 및 Apache 연동 방법 완벽 가이드 (1) | 2025.01.28 |