Centos 를 사용하는데. 해당 방화벽이 막혀서.
DMZ에 mirror site를 구축한다.
기본 사용하는 내용이
- base [os]
- update
- exstra
위 3가지 이므로, 위 내용만 mirroring 한다.
모두 다혀면, 용량이 너무 커진다.
1. data 가져오기
하는 방법은 rsync 를 이용하거나, wget을 이용한 방법이 있다. ios 파일은 제외 했다.
용량 문제로.. (용량이 많다면, 그냥 다 해도 된다.)
난 그냥 rsync를 선택했다.. 그냥 쉬우니까.
mirror site는 centos.mirror site 중 한곳을 선택했다.
rsync -avSHP --delete --exclude "local*" --exclude "isos" "http://107.158.252.35/6.3/os/" /block/centos/os |
rsync -avSHP --delete --exclude "local*" --exclude "isos" "http://107.158.252.35/6.3/updates/" /block/centos/updates |
rsync -avSHP --delete --exclude "local*" --exclude "isos" "http://107.158.252.35/6.3/extras/" /block/centos/extras |
하지만... 안된다. 왜?? 방화벽 때문에..
rsync는 873 port를 사용한다.
방화벽에서 80,443막 오픈된 상황이라서. 어쩔수 없이 wget을 사용한다.
wget -m -nH -np -R "index.*,*.iso" -P "/block/centos/os" "http://107.158.252.35/6.3/os/" |
wget -m -nH -np -R "index.*,*.iso" -P "/block/centos/updates" "http://107.158.252.35/6.3/updates/" |
wget -m -nH -np -R "index.*,*.iso" -P "/block/centos/extras" "http://107.158.252.35/6.3/extras/" |
2. web service 구축하기.
# 아파치 설치
yum -y install httpd # 서버 부팅시 아파치 자동으로 올라오게 설정 chkconfig httpd on # 아파치 시작 service httpd start # CentOS Repo 디렉터리를 아파치 document root에 심볼릭 링크 ln -s /data/centos /var/www/html/centos # SELinux 및 방화벽 끄기 lokkit --disabled --selinux=disabled |
자체 apache를 구축한 경우,
centos repository와 alias를 걸어준다.
[httpd.conf]
Alias /centos /block/centos <Directory /block/centos> Require all granted </Directory>
|
참조하는 곳은 다음과 같이 설정한다.
# cd /etc/yum.repos.d/
# vi centos.repo
[CentOS_base]
name=CentOS-$releasever - Base baseurl=http://127.0.0.1/centos/os/$basearch/ gpgcheck=0 enabled=1 [CentOS_updates] name=CentOS-$releasever - Updates baseurl=http://127.0.0.1/centos/updates/$basearch/ gpgcheck=0 enabled=1 [CentOS_extras] name=CentOS-$releasever - Extras baseurl=http://127.0.0.1/centos/extras/$basearch/ gpgcheck=0 enabled=1
|
이상 끝...