AWS ec2에 apache, php 설치해서 웹서버 구축 방법

세차왕·2021년 5월 20일
1

안녕하세요. 세차왕 개발팀에 도미닉입니다.

오늘은 ec2에 apache, php를 설치하여 웹서버를 구축하는 방법을 공유하고자 합니다.

기존에 bitnami를 이용해 웹서버를 구축하는 방법은 공유했었는데요.

이번에는 apache, php를 각각 직접 설치하여 웹서버를 구축하는 방법을 공유하겠습니다.

아파치 설치

sudo yum install -y httpd

명령어로 간단하게 아파치를 설치할 수 있습니다.

php 설치

sudo yum install -y php

명령어로 php를 설치할 수 있지만 기본으로 5.4 버전으로 설치가 된다.

자신이 사용하는 php 버전으로 업그레이드를 진행해야 합니다.

php 업그레이드

저희가 사용하는 php5.6 버전으로 업그레이드하는 방법을 공유드립니다.

기본적으로 php -v 으로 버전을 확인하면 아래와 같이 5.4.34 버전으로 확인될 것입니다.

PHP 5.4.35 (cli) (built: Nov 14 2014 07:04:10)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2015, by Zend Technologies

5.6 버전으로 업그레이드해보겠습니다.

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

위 두가지 명령어를 쉘에서 실행합니다.

yum remove php-common

이 명령어로 기존 php를 제거합니다.

sudo yum install -y php56w php56w-opcache php56w-xml php56w-mcrypt php56w-gd php56w-devel php56w-mysql php56w-intl php56w-mbstring

이 명령어로 php5.6을 설치합니다.

sudo apachectl restart

새로운 php를 사용하기 위해 아파치를 재시작합니다.

php -v

이제 php 버전을 확인하면 5.6 버전으로 보여질 것입니다.

홈디렉토리 변경

sudo apachectl start 로 아파치를 실행했다면 ec2의 ip로 접속해서 웹페이지를 볼 수 있을 것입니다.

기본 홈디렉토리는 /var/www/html 로 되있을 것입니다.

이 경로에 웹프로젝트를 복사해서 웹페이지를 띄울 수 있습니다.

만약 홈디렉토리를 변경하고자 한다면 /etc/httpd/conf/httpd.conf 의

DocumentRoot "/var/www/html"

을 줄을 원하는 경로로 수정한 뒤에 아파치를 재시작하면 됩니다.

우리는 ftp로도 접속하기 쉽도록 /home/ec2-user/carwash/ 경로에 깃으로 프로젝트를 받아서 페이지를 띄웠습니다.

DocumentRoot "/var/www/html" 을
DocumentRoot "/home/ec2-user/carwash" 로 변경하면

carwash 폴더가 홈디렉토리가 되어 이 경로에 있는 코드들이 웹페이지로 표시됩니다.

권한 문제 해결

/var/www/html 경로에 깃으로 코드를 받아오면 페이지가 잘 뜨는데
/home/ec2-user/carwash 에 같은 코드를 넣으면 페이지가 안뜨는 문제가 발생했었습니다.

ec2-user 폴더의 권한이 문제였습니다.
700 폴더의 소유권이 ec2-user에 있고 700으로 되어있어서 root 사용자로 코드를 읽어올 수 없었습니다.

이 때 이 경로를 777로 하면 웹페이지는 뜨지만 파일질라(ftp)로는 접속할 수 없었습니다.

권한을 711로 셋팅하니 웹페이지도 뜨고 파일질라로도 접속할 수 있었습니다.

참고

https://www.techoism.com/how-to-upgrade-php-version-5-4-to-5-6-on-centosrhel/
https://stackoverflow.com/questions/9557503/amazon-ec2-apache-server-restart-issue

profile
세차왕 기술블로그입니다.

0개의 댓글