매일 조금씩

02/05 ! - Linux(4) : 서버프로그램 설정 (포트, 방화벽 설정), 댓글 달리는 Model2 앨범 게시판을 spring MVC 프로젝트로 전자정부 이클립스에서 만들기 본문

빅데이터 플랫폼 구축을 위한 자바 개발자 양성과정

02/05 ! - Linux(4) : 서버프로그램 설정 (포트, 방화벽 설정), 댓글 달리는 Model2 앨범 게시판을 spring MVC 프로젝트로 전자정부 이클립스에서 만들기

mezo 2021. 2. 25. 20:05
728x90
반응형

리눅스 프로그램 설치 - jsp

          * 기본 명령어 

          * vi / nano / gedit

 

1. 압축파일 (tar.gz / tgz)

             => 소스 (C / C++) => compile + install

                         php

2. rpm

             => yum / apt(apt-get : ubuntu)

                        * 의존성 해결

 

파일 시스템 - 저장공간

1. 용량 확인법 

              df

              du

2. cd / usb 사용법

              mount / umount( cd - eject )

              파일 시스템

                        window (fat16/32)

                        linux

3. 새로운 hdd

              => raid

 

blog.naver.com/jungsh930210/222064017908

하드디스크에 은행의 계정관련 정보가 있는데 그게 깨진다면? 

그럴 경우를 대비해서 어떻게 안정적으로 데이터를 보관해 놓을 것이냐!

 

컴퓨터를 꺼야 하드디스크를 분리 시킬수 있는데 서버컴퓨터는 컴퓨터를 켜놓은 상태에서 디스크를 제거 할수 있다.

이걸 hot swap 기능이라고 한다. 서버 컴퓨터는 리부팅이라는 개념이 없다. 24시간 돌아간다. 그래서 ms window를 못사용한다.

 

 

 

 

 

server program

         * client program

 

시스템 내부에 대한 보안

* selinux  => 리눅스를 서버로 쓰면 selinux를 설정하고 리부팅해줘야 한다.

네트워크에 대한 보안

* firewall

          firewalld

systemctl 시작, 종료, 상태확인

 

1. 원격 관리 도구

          GUI

                   VNC

          CUI

                   telnet                      - 보안 X

                   ssh(Secure Shell)        - 기본 (sshd - 22번 포트)

                   www.ssh.com

 

리눅스의 ip는 그때그때 바뀐다.

이걸 설정을 해서 고정할 수도 있다.

 


 

1. 서버 프로그램 설정 변경

1-1. ssh 포트 번호 변경

/etc/  :  각종 설정파일이 들어있다.

[root@localhost ~]# vi /etc/ssh/sshd_config

set number -> set nu

set nonumber -> set nonu

이렇게 포트번호를 변경했으면 방화벽에 해당 포트를 개방했다고 알려야 한다. 그래서 인정을 해줘야한다.

그래야 방화벽이 개방을 해준다.

 

 

 

1-2. 방화벽 설정

방화벽에 포트 등록

/usr/lib/firewalld/services/ 여기에 각종 설정이 들어가 있다. 

[root@localhost ~]# cd /usr/lib/firewalld/services/ 

여기서 ssh.xml을 연다.

[root@localhost ~]# vi ssh.xml

여기에 개방할 포트번호 가 등록 되어 있다.

ssh 설정에서 추가한 포트번호2200을 아래처럼 ssh.xml에도 추가해준다.

 

 

그럼 이걸 새롭게 읽어 달라고 해야한다.

[root@localhost services]# firewall-cmd --reload

 

 

그리고 ssh도 restart 시킨다.

[root@localhost services]# systemctl restart sshd

 

 

 

그다음 putty로 간다.

기존 포트인 22로 접속하면 접속 안되고 추가한 포트번호인 2200으로 접속하면 접속된다. 

root로도 로그인 가능하다.

 

 

root로 로그인 불가능하게 해보자.

[root@localhost services]# vi /etc/ssh/ssh_config

 

이런다음

putty에서 2200번 포트로 접속 해서 root로 로그인 하려고 하면 불가능하다.

 

 

