[Toy Project] 웹서버 구축하기 AWS, Apache

Song·2021년 12월 14일
0

Toy Project

목록 보기
1/1

아마존 aws 서비스에 가입 후 인스턴스 생성

가입해서 인스턴스 생성까지 참고했던 링크
단계별로 아마존에서 인스턴스를 생성하는데까지 자세하게 나와있어서 참고하여 만들면 된다.

아마존 인스턴스 생성하는 법
https://velog.io/@hotoron/AWS-%EB%AC%B4%EB%A3%8C%EC%84%9C%EB%B2%84-%EC%82%AC%EC%9A%A9%EB%B2%95-%ED%94%84%EB%A6%AC%ED%8B%B0%EC%96%B4

참고로 나는 인스턴스 생성시 서버를 ubuntu로 설정하고 생성했다. 그래서 서버 만드는데 정보찾기가 조금 어려웠다. amazon linux로 하면 정보가 더 많으니 그걸 참고해도 좋을 것 같다.

인스턴스 생성 후 탄력적 IP 연결까지 하고 서버에 접속하기

내가 만든 서버에 접속하기 위해서는 처음 인스턴스 생성시 받은 pem키가 필요하다. 터미널에서 ssh 폴더에 접속이 안되어도 좌절하지 말자. 수많은 터미널 접속 오류가 떴지만 결국 대체 방안은 있다!
Mac인 경우 finder 켜서 User/username(본인의 컴퓨터 이름) 경로에 들어가서 cmd + shift + . 이렇게 입력하면 숨겨진 폴더가 보이는데 다운로드 받은 pem 키를 User/username(본인의 컴퓨터 이름)/.ssh 폴더에 옮겨 넣어주면 된다.

만약 다운로드 폴더에 pem키가 그대로 있다면 보안을 위해 pem키는 따로 usb에 보관해두도록 하자. 만약 키를 잃어버린다면 꽤 복잡한 절차를 거쳐야한다고 하니..

우분투 서버 접속하기
https://soobarkbar.tistory.com/223

pem key의 권한을 변경해주기 위해 다음과 같은 명령어를 터미널에 작성해준다.
$ chmod 600 ~/.ssh/pemKeyName.pem
권한 변경 후 다음과 같은 명령어를 입력해 서버에 접속하게 한다. ubuntu 인스턴스이기 때문에 유저이름을 ubuntu로 적어줘야한다.(아래에 서버 접속시 오류났던 부분 정리 참고!)

$ ssh -i ~/.ssh/pemKeyName.pem ubuntu@퍼블릭IP주소(ec~~.ap-northeast-2.compute.amazonaws.com)

다음과 같이 명령어를 입력해주면 내가 생성한 ubuntu 인스턴스에 접속할 수 있게 된다.

간결한 명령어로 서버 접속

저 긴 명령어($ssh -i ~~)를 입력하고 싶지 않다면 ~/.ssh/config 파일을 생성해 vi 편집기로 내용을 추가해주는 방법이 있다. 아래의 방법대로 명령어를 작성해본다면 쉽게 설정 가능하다.

인스턴스 생성시 다운받았을 때 생성된 pem 키를 user/.ssh/ 폴더에 넣어줬다면,
서버 접속하기 방법과 똑같이 pem key의 권한을 바꿔준다
$ chmod 600 ~/.ssh/pemKeyName.pem

권한 변경 후 vi 편집기로 config파일을 생성해 내용을 작성해준다.
$ vi ~/.ssh/config
편집기로 들어가면 다음과 같이 내용을 작성해준다. 편집기 작성은 i를 눌러 insert 모드로 바꿔주고 다 작성하면 :wq를 써서 저장 후 빠져나온다.

Host 서비스 명
HostName 퍼블릭 탄력적IP주소
User ubuntu(선택한 인스턴스에 따라 달라짐)
IdentityFile ~/.ssh/pemKeyName.pem

위와 같이 설정했다면 $ ssh ubuntu@serviceName(config에서 Host 서비스명으로 적었던 그 서비스 명)으로 간결하게 서버에 접속이 가능해진다.

서버 접속 시 오류 났던 부분

아무래도 잘 모른채로 서버에 접속하려고 하다보니까 똑같이 따라 썼는데도 계속 오류가 나서 답답했던 경우가 있었다. 숱한 구글링 끝에 발견한 오류의 이유..!
우분투 ami인 경우에는 사용자명이 ubuntu였던 것이다. 어쩐지 분명히 pem.key 경로도 제대로 썼는데 자꾸 permission denied가 떠서 머리를 싸맸는데 생각보다 간단하게 해결 가능한 오류였다.

제대로 사용자명을 바꿔준 후 다시 입력하면 우분투 환경으로 들어가진다.

ubuntu 서버에 접속하고 난 후에는 apache를 설치하고 입력해주면 된다.

Apache 설치

apache 설치하는 법
https://trycatching.tistory.com/46

참고한 링크에 보면 자세하게 apache 업데이트된 버전을 설치할 수 있다.

현재 apache 서버 구동 상태확인 및 서버 시작, 종료에 대한 명령어 관련 링크
apache 설치 및 버전확인 할때
https://tomcabin.tistory.com/8

+) sudo systemctl status apache로 실행할 때 running 상태를 알려주는 페이지가 나왔는데 이게 편집프로그램으로 넘어간줄 모르고 너무도 당황해버렸다. 구글링을 해도 그 페이지에서 어떻게 넘어가는지를 설명안해줘서 별것도 아닌걸로 막히는거 같아서 자괴감 들고 괴로웠지만!! 보다보니 vi 편집기 페이지와 비슷해서 q를 눌렀더니 너무 간단하게 해결. 이러니 검색을 아무리 해도 안나오지..왜냐면 아무도 모를거라고 생각안하니까..하지만 나같은 초보는 이런거 하나까지 알려줘야 기본을 겨우 따라가니까 여기에라도 적어둔다.



apache에서 제공하는 기본 default값인 index.html 말고 내가 원하는 html 파일을 띄우기 위해서는 ubuntu 서버에 폴더를 하나 만들어 프로젝트 중인 html 파일을 올려두어야 한다.

apache에서 제공하는 index.html 화면은 다음과 같으며 서버 접속이 성공적으로 됐을 경우 보이는 화면이다.

0개의 댓글