[ 서버 ] 리눅스 - CentOS 7, 서블릿, 스프링 호스팅, 빠른버전 영상 자료(실행 방법, 순서)

JooKit 주킷 2020. 9. 19. 21:14
목차 접기
728x90
반응형

※ [ 서버 ] 리눅스 - CentOS 7, 서블릿, 스프링 호스팅, 빠른버전 영상 자료(실행 방법, 순서)

 

1. 공인IP 설정

 

2. 외부포트 **** 또는 **** 설정 (내부포트는 자동 22번) : 외부포트 번호 임의 지정 

    - 추가 

    - 적용

        - 자세한 입력사항은 작업 2 참고

 

 

 

 

※ 추가 작업

- 방화벽 작업

    - ACG 규칙 설정을 해준다.

    - TCP(프로토콜)의 접근 소스, 허용포트 등을 지정해주어야 해당 IP로 접속이 가능하다. 

       - 자세한 입력사항은 작업 2 참고

 

 

 

 

3. dnszi 작업 

 

 

4. 서버 접속용 공인IP가 사용 가능한지 확인

 

    - cmd 접속

    - nslookup access.도메인 명령어 입력

    - 권한 업는 응답에서 Address에 dnszi에서 작업해놓은 access.도메인의 서버접속용 공인IP 주소가 

        출력이 되는지 확인한다.

 

 

 

※ ncloud - server 접속 

5. 관리자 비밀번호 확인하는 법(root 계정, 최초)

    - 관리자 비밀번호 확인 클릭

 

 

6. ACG 생성할 때, 다운받아 놓은 인증키(***.pem 파일을 끌어온다.)

 

 

 

7. 비밀번호를 확인한다.(복사)

 

 

 

 

8. 최초 root계정 생성, 접속

 

    - putty 접속

    - 최초 host Name은 root@access.도메인 계정으로 Save한다. 만든다.

        - root로 로그인을해서 마스터 계정을 만들어 사용해야 한다.

        - 마스터 계정(리눅스 계정)을 만든 후에는 나만 아는 계정으로 해킹 위험을 root계정을 사용할 때 보다 낮출 수 있다. 

 

 

9. Save한 계정을 Load해서 접속한다.

 

 

 

10.  password 변경 

    - passwd  명령어 입력 

    - root계정으로 최초 접속하고 입력할 password는 ***.pem파일로 확인한 최초 생성시에 제공되는 관리자 비밀번호    를  입력한다.

 

    - 그리고나서 passwd 명령어를 입력하면 root 계정의 비밀번호를 변경할 수 있다.

    - 최초에 필히 바로 password를 변경해주도록 한다.

 

※  passwd 명령어 : 계정 비밀번호 변경    

 

 

 

 

11. 마스터 계정 생성

 

    - root계정 외에 새로 관리할 계정을 만들어준다.

    - adduser 명령어 입력 

        - 계정추가하는 명령어 

    - passwd 명령어 입력         

        - 새로 만드는 계정의 비밀번호를 설정해주는 명령어 

 

 

 

12.  관리자 권한 부여 

 

    - vim /etc/sudoers 명령어 입력 

    - 관리자 권한을 주기(지정하기, 설정) 위한 명령어 

 

 

 

 

13. 관리자 권한 위임 

 

    - 새 계정에 관리자 권한을 모두 위임하는 코드를 입력한다.

    - 새 계정    ALL=(ALL)    ALL  입력

    - :wq! 명령어 입력 후 빠져나온다.

        - :wq! 저장하고 빠져나오는 명령어 

 

 

 

14. 관리자 권한을 위임한 새 계정으로 putty 계정을 생성한다. 

    - 원격접속을 새계정으로 변경

    - Host Name : 새계정@access.도메인 

    - Port : 지정한 외부포트 

    - Connection type : SSH 

    - Saved Sessions : Host Name을 입력하고 뒤에 설명을 살짝 붙여주면 구분하기 쉽다.

        - Host Name과 필히 동일하지 않아도 된다는 의미.

 

