-
[SPRING] AWS에 MAVEN사용해서 배포 - (3) 개인키 생성/ 우분투 설정배포 2020. 2. 12. 21:05반응형
앞의 글에서 퍼블릭 주소를 성공적으로 얻었다면 이제는 우분투를 실행할 것이다.
우선 우분투를 실행하기전에 서버에 접근하기 위한 개인키를 생성해야한다.
PuTTY를 사용하여 개인키 저장및 우분투 실행
PuTTY 와 PuTTygen 두가지 프로그램을 사용할 것이다. 다운로드 받는 방법을 설명할 친절함은 내게 결핍되어 있으니 스스로 하도록 하고 PuTTYgen 을 실행하자.
로드
확장자를 All Files로 변경해야 pem 파일을 찾을수 있다.
열기
성공적으로 foreign 키를 임폴트 했고 사용하기 위해서는 암호키(개인키)로 저장을 해야한다는 알림창이다.
시키는대로 저장을 하자.
앞에서 키페어로 생성했던 pem 파일과 같은 이름 test 로 저장을 하였다.
.
생성된 파일은 test.ppk 이다. PuTTYgen을 종료하고 PuTTY를 실행하자.
Host Name 에는 AWS에서 복사해두었던 주소를 입력하고 Saved Sessions 에서는 편한 이름을 적어두고 Save를 입력하자. Open에는 손을 올리지 않도록 한다.
왼쪽 카테고리에서 SSH 하위에 Auth를 선택하고 Private key file for authentication 항목에 변환해둔 ppk 파일을 입력하자. Open에는 손을 올리지 않도록 한다.
윈도우 카테고리에 Apperarnce를 선택하면 글자 크기설정을 할 수 있다. 기본 값은 10으로 되어있는데 조금 키워주도록 하자. 글씨가 작으면 오류 발생시 분노가 가증될수도 있다. Open에서는 손을 떼라.
Session 항목을 클릭하면 처음 실행시 화면으로 돌아온다. 세이브를 꾹 누른 뒤에 오픈을 클릭하자.
만약 저장하지 않았다면 다음번 PuTTY 를 실행시킬 때 또 같은 작업을 반복해야 한다. 머리를 쓰는 개발자라면 두번 작업하는 일은 최소화하자.
Open 을 클릭했다면 다음과 같은 경고창을 볼 수 있는데, 경고글이 길어서 읽어본적은 없다. 회원가입시 약관에 동의하듯 예 버튼을 눌러주었기 때문에 [예] 버튼을 입력한뒤에 따라오는 불이익에 대해서 나는 책임질 수 없다. 하지만 [예]를 누르지 않는다면 프로그램은 종료될것이다.
[예] 를 클릭하면 검은 화면에 login as: 라는 글씨를 볼 수 있다. ubuntu를 입력하면 리눅스 세상에 입장이 가능하다.
우분투 사용하기
우분투가 실행 된 화면이다. 지금부터는 카페같은 오픈된 공간에서 작업하는것을 추천한다. 개발자가 보지 않는 이상 조금 멋있어 보일 수 있다는것이 이유다.
$ sudo apt-get update
sudo apt-get update 를 타이핑후 엔터를 입력하자. 업데이트 되는 정보들이 빠르게 올라오는데 이 때 눈살은 조금 찌푸리고 모니터에서 눈을 떼지 않도록 하자.
sudo는 관리자 명령어이다.
apt-get update 를 통해서 내가 받아올 수 있는 서버 정보를 업데이트 한다.
지금부터 ubuntu에 3가지 파일을 다운받을 것이다.
- jdk 1.8
- maven
- mysql 8.0
- jdk 1.8 설치 명령 $sudo apt-get install openjdk-8-jdk - maven 설치 명령 $sudo apt-get install maven
jdk 1.8버전과 maven은 간단한 명령으로 실행할 수 있다.
mysql은 약간의 추가작업이 필요하다.
- mysql deb 파일 ubuntu에 다운로드 $ wget -c https://repo.mysql.com//mysql-apt-config_0.8.13-1_all.deb
clear 을 입력하면 cmd창의 텍스트를 위로 올려서 깔끔하게 볼 수 있다.
다운로드 명령을 실행 후 ls(list 보기 명령)을 타이핑하면 빨간색으로 표시된 mysql 8.0버전의 deb 파일이 다운로드 된것을 확인할 수 있다.
- mysql deb 파일 디패키징 $ sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
위의 디패키징 명령을 입력하면 아래의 화면을 볼 수 있다. 추가 설치할것은 없으니 바로 OK를 입력하자.
-업데이트 재실행 $ sudo apt-get update
위의 업데이트 명령을 실행하면 디패키징한 파일을 인스톨할 수 있도록 정보가 업데이트 된다.
- mysql 8.0버전 설치명령 $ sudo apt-get install mysql-server
설치명령을 입력하면 mysql 8.0 버전이 설치 되는데 위에서 deb 파일을 받고 디패키징후에 업데이트까지 3개의 과정 중 하나라도 생략하면 mysql 8.0 버전에 대한 정보가 업데이트 되어있지 않아서 5.7버전을 다운받게 될 것이다.
- 5.7버전 다운로드 받았을 때 삭제방법 $ sudo apt-get purge mysql-server $ sudo apt-get purge mysql-common $ sudo rm -rf /var/log/mysql $ sudo rm -rf /var/log/mysql.* $ sudo rm -rf /var/lib/mysql $ sudo rm -rf /etc/mysql
정상적으로 8.0을 다운받고 있다면 비밀번호를 입력하는 화면이 나온다.
5.7설치시에는 이 과정이 없다.
.
비밀번호를 한번 더 입력후 위의 알림창이 나오면 OK를 눌러주자.
인증 플러그인은 강력한 패스워드로 선택하였다.
y를 4번정도 입력하면 완전하게 설치가 끝난다. 경우에 따라 y를 눌러야 하는 상황이 다를 수 있는것 같다.
당황하지 않길 바란다.
mysql을 실행하기에 앞서 먼저 설정해줘야 할 것이 있다. 리눅스에서 mysql을 사용할 때 데이터베이스의 테이블 이름은 대소문자를 구분한다. 설정을 통해서 대소문자 구분을 하지 않도록 할 수 있다. 데이터베이스를 직접 생성한다면 소문자로 생성하면 그만이겠지만 JPA를 사용한다면 테이블을 서버에서 직접 생성하게 되고 테이블의 가장 앞글자는 대문자로 입력이 되어서 데이터 베이스 사용이 번거로워 질 수 있다.
- cd 명령을 통해 디렉토리 이동 $ cd /etc/mysql/mysql.conf.d/ - mysqld.cnf 편집기로 실행 $ sudo nano mysqld.cnf
[mysqld] 아래에 추가 lower_case_table_names = 1 (mysql이 대소문자를 구분하지 않도록 해준다.) sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES (group by 함수를 사용할 수 있게 해준다.)
[Ctrl + X ] 를 누르면 파일을 나가기전에 저장을 할것인지 물어보는데 Y로 저장을 선택하고
이름을 변경할 수 있는데 변경없이 Enter를 입력하면 저장이 된다.
- mysql 재실행 명령 $ sudo service mysql restart
설정값을 저장하기 위해 재실행 명령을 입력하면 아마 이런 에러가 뜰 것이다.
아래의 명령을 차례대로 실행하자
$ sudo systemctl stop mysql $ sudo rm -rf /var/lib/mysql $ sudo systemctl start mysql
- mysql 접속 명령 $ sudo mysql -u root -p
위 명령을 실행하면 패스워드를 입력하라고 하는데 설치할 때 썼던 비밀번호를 입력하고 들어가자.
mysql에 접속이 되었으면 콘솔 입력칸 앞부분이 mysql 로 바뀐것을 볼 수 있다.
- mysql 에서 (lower**)설정값 확인 명령 show variables like 'lower%';
콘솔창에서 lower_case_table_names 옆의 값이 1인것을 확인할 수 있다면 대소문자 구분없이 데이터베이스를 이용할 수 있게 된 것이다. mysql 8.0버전을 사용할 수 있게 되었다.
create user '[사용할 유저 이름]'@'%' identified by '[사용할 비밀번호]'; GRANT ALL PRIVILEGES ON *.* TO [위에서 생성한 유저 이름]@'%'; create database [사용할 데이터베이스 이름]; use [데이터베이스 이름];
사용할 데이터베이스를 생성.
[Ctrl + Z] mysql 에서 빠져나오기
다음 글에서 소개할 내용
- git 으로 프로젝트 가져오기
- Maven 컴파일 및 패키징
'배포' 카테고리의 다른 글
[SPRING] AWS에 MAVEN사용해서 배포 - (4) Git clone / Maven Compile, package (0) 2020.02.13 [SPRING] AWS에 MAVEN사용해서 배포하기 - (2) AWS 설정 (0) 2020.02.12 [SPRING] AWS에 MAVEN사용해서 배포하기 - (1) 준비 (0) 2020.02.12