우선 서비스를 시작하고자 하는 리전에 인스턴스 시작을 눌러준다.
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
'AWS' 카테고리의 다른 글
바이브 코딩? AI 코딩? Amazon Q로 간단히 시작. (2) | 2025.05.29 |
---|---|
AWS RDS에서 information_schema.innodb_sys_tables에 테이블이 존재하지만 information_schema.tables에 없는 경우 (0) | 2025.05.12 |
AWS 스트리밍 서비스 구성 IVS (0) | 2023.11.08 |
MacOs AWS ec2 ssh 접속 맥에서 터미널로 ec2 접속하기 (0) | 2023.07.20 |
Amazon Linux 2 에서 Node.js 설치 및 실행 (0) | 2022.05.19 |