[AWS] EC2에서 Ubuntu 18.04 설치
💡 AWS EC2에서 Ubuntu 18.04 LTS 설치하는 방법에 대한 포스팅입니다.
EC2 생성
- EC2 대시보드 -> 인스턴스 시작
이름 및 태그
- 알맞게 이름 넣어주기
애플리케이션 및 OS 이미지
- Ubuntu -> 18.04 LTS(프리티어) 선택
인스턴스 유형
- t2.micro
키페어 생성
webhell.pem 키 파일이 다운받아지면, 해당 파일을 다음의 경로에 위치시켜 둔다.
- 폴더가 없으면 .ssh 폴더 생성해서 위치시켜 주기
- C:\Users\CAU\.ssh\
네트워크 설정
- 인터넷에서 HTTP 트래픽 허용 체크
스토리지 구성
- 기존 8GB 에서 16GB로 추가
VSCode 연동
ec2를 실행하면 다음과 같이 대시보드에 실행 중으로 표시
우리는 개발할 때 해당 인스턴스로의 접근을 vscode를 이용해서 할 것임
우선 VSCode 열기
- 확장 > remote 검색 > Remote - SSH 설치
- 왼쪽 원격탐색기 > 구성(톱니바퀴 설정모양) > .ssh\config 선택
- 다음과 같이 작성. 세부 작성 방법은 그 아래 참고
- Host : vscode에서 표시할 이름. webhell로 작성
- HostName : 클라우드 IP 또는 호스트 이름. 아래에서 퍼블릭 DNS 참고
- User : ubuntu
- IdentityFile : 인스턴스 만들때 저장했던 키 파일. (.ssh\밑 경로에 저장)
- HostName 찾는 방법
- 인스턴스 ID 선택 > 연결 > SSH 클라이언트 > 4. 퍼블릭 DNS 부분 복사
잘 설정했으면 다음과 같이 연결 가능 대상이 생김. 가장 오른쪽 창 추가 버튼을 누르면 다음과 같이 연결된다
-
Linux > 계속 선택
- 기다리고 창이 전부 로드되면
- 터미널 > 새 터미널
여기까지 AWS 설치 및 연동 끝
클라우드에 APM 환경 설정
APM 설치
APM?
- Apache
- PHP
- Mysql
저장소 업데이트
# 등록된 저장소 내 패키지 정보를 최신으로 업데이트 한다.
$sudo apt update
# 최신으로 업데이트 된 저장소 내 패키지 정보를 바탕으로 시스템에 설치된 패키지들을 업그레이드 해준다.
$sudo apt upgrade -y
Apache 설치
# apache2를 설치 한다.
$sudo apt install apache2 -y
# 아파치 서버 시작
$sudo service apache2 start
- 설치가 되면 클라우드로 접속해서 확인
-
Hostname이나 IP주소로 접근가능
- 접속 주소는 SSH 연결할때 사용한 Hostname
- Hostname에서 IP주소의 추출은 다음과 같이 하면 된다.
- http://ec2-54-144-125-125.compute-1.amazonaws.com/ : 54.144.125.125
PHP 설치
- PHP 설치는 버전 정보 꼭 맞춰야 함.
-
버전마다 함수이름이랑, 문법이 바뀌기 때문에 자신이 개발했을 때 PHP 7인지 8인지 확인하고 설치해야 함
- XAMPP로 잘 따라왔으면 아마 PHP 8일 거임. 다음 화면을 보면 우리는 PHP 8.1.6을 설치했으므로 Ubuntu에도 8.1을 설치
$sudo apt update
$sudo apt install lsb-release ca-certificates apt-transport-https software-properties-common -y
$sudo add-apt-repository ppa:ondrej/php
$sudo apt update
$sudo apt install php8.1 -y
- PHP 설치 확인
xampp는 htdocs/ 폴더에서 php파일을 처리 했지만, Apahce에서는 /var/www/html/ 폴더에서 php등의 웹사이트 파일을 처리한다.
우선 ubuntu 사용자로 파일을 생성할 수 있도록 다음과 같이 권한 설정을 해준다.
$cd /var/www/html
$sudo chmod 777 /var/www/html
- /var/www/html/index.php 파일 생성
$vi index.php
파일안에 다음과 같이 작성
# 기존 index.html 파일 삭제
$rm -f index.html
- IP주소를 이용해서 다시 접근해 보면 다음과 같이 PHP 설치 정보 출력
- PHP 8.1.7 설치 확인
mysql 설치
# Mysql 설치
$sudo apt-get install apt-transport-https
$sudo curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
$sudo apt install mariadb-server
$sudo systemctl start mysql
$sudo systemctl enable mysql
현재 우분투 로그인 계정이 ubuntu인데, 비밀번호 설정이 되어있지 않아서 mysql 접속이 안된다.
우분투 비밀번호를 설정해 준다.
$sudo passwd ubuntu
Enter new UNIX password: ubuntu
Retype new UNIX password: ubuntu
passwd: password updated successfully
- mysql 접속 확인
$sudo mysql -u root -p Enter password : ubuntu
여기까지가 원격 서버에서 웹서버를 호스팅할 준비가 완료됨.
즉, local에서 작업했던 xampp환경을 리눅스에서 그대로 구현한 것
이제 github에 업로드 했던 **htdocs/** 폴더 내용을 우분투에서
**/var/www/html/** 폴더로 git clone하여 확인
작업했던 웹사이트 파일을 다운
- /var/www/html/ 폴더를 비우기
git pull
- 자신의 레포지토리에서
- Code > HTTPS > 복사
$git pull https://github.com/WebH3ll/myoungseok.git
- 다음과 같이 기존에 깃허브에 업로드했던 파일들이 다운로드 된다.
댓글남기기