15. 기존에 있던 root@access.***.*** 계정을 Delete 한다.

 

16. Save한 새 계정을 Load해서 putty 접속.

 

 

17.   epel-release 설치 

  - sudo yum install epel-release 명령어 입력 

  - 이유 : 기본적으로 CentOS는 보수적인 운영체제 이다. 그래서 프로그램들의 최신버전 설치가 막혀있다. 그것을 해제하는 명령어라고 생각해도 좋다.

    - yum 패키지, 프로그램 관리자를 업데이트 시키는 것. 

 

 

 

18. sudo vim /etc/yum.repos.d/nginx.repo 명령어 입력

 

 

 

 

 

19. nginx를 설치하기 전에 나름 최신 버전을 지정해서 설치하고자 한다면 하는 작업.

    - 코드 입력 

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

 

    - :wq!  명령어 입력 후 빠져나온다.

        - 저장하고 빠져나오는 명령어 

    - yum을 설치하면서 nginx를 알아서 설치를 하지만 버전을 지정해주지 않으면 아무거나? 임의로 설치해버린다.

 

 

 

 

20. nginx 설치 

    - sudo yum install nginx 명령어 입력

    - nginx를 설치하는 명령어 

    - sudo vim /etc/yum.repos.d/nginx.repo를 통해서 나름 최신 버전을 설치할 수 있도록 지정해놓았음.

    - nginx 설치 중 질문에는 y 입력

    - Complete!    - 설치 완료

 

 

 

21. sudo systemctl enable nginx 명령어 입력

    - nginx를 활성화 시켜주는 명령어 

 

22. sudo systemctl start nginx 명령어 입력 

    - nginx를 사용하겠다. 시작하겠다. 라는 명령어 

    - nginx를 사용하려면 꼭 활성화를 시켜준 후에 사용해야 한다.

        - sudo systemctl enable nginx 명령어 먼저 입력한 후에 

 

 

 

 

 

23. nginx 실행이 잘 되는지 확인해보는 방법

   - 도메인 주소에 접속해본다.

   - 현재 접속이 제대로 되지 않는다.

   - 외부에서 접속이 되지 않는 상황

       - 그럼 내부에서 접속이 제대로 되고 있는지를 또 확인해보아야 한다.

 

 

 

24. wget http://localhost  명령어 입력 

    - 리눅스계의 브라우저이다.

    - 현재 내부에서는 접속이 잘 된다.

    - 만약 접속이 되지 않는다면 wget http://localhost명령어를 입력했을 때,

        위와같이 출력되지 않고 이상한 문구들이 출력된다.

    -  wget http://localhost 명령어를 실행할 때마다

        - Saving to: 'index.html' 을 만들어 냈다.

            - 그래서 샘은 만들어진 파일들을 모두 삭제하셨음.

        - ls 명령어 입력  

            - 리스트 출력

        - rm index.html, rm index.html.1 파일 2개 삭제

            - 그런데 .. 삭제할 때 rm -rf 를 사용하시지 않으셨다. 

                - rm으로만 삭제가 가능한가보다. 

            - rm -rf 명령어 : 삭제

            - rm 명령어 : 삭제

 

 

 

25. ncloud의 ACG 규칙 설정을 다시 해주고 웹에서 확인하니 nginx에 잘 접속이 되었다.

    - nginx 접속 실패 이유 

        - ncloud(서버) ACG 규칙 설정을 제대로 해주지 않았었음.

    - 24번처럼 wget http://localhost 명령어를 입력해서 내부에서 nginx 접속이 잘 되는지 먼저 확인해보는게 좋다.

 

※ wget, chrome으로 nginx 접속 테스트 성공

 

 

26. mariaDB 특정버전을 설치하기 위한 작업

 

    - sudo vim /etc/yum.repos.d/MariaDB.repo 명령어 입력

 

 

 

 

