[34] Apache

|


- 2014.12.23


기존 사용하던 server 삭제 후 새로운 압축 해제




1. Apache


웹 서비스를 제공하는 서버

HTML, PHP 및 JSP 페이지가 실행 될 수 있는 환경을 제공하는 '웹 서버 프로그램'



1) 웹 서버의 기본적인 동작


웹 브라우저로 Client가 페이지 요청

HTTP(Hypertext Transfer Protocol)을 사용하여 웹 브라우저와 웹 서버간 의사소통 - 80번 포트




2) Apache 특징


공개형 웹서버 프로그램

다양한 플랫폼에서 동작하는 유연한 설계




[실습]


cd 안에 있는 httpd* PKG 설치

=> 최신 패키지가 있는 것은 nodeps 옵션으로 제거 후 재설치




3) Apache 설정 파일


/etc/httpd/conf/httpd.conf


[ Section1 : 전역 환경 설정 ]


ServerTokens 지시어 : 서버 HTTP 응답 헤더를 설정, 오류문 등 서버 메시지에 출력되는 서버에 대한 정보 설정


Full : 아파치 서버 버전, 운영체제, 모듈 정보 등을 모두 출력

OS : 아파치 서버 버전과 운영체제 정보만을 출력

Minor : 아파치 서버의 하위 버전까지 출력

Min : 아파치 서버의 모든 정보만을 출력

Major : 아파치 서버의 주 버전 정보만을 출력

Prod : 아파치 서버의 정보만을 보여줌


VM 내 브라우저에서 ip주소/asdfasdfasdf 치면 오류 뜨는데 너무 자세한 정보가 나옴

보안상의 이유로 OS -> Prod 로 변경


# vi /etc/httpd/conf/httpd.conf

     44 ServerTokens OS

# /etc/rc.d/init.d/httpd restart

=> VM 내 브라우저에서 이상한 주소 입력해도 최소의 정보만 출력됨


Apache 서버가 설치된 곳 & 사용하는 pid 정보 저장 위치

# vi /etc/httpd/conf/httpd.conf

     57 ServerRoot "/etc/httpd"

     65 PidFile run/httpd.pid

        => /etc/httpd/run/httpd.pid


사용자의 움직임 없을 시 접속 끊을 시간

     70 Timeout 60


페이지를 띄울 때마다 새로운 process 받을 것인지에 대한 여부

     76 KeepAlive Off


76번줄 on 으로 설정했을 시 먹힘. 최대 요청 개수 및 지속시간.

76번 on으로 하면 89번은 짧게 주는 것이 좋음(2~3초)yy

     83 MaxKeepAliveRequests 100

     89 KeepAliveTimeout 15


Apache 접근 포트 변경, 변경하는 경우 방화벽에 등록해야 함

    136 Listen 80


# /etc/rc.d/init.d/httpd restart




[ Section2 ]


문제 생겼을 시 받을 관리자 이메일

    262 ServerAdmin root@localhost


# /etc/rc.d/init.d/httpd restart

httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

해당 오류 해결 위해 276번 복사, 주석 삭제 후 원하는 도메인 입력

    277 ServerName www.samadal.com:80


웹페이지 기본 경로

    293 DocumentRoot "/var/www/html"


기본이 안될때 보여줄 곳

    318 <Directory "/var/www/html">


293의 디렉터리 안에 어떤 파일을 올릴 것인지

    403 DirectoryIndex index.html index.php index.html.var




[문제]


host : ns, www

domain : samadal.com

Firefox에서 www.samadal.com 을 입력하면 아파치 화면이 아닌 글이나 그림 둘 중 한개가 뜨도록 설정



# vi /etc/resolv.conf

      4 nameserver 192.168.1.145

      5 nameserver 192.168.1.2

      6 nameserver 168.128.63.1


DNS 설정은 이전 실습 파일 참조


# vi /etc/named.conf

# vi /etc/named.rfc1912.zones

# /etc/rc.d/init.d/named restart


# vi /etc/httpd/conf/httpd.conf

    136 Listen 80

    277 ServerName www.samadal.com:80


# /etc/rc.d/init.d/httpd restart




[실습]


samadal 계정 경로 : /home/samadal => /export/home/samadal

웹 기본경로 : /var/www/html => /export/home/samadal

index.html -> sama.html 로 변경 후 내용이 뜨도록 설정


# mkdir -p /export/home/

# mv /home/samadal/ /export/home/

# usermod -d /export/home/samadal samadal


# mv /var/www/html/* /export/home/samadal/sama.html


# vi /etc/httpd/conf/httpd.conf

    293 DocumentRoot "/export/home/samadal"

    403 DirectoryIndex index.html index.php index.html.var sama.html


# chmod 711 /export/home/samadal


# /etc/rc.d/init.d/httpd restart




And


서버 시간 동기화(ntpd)

|


출처 : http://www.server-world.info/en/note?os=CentOS_6&p=ntp&f=1

         http://webdir.tistory.com/120




1. 시간 동기화 패키지(ntp) 설치


# yum install ntp





2. 패지키 실행 및 자동실행 설정