만약 root로 로그인 하고 싶으면

putty에서 master로 로그인 해서 su - root를 사용하면 된다.

root로 바로 들어가지 말고 하위에 접속해서 su - root 명령어를 사용해라.

이러면 root로 바로 접속되서 발생하는 보안 위협을 방지할수 있다.

 

* 관리

         1. 백업

         2. 보안

 

 

 

 

2. Apache-tomcat 

2-1. tomcat 다운로드

이건 꼭 root가 설치 안해도된다.

master가 해도된다.

tomcat.apache.org에서 파일을 다운받는다.

 

다운 받은 파일을 현재 파일로 옮겨 온다.

[master@localhost ~]$ mv ./다운로드/apache-tomcat-9.0.43.tar.gz .

 

압축을 푼다.

[master@localhost ~]$ tar xvf apache-tomcat-9.0.43.tar.gz 

 

 

 

2-2. 톰캣 실행/종료

다음 톰캣을 시작시킨다.

bin 폴더 안까지 들어가야한다.

[master@localhost ~]$ cd apache-tomcat-9.0.43/bin/

 

윈도우에선 bat로 실행을 시켰는데 리눅스에선 sat로 실행을 시킨다. 

  • 윈도우 - *.bat
  • 리눅스 - *.sh

이걸 shell script라고 한다. 실행프로그램을 짜놓은 거다. 

startup.sh랑 catalina.sh가 shell script 즉 실행파일이다. 녹색으로 표시되어 있다.

 

다음 명령어로 실행파일을 실행시킨다.

[master@localhost bin]$ ./catalina.sh run

 

 

그리고 브라우저에서 띄우면 다음과 같이 띄워진다.

 

 

이걸 로컬 localhost 에서만 가능하다. 방화벽 때문이다. 

이 방화벽을 뚫으러 가보자.

 

다시 root 권한으로 간다.

[master@localhost bin]$ su - root

 

방화벽 설정 파일이 있는 곳으로 간다.

[root@localhost ~]# cd /usr/lib/firewalld/services

 

http.xml에 만들어 놓은걸 tomcat.xml에 복사하고, tomcat.xml에 port세팅을 해보자.

[root@localhost services]# cp http.xml tomcat.xml

 

그리고 tomcat.xml 파일을 다음과 같이 수정한다.

[root@localhost services]# vi tomcat.xml

 

그런 다음, tomcat.xml 파일을 service에 add해 달라는 명령문을 친다.

[root@localhost services]# firewall-cmd --zone=public --add-service=tomcat --permanent
success

성공적이다.

 

 

이렇게 등록을 했으면 아까포트번호 변경에서 ssh.xml를 수정후 한것처럼 새로고침을 해줘야한다.

그리고 리스트를 확인해보면 tomcat.xml이 추가되어 있는것이 확인 가능하다.

[root@localhost services]# firewall-cmd --reload
success
[root@localhost services]# firewall-cmd --list-services
cockpit dhcpv6-client ssh tomcat

 

 

다시 master로 와서 tomcat을 실행시키고

[master@localhost bin]$ ./catalina.sh run

리눅스 서버 의 ip주소로 윈도우 브라우저에서 열어보면 아래처럼 열린다. 

 

 

 

물론 startup.sh를 사용해서 실행시켜도 된다.

[master@localhost bin]$ ./startup.sh

그러나 이건 로그가 안보인다. 백그라운드로 실행되는 거다.

 

 

 

catalina.sh는 포그라운드로 로그가 나오면서 실행되는 거고,

startup.sh는 백그라운드로 로그 없이 실행되는 거다.

 

 

실행종료는 다음 명령어로 한다.

[master@localhost bin]$ ./shudown.sh

 

 

 

그런데 startup.sh로 백그라운드에서 실행되면 실행중인지 확인을 해야한다. 

[master@localhost bin]$ ps aux | grep tomcat

 

tomcat이 시작되어 있는 상태를 확인하고, 종료후 다시 상태를 확인하면 된다.

