본문 바로가기
[Naver Cloud Camp 7] 교육 정리

네이버 클라우드 캠프 7일차 230502

by 우기37 2023. 5. 2.

#1 교육 리뷰

오늘은 DNS server 에서의 Domain 과 Hostname 의 개념을 배웠으며,

두 번째로는 bind에 대해서 전반적으로 개념 공부 및 실습을 했습니다.

마지막으로는 tomcat 연동워드프레스를 linux를 통해 웹에 실행 하기를 했습니다.

 

bind를 하면서 apache2 가 제대로 작동되는 것이 관건이였습니다.

 

 

 

#2 DNS server

 

-domain : 네트워크의 외부 이름, 인터넷 상에서 컴퓨터나 네트워크를 식별하는 이름으로, 도메인 이름을 이용하여 IP 주소로 연결되는 구조를 가지고 있습니다.

ex) naver.co.kr

 

-hostname : 네트워크 내부의 컴퓨터를 구분하기 위한 이름, 네트워크 상에서 컴퓨터를 식별하는 이름입니다. 호스트네임은 일반적으로 도메인 이름의 일부이지만, 로컬 네트워크에서는 IP 주소를 호스트네임으로 사용하기도 합니다.

ex) www.naver.com

 

오늘 교육의 전반적인 내용을 조금 더 이해하기 쉽게 아래 그림을 참고해주세요.

 

 

- domain 필요 이유 : domain ==> ip 로 변환 해줍니다. 반대의 기능도합니다. 네트워크에 참여하는 컴퓨터가 많지 않을 때는 /etc/hosts 파일만으로 통신할 수 있었지만 네트워크에 참여하는 컴퓨터가 늘어나면서 모든 정보를 기억하는 것이 불가능해졌기 때문입니다.

 

 nslookup)

입력하는 주소에 대한 ip 정보를 가져옵니다. ip를 입력할 경우 컴퓨터의 hostname을 볼 수 있습니다.

 

nslookup

naver.com

 

google.com

 

 

 

네임서버의 구조)

네임서버의 작동은 높은 곳에서 부터 시작됩니다.

만약 naver.com 을 사용자가 입력하면 개인 네임서버 -> root 네임서버 -> com 네임서버 -> NAVER

name server의 동작 원리와 zone의 개념

 

 

 

 

bind)

먼저 bind를 설치해줍니다.

 

apt -y install bind9 bind9utils bind9-doc dnsutils

systemctl start bind9  # bind 시작

systemctl restart bind9  # bind 수정 후 적용

systemctl status bind9  # bind 상태 학인, 현재 active (running) 으로 되어 있으면 정상적으로 실행 중입니다.

ufw status  # 그리고 작업에 앞서 방화벽을 해제해줍니다.

 

cd /etc/bind/  # 경로를 /etc/bind 로 이동해줍니다.

 

ll # bind 안에 list를 확인해주면 아래와 같이 named.conf // named.conf.default-zones // named.conf.local // named.conf.options 를 확인할 수 있습니다.

 

위의 파일들을 수정을 해줄건데요, 아래 순서와 같이 수정하겠습니다.


vi named.conf.options  # 먼저, named.conf.options를 vi로 들어갑니다.
여기서 아래 내용을 수정 및 추가 해줍니다.

 

dnssec-validation no  #원래 auto로 되어 있는데 no로 수정해줍니다.

recursion yes;  # 추가
allow-query { any; };  # 추가

 

vi named.conf.default-zones  # named.conf.default-zones 를 vi로 들어가줍니다.

그리고 아래 코드를 추가로 입력해줍니다.

    zone "it.kr" {
        type master;
        file "/etc/bind/it.zone";
    };
 
    zone "20.50.100.in-addr.arpa" {
        type master;
        file "/etc/bind/it.rev";
    };

 

 

cp db.local it.zone  # db.local 을 it.zone 에 복사하기

 

vi it.zone  # it.zone 에 들어가서 아래 내용을 입력하고 저장!

 