실행

# service ntpd start


부팅 시 자동 실행되도록 설정

# chkconfig ntpd on


설정값 확인 - 동기화까지 수분의 시간이 걸린다.

# ntpq -p

     remote           refid      st t when poll reach   delay   offset  jitter

==============================================================================

+send.mx.cdnetwo 204.123.2.5      2 u    7   64    1   12.894   11.159   2.440

-211.39.136.4       204.123.2.5      2 u    7   64    1   13.739  -16.242   1.642

*211.233.84.186    204.123.2.5      2 u    7   64    1   11.972    0.499   1.980

+mail.funix.net      211.233.40.78    3 u    7   64    1   13.691    4.842   1.984


맨 앞에 * 이 붙어있으면 동기화 중인 것.





3. (Advanced) ntp 서버 설정


# vi /etc/ntp.conf

     22 server 0.centos.pool.ntp.org iburst

     23 server 1.centos.pool.ntp.org iburst

     24 server 2.centos.pool.ntp.org iburst

     25 server 3.centos.pool.ntp.org iburst


server 로 시작하는 위의 줄을 삭제하거나 맨 앞에 #으로 주석처리 한 뒤 26번줄 부터 원하는 ntp 서버를 입력하면 원하는 서버를 통해 직접 서버 시간을 설정할 수 있다.


ex)

server kr.pool.ntp.org

server time.bora.net

server time.kornet.net




And


[33] DNS 실습, static ip 설정, interface 이름 변경

|


- 2014.12.22



[DNS 실습]


/etc/resolv.conf 파일 초기화 되어있다.

지난 실습처럼 만들어놓자.


# vi /etc/resolv.conf

      1 # Generated by NetworkManager

      2 domain silti.kr

      3 search silti.kr

      4 nameserver 192.168.1.141

      5 nameserver 192.168.1.2

      6 nameserver 168.126.63.1




[문제]


host : ns, www

domain : silti.kr



나는 지난 실습에서 이렇게 되도록 이미 실습해보았다.

오늘 수업시간을 통해 지난 시간 혼자 했던 설정이 맞는지 확인 가능할듯.


# vi /var/named/sil.z

     10 ns      IN      A       192.168.1.141

     11 www     IN      A       192.168.1.141

# vi /var/named/sil.r

     11 141     IN      PTR     www.silti.kr.

     12 141     IN      PTR     ns.siilti.kr.


확인 완료





1. 고정ip 설정


/etc/sysconfig/network-scripts/ifcfg-* 파일에서 설정 가능.

/etc/sysconfig/network-scripts/ifcfg-eth0 파일로 진행해보자.


# vi /etc/sysconfig/network-scripts/ifcfg-eth0

      1 DEVICE=eth0

      2 TYPE=Ethernet

      3 UUID=b05a4530-2bf0-4eef-b1ef-1675803276d9

      4 ONBOOT=no

      5 NM_CONTROLLED=yes

      6 BOOTPROTO=dhcp

      7 DEFROUTE=yes

      8 IPV4_FAILURE_FATAL=yes

      9 IPV6INIT=no

     10 NAME="System eth0"

     11 HWADDR=00:0C:29:CE:BA:EE

     12 PEERDNS=yes

     13 PEERROUTES=yes

     14 LAST_CONNECT=1414576968


위 내용을 하나씩 수정해 나갈 예정 예정

현재 사용중인 장치명 확인


# ip link

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000

    link/ether 00:0c:29:3b:00:4b brd ff:ff:ff:ff:ff:ff


현재 사용중인 장치가 eth2 이므로 eth2에 대한 설정을 할 것이라는걸 명시한다.

그 뒤 필수 부분에 대하여 적는다.


# vi /etc/sysconfig/network-scripts/ifcfg-eth0

      1 DEVICE=eth2

      2 TYPE=Ethernet

      3 ONBOOT=yes

      4 BOOTPROTO=none

      5 IPADDR=192.168.1.77

      6 NETMASK=255.255.255.0 // = PRIFIX=24

      7 GATEWAY=192.168.1.2


# /etc/rc.d/init.d/network restart


바뀐 ip로 putty 재 접속하여 resolv conf 파일을 보았다.

# vi /etc/reslov.conf

      1 # Generated by NetworkManager

      2 search madalgyo

      3

      4

      5 # No nameservers found; try putting DNS servers into your

      6 # ifcfg files in /etc/sysconfig/network-scripts like so:

      7 #

      8 # DNS1=xxx.xxx.xxx.xxx

      9 # DNS2=xxx.xxx.xxx.xxx

     10 # DOMAIN=lab.foo.com bar.foo.com


파일을 확인 해보니 완벽한 설정은 아닌 듯 싶다.

NIC 설정 파일을 수정

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

      8 DNS1=192.168.1.77

      9 DNS2=192.168.1.2

     10 DNS3=168.126.63.1

(=> DNS는 최대 3개까지 기재 가능하다고는 하나 DNS4를 적은 후 network restart 했을 때 오류는 없다.)


네트워크 재시작 후 resolv.conf 확인 해보니 정상적이다.

