설치 환경

Docker Install

# 기존 docker 관련 삭제
$ yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker logrotate docker-engine
# 설치 과정 및 실행 시 필요 유틸 설치
$ yum install -y yum-utils device-mapper-persistent-data lvm2
# yum 레파지토리 추가
$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# docker-ce 및 관련 유틸 설정
$ yum install -y docker-ce docker-ce-cli containerd.io
# 서비스 시작 등록
$ systemctl enabled docker

Docker 허브 이미지 다운로드

# 원하는 패키지는 docker Hub에 존재.
$ docker pull centos:7

Docker 실행 및 옵션

# bash 명령어를 실행 할 수 있게 변경.
$ docker run -it centos:7 bash  
# 컨테이너의 포트와 외부 포트 연결
$ docker run -it -d --name devGuide -p 10088:80 -p 18080:8080 -p 19090:9090 -p 10080:11080 -p 6100:6100 centos:7 
# 컨테이너 디렉토리와 로컬 디렉토리 연결.
$ docker run -it -v /srv/apm:/app centos:7 

Docker 컨테이너&이미지 관리

# 이미지 목록 출력
$ docker images 
# 이미지 삭제
$ docker rmi [이미지ID] 
# 현재 실행 중인 컨테이너 목록 출력
$ docker ps 
# 모든 컨테이너 목록 출력
$ docker ps -a 
# 컨테이너 삭제
$ docker rm [컨테이너ID] 
# 컨테이너 이름 변경
$ docker rename devGuide dev
# 이미지 태그명(복제) 변경
$ docker tag centos:7.1 centos:7 
# 이미지 삭제
$ docker rmi centos:7
# 로컬 이미지 저장소에 현재 컨테이너 상태를 이미지로 등록.
$ docker commit [CONTAINER ID] [Repository]:[TAG]

참고 사항

1. docker run -t -i
- [Ctrl + P] + [Ctrl + Q]로 컨테이너에서 빠져나오게 되면 컨테이너를 현재 상태 그대로 두고 외부로 빠져나올 수 있다.
2. docker run -i
- [Ctrl + P] + [Ctrl + Q]로 컨테이너에서 빠져나올 수 없다. 이 것은 stdin을 붕괴시킬 것이다.
3. docker run
- [Ctrl + P] + [Ctrl + Q]로 컨테이너에서 빠져나올 수 없다.
- SIGKILL 시그널로 도커 컨테이너를 죽일 수 있다.

* 참고 블로그 : http://egloos.zum.com/sstories/v/9731853

 

사전 Apache + Tomcat 설치

Apache 설치

https://dollvin.tistory.com/56

 

Apache 소스 설치 - centOS 7

사용자 변경 및 아파치 소스 다운로드 $ cd /usr/local/src/ $ wget https://archive.apache.org/dist/httpd/httpd-2.4.33.tar.gz $ wget https://archive.apache.org/dist/apr/apr-1.6.3.tar.bz2 $ wget https://..

dollvin.tistory.com

Tomcat 설치

https://dollvin.tistory.com/57

 

Tomcat 설치 - centOS 7

1. 자바(openJDK 1.8) 설치 $ su - root $ yum list | grep java # 설치(1.8) 버전 있는지 확인. $ yum install -y java-1.8.0-openjdk-devel.x86_64 2. Java 설치 확인 및 위치 확인 # 설치 체크 $ java -version..

dollvin.tistory.com

1. tomcat connector 소스 다운로드 및 압축 해제

$ su - root 
$ cd /usr/local/src 
$ wget http://apache.tt.co.kr/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.46-src.tar.gz 
$ tar xvf ./tomcat-connectors-1.2.46-src.tar.gz 


2. 소스 파일 컴파일

$ cd ./tomcat-connectors-1.2.46-src/native 
$ ./configure --with-apxs=/home/testUser/apache_2.4.33/bin/apxs 
$ make && make install 


3. 아파치(apache) 설정 변경 - httpd.conf

# httpd.conf 
.... 
LoadModule jk_module modules/mod_jk.so 
.... 
Include conf/mod_jk.conf 


4. mod_jk 설정 파일 

