6. DNS 서버
6.1 리눅스에서 DNS서버(bind)
1) 설치
yum install bind
2) 설정 파일
/etc/named.conf
6.2 named.conf 파일
1) 기본 설정
options {
directory "/var/named";
};
zone "sjb.com" in {
type master;
file "sjb.com.zone";
};
2) 설정 확인
named-checkconf 출력 결과가 없으면 정상
6.3 zone 영역 파일
1) 영역 파일 설정
/var/named/sjb.com.zone
;(name) (ttl) CLASS TYPE Origin DNSMaster
;-------------------------------------------------------------------------------
@ IN SOA ns.sjb.com. root.sjb.com. (
2018100201 ;serial number
3600 ;Refresh
1800 ;Retry
36000 ;Expire
86400 );TTL
;(name) (ttl) CLASS TYPE Value
;-------------------------------------------------------------------------------
IN NS ns.sjb.com.
ns IN A [ip주소]
www IN A [ip주소]
server IN CNAME www
2) 영역 파일 설정 확인
named-checkzone [도메인] [영역파일] OK가 뜨면 문제가 없음
6.4 루트 힌트 서버 추가
1) /etc/named.conf
zone "." in {
type hint;
file "named.root";
};
2) 루트 힌트 서버 파일 다운
cd /var/named
wget https://www.internic.net/domain/named.root
3) 서비스 재시작
설정이 변경되었으니 서비스를 한 번 재시작한다.
systemctl restart named
4) 확인
nslookup
server [본인 리눅스IP]
www.naver.com 를 물어봤을 때 제대로 알려주면 성공
dig @192.168.240.100 www.naver.com A +trace
[물어 볼 DNS서버] [물어볼 도메인] [레코드 타입] [경로 추적 옵션]
6.5 보조 DNS 서버(영역 전송)
1) 보조 DNS 서버 준비
리눅스 설치
네트워크 설정
DNS 서버 설치
2) /etc/named.conf
options {
directory "/var/named";
};
zone "sjb.com" in {
type slave;
file "slaves/sjb.com.zone";
masters { 192.168.240.100; };
};
3) /var/named 디렉토리
안의 모든 파일 삭제
slaves 디렉토리 생성
slaves 디렉토리 권한 설정 권한 777
보조 DNS 서버의 로컬 방화벽 해제(SELinux 해제) setenforce 0
주 DNS 서버의 네트워크 방화벽 해제 systemctl stop firewalld
보조 DNS 서비스 재시작
4) 보안 설정
본체 PC에서 주DNS의 영역 전송 확인
CMD에서
C:\Users\user>nslookup
기본 서버: google-public-dns-a.google.com
Address: 8.8.8.8
> set type=all
>
> server 192.168.240.100
기본 서버: [192.168.240.100]
Address: 192.168.240.100
>
> ls -d sjb.com
[[192.168.240.100]]
sjb.com. SOA ns.sjb.com root.sjb.com. (2018100201 3600 1800 36000 86400)
sjb.com. NS ns.sjb.com
외부에서 내 DNS에 접속 가능하게 해주는 포트 포워딩이 필수 (포트번호 80->113번)
7. 웹 서버 & DB 서버(MySQL)
7.1 웹서버 및 DB 서버 설치
1) 웹 서버 설치(아파치 httpd)
yum install -y httpd
2) MySQL 설치
yum install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
yum install mysql-community-server
7.2 웹 서버 설정 (/etc/httpd/conf/httpd.conf 파일)
1) 기본 디렉토리 설정
DocumentRoot "/var/www/html"
2) 디렉토리 리스팅 거부 설정
기본 폴더인 /var/www/html에 board 및 member 디렉토리 생성
board 밑에는 list.html 생성 사용자들이 접속할 때는 http://192.168.240.200/board/list.html
member 밑에서는 login.html 생성 사용자들이 접속할 때는 http://192.168.240.200/member/login.html
-------------------------------
list.html
-------------------------------
리스트 페이지입니다.
-------------------------------
login.html
-------------------------------
로그인 페이지입니다.
각각 작성
서버 설정 파일에서 수정 전
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
서버 설정 파일에서 수정 후
<Directory "/var/www/html">
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
서비스 재시작 후 확인
3) 에러 페이지 지정
설정 파일 하단 남는 부분에 다음 내용 추가
ErrorDocument 403 /error.html
ErrorDocument 404 /error.html
/var/www/html 밑에 error.html 파일 생성
7.3 아파치 & 톰캣 연동
1) JDK 설치
yum install java-1.8.0-openjdk-devel.x86_64
vi /etc/profile 파일 맨 밑에 추가
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH
저장 및 종료
su - root
java -version
2) 톰캣 설치
wget http://mirror.apache-kr.org/tomcat/tomcat-9/v9.0.12/bin/apache-tomcat-9.0.12.tar.gz
아카이브 해제
해제해서 나온 디렉토리를 /usr/local/tomcat9로 이름을 바꾸면서 이동
3) 아파치와 톰캣 연동
(1) 연결 모듈 다운 및 컴파일
yum install httpd-devel
wget http://mirror.navercorp.com/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.44-src.tar.gz
tar zxvf tomcat-connectors-1.2.44-src.tar.gz
cd tomcat-connectors-1.2.44-src/native
yum install -y gcc
./configure --with-apxs=/usr/bin/apxs
make
make install
tomcat-connectors-1.2.44-src/native/apache-2.0/mod_jk.so 파일이 있으면 성공
(3) 아파치 웹서버에 모듈 적용
cp native/apache-2.0/mod_jk.so /usr/lib64/httpd/modules/mod_jk.so y로 덮어쓰기한다.
chmod 755 /usr/lib64/httpd/modules/mod_jk.so
vi /etc/httpd/conf/httpd.conf 파일에 다음 내용 추가
LoadModule jk_module /usr/lib64/httpd/modules/mod_jk.so
<IfModule jk_module>
JkWorkersFile /etc/httpd/conf/workers.properties
JkLogFile /var/log/httpd/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkMount /servlet/* worker1
JkMount /* worker1
</IfModule>
(4) 워커 파일 생성
vi /etc/httpd/conf/workers.properties
worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.socket_connect_timeout=5000
worker.worker1.socket_keepalive=true
worker.worker1.host=192.168.240.200
worker.worker1.port=8009
(5) 서비스 재시작
systemctl stop httpd
/usr/local/tomcat9/bin/shutdown.sh
/usr/local/tomcat9/bin/startup.sh
systemctl start httpd
(6) 확인
7.4 MySQL 초기 설정
1) mysql_secure_installation 명령어 실행
패스워드 설정
2) 접속
mysql -u root -p
7.5 웹 서버 프로그램 적용
1) DB 생성
create database sjb;
2) 생성한 DB에 테이블 생성
use sjb;
create table board (
bno INT NOT NULL auto_increment,
title VARCHAR(200) NOT NULL,
content text NULL,
summary text NULL,
video text NULL,
writer VARCHAR(50) NOT NULL,
regdate TIMESTAMP NOT NULL DEFAULT now(),
viewcnt INT DEFAULT 0,
replycnt INT DEFAULT 0,
type INT DEFAULT 0,
category VARCHAR(200),
primary KEY (bno));
CREATE TABLE `user` (
`uid` varchar(50) NOT NULL,
`upw` varchar(50) NOT NULL,
`uname` varchar(100) NOT NULL,
`upoint` int not NULL default 0,
`sessionKey` varchar(50) NOT NULL DEFAULT 'none',
`sessionlimit` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`confirmKey` VARCHAR(50) NOT NULL,
`confirm` INT(1) DEFAULT 0,
PRIMARY KEY (`uid`)
);
CREATE TABLE `reply` (
`rno` int NOT NULL auto_increment,
`bno` int not null default 0,
`replytext` varchar(1000) not null,
`replyer` varchar(50) not null,
`regdate` timestamp not null default now(),
`updatedate` timestamp not null default now(),
PRIMARY KEY (`rno`)
);
alter table reply add constraint fk_board foreign key (bno) references board (bno);
CREATE TABLE `attach` (
`fullName` varchar(150) NOT NULL,
`bno` int not null,
`regdate` timestamp default now(),
PRIMARY KEY (`fullName`)
);
alter table attach add constraint fk_board_attach foreign key (bno) references board (bno);
3) 웹 아카이브 파일 다운
cd /usr/local/tomcat9/webapp 여기에 다운
wget http://192.168.201.100:81/sjb.war
톰캣 재시작
/usr/local/tomcat9/bin/shutdown.sh
/usr/local/tomcat9/bin/startup.sh
4) 톰캣의 기본 디렉토리 변경
vi /usr/local/tomcat9/conf/server.xml
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"> 이 내용 다음 줄에
<Context path="" docBase="sjb" reloadable="true" /> 이 내용 추가 후 저장 및 종료
5) 서비스 재시작
6) http://리눅스IP 입력 하면 웹 페이지 나옴
공감(♥) 과 댓글은 필자에게 큰 힘이 됩니다. 잠시 1초만 내주시면 안될까요? ~~ 로그인 없이도 가능합니당 |
'클라우드 아키텍처 설계 기초지식 > 04 리눅스서버 운영 ' 카테고리의 다른 글
리눅스 서버 운영 (5) - 무인 원격 설치 서버 (0) | 2019.03.14 |
---|---|
리눅스 서버 운영 (3) - 사용자 생성 및 관리 & DNS 설정 (0) | 2019.03.14 |
리눅스 서버 운영 (2) - 권한변경,파일 관련 명령어, 쉘 명령어, 프로세스제어, 아카이브 압축, 사용자 관리 (0) | 2018.10.31 |
리눅스서버 운영 (1) - 기초,명령어 (0) | 2018.10.31 |
댓글