@   IN  SOA  ns.it.kr. master.it.kr. (  # 5번라인

 

@   IN  NS  ns.it.kr.
       IN  A   100.50.20.10
 ns  IN  A   100.50.20.10
 www    IN  A   100.50.20.20
 ftp   IN  A   100.50.20.30
 mail IN  A   100.50.20.40
 sun  IN  CNAME   www

 

cp it.zone it.rev  # 이번에는 it.zone 을 it.rev에 복사해줍니다.

 

vi it.rev

 

@   IN  NS  ns.it.kr.
       IN  A   100.50.20.10
     IN  PTR it.kr.
 10  IN  PTR ns.it.kr.
 20  IN  PTR www.it.kr.
 20  IN  PTR sun.it.kr.
 30  IN  PTR ftp.it.kr.
 40  IN  PTR mail.it.kr.

 

그리고 아래와 같이 named 를 restart를 해주면 아무 에러가 안뜨면 정상입니다.

 

systemctl restart named

nslookup 

> server 127.0.0.1  # 본인 아이피로 들어가서 주소 또는 ip 를 입력해서 확인해줍니다

 

 

 

#3 tomcat 연동

apt -y install tomcat9 tomcat9-examples tomcat9-admin tomcat9-docs  # tomcat9 을설치해줍니다.

systemctl start tomcat9  # tomcat9 을 시작해줍니다.

systemctl status tomcat9  # tomcat9 이 잘 작동하고 있는지 확인해줍니다.

 

cd  /etc/apache2/mods-enabled/
ln -s ../mods-available/userdir.conf
ln -s ../mods-available/userdir.load

systemctl restart apache2

 

후에 홈페이지를 열어서 127.0.0.1:8080 으로 들어가주시면 tomcat 연동을 확인 할 수 있습니다.

 

 

 

#4 일반 사용자 홈페이지 만들기

adduser tott  # tott 이라는 user를 생성해줍니다.

passwd tott

New password: j
Retype new password: j

 

duplicate sesstion 을 열어 tott 으로 login 해줍니다.

mkdir public_html && cd public_html

vi index.html  # vi 안에 아래 명령어를 입력해줍니다.

 <meta charset='utf-8'>
 <body bgcolor=green text=white> <br><br> <h1><center>
 <hr> <br>
 안녕하세요. 톳 입니다. <br><br>
 <hr><br><br>

ls

chmod 755 ~

systemctl restart apache2

 

이렇게 되면 웹에 가서 127.0.0.1/~tott 이라고 입력하면 아래와 같이 사용자로도 홈페이지를 연동 할 수 있습니다.

 

 

 

#5 워드프레스

 

apt -y install php php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip php-mysql  # 먼저 php 관련 파일을 설치 해줍니다.

 

워드프레스 링크를 가져오기 위해 '워드프레스 다운로드' 를 검색해줍니다.

 

다운로드하고 설치 클릭!

 

 

여기서 Download.tar.gz 를 우클릭 하여 링크 복사를 해줍니다.

 

wget https://ko.wordpress.org/latest-ko_KR.tar.gz  # 리눅스에 압축파일을 불러옵니다.

 

ls  # 아래와 같이 latest-ko_KR.tar.gz 이 불러와진걸 확인합니다.

 

tar xf latest-ko_KR.tar.gz  # 압축 해제

 

ls  # 아래와 같이 wordpress 압축 파일이 해제 되었습니다.

 

mv wordpress/ wp
cd wp/
ls

 

cp  wp-config-sample.php  wp-config.php

 

vi wp-config.php  # 아래 내용으로 수정해줍니다.

# 'tottDB'

# 'mytott'

# 'j'

 

systemctl stop tomcat9  # timcat9 은 stop 해두고

systemctl restart apache2  # 변경된 내용을 실행하기 위해 restart apache2 를 해줍니다.

 

웹에서 127.0.0.1/wp 를 검색하면 아래와 같이 워드프레스와 연결 완료! 축하드립니다~^^~