[master@localhost bin]$ ./shutdown.sh
[master@localhost bin]$ ps aux | grep tomcat

 

 

 

 

2-3. tomcat 환경설정

conf 폴더로 간다.

[master@localhost bin]$ cd  ../conf
[master@localhost conf]$ pwd
/home/master/apache-tomcat-9.0.43/conf

 

conf 폴더에서 server.xml 파일이 가장 중요하다. 전체적인 환경을 모두 설정하는 파일이다.

 

 

 

 

tomcat 포트가 8080으로 되어 있는데 이걸 바꿀때 조심해야 하는 게 있다.

port   1024 -> root 만 개방가능

         firewall 설정

사용자적으로 쓸때는 1000번 이상 port를 사용해 줘야한다.

port 번호를 바꿔주면 방화벽의 설정내용이 바껴야 한다.

 

server.xml에서 포트번호를 8080에서 8000으로 수정한다.

[master@localhost conf]$ vi server.xml

 

 

다음 방화벽에 이 포트를 등록하러 가야한다. tomcat.xml 파일에 8000 포트를 추가한다.

[master@localhost conf]$ su - root
암호:
[root@localhost ~]# cd /usr/lib/firewalld/services
[root@localhost services]# vi tomcat.xml

 

 

그리고 계속 그랬듯 새로고침을 해줘야한다.

[root@localhost services]# firewall-cmd --reload
success

 

그리고 tomcat을 실행시키고 윈도우 브라우저에서 수정한 8000 포트로 열어보면?

[master@localhost conf]$ ../bin/startup.sh

이렇게 실행이 된다. 

 

8080포트로 열면 안열린다.

 

아래처럼 절대경로로 실행시켜도된다.

[master@localhost ~]$ /home/master/apache-tomcat-9.0.43/bin/catalina.sh run
[master@localhost ~]$ /home/master/apache-tomcat-9.0.43/bin/startup.sh

 

 

 

 

아래처럼 webapps에 jsp 파일을 넣고 실행시키면 되는건데 

 

 

그전에 디렉토리를 하나 만든다. 

[master@localhost webapps]$ mkdir -p website1/WEB-INF
[master@localhost webapps]$ ls website1/
WEB-INF

 

만든 디렉토리 안에 jsp파일을 하나만든다.

[master@localhost webapps]$ vi website1/test.jsp

 

그리고 나서 실행시켜서 윈도우 브라우저에 website1/test.jsp 로 실행시키면 실행된다.

[master@localhost webapps]$ ../bin/startup.sh

 

 

 

근데 이렇게 작업한 디렉토리가 너무 깊다. 

[master@localhost webapps]$ pwd
/home/master/apache-tomcat-9.0.43/webapps

 

 

 

이걸 상위디렉토리로 옮겨서 작업할 수 있다.

 

로그인 디렉토리에서 폴더를 하나만든다.

[master@localhost ~]$ mkdir -p website2/WEB-INF

 

아까처럼 파일을 하나만들고 아까와 똑같이 작성한다.

[master@localhost ~]$ vi website2/test.jsp

 

 

그다음 설정을 하러 가야한다. 이게 경로가 좀 복잡하다.

[master@localhost ~]$ cd apache-tomcat-9.0.43/conf/Catalina/localhost/
[master@localhost localhost]$ ls
[master@localhost localhost]$ 

 위 경로로 가면 아무것도 localhost 폴더 안에 아무것도 없다. 

 

거기에 website2.xml 파일을 만든다.

[master@localhost localhost]$ vi website2.xml

 

톰캣을 실행시킨 다음 윈도우 브라우저에서 열어보면 열린다.

[master@localhost localhost]$ /home/master/apache-tomcat-9.0.43/bin/startup.sh

 

 

 

이렇게 복잡했던 경로를 단축해서 jsp파일을 만들고 실행시킬수 있다.

 

 

 

 

 

 

 

 

테스트

댓글 달리는 Model2 앨범 게시판을 spring MVC 프로젝트를 전자정부 이클립스에서 만들기

AlbumEx01

 

 

728x90
반응형