잠시만 기다려 주세요

     '인사 대참사 이재명을 규탄한다.'
전체검색 :  
이번주 로또 및 연금번호 발생!!   |  HOME   |  여기는?   |  바다물때표   |  알림 (24)  |  여러가지 팁 (1108)  |  추천 및 재미 (165)  |  자료실 (25)  |  
시사, 이슈, 칼럼, 평론, 비평 (923)  |  끄적거림 (143)  |  문예 창작 (719)  |  바람 따라 (75)  |  시나리오 (760)  |  드라마 대본 (248)  |  
살인!


    리눅스 서버

리눅스 서버 - 아파치 서버에서 Virtual Hosting 설정
이 름 : 바다아이   |   조회수 : 14445         짧은 주소 : https://www.bada-ie.com/su/?211591796022
이 글을 읽고 각자에게 생기는 일에 대해서 뒷 일은 전혀 책임 안 집니다. 글 내용 중 틀렸거나 고칠 부분이 있으면 연락주세요... ^^)
ppp 접속만 된다면 누구나 해 볼 수 있는 가상 호스팅 실습
한 컴퓨터 안에 각기 다른 도메인 네임을 가진 웹 사이트를 운영하는
가상 호스팅의 설정에 관한 작업을 정리한 것.
가상 호스팅 실습은 비싼(?) 사용료를 내야하는 고정 ip를 가진 전용선과 어딘가의 네임서버에 등록된(공인된) 도메인 네임이 있어야 된다고 생각하겠지만, 실제 마음만 먹으면 그런 것 없어도 해 볼 수 있습니다.

 

 

준비물
필요한 것 실제 내가 준비한 것 설명
리눅스 박스 우리집 리눅스 박스
아파치 1.3.x
아파치 서버가 제대로 설치된 것
위의 리눅스 박스의 도메인 네임 hamyd.homeip.net 외부에서 들어올 수 있는 실제 도메인 네임
ppp접속하는 사람도 dyndns.org에 가면 만들 수 있음
위의 도메인 네임에 할당된 ip address 211.38.173.35 
(2000년 4월 20일 현재)
영구적 고정 아니더라도 상관없음 
(테스트 해보는 동안에라도 일정하기만 하면 됨)
가상 호스팅해 볼 도메인 네임들 drpeds.homeip.net
drham.homeip.net 등등
물론 이들 도메인에도 ip 주소가 부여될 수 있어야 함
역시 dyndns.org에 가면 만들 수 있음

 

알고 있어야 할 것

  1. 아파치 서버 운영 방법 : 좀더 구체적으로 말하면 start, stop, restart 시키는 법 ^^)
  2. 아파치 설정 파일 httpd.conf 에 대한 이해 : 아파치 설정에 대해 많이 알고 있으면 곤란함 ^^)
  3. vi 에디터 쓰는 법 : 실제로는 리눅스용 아래아 한글 써도 됨
