WordPress CodeDeploy 번들 생성 - AMS 고급 애플리케이션 개발자 안내서

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

WordPress CodeDeploy 번들 생성

이 섹션에서는 애플리케이션 배포 번들을 생성하는 예를 제공합니다.

  1. WordPress를 다운로드하고 파일을 추출한 다음 ./scripts 디렉터리를 생성합니다.

    Linux 명령:

    wget https://github.com/WordPress/WordPress/archive/master.zip

    Windows: 브라우저 창에 붙여https://github.com/WordPress/WordPress/archive/master.zip넣고 zip 파일을 다운로드합니다.

    패키지를 어셈블할 임시 디렉터리를 생성합니다.

    Linux:

    mkdir /tmp/WordPress

    Windows: "WordPress" 디렉터리를 생성합니다. 나중에 디렉터리 경로를 사용합니다.

  2. WordPress 소스를 "WordPress" 디렉터리로 추출하고 ./scripts 디렉터리를 생성합니다.

    Linux:

    unzip master.zip -d /tmp/WordPress_Temp cp -paf /tmp/WordPress_Temp/WordPress-master/* /tmp/WordPress rm -rf /tmp/WordPress_Temp rm -f master cd /tmp/WordPress mkdir scripts

    Windows: 생성한 "WordPress" 디렉터리로 이동하여 여기에 "scripts" 디렉터리를 생성합니다.

    Windows 환경에 있는 경우 스크립트 파일의 브레이크 유형을 Unix(LF)로 설정해야 합니다. 메모장 ++에서 창 오른쪽 하단에 있는 옵션입니다.

  3. WordPress 디렉터리에서 CodeDeploy appspec.yml 파일을 생성합니다(예제를 복사하는 경우 들여쓰기를 확인하고 각 공간을 계산합니다). 중요: WordPress 파일(이 경우 WordPress 디렉터리)을 예상 대상(/var/www/html/WordPress)으로 복사하기 위해 "소WordPress" 경로가 올바른지 확인합니다. 예제에서 appspec.yml 파일은 WordPress 파일이 있는 디렉터리에 있으므로 "/"만 있으면 됩니다. 또한 Auto Scaling 그룹에 RHEL AMI를 사용했더라도 "os: linux" 줄을 그대로 둡니다. appspec.yml 파일의 예:

    version: 0.0 os: linux files: - source: / destination: /var/www/html/WordPress hooks: BeforeInstall: - location: scripts/install_dependencies.sh timeout: 300 runas: root AfterInstall: - location: scripts/config_wordpress.sh timeout: 300 runas: root ApplicationStart: - location: scripts/start_server.sh timeout: 300 runas: root ApplicationStop: - location: scripts/stop_server.sh timeout: 300 runas: root
  4. WordPress ./scripts 디렉터리에서 bash 파일 스크립트를 생성합니다.

    먼저 다음 콘텐츠config_wordpress.sh로를 생성합니다(원하는 경우 wp-config.php 파일을 직접 편집할 수 있음).

    참고

    DBName을 HA 스택 RFC에 지정된 값으로 바꿉니다(예: wordpress).

    DB_MasterUsername을 HA 스택 RFC에 지정된 MasterUsername 값으로 바꿉니다(예: admin).

    DB_MasterUserPassword를 HA 스택 RFC에 지정된 MasterUserPassword 값으로 바꿉니다(예: p4ssw0rd).

    DB_ENDPOINT를 HA 스택 RFC의 실행 출력에서 엔드포인트 DNS 이름으로 바꿉니다(예: srt1cz23n45sfg.clgvd67uvydk.us-east-1.rds.amazonaws.com). GetRfc 작업(CLI: get-rfc --rfc-id RFC_ID) 또는 이전에 제출한 HA 스택 RFC의 AMS 콘솔 RFC 세부 정보 페이지에서 이를 찾을 수 있습니다.

    #!/bin/bash chmod -R 755 /var/www/html/WordPress cp /var/www/html/WordPress/wp-config-sample.php /var/www/html/WordPress/wp-config.php cd /var/www/html/WordPress sed -i "s/database_name_here/DBName/g" wp-config.php sed -i "s/username_here/DB_MasterUsername/g" wp-config.php sed -i "s/password_here/DB_MasterUserPassword/g" wp-config.php sed -i "s/localhost/DB_ENDPOINT/g" wp-config.php
  5. 동일한 디렉터리에서 다음 콘텐츠install_dependencies.sh로를 생성합니다.

    #!/bin/bash yum install -y php yum install -y php-mysql yum install -y mysql service httpd restart
    참고

    HTTPS는 상태 확인이 처음부터 작동하도록 시작 시 사용자 데이터의 일부로 설치됩니다.

  6. 동일한 디렉터리에서 다음 콘텐츠start_server.sh로를 생성합니다.

    • Amazon Linux 인스턴스의 경우 다음을 사용합니다.

      #!/bin/bash service httpd start
    • RHEL 인스턴스의 경우 다음을 사용합니다(추가 명령은 SELINUX가 WordPress를 수락하도록 허용하는 정책임).

      #!/bin/bash setsebool -P httpd_can_network_connect_db 1 setsebool -P httpd_can_network_connect 1 chcon -t httpd_sys_rw_content_t /var/www/html/WordPress/wp-content -R restorecon -Rv /var/www/html service httpd start
  7. 동일한 디렉터리에서 다음 콘텐츠stop_server.sh로를 생성합니다.

    #!/bin/bash service httpd stop
  8. zip 번들을 생성합니다.

    Linux:

    $ cd /tmp/WordPress $ zip -r wordpress.zip .

    Windows: "WordPress" 디렉터리로 이동하여 모든 파일을 선택하고 zip 파일을 생성합니다. 이름을 wordpress.zip으로 지정해야 합니다.