🔎 유용한 정보
리눅스 서버는 웹 서버, 데이터베이스, 파일 서버, 클라우드 서버 등 다양한 용도로 사용할 수 있다.
이번 글에서는 우분투(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인증서
'📁 [4] 개발자 정보 & 코드 노트 > Linux' 카테고리의 다른 글
🔥 리눅스 필수 명령어 정리 (초보자부터 고급 사용자까지) (0) | 2025.06.04 |
---|---|
🔥 우분투(Ubuntu) 설치 방법 – 초보자 가이드 (1) | 2025.06.02 |
🔥 리눅스(Linux)란? 개념 & 특징 정리 (1) | 2025.06.01 |
🔎 유용한 정보