실습해 봅시다.

 

  1. 도메인과 ip주소 확인

    메인이 될 도메인 네임(default server)의 ip 주소를 확인
    버추얼 호스팅할 도메인 네임들과 각각의 ip를 메인 도메인 네임의 ip와 일치시킴
    (네임서버에서 버추얼 호스팅할 도메인들을 정해주어야 하겠지만, 
    자기 컴퓨터에서 네임서버를 돌리지 않는다면, 그렇다고 매번 바뀌는 ppp의 ip를 외부의 네임서버에
    갱신 시켜주는 것은 무리이므로, 다이나믹 도메인 서비스를 이용해서 바꿔주었음)

     

  2. 아파치 설정 파일 httpd.conf 수정 ( Name Virtual Hosting 방법 )

    : httpd.conf 의 맨 뒷 부분에 보면 Virtual host 설정 부분이 있는데 여기를 고치면 됨

     

    참고로 여기에 나온 httpd.conf 의 UserDir 설정은 디폴트 값인 UserDir public_html 이 아니라 
    UserDir html 로 설정되어있고(즉 사용자 홈 디렉토리의 html 디렉토리안에 각자의 홈페이지 내용이 놓임
    전체 DocumentRoot 는 /home/html 로 설정되어 있는 상태입니다.

     

    [ httpd.conf ]

     

    ### Section 3: Virtual Hosts
    #
    # VirtualHost: If you want to maintain multiple domains/hostnames on your
    # machine you can setup VirtualHost containers for them.
    # Please see the documentation at <URL:http://www.apache.org/docs/vhosts/>
    # for further details before you try to setup virtual hosts.
    # You may use the command line option '-S' to verify your virtual host
    # configuration.
    
    #
    # If you want to use name-based virtual hosts you need to define at
    # least one IP address (and port number) for them.
    #
    #NameVirtualHost 12.34.56.78:80
    #NameVirtualHost 12.34.56.78
    
    NameVirtualHost 211.38.173.35   이 부분에 호스트의 ip 주소를 넣는다.
    
    #
    # VirtualHost example:
    # Almost any Apache directive may go into a VirtualHost container.
    #
    #<VirtualHost ip.address.of.host.some_domain.com>
    #    ServerAdmin webmaster@host.some_domain.com
    #    DocumentRoot /www/docs/host.some_domain.com
    #    ServerName host.some_domain.com
    #    ErrorLog logs/host.some_domain.com-error_log
    #   CustomLog logs/host.some_domain.com-access_log common
    #</VirtualHost>
    #<VirtualHost _default_:*>   이건 뭔가 하면
    #</VirtualHost>
    
    <VirtualHost hamyd.homeip.net>   hamyd.homeip.net 이란 도메인을 
        ServerAdmin hamyd@bigfoot.com   아파치의 DocumentRoot 디렉토리인 /home/html로 지정
        DocumentRoot /home/html
        ServerName hamyd.homeip.net
        ServerAlias www.hamyd.homeip.net
    #    ErrorLog logs/drham-error_log
    #    CustomLog logs/drham-access_log common
    </VirtualHost>
    
    <VirtualHost drham.homeip.net>   drham.homeip.net 이란 도메인을 
        ServerAdmin hamyd@bigfoot.com   drham 이란 사용자의 홈 계정 html로 지정
        DocumentRoot /home/drham/html   PHP 프로그래밍 시 drham.homeip.net의
        ServerName drham.homeip.net   환경 변수 $DOCUMENT_ROOT 값은 "/home/drham/html" 이 됨
        ServerAlias www.drham.homeip.net
        ErrorLog logs/drham-error_log
        CustomLog logs/drham-access_log common
    </VirtualHost>
    
    <VirtualHost drpeds.homeip.net>   drpeds.homeip.net 이란 도메인을 
        ServerAdmin hamyd@bigfoot.com   drpeds 란 사용자의 홈 계정 html로 지정
        DocumentRoot /home/drpeds/html   PHP 프로그래밍 시 drpeds.homeip.net의
        ServerName drpeds.homeip.net   환경 변수 $DOCUMENT_ROOT 값은 "/home/drpeds/html" 이 됨
        ServerAlias www.drpeds.homeip.net
        ErrorLog logs/drham-error_log
        CustomLog logs/drham-access_log common
    </VirtualHost>
    

    * 참고

     

    맨 앞에 나오는 <Virtual Host> ... </Virtual Host> 가
    디폴트 서버가 되는 데 뒤에 나오는 걸 지정하는 방법은 없는 걸로 알고 있음
    그리고 <VirtualHost _default_:*> 라는 것은 가상 호스트 설정에서 맨 마지막에 써 주는 것으로, 
    가상 호스트 설정에 맞는 게 하나도 없을 때 디폴트가 설정되는 가상호스트입니다.
    http://www.apache.org/docs/vhosts/examples.html에 보시면 자세한 예제를 볼 수 있습니다.
  3. 아파치 버추얼 호스팅 설정 확인

    httpd -S 옵션을 사용하시면 됩니다.
    다음은 위의 설정으로 테스트해 본 것입니다.

      [root@mrham /usr/local/apache/conf]# /usr/local/apache/bin/httpd -S
    
      VirtualHost configuration:
      211.38.173.35:80    is a NameVirtualHost
                          default server hamyd.homeip.net (/usr/local/apache/conf/httpd.conf:876)
                          port 80 namevhost hamyd.homeip.net (/usr/local/apache/conf/httpd.conf:876)
                          port 80 namevhost drham.homeip.net (/usr/local/apache/conf/httpd.conf:885)
                          port 80 namevhost drpeds.homeip.net (/usr/local/apache/conf/httpd.conf:894)
    
     

     

  4. 아파치 재 실행

    이제 모든 설정이 제대로 되었으면 아파치를 재 실행 하시면 됩니다.
    저같이 아파치를 컴파일해서 쓰는 경우는
    /usr/local/apache/bin/apachectl restart<ENTER>   하시면 되겠죠.
    그리고 나서 위에서 설정한 여러 도메인으로 웹브라우저를 통해 들어가 보세요.

     

  5. 잘 되었나 확인

    한번 볼까요 ?


출처 : http://www.hamslab.com/lab/linux/apache/vrhosting.html
 
| |





      5 page / 6 page
번 호 카테고리 제 목 이름 조회수
38 리눅스 서버 PHP 7.0 on CentOS/RHEL 6.7 and 7.1 via Yum 바다아이 19320
37 리눅스 서버 CentOS 7 firewalld iptables 바다아이 11808
36 리눅스 서버 , webalizer , 바다아이 11404
35 리눅스 서버 iptables ssh , ssh 바다아이 11180
34 리눅스 서버 ssh - fail2ban, SSH Brute-force attack 바다아이 14705
33 리눅스 서버 NGINX php ... 바다아이 60443
32 리눅스 서버 CentOS 7 | firewall-cmd 바다아이 11705
31 리눅스 서버 SSH (Secure Shell) 바다아이 14776
30 리눅스 서버 proftp , , proftpd.conf 바다아이 14409
29 리눅스 서버 centos 7 iptables firewall-cmd 바다아이 12671
28 리눅스 서버 바다아이 11703
27 리눅스 서버 netstat, nmap 바다아이 12107
26 리눅스 서버 Apache IP , 바다아이 11059
25 리눅스 서버 , 바다아이 11921
24 리눅스 서버 php php.ini , 바다아이 14517
23 리눅스 서버 mysql, mariadb (UTF8) .. ??? 바다아이 13449
22 리눅스 서버 , , , 바다아이 11997
21 리눅스 서버 top 바다아이 14671
20 리눅스 서버 [subversion] ubuntu subversion 바다아이 14325
19 리눅스 서버 2 mod_cband , 바다아이 15711
18 리눅스 서버 바다아이 11978
17 리눅스 서버 Apache event MPM, Prefork MPM, Worker MPM 바다아이 14936
현재글 리눅스 서버 Virtual Hosting 바다아이 14446
15 리눅스 서버 fedora selinux , ... , , ftp, mysql ... 바다아이 12569
14 리눅스 서버 ssh rsync 바다아이 11696
13 리눅스 서버 502 bad gateway using Nginx 바다아이 12132
12 리눅스 서버 nginx post .... 바다아이 10023
11 리눅스 서버 centos nginx php-fprm rpm 바다아이 11308
10 리눅스 서버 ssh ip or 바다아이 11420
9 리눅스 서버 nginx 405 바다아이 12289
| |









Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb + PgBouncer + ProxySQL]
서버위치 : 오라클 클라우드 춘천  실행시간 : 0.03909
to webmaster... gogo sea. gogo sea.