27. 아래 코드 입력

 

    -  :wq! 명령어 입력해서 저장 후 빠져나온다.  

[mariadb] 
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

※ yum의 의미 : 패키지 매니저 

 

 

 

 

28. mariaDB 설치 (지정한 특정 버전으로)

 

    - sudo yum install MariaDB-server MariaDB-client -y 명령어 입력

 

 

 

 

29. mariaDB 설정 이동

 

    - sudo vim /etc/my.cnf.d/server.cnf 명령어 입력

 

 

 

 

30. mariaDB 설정

[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
max_allowed_packet = 512M
innodb_log_file_size = 512M

    - 이렇게 설정을 해주어야 한다.

    - max_allowed_packet = 512M, innodb_log_file_size = 512M 이 2개의 코드를 입력해야 

         파일이 SQLyog(DB)에 저장이 된다.

 

 

 

 

31. mariaDB 활성화

    - sudo systemctl enable mariadb 명령어 입력

    - mariaDB를 활성화 시키겠다.

        - 컴퓨터를 껐다 켜도 자동으로 실행시키겠다.

 

 

 

32. mariaDB 시작

    - sudo systemctl start mariadb 명령여 입력

    - mariaDB를 지금 당장 시작하겠다. 사용하겠다.

 

 

 

 

 

 

33. mysql 기본 보안 설정

    - 초기 설치나 재설치 후에 단 1번만 해주면 되는 기본적인 보안 설정 작업

    - sudo /usr/bin/mysql_secure_installation 명령어 입력

    - 모든 질문에는 y 선택

    - 질문에 대한 자세한 내용은 작업 8. mariaDB 설치 참고 

 

 

 

 

34. mysql 관리자 권한을 위임하기 위한 작업 시작 

    - mysql -u root -p 명령어 입력

        - root계정으로 mysql에 접속

 

 

 

35. mysql 마스터 계정, 로컬용 계정 2개 생성

    - 마스터 계정

        - grant all privileges on *.* to 계정@'%' identified by '패스워드';

        - '%' 의미 : 모든 권한을

    - 로컬용 계정

        - grant all privileges on *.* to 계정Local@localhost identified by '패스워드';

        - 모든 권한이 아닌 @localhost 로컬 권한만 위임하겠다.

    - 로컬용 계정 비밀번호 변경(비밀번호 없앤다_로컬용이기 때문에 필요없다.)

        - update mysql.user set password = ' ' where user = '계정Local';

 

 

 

 

36. mysql 설정 변경 반영

    - flush privileges; 명령어 입력

        - mysql 설정을 변경해준 후, flush privileges; 해당 명령어를 입력해주어야 변경한 내용이 반영된다.

    - exit 명령어 입력 후 root 계정 종료

 

 

 

37. 새로 만든 mysql 마스터 계정으로 접속이 잘 되는지 확인해본다.

    - 접속이 잘 된다.

 

 

 

38. 로컬용 계정 접속 확인

    - mysql -u 로컬용계정 명령어 입력 

    - 패스워드를 입력하지 않고 잘 접속이 된다.

 

 

※ mysql 마스터 계정, 로컬용 계정 생성 이유

- 마스터 계정은 원거리용

    - 전국 어디서든 접속이 가능하다.

- 로컬용 계정 근거리용

    - 로컬, 내 컴퓨터로만 접속이 가능하다.

        - 리눅스 안에서만 접속이 가능하다.

 

 

 

39. 내부(mysql), 외부(SQLyog) 접속 테스트

    - mysql -u root -p  명령어 입력 

        - 내부접속 잘 된다.

    - mysql -u 마스터계정 -p 명령어 입력

        - 외부접속 잘 된다.

 

 

 

40. SQLyog 접속 테스트 

    - 새연결 

    - 만들어놓은 계정으로 접속 시도

 

 

 

 

41. SQLyog 접속 테스트 성공

 

 

42. pure-ftpd 설치

    - sudo yum install pure-ftpd -y 명령어 입력

 

※ war 파일을 올리려면 FTPD 프로그램을 설치해야 한다. 

설치 이유 : 우리가 프로그램을 돌리려면 war 파일을 압축해서 올려야 한다.   

               - putty는 파일을 업로드하기에는 부적합하다. 

               - file.zila처럼 원격으로 파일 업로드를 해야 한다. 

               - 서버가 있는 서울까지 usb를 보낼 수는 없다. 

 

 

 

 

43. ftpd 사용자 관리 지정 

    - sudo vim /etc/pure-ftpd/pure-ftpd.conf 명령어 입력

    - ftpd도 사용자가 있다.

    - 권한별로 이폴더는 누구.  저폴더는 누구. 라고 지정해줘야 한다. 

    - 사용자관리 MySQL로 할 것이다. 

    - /mysql 검색 명령어를 사용해서 찾는다.

    - 사용자관리를 MySQL로 할 것이기 때문에 MySQLConfigFile 주석을 풀어준다. 

    - MySQL을 통해서 pureftpd 관리를 하겠다. 

  • MaxClientsNumber 10배 이상 늘리기 (입력X)
  • MaxClientsPerIP 100배 이상 늘리기  (입력X)
  •  위 2개는 설정파일에 입력해주지 않아도 된다. 

        - :wq!  명령어 입력해서 저장하고 빠져나온다.

 

44. 변경한 설정 내용 반영하기

    - sudo updatedb  명령어 입력

    - 설정을 변경해준 경우 필히 sudo updatedb를 입력해주어야 프로그램이 변경사항을 반영시킨다.

        - 해당 명령어를 입력하지 않으면 설정 변경하기 전의 데이터를 계속 불러오게 된다.

    - root 계정의 경우 sudo를 입력하지 않고 updatedb만 입력해도 사용 가능

 

 

 

45. pure-ftpd 추가 설정

    - sudo vim /etc/pure-ftpd/pureftpd-mysql.conf 명령어 입력

 

 

 

 

 

46. 기존 코드를 아래와 같이 수정해준다.

    - MYSQLSocket          /var/lib/mysql/mysql.sock

    - MYSQLUser            pureftpd

    - MYSQLPassword       입력하지 않음(패스워드를 지정해도 된다.  나는 해뒀었네)

        ※ 패스워드를 입력해주어야 한다. 그러지 않으면 ftp 설치 후 이용 불가.... 

            - 작업 54번 쯤에서 문제 발생 

    - MYSQLDatabse        pureftpd

    - MYSQLCrypt           cleartext 

 

47. :wq! 명령어를 입력해서 저장하고 빠져나온다.

 

 

 

 

48. mysql 접속 

    - mysql -u root -p 명령어 입력

    - root 계정으로 

 

 

 

 

49. 사용자 생성 

    - grant all privileges on pureftpd.* to pureftpd@'localhost' identified by '패스워드'; 명령어 입력 

    - pureftpd 계정의 비밀번호 없애기.

        - update mysql.user set password = '' where user = 'pureftpd'; 명령어 입력

            - pureftpd의 아이디와 패스워드를 다른 사람이 알아도 소용이 없다.

            - pureftpd는 local에서만 접속이 가능하도록 만들었기 때문이다.

            - 여기서 local은 리눅스 내부를 말하는 것. 

                 - 리눅스 마스터 계정은 나만 알고 있다.

 

 

 

 

50. pureftpd DB 설정 

    - 꼭 mysql root 계정으로 접속해야 한다. 

 

 

 

 

51. 쿼리 입력 

CREATE DATABASE pureftpd;

USE pureftpd;

CREATE TABLE users (
  uidx int(10) unsigned NOT NULL AUTO_INCREMENT,
  `user` varchar(100) NOT NULL,
  `password` varchar(100) NOT NULL,
  `gid` int(10) unsigned NOT NULL,
  `uid` int(10) unsigned NOT NULL,
  `occurDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `status` tinyint(1) unsigned NOT NULL DEFAULT '1',
  `ipaccess` varchar(15) NOT NULL,
  `comment` varchar(100) NOT NULL,
  `ulBandWidth` smallint(5) unsigned NOT NULL,
  `dlBandWidth` smallint(5) unsigned NOT NULL,
  `quotaSize` smallint(5) unsigned NOT NULL,
  `quotaFiles` int(10) unsigned NOT NULL,
  `dir` varchar(100) NOT NULL,
  PRIMARY KEY (`uidx`)
);

insert  into `users`(`uidx`,`user`,`password`,`gid`,`uid`,`occurDate`,`status`,`ipaccess`,`comment`,`ulBandWidth`,`dlBandWidth`,`quotaSize`,`quotaFiles`,`dir`) values 
(1,'site1','사용할 패스워드 입력',1000,1000,NOW(),1,'*','',0,0,0,0,'/web/site1'),

 

※ 주의 : gid, uid는 1000, 1000으로 입력하면 안된다.

    - 아래와 같이 번호를 확인하고 일치시켜서 입력해주어야 한다.

 

- sudo vim /etc/passwd 명령어 입력

 

 

 

 

- 마스터 계정의 번호를 확인하고 일치시켜서 입력해주면 된다.

    - 추후 pureftpd 사용자를 계속 추가할 때는 동일한 번호로 생성해주면 된다.

    - :q! 명령어 입력 후 저장하지 않고 그냥 빠져나온다.

        - :q! 저장하지 않고 빠져나오는 명령어 

 

 

52. pure-ftpd 활성화

    - sudo systemctl enable pure-ftpd 명령어 입력

        - 꼭 활성화 후 restart를 해주어야 한다.

 

53. pure-ftpd 재시작

    - sudo systemctl restart pure-ftpd 명령어 입력

        - 활성화 후 restart를 해주어야 잘 작동된다.

 

 

 

54. ftp 설치

    - sudo yum install ftp 명령어 입력

    - 내부 접속을 하려면 ftp를 설치해야 한다. 

        - pure-ftpd와 ftp는 다르다.

            - ftp는 filezilla 같은 것.

            - 리눅스계의 filezilla 같은 개념.

 

 

 

※ 설치하고 다음 작업 진행하려던 중에 pure-ftpd 추가 설정 과정의 패스워드 미입력 문제로

     아래와 같은 작업을 해주었음. 

        - 패스워드를 입력하지 않아도 되는 줄 알았지만 입력을 해주어야 한다.

 

 

- mysql에 root 계정으로 접속

    - mysql -u root -p 명령어 입력 

    - update mysql.user set password = '사용할 패스워드' where user = 'pureftpd'; 쿼리 입력

    - update mysql.user set password = password('패스워드') where user = 'pureftpd';

        - 패스워드를 암호화해서 입력해야 한다.

            - 작업 56쯤에서 문제 발생

 

 

    - flush privileges; 명령어 입력

        - mysql 설정을 변경해준 후, flush privileges; 해당 명령어를 입력해주어야 변경한 내용이 반영된다.

 

 

 

 

 

 

 

55. pure-ftpd 활성화 확인

    - sudo systemctl status pure-ftpd 명령어 입력

 

 

 

56. ftp 접속 시도 

    - ftp 127.0.0.1 명령어 입력

    - pureftpd의 사용자명을 입력(site1)

    - password 입력

    - 로그인 실패

    - sudo systemctl restart pure-ftpd 명령어 입력

         - 을 하고 다시 ftp 접속 시도를 했지만 또 실패

    - pure-ftpd 추가 설정의 패스워드를 입력해주고, sudo systemctl restart pure-ftpd 했지만 계속 로그인 실패

 

 

 

57. pureftpd 계정의 비밀번호를 다시 설정해준다. 

    - pureftpd 계정 비밀번호 설정 문제 

        - 패스워드를 암호화해서 저장했어야 했다.

    - update mysql.user set password = password('패스워드') where user = 'pureftpd'; 쿼리 입력

 

    - flush privileges; 명령어 입력

        - mysql 설정을 변경해준 후, flush privileges; 해당 명령어를 입력해주어야 변경한 내용이 반영된다.

 

 

 

58. ftp 연결 테스트 (내부)

    - ftp 127.0.0.1 명령어 입력

    - name 에 pureftpd 사용자명 중 해당하는 사용자명 입력

    - passowrd 입력

    - 위와 같이 문구가 출력된다면 연결 성공

        - Login failed 이유는 아직 Home directory를 만들지 않아서일 뿐

    - 내부 테스트 성공 

 

 

 

 

59. filezilla 접속 테스트 (외부)

    - 포트는 기본적으로 22이다.

 

 

 

60. filezilla 접속 성공 (외부)

    - 접속은 됐지만 역시나 Home directory가 없어서 서버 연결하지 못하는 것.

        - site1을 생성할 때, 지정한 /web/site1 directory(폴더)가 없기 때문에 발생하는 문제임.

            - 이건 아직 별도로 우리가 만들어주지 않음 

            - 이어서 작업 예정

 

 

 

 

61. /web/site1 폴더 생성

    - sudo mkdir /web/site1 명령어 입력

    - cd /web/ 명령어 입력

        - cd : 폴더 이동

    - web 폴더 안으로 이동한 것을 확인할 수 있다.

        - ls -alh 명령어 입력

            - 숨김파일까지 모두 볼 수 있는 ls보다 더 상세한 리스트 명령어 

            - . 의 의미 : 현재 폴더 (web)

    - site1이 root 소유인 것을 확인할 수 있다.

 

 

 

62. 소유권을 마스터 계정으로 변경(web폴더 안에서 입력)

    - sudo chown 마스터계정:마스터계정 -R .    명령어 입력

        - 이렇게 입력을하면 현재 폴더와 그 아래 모든 폴더, 파일의 소유권이 

          root에서 마스터 계정으로 변경된다.

    - ls -alh 명령어 입력

        - 현재 폴더인 .(web)과 site1의 소유권이 마스터 계정으로 변경된 것을 확인할 수 있다.

 

 

 

63. filezilla 접속 테스트 

    - site1의 폴더를 만들어주고 소유권을 root에서 마스터 계정으로 변경해준 다음

    - filezilla에 다시 접속하니 디렉토리 목록을 잘 불러왔다.

    - 접속 문제 없이 성공.

 

 

64. tomcat9 설치

 

1번
위치 : web
sudo yum install java-1.8.0-openjdk-devel


2번 
위치 : web
sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
- 사용자 추가


3번 
위치 : tmp
cd /tmp
wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.37/bin/apache-tomcat-9.0.37.tar.gz



4번
위치 : tmp
tar -xf apache-tomcat-9.0.37.tar.gz


5번
위치 : tmp
sudo mv apache-tomcat-9.0.37 /opt/tomcat/


6번
위치 : tmp
sudo ln -s /opt/tomcat/apache-tomcat-9.0.37 /opt/tomcat/latest



7번
위치 : tmp
sudo chown -R tomcat: /opt/tomcat



8번
위치 : tmp
sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'


9번 
위치 : tmp
sudo vim /etc/systemd/system/tomcat.service
- 아래 코드 입력, 저장, 나오기


[Unit]
Description=Tomcat 9 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh

[Install]
WantedBy=multi-user.target







10번 
위치 : tmp
sudo systemctl daemon-reload



11번 
위치 : tmp
sudo systemctl enable tomcat


12번
위치 : tmp
sudo systemctl start tomcat


13번
위치 : tmp
sudo systemctl status tomcat
-  Active: active (running)을 확인한다.


14번 
위치 : tmp
sudo vim /opt/tomcat/latest/conf/tomcat-users.xml
- 아래코드 입력, 저장, 나오기


<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="admin-script"/>
<user username="admin" password="패스워드" roles="manager-gui,admin-gui,admin-script,manager-script"/>
<user username="deployer" password="패스워드" roles="manager-script"/>



15번(manager)
위치 : tmp
sudo vim /opt/tomcat/latest/webapps/manager/META-INF/context.xml
- 해당 부분 주석처리 해주기
<!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->



16번 (host-manager)
위치 : tmp
sudo vim /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
- 해당 부분 주석처리 해주기
<!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->

15번, 16번 작업을 해줘야 외부에서 설정을 바꿀 수가 있다.
    - 우리가 원격 deploy를 할 예정이기 때문에.
    

17번 
위치 : tmp
sudo vim /opt/tomcat/apache-tomcat-9.0.37/bin/setenv.sh 
- 운영모드 활성화 
- 이걸 해주어야 톰캣에서 현재 운영모드 인지를 알 수 있다.
- 아래코드 입력, 저장, 나오기
JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=production" 



18번
위치 : tmp
sudo vim /opt/tomcat/apache-tomcat-9.0.37/conf/server.xml 
- 아래코드 추가, 저장, 나오기

<Server port="8005" shutdown="SHUTDWON"> 
아래에 
<Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/> 
- 이렇게해야 우리가 원격에서 조종한 것을 저장할 수 있다.


19번 
위치 : tmp
sudo systemctl restart tomcat

 

 

 

 

65. tomcat 실행이 잘 되는지 내부에서 확인하기.

    - tmp 폴더 안에서 

    - wget localhost:8080 명령어 입력

    - 웹 접속은 wget을 입력해주어야 한다. (ftp가 아니라)

        - 접속이 잘 된다.

 

66. rm index.html 명령어 입력

    - Saving to: 'index.html' 을 삭제해준 것.

 

 

 

 

67. tomcat 외부 접속 테스트

    - 도메인:8080으로 접속

    - manager와 host-manager에 잘 접속이 되는지 확인한다.

        - admin 계정으로 로그인

 

 

 

 

 

68. 가상호스트 추가 

    - host-manager에서 가상 호스트들을 추가하고 

    - 마지막에 꼭 전부를 눌러주어야 한다.

        - 그래야 필요한 폴더, 파일들을 제대로 생성해준다.

        - OK-설정이 저장되었습니다. 가 성공

        - 만약에 실패한다면 putty에 생성된 사용하지 못하는 폴더, 파일들 다 삭제하고 

          가상호스트를 다시 추가해주어야 한다.

 

 

 

 

69. 주의사항

    - tomcat 페이지에서는 절대 F5를 누르면 안된다.

        - F5를 누르는 순간 실행했던 작업들을 한번 더 중복으로 처리하므로 

          꼭 url을 지워주고 엔터를 입력하도록 한다.

 

 

 

70. 가상호스트 접속 테스트 

    - host-manager에 접속해서 해당 호스트를 클릭

    - nginx페이지로 이동할 것임

    - 그 상태에서 url뒤에 :8080을 붙인다.

    - 그림과 같이 HTTP 상태 404 - 찾을 수 없음이 보여진다면 성공한 것

 

 

 

 

71. 위의 상태에서 blog.test.test(도메인):8080/manager 라고 입력했을 때, 

    - Tomcat 웹 애플리케이션 매니저로 잘 이동을 한다면 접속 테스트 성공적으로 완료.

 

 

 

※ FTP 접속이 안될때(filezilla)

- 프로토콜 : SFTP 

- 호스트 : access.도메인 (서버 접속용 IP주소)

- 포트 : 외부포트

- 사용자 : root 

 

- root이기 때문에 이 계정으로는 모든 것을 할 수가 있다.

- 경로 :  opt / tomcat / latest / blog, service등 내가 만든 폴더들이 있다.

    - blog, service 폴더에 들어가서 war파일을 올리면 서버에 업로드 된다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형
LIST