JkWorkersFile "/home/testUser/apache_2.4.33/conf/workers.properties" 
JkLogFile "/home/testUser/apache_2.4.33/logs/mod_jk.log" 
JkLogLevel info 
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" 
JkOptions +ForwardkeySize +ForwardURICompat -ForwardDirectories 
JkRequestLogFormat "%w %V %T" 
jkMount /* worker_tomcat 

     
5. [workers.properties] 프로퍼티 파일 

workers.tomcat_home=/home/testUser/tomcat85/ 
workers.java_home="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64" 
worker.list=worker_tomcat 
 
worker.worker_tomcat.port=8009 
worker.worker_tomcat.host=localhost 
worker.worker_tomcat.type=ajp13 


6. 아파치 재구동 및 아파치 포트 접속 시 Tomcat 소스 출력 확인

$ /home/testUser/apache_2.4.33/bin/httpd -k restart

1. 자바(openJDK 1.8) 설치

$ su - root 
$ yum list | grep java # 설치(1.8) 버전 있는지 확인. 
$ yum install -y java-1.8.0-openjdk-devel.x86_64 

    
2. Java 설치 확인 및 위치 확인

# 설치 체크 
$ java -version  
# 심볼릭을 찾아 Java 위치 체크 
$ which javac 
$ readlink -f /usr/bin/javac 

3. 환경 변수 등록

## 파일 수정 
$ vi /etc/profile 

## 내용 추가 사항 
.... 
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/bin/javac 
.... 

## 소스 반영 
$ source /etc/profile 

## 테스트 
$ echo $JAVA_HOME 

4. 톰켓 작업 디렉토리 생성 및 소스 다운로드

$ adduser testUser 
$ passwd testUser 
$ cd /home/testUser 
$ su - testUser # 구동 사용자로 변경 
$ wget http://apache.tt.co.kr/tomcat/tomcat-8/v8.5.50/bin/apache-tomcat-8.5.50.tar.gz 

5. 압축 해제 및 포트 설정 후 구동 체크

$ tar xvfpz ./apache-tomcat-8.5.50.tar.gz  
$ mv ./apache-tomcat-8.5.50 ./tomcat85 
$ ./tomcat85/bin/startup.sh 
$ firewall-cmd --permanent --zone=public --add-port=8080/tcp 
$ firewall-cmd --reload 



사용자 변경 및 아파치 소스 다운로드

$ cd /usr/local/src/
$ wget https://archive.apache.org/dist/httpd/httpd-2.4.33.tar.gz
$ wget https://archive.apache.org/dist/apr/apr-1.6.3.tar.bz2
$ wget https://archive.apache.org/dist/apr/apr-util-1.6.1.tar.bz2
$ wget http://downloads.sourceforge.net/project/pcre/pcre/8.41/pcre-8.41.tar.bz2


압축 해제 

$ tar xvf ./httpd-2.4.33.tar.gz 
$ tar xvf ./apr-1.6.3.tar.bz2 && mv ./apr-1.6.3 ./httpd-2.4.33/srclib/apr 
$ tar xvf ./apr-util-1.6.1.tar.bz2 && mv ./apr-util-1.6.1 ./httpd-2.4.33/srclib/apr-util 
$ tar xvf ./pcre-8.41.tar.bz2 


컴파일 준비 - 의존성 라이브러리 설치

$ yum install -y gcc make gcc-c++ expat-devel perl 

pcre 설치 

$ mv ./pcre-8.41 /usr/local/pcre 
$ cd /usr/local/pcre 
$ ./configure 
$ make && make install 

아파치(Apache) 설치

$ cd /usr/local/src/httpd-2.4.33 
$ ./configure --prefix=/home/testUser/apache_2.4.33 --with-included-apr --with-pcre=/usr/local/pcre/pcre-config 
$ make && make install 

방화벽 설정 및 웹 구동 후 접근 체크

$ firewall-cmd --permanent --zone=public --add-port=80/tcp 
$ firewall-cmd --reload 
# 포트 설정 후 
$ /home/testUser/apache_2.4.33/bin/httpd -k start 

리눅스 서비스 및 재가동 자동 실행 등록 - 참고

 

1. 사용자 계정 추가

adduser -g users 계정명 -d /home/계정명

2. 계정비밀번호 설정

passwd 계정명

3. 계정 디렉토리의 퍼미션 변경 및 public_html 디렉토리 생성

chmod 701 /home/계정명

ls -d ./home/계정명/ 으로 확인

cd ./home/계정명

mkdir public_html

chmod 701 public_html

4. mysql에 root 비밀번호 부여

mysqladmin -u root -p password '새로운비밀번호'

5. 데이터 베이스(database) 생성

create database 디비명;

6. mysql 새로운 계정 생성 및 권한 부여

grant all privileges on 디비명.* to 유저명@localhost identified by '비밀번호' with grant option;

7. virtualhosts.conf 에 접속하여 버추얼을 등록한다. [http.conf 의 설정마다 틀리므로 확인해 봐야한다.]

cd /etc/httpd/conf/

vi virtualhosts.conf

[1]

<VirtualHost *>

    ServerAdmin  root@abc.co.kr

    DocumentRoot /home/abc/public_html

    ServerName abc.co.kr

    ServerAlias www.abc.co.kr

</VirtualHost>

8. 아파치 리스타트

/usr/local/apache/bin/httpd -t

/usr/local/apache/bin/apachectl restart

9. 네임서버 정보 등록[이부분은 내 서버기준으로 설명]

vi /etc/named.conf  아래의 내용 추가

[]

zone "도메인명" IN {

        type master;

        file "zone.도메인명";

        allow-update { none; };

};

cd /var/named/

vi  zone.도메인명한 다음 아래의 형식으로 작성

[]

$TTL    3600

@       IN      SOA     ns.abc.com. root.ns.abc.com.  (

                                      1997022701 ; Serial

                                      28800      ; Refresh

                                      14400      ; Retry

                                      3600000    ; Expire

                                      3600 )    ; Minimum

                IN      NS      ns.abc.com.

@               IN      A     아이피

www             IN      A     아이피

ftp             IN      A     아이피

ns              IN      A     아이피

mail            IN      A     아이피

@               IN      MX 5  mail

10.네임서버 리스타트

rndc reload

11. 정상적으로 돌기 시작했나 로그 확인

tail -f /var/log/messages

12. 메일 추가

cd /etc/mail

 vi virtusertable

형식 =>이메일주소 [] 계정명

vi local-host-names

형식 => 도메인 주소

 

makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable

13. sendmail 리스타트

/etc/init.d/sendmail restart


+ Recent posts