오르다 보면 언젠가는 정상에 다다르게 된다.

AWS

AWS EC2 Amazon 2 Aapache php 셋팅.

Looplian 2022. 6. 15. 17:48
반응형

우선 서비스를 시작하고자 하는  리전에 인스턴스 시작을 눌러준다.

 

Amazon Linux 2 AMI 를 선택한다.

생성된 인스턴스가 실행되면 오른쪽마우스를 누르고 연결을 눌러 콘솔 연결방법을 확인하고 연결한다.

우선 sudo yum update를 하여 새로운 업데이를 모두 설치해준다.

sudo yum update

설치가능한 php 버전을 확인해본다.

$ sudo yum list php
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Available Packages
php.x86_64                       5.4.16-46.amzn2.0.2                       amzn2-core

설치 가능한 버전이 5.4.16 버전이라는 뜻이다. 

7.2 버전을 사용하기 위해 https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ec2-lamp-amazon-linux-2.html 를 참조하여 설치한다.

sudo amazon-linux-extras install -y php7.2

위 코드를 실행하여 확장 모듈에 php7.2 버전을 다운로드 받는다.

$ yum list php
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Available Packages
php.x86_64                      7.2.34-1.amzn2                      amzn2extra-php7.2

설치 가능한 php 버전을 확인한다. 기본 php 가 7.2 로 업데이트 됐다.

 

php 에서 필요한 모듈들을 설치 한다.

sudo yum install php php-cli php-common php-dba php-dbg php-enchant php-gd php-json php-mbstring php-mysqlnd php-opcache 
sudo yum install php-pecl-imagick php-pecl-mcrypt php-pecl-oauth php-pecl-ssh2 php-pecl-uuid php-xml php-soap php-pecl-zip
sudo yum install php-pecl-memcached

기본적으로 apache2 가 같이 설치 되니 설치가 됐는지 확인해보자

$ php -v
PHP 7.2.34 (cli) (built: Oct 21 2020 18:03:20) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.34, Copyright (c) 1999-2018, by Zend Technologies


$ httpd -v
Server version: Apache/2.4.53 ()
Server built:   Apr 12 2022 12:00:44

 

시스템 재시작시 apache 가 같이 실행되도록 실행 목록에 등록한다.

sudo systemctl enable httpd

기본으로 사용할 사용자를 등록한다. 나중에 가상 호스팅 설정을 위해 적용한다.

sudo useradd tester
cd /home/
sudo chmod 755 tester/

관리자 권한으로 /etc/httpd/conf.d/로 접근한다.

sudo su
cd /etc/httpd/conf.d/

필요한 설정 파일들을 생성한다.

$ cat > addType.conf
AddType application/x-httpd-php .php .php4 .php3 .phtml .htm .html .inc .ph
AddType application/x-httpd-php-source .phps
^C 

$ cat > notrace.conf
TraceEnable off
^C

cat > virtualhost.conf
<VirtualHost *:80>
    ServerAdmin tester@test.com
    DocumentRoot /home/tester/public_html
    ServerName localhost
    ErrorLog logs/localhost-error_log
    CustomLog logs/localhost-access_log common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin tester@test.com
    DocumentRoot /home/tester/public_html
    ServerName tester.com
    ServerAlias www.tester.com
    ErrorLog logs/www.tester.com-error_log
    CustomLog logs/www.tester.com-access_log common
</VirtualHost>
^c

php파일의 연결을 해주고 버철 호스팅 설정을 해줬다.

당연히 /home/tester/public_html 디렉토리를 생성하고 안에 파일들이 있어야 한다.

$ sudo su
$ su - tester
$ cd /home/tester/
$ mkdir public_html
$ chmod 755 public_html/
$ cd /home/tester/public_html
$ cat > index.php 
<?php
echo "Hellow World !!";
^C

 

php 관련 셋팅은  /etc/php.ini 에서 해주면 된다.

기본적으로 하는 셋팅들은 아래와 같다.

short_open_tag = On
post_max_size = 1800M
upload_max_filesize = 500M
max_file_uploads = 30

 

아파치 웹서버를 실행해 보자~

systemctl start httpd

 

반응형