Centos7 Docker설치 요령

도커 가져오기

CentOS Container설치 후 실행

  1. docker run -p 7100-7110:7100-7110/tcp -p 80:80 -p 8080:8080 -p 22:22 --privileged -d --name reins centos:7.9.2009 /sbin/init 안하면 remote side unexpectedly closed network connection [Docker] Failed to get D-Bus connection: Operation not permitted 오류
  2. docker exec -it reins /bin/bash 3.필요한 패키지 설치 - 긴줄 빼고 복사 금지(에러발생). 직접 입력. 3-1.yum update && yum install -y sudo 3-2.yum install net-tools 3-3.yum install -y libjpeg* libpng* freetype* gd-* gcc gcc-c++ gdbm-devel libtermcap-devel (안씀)4-4.yum install -y httpd - 정상 설치 확인(httpd -v) / - 아파치 웹서버 실행(systemctl start httpd) /- 자동실행 등록(systemctl enable httpd) 4.방화벽 설치 및 포트 열기 4-1.yum install firewalld - 설치 4-2.sudo systemctl start firewalld - 시작 4-3.sudo firewall-cmd --permanent --add-port=22/tcp - port부분 변경하여 포트 열기. 4-4.firewall-cmd --reload -재시작 4-5.firewall-cmd --list-port - 열려있는 포트 확인
  3. 포트포워딩(사용안함) 5-1.sysctl net.ipv4.ip_forward - 포트포워딩 허용여부 확인(net.ipv4.ip_forward = 1) / ip_forward가 1이 아닐경우 echo 1 > /proc/sys/net/ipv4/ip_forward 5-2.firewall-cmd --permanent --zone=public --add-port=???/tcp - 허용포트 추가 5-3.firewall-cmd --reload / firewall-cmd --list-all 5-4.firewall-cmd --permanent --zone=public --add-forward-port=port=???:proto=tcp:toport=???:toaddr=??? - port forward 설정 추가. 5-5.firewall-cmd --reload / firewall-cmd --list-all 5-6.firewall-cmd --permanent --zone=public --add-masquerade 5-7.firewall-cmd --reload / firewall-cmd --list-all 6.ssh설치 6-1.yum -y install openssh-server openssh-clients openssh-askpass -설치 6-2.systemctl restart sshd.service - 네트워크 재시작 6-3. /etc/ssh/sshd_config파일 Port 22 => Port 22 : 이 부분 주석 해제 6-4.systemctl start sshd.service - 서비스 구동 6-5.systemctl status sshd.service - 서비스 상태보기 7.접속및 검색엔진 구동. 7-1.root계정에서 passwd 입력하여 비밀번호 변경.(자릿수 적다고 길게 만들라하는데 무시가능.) 7-2.유저계정 설정 - adduser 아이디 / passwd 아이디 -> 사용할 패스워드 입력. 7-3.putty접속(ip 주소 / port 22 / ssh ) 7-3.사용자 디렉토리 위치 생성. - mkdir -p /opt/사용자(search) 사용 7-4./opt/search/패키지 압축풀기. 압축풀기전에 tar에 chown -R userid.userid /opt/사용자/ 이용해서 root권한풀기 (tar zxvf 압축파일명) 7-5.RSA설치 문서 참고하여 경로 수정. 8.WAS(tomcat)구동전 서비스 등록(root사용자로) 8-1.프로필 서비스 등록(WAS(tomcat)구동했을때 JAVA JRE경로 오류시) JAVA_HOME 과 JRE_HOME 환경변수가 정의되지 않았다고 나온다. 압축만 푸는 버전(tar.gz)는 2개의 환경변수를 잡아줘야 한다. vi /etc/profile로 이동. 맨 아래에 추가. export JAVA_HOME=/opt/search/java8(경로에 맞게) export JRE_HOME=/opt/search/java8/jre(경로에 맞게) 8-2. 톰캣 사용자 권한 부여 chown -R search : /opt/search/tomcat9 sh -c 'chmod +x /opt/search/tomcat9/bin/*.sh'

Cannot find /PROJECT/kigam.repia.com/SearchApp/tomcat9/bin/setclasspath.sh 오류시 tomcat9/bin/catalina.sh수정

저장후 systemctl daemon-reload 8-3.Tomcat 서비스 활성화 systemctl enable tomcat systemctl start tomcat ->안되면 tomcat9/bin에서 ./catalina.sh start

리눅스 버전확인 cat /etc/redhat-release

최신버전 오류시(CentOS 7버전 해당 없음) Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist ->이는 CentOS 8 EOS 로 인해 CentOS 8 Mirror site 가 vault 로 전환되어 Mirror site 를 못 찾아 발생되는 문제입니다. sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-* sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-*