# vi /etc/resolv.conf

      1 # Generated by NetworkManager

      2 search madalgyo

      3 nameserver 192.168.1.77

      4 nameserver 192.168.1.2

      5 nameserver 168.126.63.1




[문제]


기존에 설정했던 DNS 관련 PKG 및 정보 삭제 후 아래와 같이 설정하세요

host : ns,www

domain : delete.com

ip : 192.168.1.44



ip, dns, domain 설정


# vi /etc/sysconfig/network-scripts/ifcfg-eth0

      5 IPADDR=192.168.1.44

      8 DNS1=192.168.1.44


# /etc/rc.d/init.d/network restart


설치 된 패키지 삭제 후 재설치


# rpm -qa | grep bind

# rpm -e bind-utils

# rpm -e bind-chroot

# rpm -e bind-dyndb-ldap

# rpm -e bind

경고: /etc/named.rfc1912.zones(이)가 /etc/named.rfc1912.zones.rpmsave(으)로 저장되었습니다

경고: /etc/named.conf(이)가 /etc/named.conf.rpmsave(으)로 저장되었습니다

# rpm -e bind-libs

# rm /etc/named.rfc1912.zones.rpmsave /etc/named.conf.rpmsave


# mount /dev/cdrom /cd

# cd /cd/Packages/

# ls bind*

# rpm -ivh bind-libs

# rpm -ivh bind-9.8.2-0.30.rc1.el6.i686.rpm

# rpm -ivh bind-chroot-9.8.2-0.30.rc1.el6.i686.rpm

# rpm -ivh bind-dyndb-ldap-2.3-5.el6.i686.rpm

# rpm -ivh bind-utils-9.8.2-0.30.rc1.el6.i686.rpm

/etc/resolv.conf 는 우리가 고정값을 쓰기 때문에 구지 쓸 필요 없다.


named 관련 파일 설정

# vi /etc/named.conf

     11         listen-on port 53 { any; };

     12         listen-on-v6 port 53 { any; };

     17         allow-query     { any; };

     18         recursion no;


# vi /etc/named.rfc1912.zones

     44 zone "delete.com" IN {

     45         type master;

     46         file "del.z";

     47         allow-update { none; };

     48 };

     49

     50 zone "1.168.192.in-addr.arpa" IN {

     51         type master;

     52         file "del.r";

     53         allow-update { none; };

     54 };


# vi /var/named/del.z

      1 $TTL 1D

      2 @       IN      SOA     ns.delete.com. root.delete.com. (

      3                         20141222

      4                         3H

      5                         15M

      6                         1W

      7                         1D

      8                         )

      9         IN      NS      ns.delete.com.

     10         IN      A       192.168.1.44

     11 ns      IN      A       192.168.1.44

     12 www     IN      A       192.168.1.44


# cp /var/named/del.z /var/named/del.r

# vi /var/named/del.r

      1 $TTL 1D

      2 @       IN      SOA     ns.delete.com. root.delete.com. (

      3                         20141222

      4                         3H

      5                         15M

      6                         1W

      7                         1D

      8                         )

      9         IN      NS      ns.delete.com.

     10         IN      A       192.168.1.44

     11 44      IN      PTR     ns.delete.com.

     12 44      IN      PTR     www.delete.com.


# chmod 660 /var/named/de*

# chown .named /var/named/de*

# /etc/rc.d/init.d/named restart


확인

# nslookup

> www.delete.com

Server:         192.168.1.44

Address:        192.168.1.44#53

Name:   www.delete.com

Address: 192.168.1.44

> 192.168.1.44

Server:         192.168.1.44

Address:        192.168.1.44#53

44.1.168.192.in-addr.arpa       name = www.delete.com.

44.1.168.192.in-addr.arpa       name = ns.delete.com.





2. interface 장치명 바꾸기


# ifconfig eth2 down

# ip link set eth2 name eth0

# ifconfig eth0 up


하지만 실패. 아래 파일에서 MAC주소에 맞게 주소 변경해주기.

# vi /etc/udev/rules.d/70-persistent-net.rules


# vi /etc/sysconfig/network-scripts/ifcfg-eth0

      1 DEVICE=eth0

# reboot




[정리]


1) ifconfig [i/f name] down

2) ip link set [old i/f name] name [new i/f name]

3) vi /etc/udev/rules.d/70-persistent-net.rules 에서

   장치 이름과 mac 주소를 일치시킨다.

4) 시스템 재부팅

만약 고정값을 쓴다면 /etc/sysconfig/network-scripts/ifcfg-* 에서 DEVICE도 변경해준다.

인터페이스 환경 초기화는

# rm /etc/udev/rules.d/70-persistent-net.rules

# reboot




'Study > CentOS' 카테고리의 다른 글

[35] 종합 중간점검, Apache_Alias  (0) 2015.04.06
[34] Apache  (0) 2015.04.06
[32] DNS 실습 with VNC  (0) 2015.04.06
[31] bind, DNS실습  (0) 2015.04.06
[30] nfs_autofs 실습, dns  (0) 2015.04.06
And