CentOS Repository 서버 만들기: 단계별 가이드
- IT/리눅스(Linux)
- 2025. 4. 22.
안녕하세요! 오늘은 CentOS에서 로컬 Yum Repository 서버를 만드는 방법을 함께 알아볼게요. 인터넷 없이도 소프트웨어를 설치하거나, 네트워크 속도를 획기적으로 높이고 싶다면 이 방법이 딱이에요. 초보자도 쉽게 따라 할 수 있게끔 차근차근 설명해볼 테니, 지금 바로 시작해봅시다!
로컬 Repository 서버가 필요한 이유
일단, 왜 이런 걸 만들어야 하는지 간단히 짚고 넘어가죠.
- 인터넷 없이도 OK: 네트워크가 끊긴 환경에서도 패키지 설치가 가능해요.
- 속도 대박: LAN으로 빠르게 다운로드받으니 시간 절약!
- 돈도 절약: 인터넷 트래픽 줄여서 비용까지 줄일 수 있죠.
예를 들어, 서버 여러 대를 관리하는데 매번 외부에서 다운로드받는 건 비효율적이잖아요? 로컬에서 해결하면 훨씬 편리해요. 자, 이제 본격적으로 만들어볼까요?
준비물
뭐부터 시작해야 하냐고요? 아래를 챙기세요.
- CentOS ISO 파일: CentOS 7이나 8의 ISO 파일을 공식 사이트에서 받아놓으세요.
- 서버: CentOS가 깔린 머신 하나(최소 설치로도 충분).
- 클라이언트: 테스트용으로 Repository를 쓸 머신(없어도 OK).
저는 CentOS 7 기준으로 설명할게요. CentOS 8은 살짝 다를 수 있으니 참고하세요!
1단계: ISO 파일 마운트하기
ISO 파일을 준비했다면, 이제 서버에서 읽을 수 있게 마운트해야 해요. ISO는 패키지가 담긴 보물 상자 같은 거라고 생각하면 돼요.
# 마운트할 폴더 만들기
mkdir /mnt/iso
# ISO 파일 마운트 (경로는 본인 파일 위치로 수정)
mount -o loop /path/to/CentOS-7-x86_64-Everything.iso /mnt/iso
잘 됐는지 확인하려면 /mnt/iso
에 들어가서 ls
로 확인해보세요. Packages
폴더가 보이면 준비 끝!
2단계: 웹 서버 설치하기
이제 패키지를 클라이언트가 다운로드할 수 있게 웹 서버를 띄워야 해요. Apache로 간단하게 해볼게요.
# Apache 설치
yum install httpd -y
# Apache 실행 및 부팅 시 자동 시작
systemctl start httpd
systemctl enable httpd
브라우저에서 서버 IP(예: http://192.168.1.100
)를 쳐보면 Apache 기본 페이지가 뜨죠? 그럼 성공이에요.
3단계: 패키지 저장소 만들기
ISO의 패키지를 웹 서버로 옮겨야겠죠? 이렇게 해보세요.
# 웹 서버에 저장소 폴더 생성
mkdir -p /var/www/html/repo
# 패키지 복사
cp -r /mnt/iso/Packages/* /var/www/html/repo/
복사가 끝나면 /var/www/html/repo
에 파일이 가득 차 있을 거예요. 이제 진짜 Repository로 변신할 차례!
4단계: Repository 메타데이터 생성하기
Yum이 패키지를 인식하려면 메타데이터가 필요해요. createrepo
라는 도구로 쉽게 만들 수 있어요.
# createrepo 설치
yum install createrepo -y
# 메타데이터 생성
createrepo /var/www/html/repo
이제 /var/www/html/repo
에 repodata
폴더가 생겼다면 준비 완료예요!
5단계: 방화벽과 SELinux 설정 (선택)
로컬에서만 쓸 거면 방화벽과 SELinux를 끄는 게 편해요. 보안이 중요하다면 HTTP 포트(80번)를 열어주세요.
# 방화벽 끄기
systemctl stop firewalld
systemctl disable firewalld
# SELinux 끄기 (재부팅 필요)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
reboot
6단계: 클라이언트에서 Repository 연결하기
이제 클라이언트에서 이 Repository를 써보자고요. 설정 파일을 만들어야 해요.
# 설정 파일 생성
vi /etc/yum.repos.d/local.repo
아래 내용을 넣고, baseurl
은 서버 IP로 바꿔주세요.
[localrepo]
name=Local CentOS Repository
baseurl=http://192.168.1.100/repo
enabled=1
gpgcheck=0
저장 후 Yum 캐시를 지우고 확인해봅시다.
yum clean all
yum repolist
localrepo
가 보이면 성공! 테스트로 패키지를 설치해보세요.
yum install zip -y
인터넷 없이 설치가 된다면 짜릿한 성공이에요!
어때요, 생각보다 어렵지 않죠? 이 Repository 서버를 만들면 서버 관리 생활이 훨씬 편해질 거예요. 회사든 집이든, 여러 대의 CentOS 머신을 다룰 때 진짜 빛을 발한답니다. 궁금한 점 있으면 언제든 댓글로 물어보세요. 다음 시간에는 "Docker로 나만의 개발 환경 만들기"를 주제로 돌아올게요. 요즘 핫한 도커, 꼭 한 번 다뤄보고 싶지 않으신가요? 그럼 다음에 또 만나요!