검색엔진 구동 확인 명령어 ps -ef | grep RSS - 스케줄러 ps -ef | grep rss - 관리자 데몬 ㅇ ps -ef | grep DIC - 전자사전 매니저 ps -ef | grep Dic - 전자사전 데몬 ㅇ ps -ef | grep QP - 질의어 처리기 ps -ef | grep Query - 질의어 처리기 데몬 ㅇ ps -ef | grep h2 - db ㅇ ps -ef | grep Au - 검색어 자동완성 ㅇ ps -ef | grep tomcat - 톰캣구동 확인

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ RSA - IP및 PORT수정이 필요한 부분 ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ ip 및 포트 들어가는 파일 acsctl.sh - ${RSA_ROOT}/bin/ AUTOCOMPLETE_PORT(7104) - 내부 포트라 밖에서는 안보임(자동완성에 사용하는 포트)*

RSA_ROOT="/opt/search/RSA" JAVA_EXE="/opt/search/java8/bin/java"

AUTOCOMPLETE_HOST="127.0.0.1" AUTOCOMPLETE_PORT="7104" AUTOCOMPLETE_MAX_RESULT_CNT="10" ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ KLTdic.conf - ${RSA_ROOT}/conf/ DicPort(7100) - 전자사전 사용시 쓰는 포트 <dicDef> <dicPathInfo dicFilePath="/opt/search/RSA/DIC/KLT/" newDicFilePath="/opt/search/RSA/DIC/KLT/newWord.dic" /> <dicValueInfo DicPort="7100" MaxThreadCount="200" SocketTimeOut="1000" /> <allowIp> <allowAddr ip="127.0.0.1" mask="255.255.255.255" /> </allowIp> </dicDef> ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ install.conf.xml - ${RSA_ROOT}/conf/ rssPort1,2(7100,7101) - 검색시 사용하는 내부포트 <PathInfo> <pathItem name="installDir" path="/opt/search/RSA"/> <pathItem name="htmlDir" path="/var/www/html"/> <pathItem name="cgibinDir" path="/usr/www/cgi-bin"/> <pathItem name="rssPort1" path="7100"/> <pathItem name="rssPort2" path="7101"/> <pathItem name="host" path="192.168.10.133"/> - 내 일반 IP </PathInfo> ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ dbStart.sh - ${RSA_ROOT}/db/h2/${OS}/bin/ 7102

dir=$(dirname "$0") DBPORT=7102 /opt/search/java8/bin/java -cp $dir/h2*.jar org.h2.tools.Server -tcp -tcpPort $DBPORT -tcpAllowOthers -baseDir ../data &

echo "java -cp $dir/h2*.jar org.h2.tools.Server -tcp -tcpPort $DBPORT -tcpAllowOthers -baseDir ../data &" ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ dbStop.sh - ${RSA_ROOT}/db/h2/${OS}/bin/

dir=$(dirname "$0") DBPORT=7102 /opt/search/java8/bin/java -cp $dir/h2*.jar org.h2.tools.Server -tcpShutdownForce -tcpShutdown tcp://127.0.0.1:$DBPORT echo java -cp $dir/h2*.jar org.h2.tools.Server -tcpShutdown tcp://127.0.0.1:$DBPORT ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ rssAdmMgr.conf - ${RSA_ROOT}/conf/ PORT:7103

#현재 서버의 IP IP:0.0.0.0 - 0.0.0.0으로 변경하여 임의의 IP에서도 접근 가능하게 준비 #현재 서버에서 사용할 포트 PORT:7103 #검색엔진 ROOT 경로 INSTALL_PATH:/opt/search/RSA ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 이클립스 Front_V2프로젝트 서버 포트 넘버 : 8087 http://localhost:8087/RSA/front/Search.jsp - Front_V2

이클립스_Front_V2 프로젝트 search.properties

search.remote.ip = 192.168.10.133 - rssAdmMgr ip search.remote.port = 7103 - rssAdmMgr port search.remote.root = /opt/search/RSA

사용포트 정리 acsctl.sh - ${RSA_ROOT}/bin/ AUTOCOMPLETE_PORT(7104) - 자동완성에 사용하는 내부 포트 KLTdic.conf - ${RSA_ROOT}/conf/ DicPort(7100)은 전자사전 관련하여 사용하는 내부 포트 install.conf.xml - ${RSA_ROOT}/conf/ rssPort1,2(7100,7101) - 검색에 사용하는 내부 포트 dbStart,Stop.sh - ${RSA_ROOT}/db/h2/${OS}/bin/ DBPORT(7102) - DB에 사용하는 내부 포트 rssAdmMgr.conf - ${RSA_ROOT}/conf/ PORT(7103) - 관리자 데몬이 사용하는 내부 포트 port.txt - ${RSA_ROOT}/conf/ 7100 - KLT랑 맞춰주는 내부 포트

이클립스에서 바꾼내용 search.properties - path,ip,port,root,log.dir(RSS/logs/javalog) port.txt - KLT랑 같게 ResultCommon.conf - SecInfo.conf collsInfo.conf install.conf - rssPort1,2 collsInfo.conf - 경로 install.conf - rssPort Path favorite.conf install.conf.xml 리눅스에 있는 포트랑 번호 똑같이. host(내vm ip) menuInfo.conf