* 네임기반의 virtual host
www.a.two.oracle ftp.a.two.oracle
이 두 개의 도메인의 IP는 172.30.4.43으로 동일하다.
이를 구분해 주기 위해서 가상호스트를 사용한다.
* DNS 서버에 호스트 등록
[/var/named/chroot/var/named/two.oracle] > www.a IN A 172.30.4.43
ftp.a IN A 172.30.4.43 을 추가
저장 후 , service named restart
* 웹 페이지가 저장될 기본 폴더를 생성
[/] > mkdir /home1/www
[/] > mkdir /home1/ftp
* httpd.conf 파일을 수정
[/usr/local/apache/conf/httpd.conf] > 142line #servername 172.30.4.43:80
133line ServerAdmin you@example.com <- 주석 풀기
149line DocumentRoot "/usr/local/apache/htdocs"
<Directory /home1>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all ((모든 사람들이 접근이 가능하게.
</Directory> ((추가 내용441line # Virtual hosts
442line Include conf/extra/httpd-vhosts.conf <- 주석 풀기
[/usr/local/apache/conf/extra/httpd-vhosts.conf] > 19line NameVirtualHost 172.30.4.43:80
<VirtualHost 172.30.4.43:80>
# ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/home1/www"
ServerName www.a.two.oracle
# ServerAlias www.dummy-host.example.com
# ErrorLog "logs/dummy-host.example.com-error_log"
# CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost><VirtualHost 172.30.4.43:80>
# ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/home1/ftp"
ServerName ftp.a.two.oracle
# ErrorLog "logs/dummy-host2.example.com-error_log"
# CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>
↑↑↑내용 수정
* 전 과정 후에 service network restart
service named restart
service httpd restart
* 확인
http://www.a.two.oracle ((/home1/www에 저장된 index.html 파일이 제대로 뜨는지 확인한다.
http://ftp.a.two.oracle ((/home1/ftp에 저장된 index.html 파일이 제대로 뜨는지 확인한다.
> 제로보드 설치 <
* zb4pl8.tgz 파일 받기
* 압축파일이므로 tar xvfz zb4pl8.tgz 로 풀어준다.
* 압축을 풀어주면 zb4pl8 폴더가 생긴다.
* [/down/apm/] > cp -r bbs /home1/www
* [/home1/www] > chmod 707 bbs
* 연결할 DB 생성
* [/home1/www] > mysql -u root -p , 패스워드 입력 후 프롬프트가 mysql> 로 변경된다.
* mysql> create database www;
* mysql> show databases;
* mysql> quit
* 웹 페이지를 열어서 http://www.a.two.oracle/bbs/install.php 를 연다.
* 제로보드 설치 시작페이지가 열린다.
* 제로보드 설치... 완료.
> FTP 서버 <
* proftph-1.3.1.tar.gz 파일 받기
* zip파일이므로 tar xvfz proftph-1.3.1.tar.gz 로 풀어준다.
* 압축을 풀어주면 proftph-1.3.1 폴더가 생긴다.
* ftp 서버를 사용할 환경을 설정
> [/down/apm/proftpd-1.3.1] > ./configure --prefix=/usr/local/proftpd ((설치될 경로
--enable-autoshadow ((사용자 암호를 자동으로 암호화하는 옵션
--with-modules=mod_ratio ((모듈(dafault값)
* 컴파일 작업
└> [/down/apm/proftpd-1.3.1] > make; make install
└> 바이너리파일로 └>인스톨 작업
*확인
└> [/usr/local] > ls
((proftp폴더가 생성되었는지 확인
* proftp 환경 설정하기
[/etc/proftpd.conf] > 파일 수정
> proftpd.conf <
ServerName "FTP Server"
ServerType standalone -> standalone방식으로 실행 ((xinetd방식도 있다.
DefaultServer on
Port 21
Umask 022
MaxInstances 30
User nobody ((이미 nobody 계정이 default로 생성되어 있다.
Group nobody -> nogroup을 nobody로 변경
DefaultRoot ~ ((일반유저가 접속하면 경로가 자신의 홈디렉토리가 된다.
AllowOverwrite on ((파일이 있을 때 같은 이름의 파일이 있으면 겹쳐쓸 것 인가.
AllowStoreRestart on ((이어올리기 가능
AllowRetrieveRestart on ((이어받기 가능
#Bar use of SITE CHMOD by default
<Limit SITE_CHMOD>
DenyAll
</Limit>
<Anonymous ~ftp> ((익명의 계정이 접속했을 때의 경로는 ftp 계정의 홈 폴더인 /var/ftp가 된다.
User ftp
Group ftp
<Anonymous /home1/www>
User ftp
Group ftp
UserAlias anonymous ftp
MaxClients 10 "저희 FTP 서버에 접속할 수 있는 수는 %m 개 입니다. 잠시 후 다시 접속해 주세요."
DisplayLogin welcome.msg
DisplayFirstChdir .message
<Limit WRITE>
DenyAll
</Limit>
↑↑↑↑
파일 저장.
*proftp 데몬 시작.
: [/usr/local/proftpd/sbin] > ./proftpd
: [/usr/local/proftpd/sbin] > pstree | grep proftpd 로 데몬이 활성화 중인것을 확인한다.
*proftp 데몬 중지.
: [/usr/local/proftpd/sbin] > killall proftd ((해당 데몬 뿐만 아니라 해당 데몬과 관련된 모든 프로세스를 죽인다.
[출처] [Linux] 2월 14일 강의내용|작성자 앙꼬만두
◇ 가상 호스트 설정