티스토리 뷰

반응형

안녕하세요 도미닉입니다

 

오늘은 AWS EC2 에 PHP 로 만들어진 웹 프로젝트를 띄워보도록 하겠습니다.

 

1. AWS 에 가입해서 로그인

각자 가입할 수 있다고 생각한다.

 

2. 콘솔에 접속해 인스턴스 생성

AWS 메인 페이지 상단 오른쪽에 콘솔에 로그인 버튼을 클릭해 콘솔 페이지로 이동한다.

 

 

전체 서비스 - 컴퓨팅 - EC2 를 선택한다.

 

 

왼쪽 메뉴에서 인스턴스 - 인스턴스 를 클릭한다.

 

 

상단에 파란색 인스턴스 시작 버튼을 클릭한다.

 

 

가장 상단에 Amazon Linux 를 선택한다.

 

 

원하는 사양을 선택 후 검토, 다음을 누르면 위와 같이 키 페어를 선택하는 페이지가 뜬다.

 

서버에 접속하기 위해 필요한 파일로 중요한 파일이다.

 

기존에 만든 적이 없다거나 뭔지 잘 모르겠다면 "새 키 페어 생성" 을 선택한 후 원하는 키 페어 이름을 작성하고 키 페어 다운로드 버튼을 클릭해서 키 페어 파일을 다운로드 받는다.

 

키 페어 파일을 다운로드 받으면 인스턴스 시작 버튼을 누를 수 있게 되며 인스턴스 시작을 눌러 인스턴스 생성을 완료한다.

 

 

 

3. 터미널로 인스턴스에 접속

ssh -i <인증서이름 경로, 이름>.pem ec2-user@<서버IP>

로 접속해주면 됩니다.

 

맥의 경우 다운로드 받은 인증서는 Downloads 폴더에 가면 있습니다.

터미널을 연 뒤에 Downloads 폴더로 이동하고 위에 명령어로 접속하면 접속이 됩니다.

 

 

4. 인스턴스에 FTP 로 접속할 수 있도록 vsftpd 설정

서버에 정상적으로 접속이 되었으면 콘솔에 아래 명령어를 쳐서 vsftpd 패키지를 설치한다.

 

sudo yum install vsftpd

y 를 눌러서 설치를 진행한다.

 

 

 

vsftpd 설정을 변경하기 위해 설정 파일을 연다.

 

sudo vim /etc/vsftpd/vsftpd.conf

 

파일 중간에 anonymous_enable=YES 라고 되어 있는 부분에서 YES 를 NO 로 변경한다.

저장하고 빠져나온다.

 

5. 인스턴스에 FTP 로 접속할 수 있도록 포트 열기

 

AWS 인스턴스 목록에서 네트워크 및 보안 - 보안 그룹을 클릭한다.

 

보안 그룹을 만든 적이 없다면 <보안 그룹 생성> 버튼을 클릭한다.

 

22번, 80번도 같은 방법으로 열어주세요!

보안 그룹 이름과 설명은 임의로 작성해도 된다.

 

인바운드 규칙에 규칙 추가를 누르고 FTP 를 통신을 위한 21번 포트와 페이지를 띄워줄 8080번 포트, ssh 접속을 위한 22번 포트, http 연결을 위한 80번 포트를 열어준다. 

 

소스는 위치 무관으로 하는데 자신의 IP 를 알고 있다면 원하는 범위로 조정하면 된다.

 

보안 그룹 변경을 해야한다.

 

인스턴스 목록에서 작업중인 인스턴스를 오른쪽 클릭해서 보안 그룹 변경을 선택한다.

 

우리가 만든 보안 그룹으로 변경한다.

 

6. FTP 연결

파일질라를 이용해 FTP 연결을 할 것이다.

 

파일질라가 설치되어있지 않다면 인터넷에 검색해서 설치한다.

 

파일 질라를 실행한 뒤에 왼쪽 위에 끝에 사이트 관리자를 클릭한다.

 

 

프로토콜은 SFTP 를 선택하고 호스트는 인스턴스의 IP 를 입력한다.

 

로그온 유형은 키 파일로 하고 사용자 이름은 ec2-user 를 입력한다.

 

키 파일은 AWS 에서 인스턴스를 생성하면서 다운로드 받은 pem 인증서를 선택한다.

 

FTP 연결이 된다.

 

 

7. FTP 로 bitnami 설치 파일 업로드하고 설치하기

 

apache, mysql, php 를 한번에 설치하는 방법 중에 bitnami 가 있다.

 

참고로 저희가 사용 중인 버전인 5.6 버전은 아래 링크에서 다운로드 받을 수 있다.

 

https://downloads.bitnami.com/files/stacks/lampstack/5.6.11-0/bitnami-lampstack-5.6.11-0-dev-linux-x64-installer.run

파일질라에 오른쪽 영역에 이 파일을 드래그해서 넣으면 업로드가 진행된다.

 

쉘에서 이 설치 파일에 실행 권한을 주고 실행합니다.

chmod 700 bitnami-lampstack-5.6.4-0-dev-linux-x64-installer.run

./bitnami-lampstack-5.6.4-0-dev-linux-x64-installer.run

 

처음에는 Y 를 누르고 그 뒤에 아무것도 입력하지 않고 엔터만 눌러서 진행한다.

 

Is the selection above correct 에서 Y 를 선택해 설치를 진행한다.

 

폴더를 선택하라고 하는데 기본 경로로 진행하기 위해 그냥 아무것도 입력하지 않고 엔터를 누른다.

 

MySQL 에 루트 패스워드를 입력하고 엔터를 누른다.

 

진행하시겠냐는 질문에 Y 를 누르면 설치가 시작된다.

 

