본문 바로가기
📁 [4] 개발자 정보 & 코드 노트/Linux

🔥 리눅스 서버(Ubuntu Server) 설정 방법 – 초보자 가이드

by wawManager 2025. 6. 3.

리눅스 서버는 웹 서버, 데이터베이스, 파일 서버, 클라우드 서버 등 다양한 용도로 사용할 수 있다.
이번 글에서는 우분투(Ubuntu) 서버를 기준으로 기본적인 서버 설정 방법을 단계별로 정리했다.


1. 리눅스 서버 설치 준비

🔹 Ubuntu Server ISO 다운로드공식 다운로드
🔹 8GB 이상의 USB (부팅 디스크 만들기 용도)
🔹 Rufus 또는 Balena Etcher (부팅 USB 만들기 프로그램)
🔹 서버용 PC 또는 가상 머신 (VMware, VirtualBox 등)

📌 Ubuntu Server는 GUI(그래픽 인터페이스) 없이 CLI(터미널) 기반으로 동작한다.


2. Ubuntu Server 설치하기

1️⃣ 부팅 USB를 만들고 서버에 연결 후 BIOS에서 USB 부팅 설정
2️⃣ "Install Ubuntu Server" 선택 후 엔터
3️⃣ 언어 선택 (English 권장)
4️⃣ 키보드 레이아웃 선택 (Korean 또는 English(US))
5️⃣ 네트워크 설정 (DHCP 자동 설정 기본값 유지)
6️⃣ 디스크 파티션 설정

  • "Use entire disk" 선택 (자동 설정)
  • 수동 설정 시 / (루트), swap, /home 파티션 구성 가능
    7️⃣ 사용자 계정 & SSH 활성화
  • 관리자 계정 이름 & 비밀번호 설정
  • SSH 서버 설치 여부 확인 (선택 후 활성화)
    8️⃣ 설치 완료 후 "Reboot Now" 선택
    9️⃣ 로그인 후 기본 서버 설정 진행

📌 설치 중 "OpenSSH Server"를 선택하면 원격 접속(SSH)이 가능하다.


3. 리눅스 서버 기본 설정 (필수 작업)

🔹 1) 패키지 업데이트 & 업그레이드

sudo apt update && sudo apt upgrade -y

📌 리눅스는 최신 보안 패치를 유지하는 것이 중요하다!


🔹 2) SSH 원격 접속 설정 (보안 강화)

SSH 서비스 상태 확인

sudo systemctl status ssh

방화벽에서 SSH 포트(22) 허용

sudo ufw allow OpenSSH
sudo ufw enable

SSH 설정 파일 수정 (Port 22 변경 가능)

sudo nano /etc/ssh/sshd_config

변경할 항목:

  • PermitRootLogin no (root 계정 SSH 로그인 차단)
  • PasswordAuthentication yes (암호 로그인 허용)

SSH 서비스 재시작

sudo systemctl restart ssh

📌 보안을 위해 기본 포트(22)를 변경하거나, SSH 키 인증 방식 사용을 추천한다.


4. 사용자 & 권한 관리

새 사용자 추가

sudo adduser username

관리자 권한 부여 (sudo 그룹 추가)

sudo usermod -aG sudo username

사용자 목록 확인

cat /etc/passwd

📌 일반 사용자는 sudo 권한이 없으므로, 반드시 관리자 계정을 추가해야 한다.


5. 방화벽 설정 (UFW)

Ubuntu는 기본적으로 **UFW(Uncomplicated Firewall)**를 사용한다.

방화벽 활성화 & 상태 확인

sudo ufw enable
sudo ufw status

기본 포트 허용 (SSH, HTTP, HTTPS)

sudo ufw allow 22/tcp   # SSH
sudo ufw allow 80/tcp   # HTTP
sudo ufw allow 443/tcp  # HTTPS

특정 IP만 SSH 접속 허용

sudo ufw allow from 192.168.1.100 to any port 22

📌 불필요한 포트는 차단하여 보안을 강화해야 한다.


6. 웹 서버(Apache or Nginx) 설치

🔹 1) Apache 웹 서버 설치

sudo apt install apache2 -y
sudo systemctl enable apache2
sudo systemctl start apache2

Apache 방화벽 허용

sudo ufw allow 'Apache Full'

웹 서버 동작 확인
브라우저에서 http://서버IP 접속 → "Apache 기본 페이지" 확인


🔹 2) Nginx 웹 서버 설치

sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx

Nginx 방화벽 허용

sudo ufw allow 'Nginx Full'

웹 서버 동작 확인

systemctl status nginx

📌 Nginx는 속도가 빠르고, Apache는 다양한 모듈 지원이 강점이다.


7. 데이터베이스 서버(MySQL or PostgreSQL) 설치

🔹 1) MySQL 설치

sudo apt install mysql-server -y
sudo systemctl enable mysql
sudo systemctl start mysql

MySQL 보안 설정 실행

sudo mysql_secure_installation

MySQL 접속 및 관리

sudo mysql -u root -p

🔹 2) PostgreSQL 설치

sudo apt install postgresql -y
sudo systemctl enable postgresql
sudo systemctl start postgresql

PostgreSQL 접속

sudo -u postgres psql

📌 데이터베이스 종류는 프로젝트에 맞게 선택해야 한다!


8. 도메인 & SSL 인증서 설정 (Let's Encrypt)

🔹 1) Let's Encrypt SSL 인증서 설치 (HTTPS 활성화)

sudo apt install certbot python3-certbot-apache -y

Apache용 SSL 인증서 발급

sudo certbot --apache -d yourdomain.com

Nginx용 SSL 인증서 발급

sudo certbot --nginx -d yourdomain.com

SSL 인증서 자동 갱신 설정

sudo certbot renew --dry-run

📌 무료 SSL 인증서인 Let's Encrypt를 사용하면 HTTPS 보안을 강화할 수 있다.


🎯 마무리 – 리눅스 서버 기본 설정 완료!

Ubuntu Server 설치 & SSH 설정
사용자 계정 & 방화벽 설정
웹 서버(Apache/Nginx) & 데이터베이스(MySQL/PostgreSQL) 설치
HTTPS 보안(SSL 인증서) 적용

🚀 결론:

"리눅스 서버는 강력한 성능과 보안성을 제공하며, 다양한 웹 서비스 & 클라우드 환경에서 필수적이다!"

📌 #리눅스서버 #UbuntuServer #서버설정 #LinuxServer #웹서버설정 #리눅스보안 #Nginx #Apache #MySQL #PostgreSQL #SSL인증서