

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 자습서: AL2에 LAMP 서버 설치
<a name="ec2-lamp-amazon-linux-2"></a>

다음 절차는 AL2 인스턴스(LAMP 웹 서버 또는 LAMP 스택이라고도 함)에 PHP 및 [MariaDB](https://mariadb.org/about/)(MySQL의 커뮤니티 개발 포크)를 지원하는 Apache 웹 서버를 설치하는 데 도움이 됩니다. 이 서버를 사용해서 고정 웹사이트를 호스팅하거나 데이터베이스에서 정보를 읽고 쓰는 동적 PHP 애플리케이션을 배포할 수 있습니다.

**중요**  
Ubuntu 또는 Red Hat Enterprise, Linux와 같은 다른 배포에서 LAMP 웹 서버를 설정하려는 경우 이 자습서를 이용할 수 없습니다. AL2023의 경우 [AL2023에 LAMP 서버 설치를 참조하세요](https://docs.aws.amazon.com//linux/al2023/ug/ec2-lamp-amazon-linux-2023.html). Ubuntu의 경우 Ubuntu 커뮤니티 설명서 [ApacheMySQLPHP](https://help.ubuntu.com/community/ApacheMySQLPHP)를 참조하세요. 다른 배포는 관련 설명서를 참조하세요.

**옵션: 자동화를 사용하여 이 자습서 완료**  
다음 작업 대신 AWS Systems Manager 자동화를 사용하여이 자습서를 완료하려면 [AWS Docs-InstallALAMPServer-AL2](https://console.aws.amazon.com/systems-manager/automation/execute/AWSDocs-InstallALAMPServer-AL2) 자동화 문서를 실행합니다.

**Topics**
+ [1단계: LAMP 서버 준비](#prepare-lamp-server)
+ [2단계: LAMP 서버 테스트](#test-lamp-server)
+ [3단계: 데이터베이스 서버 보안 설정](#secure-mariadb-lamp-server)
+ [4단계: (선택 사항) phpMyAdmin 설치](#install-phpmyadmin-lamp-server)
+ [문제 해결](#lamp-troubleshooting)
+ [관련 주제](#lamp-more-info)

## 1단계: LAMP 서버 준비
<a name="prepare-lamp-server"></a>

**사전 조건**
+ 이 자습서에서는 인터넷에서 연결할 수 있는 퍼블릭 DNS 이름으로 AL2를 사용하여 새 인스턴스를 이미 시작했다고 가정합니다. 자세한 내용은 *Amazon EC2 사용 설명서*의 [인스턴스 시작](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html)을 참조하세요. SSH(포트 22), HTTP(포트 80), HTTPS(포트 443) 연결을 허용할 수 있도록 보안 그룹을 구성해야 합니다. 이러한 사전 조건에 대한 자세한 내용은 *Amazon EC2 사용 설명서*의 [보안 그룹 규칙을](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules.html) 참조하세요.
+ 다음 절차에서는 현재 AL2에서 사용할 수 있는 최신 PHP 버전을 설치합니다`php8.2`. 이 자습서에서 명시한 애플리케이션이 아닌 PHP 애플리케이션을 사용하려는 경우 `php8.2`와의 호환성을 확인해야 합니다.<a name="install_apache-2"></a>

**LAMP 서버를 준비하려면**

1. [인스턴스에 연결합니다](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html).

1. 모든 소프트웨어 패키지가 최신 상태로 업데이트되어 있는지 확인하기 위해, 인스턴스에서 퀵 소프트웨어 업데이트를 실행합니다. 이 업데이트 과정은 몇 분 정도 시간이 소요될 수 있지만, 최신 보안 업데이트와 버그 수정을 위해 수행할 필요가 있습니다.

   `-y` 옵션을 사용하면 확인 여부를 묻지 않고 업데이트를 설치합니다. 설치 전에 업데이트 정보를 확인하려면 이 옵션을 생략합니다.

   ```
   [ec2-user ~]$ sudo yum update -y
   ```

1. `mariadb10.5` Amazon Linux Extras 리포지토리를 설치하여 최신 버전의 MariaDB 패키지를 가져옵니다.

   ```
   [ec2-user ~]$ sudo amazon-linux-extras install mariadb10.5
   ```

   `sudo: amazon-linux-extras: command not found` 오류가 발생하면 인스턴스가 Amazon Linux 2 AMI로 실행되지 않은 것입니다(Amazon Linux AMI를 사용하고 있는 것일 수 있음). 다음 명령을 사용하여 Amazon Linux 버전을 볼 수 있습니다.

   ```
   cat /etc/system-release
   ```

1. `php8.2` Amazon Linux Extras 리포지토리를 설치하여 AL2용 PHP 패키지의 최신 버전을 가져옵니다.

   ```
   [ec2-user ~]$ sudo amazon-linux-extras install php8.2
   ```

1. 이제 인스턴스가 최신 상태이므로 Apache 웹 서버, MariaDB 및 PHP 소프트웨어 패키지를 설치할 수 있습니다. yum install 명령을 사용하여 여러 소프트웨어 패키지와 모든 관련 종속 프로그램을 동시에 설치합니다.

   ```
   [ec2-user ~]$ sudo yum install -y httpd
   ```

   다음 명령을 사용하여 이러한 패키지의 현재 버전을 볼 수 있습니다.

   ```
   yum info {{package_name}}
   ```

1. Apache 웹 서버를 시작합니다.

   ```
   [ec2-user ~]$ sudo systemctl start httpd
   ```

1.  **systemctl** 명령을 사용하여 Apache 웹 서버가 매번 시스템이 부팅할 때마다 시작되도록 합니다.

   ```
   [ec2-user ~]$ sudo systemctl enable httpd
   ```

   다음 명령을 실행하여 **httpd**가 실행되고 있는지 확인할 수 있습니다.

   ```
   [ec2-user ~]$ sudo systemctl is-enabled httpd
   ```

1. 인스턴스에 대해 인바운드 HTTP(포트 80) 연결을 허용하는 보안 규칙이 없는 경우 추가합니다. 기본적으로 초기화 중에 인스턴스에 대해 **launch-wizard-{{N}}** 보안 그룹이 설정됩니다. 이 그룹에는 SSH 연결을 허용하는 규칙이 한 개 들어 있습니다.

   1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

   1. **인스턴스**를 선택하고 해당 인스턴스를 선택합니다.

   1. **보안** 탭에서 인바운드 규칙을 확인합니다. 다음과 같은 규칙이 표시되어야 합니다.

      ```
      Port range   Protocol     Source
      22           tcp          0.0.0.0/0
      ```
**주의**  
`0.0.0.0/0`을 사용하면 모든 IP 주소에서 SSH를 사용하여 인스턴스에 액세스할 수 있습니다. 테스트 환경에서 잠시 사용하는 것은 괜찮지만 프로덕션 환경에서는 안전하지 않습니다. 프로덕션에서는 특정 IP 주소나 주소 범위만 인스턴스에 액세스하도록 허용하세요.

   1. 보안 그룹에 대한 링크를 선택합니다. [보안 그룹에 규칙 추가](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#adding-security-group-rule)의 절차에 따라 다음 값을 사용하여 새 인바운드 보안 규칙을 추가합니다.
      + **유형**: HTTP
      + **프로토콜**: TCP
      + **포트 범위**: 80
      + **소스**: 사용자 지정

1. 웹 서버를 테스트합니다. 웹 브라우저에서 인스턴스의 공용 DNS 주소(또는 공용 IP 주소)를 입력합니다. `/var/www/html`에 콘텐츠가 없으면 Apache 테스트 페이지가 표시됩니다. Amazon EC2 콘솔을 사용하여 인스턴스의 퍼블릭 DNS를 확인할 수 있습니다. **퍼블릭 DNS** 열을 확인합니다. 이 열이 숨겨진 경우 **열 표시/숨기기** 아이콘(기어 모양 아이콘)을 선택하고 **퍼블릭 DNS**를 선택합니다.

   인스턴스의 보안 그룹에 포트 80에서 HTTP 트래픽을 허용하는 규칙이 포함되어 있는지 확인합니다. 자세한 내용은 [보안 그룹 규칙 추가](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#adding-security-group-rule) 섹션을 참조하세요.
**중요**  
Amazon Linux을 사용하지 않는 경우, 이러한 연결을 허용하도록 인스턴스의 방화벽을 구성할 필요가 있습니다. 방화벽 구성 방법에 대한 자세한 내용은 사용자의 특정 배포에 대한 문서를 참조하세요.  
![서버를 테스트하면 Apache 테스트 페이지가 표시됩니다.](http://docs.aws.amazon.com/ko_kr/linux/al2/ug/images/apache_test_page_al2_2.4.png)

Apache **httpd**는 Apache document root라는 디렉터리에 보관된 파일을 처리합니다. Amazon Linux Apache 문서 루트는 `/var/www/html`이며, 기본적으로 루트에서 소유합니다.

`ec2-user` 계정에서 이 디렉터리의 파일을 조작할 수 있게 하려면 디렉터리의 소유권과 권한을 변경해야 합니다. 이 작업을 수행하는 방법에는 여러 가지가 있습니다. 본 자습서에서는 `ec2-user`를 `apache` 그룹에 추가하여 `apache` 그룹에 `/var/www` 디렉터리의 소유권을 부여하고 쓰기 권한을 할당합니다.<a name="setting-file-permissions-2"></a>

**파일 권한 설정**

1. 사용자(이 경우는 `ec2-user`)를 `apache` 그룹에 추가합니다.

   ```
   [ec2-user ~]$ sudo usermod -a -G apache {{ec2-user}}
   ```

1. 로그아웃하고 다시 로그인한 다음, 새 그룹을 선택하고 멤버십을 확인합니다.

   1. 로그아웃합니다(**exit** 명령을 사용하거나 터미널 창 닫기).

      ```
      [ec2-user ~]$ exit
      ```

   1. `apache` 그룹의 멤버십을 확인하려면 인스턴스에 다시 연결한 후 다음 명령을 실행합니다.

      ```
      [ec2-user ~]$ groups
      ec2-user adm wheel apache systemd-journal
      ```

1. `/var/www` 및 그 콘텐츠의 그룹 소유권을 `apache` 그룹으로 변경합니다.

   ```
   [ec2-user ~]$ sudo chown -R ec2-user:apache /var/www
   ```

1. 그룹 쓰기 권한을 추가하여 나중에 하위 디렉터리에 대한 그룹 ID를 설정하려면 `/var/www`와 그 하위 디렉터리의 디렉터리 권한을 변경합니다.

   ```
   [ec2-user ~]$ sudo chmod 2775 /var/www && find /var/www -type d -exec sudo chmod 2775 {} \;
   ```

1. 그룹 쓰기 권한을 추가하려면 `/var/www` 및 그 하위 디렉터리의 파일 권한을 반복하여 변경합니다.

   ```
   [ec2-user ~]$ find /var/www -type f -exec sudo chmod 0664 {} \;
   ```

이제 `ec2-user`와 `apache` 그룹의 향후 멤버는 Apache document root에서 파일 추가, 삭제, 편집을 할 수 있고, 이를 통해 사용자는 정적 웹 사이트 또는 PHP 애플리케이션과 같은 콘텐츠를 추가할 수 있습니다.

**웹 서버를 보호하려면(선택 사항)**  
HTTP 프로토콜을 실행하는 웹 서버는 송신하거나 수신하는 데이터에 대해 아무런 전송 보안 기능도 제공하지 않습니다. 웹 브라우저를 사용하여 HTTP 서버에 연결할 때 방문하는 URL, 수신하는 웹 페이지의 내용, 제출하는 HTML 양식의 내용(암호 포함)이 모두 네트워크 경로를 따라 어디서든 엿보려는 사람들에게 보입니다. 웹 서버를 안전하게 보호하기 위한 최선의 방법은 SSL/TLS 암호화로 데이터를 보호하는 HTTPS(HTTP Secure) 지원 기능을 설치하는 것입니다.

서버에서 HTTPS를 활성화하는 방법에 대한 자세한 내용은 [자습서: AL2에서 SSL/TLS 구성](SSL-on-amazon-linux-2.md) 섹션을 참조하세요.

## 2단계: LAMP 서버 테스트
<a name="test-lamp-server"></a>

서버가 설치되어 실행 중이고 파일 권한이 올바르게 설정되었다면 사용자의 `ec2-user` 계정을 통해 인터넷에서 사용 가능한 `/var/www/html` 디렉터리에서 PHP 파일을 생성할 수 있어야 합니다.

**LAMP 서버를 테스트하려면**

1. Apache 문서 루트에서 PHP 파일을 생성합니다.

   ```
   [ec2-user ~]$ echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
   ```

   이 명령을 실행하는 동안 "Permission denied" 오류가 발생하면, 로그아웃하고 다시 로그인한 다음, [파일 권한 설정](#setting-file-permissions-2)에서 구성한 적절한 그룹 권한을 선택합니다.

1. 웹 브라우저에서는 방금 생성한 파일의 URL을 입력합니다. 이 URL은 인스턴스의 퍼블릭 DNS 주소에 슬래시(/)와 파일 이름이 추가된 형태입니다. 다음 예를 참조하세요.

   ```
   http://{{my.public.dns.amazonaws.com}}/phpinfo.php
   ```

   PHP 정보 페이지가 표시되어야 합니다:  
![LAMP 서버를 테스트하면 PHP 정보 페이지가 표시됩니다.](http://docs.aws.amazon.com/ko_kr/linux/al2/ug/images/phpinfo7.2.10.png)

   이 페이지가 보이지 않을 경우 이전 단계에서 `/var/www/html/phpinfo.php` 파일이 제대로 생성되었는지 확인하세요. 또한 다음 명령을 사용하여 필수 패키지가 모두 설치되었는지도 확인할 수 있습니다.

   ```
   [ec2-user ~]$ sudo yum list installed httpd mariadb-server php-mysqlnd
   ```

   출력에서 필요한 패키지가 하나라도 나열되지 않으면, **sudo yum install {{package}}** 명령을 사용하여 패키지를 설치합니다. `php7.2` 및 `lamp-mariadb10.2-php7.2` extra가 **amazon-linux-extras** 명령의 출력에서 활성화되는지도 확인합니다.

1. `phpinfo.php` 파일을 삭제합니다. 이 파일은 유용한 정보를 포함하고 있지만 보안상 이유로 인터넷에 공개되어서는 안 됩니다.

   ```
   [ec2-user ~]$ rm /var/www/html/phpinfo.php
   ```

이제 LAMP 웹 서버가 완전히 동작하는 상태가 됩니다. `/var/www/html`의 Apache document root에 콘텐츠를 추가하면 인스턴스에 대한 퍼블릭 DNS 주소에서 그 콘텐츠를 볼 수 있습니다.

## 3단계: 데이터베이스 서버 보안 설정
<a name="secure-mariadb-lamp-server"></a>

MariaDB 서버의 기본 설치는 테스트 및 개발 기능에 유용한 여러 기능을 포함하고 있지만, 이 기능들은 프로덕션 서버에서는 비활성화되거나 제거되어야 합니다. **mysql\_secure\_installation** 명령을 통해 루트 암호를 설정하고 설치 패키지에서 보안성이 낮은 기능을 제거하는 과정을 수행할 수 있습니다. MariaDB 서버를 사용할 계획이 없더라도 이 절차를 수행하는 것이 좋습니다.<a name="securing-maria-db"></a>

**MariaDB 서버의 보안을 유지하려면**

1. MariaDB 서버를 시작합니다.

   ```
   [ec2-user ~]$ sudo systemctl start mariadb
   ```

1. **mysql\_secure\_installation**를 실행합니다.

   ```
   [ec2-user ~]$ sudo mysql_secure_installation
   ```

   1. 암호를 입력하라는 메시지가 표시되면 루트 계정의 암호를 입력합니다.

      1. 현재 루트 암호를 입력합니다. 기본적으로 root 계정에는 암호가 없습니다. Enter를 누릅니다.

      1. 암호를 설정하려면 **Y**를 누른 후 안전한 암호를 두 번 입력합니다. 보안 암호 생성에 대한 자세한 내용은 [https://identitysafe.norton.com/password-generator/](https://identitysafe.norton.com/password-generator/) 섹션을 참조하세요. 이 암호를 안전한 장소에 보관하시기 바랍니다.

         MariaDB에 대한 루트 암호를 설정하는 것은 데이터베이스를 보호하는 가장 기초적인 방법일 뿐입니다. 데이터베이스 기반 애플리케이션을 빌드하거나 설치할 때, 일반적으로 그 애플리케이션의 데이터베이스 서비스 사용자를 만들고 데이터베이스 관리 이외의 어떤 목적으로도 루트 계정을 사용하지 못하게 합니다.

   1. **Y**를 눌러서 익명 사용자 계정을 제거합니다.

   1. **Y**를 입력하여 원격 루트 로그인을 비활성화합니다.

   1. **Y**를 눌러서 테스트 데이터베이스를 제거합니다.

   1. **Y**를 눌러서 권한 테이블을 다시 로드하고 변경사항을 저장합니다.

1. (선택 사항) 지금 바로 사용할 계획이 아니라면 MariaDB 서버를 중지합니다. 필요할 때 다시 시작할 수 있습니다.

   ```
   [ec2-user ~]$ sudo systemctl stop mariadb
   ```

1. (선택 사항) 부팅 시 MariaDB 서버가 시작되도록 하려면 다음 명령을 입력합니다.

   ```
   [ec2-user ~]$ sudo systemctl enable mariadb
   ```

## 4단계: (선택 사항) phpMyAdmin 설치
<a name="install-phpmyadmin-lamp-server"></a>

[phpMyAdmin](https://www.phpmyadmin.net/)은 EC2 인스턴스의 MySQL 데이터베이스를 보고 편집하는 데 사용할 수 있는 웹 기반 데이터베이스 관리 도구입니다. Amazon Linux 인스턴스에서 `phpMyAdmin`을 설치 및 구성하려면 다음 단계를 따르세요.

**중요**  
Apache에서 SSL/TLS를 활성화하지 않은 경우 `phpMyAdmin`을 사용하여 LAMP 서버에 액세스하지 않는 것이 좋습니다. 이 상태에서 액세스하면 데이터베이스 관리자 암호와 기타 데이터가 인터넷을 통해 안전하지 못한 상태로 전송됩니다. 개발자의 보안 권장 사항을 보려면 [phpMyAdmin 설치 보안](https://docs.phpmyadmin.net/en/latest/setup.html#securing-your-phpmyadmin-installation)을 참조하세요. EC2 인스턴스에서의 웹 서버 보안에 대한 일반적인 정보는 [자습서: AL2에서 SSL/TLS 구성](SSL-on-amazon-linux-2.md) 섹션을 참조하세요.

**phpMyAdmin을 설치하려면**

1. 필요한 종속 항목을 설치합니다.

   ```
   [ec2-user ~]$ sudo yum install php-mbstring php-xml -y
   ```

1. Apache를 다시 시작합니다.

   ```
   [ec2-user ~]$ sudo systemctl restart httpd
   ```

1. `php-fpm`을 다시 시작합니다.

   ```
   [ec2-user ~]$ sudo systemctl restart php-fpm
   ```

1. Apache 문서 루트(`/var/www/html`)로 이동합니다.

   ```
   [ec2-user ~]$ cd /var/www/html
   ```

1. [https://www.phpmyadmin.net/downloads](https://www.phpmyadmin.net/downloads)에서 phpMyAdmin 최신 릴리스의 소스 패키지를 선택합니다. 인스턴스로 파일을 직접 다운로드하려면 다음 예제와 같이 링크를 복사한 후 **wget** 명령에 붙여 넣습니다.

   ```
   [ec2-user html]$ wget {{https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz}}
   ```

1. `phpMyAdmin` 폴더를 생성하고 다음 명령을 사용하여 해당 폴더로 패키지의 압축을 풉니다.

   ```
   [ec2-user html]$ mkdir phpMyAdmin && tar -xvzf {{phpMyAdmin-latest-all-languages.tar.gz}} -C phpMyAdmin --strip-components 1
   ```

1. {{phpMyAdmin-latest-all-languages.tar.gz}} tarball을 삭제합니다.

   ```
   [ec2-user html]$ rm {{phpMyAdmin-latest-all-languages.tar.gz}}
   ```

1.  (선택 사항) MySQL 서버가 실행 중이지 않으면 지금 시작합니다.

   ```
   [ec2-user ~]$ sudo systemctl start mariadb
   ```

1. 웹 브라우저에서 phpMyAdmin 설치의 URL을 입력합니다. 아래의 예와 같이 이 URL은 인스턴스의 퍼블릭 DNS 주소(또는 퍼블릭 IP 주소)에 슬래시(/)와 설치 디렉터리의 이름이 추가된 형태입니다. 다음 예를 참조하세요.

   ```
   http://{{my.public.dns.amazonaws.com}}/phpMyAdmin
   ```

   사용자는 phpMyAdmin 로그인 페이지를 볼 수 있어야 합니다:  
![phpMyAdmin 설치의 URL을 입력하면 phpMyAdmin 로그인 화면이 나타납니다.](http://docs.aws.amazon.com/ko_kr/linux/al2/ug/images/phpmyadmin_login.png)

1. 앞서 만든 `root` 사용자 이름 및 MySQL 루트 암호로 phpMyAdmin 설치에 로그인합니다.

   작동하려면 먼저 설치를 구성해야 합니다. 먼저 다음과 같이 구성 파일을 수동으로 작성하는 것이 좋습니다.

   1. 최소 구성 파일로 시작하려면 자주 사용하는 텍스트 편집기를 사용하여 새 파일을 생성한 후에 `config.sample.inc.php` 내용을 파일에 복사합니다.

   1. 이 파일을 `config.inc.php`가 포함된 phpMyAdmin 디렉토리에 `index.php`로 저장하세요.

   1. 추가 설정에 대해서는 phpMyAdmin 설치 지침에서 [설정 스크립트 사용](https://docs.phpmyadmin.net/en/latest/setup.html#using-the-setup-script) 섹션의 파일 생성 후 지침을 참조하세요.

    phpMyAdmin에 대한 자세한 내용은 [phpMyAdmin 사용 설명서](http://docs.phpmyadmin.net/en/latest/user.html)를 참조하세요.

## 문제 해결
<a name="lamp-troubleshooting"></a>

이 섹션에서는 새 LAMP 서버를 설정하는 동안 발생할 수 있는 일반적인 문제 해결을 위한 제안을 제공합니다.

### 웹 브라우저를 사용하여 서버에 연결할 수 없음
<a name="is_apache_on"></a>

다음을 확인하여 Apache 웹 서버가 실행 중이고 엑세스 가능한지 확인합니다.
+ **웹 서버가 실행되고 있습니까?**

  다음 명령을 실행하여 **httpd**가 실행되고 있는지 확인할 수 있습니다.

  ```
  [ec2-user ~]$ sudo systemctl is-enabled httpd
  ```

  **httpd** 프로세스가 실행되지 않는 경우 [LAMP 서버를 준비하려면](#install_apache-2)에 설명된 단계를 반복합니다.
+ **방화벽이 올바르게 구성되었습니까?**

  인스턴스의 보안 그룹에 포트 80에서 HTTP 트래픽을 허용하는 규칙이 포함되어 있는지 확인합니다. 자세한 내용은 [보안 그룹 규칙 추가](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#adding-security-group-rule) 섹션을 참조하세요.

### HTTPS를 사용하여 서버에 연결할 수 없음
<a name="is-https-enabled"></a>

다음 확인을 수행하여 Apache 웹 서버가 HTTPS를 지원하도록 구성되어 있는지 확인합니다.
+ **웹 서버가 올바르게 구성되었습니까?**

  Apache를 설치한 후 서버는 HTTP 트래픽에 대해 구성됩니다. HTTPS를 지원하려면 서버에서 TLS를 활성화하고 SSL 인증서를 설치합니다. 자세한 정보는 [자습서: AL2에서 SSL/TLS 구성](SSL-on-amazon-linux-2.md) 섹션을 참조하세요.
+ **방화벽이 올바르게 구성되었습니까?**

  인스턴스의 보안 그룹에 포트 443에서 HTTP 트래픽을 허용하는 규칙이 포함되어 있는지 확인합니다. 자세한 내용은 [보안 그룹에 규칙 추가를 참조하세요](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#adding-security-group-rule).

## 관련 주제
<a name="lamp-more-info"></a>

파일을 인스턴스에 전송하거나 웹 서버에 WordPress 블로그를 설치하는 것에 대한 자세한 다용은 다음 문서를 참고하세요.
+ [를 사용하여 Linux 인스턴스로 파일을 전송합니다WinSCP](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html#Transfer_WinSCP).
+ [SCP 클라이언트를 사용하여 Linux 인스턴스로 파일을 전송합니다](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-linux-inst-ssh.html#linux-file-transfer-scp).
+ [자습서: AL2에서 WordPress 블로그 호스팅](hosting-wordpress.md)

이 자습서에서 사용되는 명령과 소프트웨어에 대한 자세한 내용은 다음 웹 페이지를 확인하세요.
+ Apache 웹 서버: [http://httpd.apache.org/](http://httpd.apache.org/)
+ MariaDB 데이터베이스 서버: [https://mariadb.org/](https://mariadb.org/)
+ PHP 프로그래밍 언어: [http://php.net/](http://php.net/)
+ `chmod` 명령: [https://en.wikipedia.org/wiki/Chmod](https://en.wikipedia.org/wiki/Chmod)
+ `chown` 명령: [https://en.wikipedia.org/wiki/Chown](https://en.wikipedia.org/wiki/Chown)

웹 서버에 대한 도메인 이름을 등록하거나 기존 도메인 이름을 현재 호스트로 이전하는 것에 대한 자세한 내용은 *Amazon Route 53 개발자 안내서*의 [Amazon Route 53에서 도메인 및 하위 도메인 생성 및 마이그레이션](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/creating-migrating.html)을 참조하세요.