진행할지 물어볼 때 엔터 누르고 Launch Bitnami LAMP Stack 에서 Y 누르고 또 다시 엔터를 누르면 설치가 완료된다.

 

 

8. 웹페이지 뜨는지 확인

 

정상적으로 설치되었다면 기본 페이지가 떠야한다.

 

인스턴스 IP:8080 으로 접속을 하면 기본 페이지가 뜬다.

 

ex) 172.31.23.194:8080  으로 입력하면 bitnami 기본 페이지가 떠야한다.

 

9. 자신의 웹 프로젝트 업로드하기

 

bitnami 는 apache2/htdocs 경로에 있는 파일이 기본 페이지로 표시가 된다.

 

나를 따라했으면 기본 페이지가 아래 경로에 있을 것이다.

 

/home/ec2-user/lampstack-5.6.4-0/apache2/htdocs

 

이 경로에 있는 파일, 폴더를 전부 삭제하고 위 경로에 웹 프로젝트를 업로드하면 인스턴스 IP:8080 에 표시될 것이다.

 

 

10. PHP 설정

 

짧은 태그를 활용하고 있다면 php.ini 파일에 short_open_tag 을 On 으로 변경해야 한다.

 

bitnami 에서 php.ini 은 /home/ec2-user/lampstack-5.6.4-0/php/etc/php.ini 에 위치해있다.

 

vi 편집기로 파일을 연다.

 

short_open_tag = Off 로 되어있는 부분을 찾아서 Off 를 On 으로 변경한다.

 

 

php 가 아닌 확장자에 php 코드가 있다면 그 확장자를 등록해줘야한다.

 

/home/ec2-user/lampstack-5.6.4-0/apache2/conf/httpd.conf 파일을 연다.

 

아래로 내리다보면 AddType application/x-httpd-php .php .phtml 이라는 코드가 보인다.

 

이 부분에 .phtml 뒤에 추가할 확장자를 입력해주면 된다.

 

만약 html 에서 php 코드를 사용한다고 하면 위 사진처럼 .html 을 추가해주면 된다.

 

찾기 힘들다면 터미널에서 esc 를 누르고 /을 입력하고 원하는 검색어를 입력하면 코드를 찾을 수 있다.

 

위 사진에 네모친 부분처럼 입력하고 엔터를 누른 뒤에 다음 검색을 찾으려면 n 을 누르면 된다.

 

설정을 바꾼 뒤에는 아파치를 재시작해야지 바뀐 설정이 반영된다.

 

만약 index.php 가 짧은 태그로 실행되고 있다면 첫 페이지가 안뜰 수 있다.

 

이럴 때는 위에 설정은 변경한 뒤 아파치를 재시작하고 새로고침하면 웹 프로젝트가 잘 뜰 것이다.

 

11. 80번 포트로 접속 허용하기

지금까지 8080번  포트로 페이지를 열 수 있었다.

 

하지만 우리는 보통 url만 적어서 80번 포트로 페이지를 연다.

 

AWS 에서 80번 포트를 열려면 조금 복잡하다.

 

루트 계정을 활용해야 하고 웹페이지를 띄우는 계정 또한 변경이 필요하다.

 

80번 포트로 접속을 해도 8080번 포트로 여는 것과 동일하게 페이지가 열리는 방법이 있다.

 

sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

 

이 명령어를 통해 80번 포트로 접속했을 때 8080번 포트로 리다이렉트를 할 수 있다.

 

이렇게 해서 인스턴스의 IP 로 접속했을 때 뒤에 :8080 을 붙이지 않더라도 페이지를 띄울 수 있다.

 

참고 :

dololak.tistory.com/648

 

[LAMP] 비트나미 LAMP 설치하기

LAMP PHP를 통해 웹 어플리케이션을 개발 혹은 구축하기 위해서는 PHP와 Apache Web 서버 그리고 MySQL같은 DBMS까지 설치한 후에 환경을 구축해야 합니다. 그러나 이러한 작업은 PHP 환경을 구축하는데에

dololak.tistory.com

idchowto.com/?p=30828

 

idchowto.com - 스마일서브(Cloudv.kr)

IDC구축,운영,보안등 모든 지식을 공유합니다

idchowto.com

extbrain.tistory.com/21

 

[PHP] 짧은 태그 허용하기 (short_open_tag)

▶PHP 짧은 태그 허용하기 (short_open_tag) ▶설명 PHP에 시작 태그는

extbrain.tistory.com

m.blog.naver.com/PostView.nhn?blogId=carrotcarrot&logNo=220680470792&proxyReferer=https:%2F%2Fwww.google.com%2F

 

[A.W.S & FTP] EC2에 FTP 접속 가능하도록 설정하기

웹서버 설정이 되었으니! 여러가지 소스 파일들을 업로드 해봐야겠지요? 보통 업로드는 어떻게 하나요?? 바...

blog.naver.com

community.bitnami.com/t/installer-with-php-5-6-11/49782/2

 

Installer with PHP 5.6.11

Hello @jasonp You can download the installer for that LAMP with PHP 5.6.11 version from the link below: https://downloads.bitnami.com/files/stacks/lampstack/5.6.11-0/bitnami-lampstack-5.6.11-0-dev-linux-x64-installer.run Best Regards, Juan Ariza

community.bitnami.com

codechacha.com/ko/use-80port-in-aws/

 

AWS에서 80 포트 사용하기

EC2에서 80포트를 Inbound에 설정하여도 domain으로 접속할 때 접속이 되지 않았습니다. 80포트를 8000으로 연결하도록 iptable을 변경하면 domain으로 접속할 때 포트번호를 입력하지 않아도 되었습니다.

codechacha.com

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함