서버 2대를 Yum을 통해 구성하는 방법입니다.
1. 개요
Yum Server에 Yum Master 계정을 생성 후 Home Directory에 Rpm File을 옮겨둡니다.
Server는 Local로 Yum Repository를 구성합니다.
Client는 Server에 Anonymous FTP를 통해 해당 RPM 파일을 가져오는 구조입니다.
[그림 1] Yum Server 구성
2. 상세구조
(1) group, user 생성
groupadd -g 501 yumFile
useradd -g 501 -u 501 -d /home/yumFile yumFile
chwon root:root /home/yumFile
chmod 755 /home/yumFile
useradd -g 501 -u 501 -d /home/yumFile yumFile
chwon root:root /home/yumFile
chmod 755 /home/yumFile
user의 Home Directory의 소유자와 그룹을 바꿔줘야합니다.
(user의 Default 소유자와 그룹으로 두면 아래와 같은 오류가 뜨므로 root/root로 변경합니다.
500 OOPS: vsftpd: refusing to run with writable anonymous root)
(user의 Default 소유자와 그룹으로 두면 아래와 같은 오류가 뜨므로 root/root로 변경합니다.
500 OOPS: vsftpd: refusing to run with writable anonymous root)
(2) rpm File Copy
cd /media/RHEL_5.6 x86_64 DVD/Server
cp -r * /home/yumFile
cp -r * /home/yumFile
yum에서 사용할 rpm 파일을 yumrepository에서 사용할 yumFile User의 Home Directory로 Copy 합니다.
(3) 로컬 Yum Repository 구성
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
rhel-debuginfo.repo rhel-source.repo
[root@localhost yum.repos.d]# cp rhel-debuginfo.repo local.repo
[root@localhost yum.repos.d]# ls
local.repo rhel-debuginfo.repo rhel-source.repo
[root@localhost yum.repos.d]# ls
rhel-debuginfo.repo rhel-source.repo
[root@localhost yum.repos.d]# cp rhel-debuginfo.repo local.repo
[root@localhost yum.repos.d]# ls
local.repo rhel-debuginfo.repo rhel-source.repo
local.repo 내용
[local]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=file:///home/yumFile
enabled=1
gpgcheck=0
[local]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=file:///home/yumFile
enabled=1
gpgcheck=0
/home/yumFile 폴더를 기본 폴더로 설정하며 사용할 수 있도록 설정해 줍니다.
yum 초기화
[root@localhost yum.repos.d]# yum clean all
Loaded plugins: rhnplugin, security
Cleaning up Everything
[root@localhost yum.repos.d]# yum list
yum list의 내용은 아래와 같이 보여집니다.
zsh.x86_64 4.2.6-5.el5 installed
Deployment_Guide-as-IN.noarch 5.2-11 local
위와 같이 2가지 종류가 검색되어집니다.
installed - 설치된 rpm
local - 위에 설정한 loca.repo의 name
yum list 결과가 local 부분이 나오면 정상적으로 설정되어진 것으로 봐도 됩니다.
Loaded plugins: rhnplugin, security
Cleaning up Everything
[root@localhost yum.repos.d]# yum list
yum list의 내용은 아래와 같이 보여집니다.
zsh.x86_64 4.2.6-5.el5 installed
Deployment_Guide-as-IN.noarch 5.2-11 local
위와 같이 2가지 종류가 검색되어집니다.
installed - 설치된 rpm
local - 위에 설정한 loca.repo의 name
yum list 결과가 local 부분이 나오면 정상적으로 설정되어진 것으로 봐도 됩니다.
(4) FTP 설정
1) vsftp 설치
yum -y install vsftpd
2) chkconfig 수정
리부팅 시 기동 가능하도록 chkconfig를 수정해줍니다.
[root@localhost yum.repos.d]# chkconfig --list vsftpd
vsftpd 0:해제 1:해제 2:해제 3:해제 4:해제 5:해제 6:해제
[root@localhost yum.repos.d]# chkconfig vsftpd on
[root@localhost yum.repos.d]# chkconfig --list vsftpd
vsftpd 0:해제 1:해제 2:활성 3:활성 4:활성 5:활성 6:해제
3) vsftp configuration 수정
anonymous Ftp가 가능하도록 홈디렉토리를 수정해줍니다.
anonymous_enable=YES
ftp_username=yumFile
anonymous_enable : anonymous FTP가 가능 유무 설정
ftp_username : ftp가 사용할 default user를 설정합니다.
(Anonymous로 붙을때 Default로 사양하는 유저를 의미합니다.)
vsftpd 서비스를 기동합니다.
[root@localhost yum.repos.d]# service vsftpd start
vsftpd에 대한 vsftpd을 시작 중: [ OK ]
4) 방화벽 open
/etc/sysconfig/iptables에 20번과 21번의 tcp port를 열어줍니다.
(아래 내용 추가)
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
방화벽 내용 저장
[root@Linux2 yum.repos.d]# service iptables save
방화벽 규칙을 /etc/sysconfig/iptables에 저장 중: [ OK ]
방화벽 서비스를 재기동 합니다.
service iptables restart
5) Anonymous FTP 연결 테스트
[root@Linux2 var]# ftp 192.168.2.130
Connected to 192.168.2.130.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.2.130:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
yum -y install vsftpd
2) chkconfig 수정
리부팅 시 기동 가능하도록 chkconfig를 수정해줍니다.
[root@localhost yum.repos.d]# chkconfig --list vsftpd
vsftpd 0:해제 1:해제 2:해제 3:해제 4:해제 5:해제 6:해제
[root@localhost yum.repos.d]# chkconfig vsftpd on
[root@localhost yum.repos.d]# chkconfig --list vsftpd
vsftpd 0:해제 1:해제 2:활성 3:활성 4:활성 5:활성 6:해제
3) vsftp configuration 수정
anonymous Ftp가 가능하도록 홈디렉토리를 수정해줍니다.
anonymous_enable=YES
ftp_username=yumFile
anonymous_enable : anonymous FTP가 가능 유무 설정
ftp_username : ftp가 사용할 default user를 설정합니다.
(Anonymous로 붙을때 Default로 사양하는 유저를 의미합니다.)
vsftpd 서비스를 기동합니다.
[root@localhost yum.repos.d]# service vsftpd start
vsftpd에 대한 vsftpd을 시작 중: [ OK ]
4) 방화벽 open
/etc/sysconfig/iptables에 20번과 21번의 tcp port를 열어줍니다.
(아래 내용 추가)
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
방화벽 내용 저장
[root@Linux2 yum.repos.d]# service iptables save
방화벽 규칙을 /etc/sysconfig/iptables에 저장 중: [ OK ]
방화벽 서비스를 재기동 합니다.
service iptables restart
5) Anonymous FTP 연결 테스트
[root@Linux2 var]# ftp 192.168.2.130
Connected to 192.168.2.130.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.2.130:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
5) Client의 Yum Repository 구성
[ftp]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=ftp://192.168.2.130
enabled=1
gpgcheck=0
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=ftp://192.168.2.130
enabled=1
gpgcheck=0