다음과 같은 경우 이 가이드가 유용할 수 있습니다.
- App Engine에서 애플리케이션을 실행하는 경우
- Cloud SQL을 데이터베이스로 사용하는 경우
- phpMyAdmin을 MySQL 인터페이스로 사용하거나 데이터베이스 관리에 웹 인터페이스를 선호하는 경우
Compute Engine을 사용하는 경우 클릭하여 배포 기능을 통해 사용할 수 있는 개발 스택이나 제품 중 하나를 사용하는 것이 좋습니다. MySQL이 포함된 LAMP 및 LEMP와 같은 스택이나 Drupal과 같은 제품을 배포하면 배포 과정에서 phpMyAdmin을 설치할 수 있는 옵션이 제공됩니다.
목표
- App Engine 표준 환경에 phpMyAdmin 배포하기
비용
이 가이드에서는 비용이 청구될 수 있는 다음과 같은 Cloud Platform 구성요소를 사용합니다.
- App Engine
- Cloud SQL
가격 계산기를 사용하여 예상 사용량을 토대로 예상 비용을 산출합니다.
시작하기 전에
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Cloud SQL 2세대 인스턴스를 만듭니다.
- (선택사항) Cloud SQL 인스턴스를 사용하는 App Engine 애플리케이션을 배포하거나 기존 애플리케이션을 선택합니다.
예를 들어 방명록 샘플을 만들고 배포합니다. phpMyAdmin 자체를 배포할 수 있지만 실제 시나리오에서는 이를 App Engine 애플리케이션과 함께 사용하는 것이 좋습니다.
phpMyAdmin 소스 코드 다운로드
phpMyAdmin는 App Engine 애플리케이션의 서비스로 배포되므로 phpMyAdmin의 소스 코드를 다운로드해야 합니다. 다음 단계를 따르세요.
Cloud Shell 터미널에서 다음 명령어를 입력하여 phpMyAdmin 버전 4.9.5의 소스 코드를 다운로드합니다.
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.5/phpMyAdmin-4.9.5-all-languages.tar.gz
다른 버전의 phpMyAdmin을 사용하려면 phpMyAdmin 다운로드 페이지에서 사용 가능한 버전의 링크를 사용합니다.
새로운 디렉토리를 만듭니다. 해당 디렉터리로 파일이 추출됩니다.
mkdir phpMyAdmin
자료실에서 파일을 추출하여 새로운 디렉터리로 보냅니다.
tar -xzvf phpMyAdmin-4.9.5-all-languages.tar.gz -C phpMyAdmin --strip-components=1
배포할 파일 준비
phpMyAdmin을 배포하려면 App Engine의 구성 정보가 포함된 app.yaml
파일, phpMyAdmin의 구성 정보가 포함된 config.inc.php
파일, PHP의 애플리케이션 관련 구성이 포함된 php.ini
파일 등 세 가지 파일을 만들어야 합니다.
app.yaml
만들기
App Engine 구성 파일은 URL 경로가 요청 핸들러와 정적 파일에 대응하는 방식을 지정합니다. 또한 애플리케이션 ID 및 최신 버전의 식별자와 같은 애플리케이션 코드도 포함됩니다. 파일을 만들려면 다음 단계를 따르세요.
앞에서 만든
phpMyAdmin
디렉터리에app.yaml
이라는 새 파일을 만듭니다.cd phpMyAdmin touch app.yaml
원하는 편집기를 사용하여
app.yaml
에 다음 텍스트를 붙여넣습니다.App Engine에서 첫 번째이자 유일한 애플리케이션으로 phpMyAdmin을 배포하는 경우
service
값을phpmyadmin
에서default
로 변경합니다.일반적으로 기존 애플리케이션의 서비스로 phpMyAdmin을 배포할 때는 서비스 이름도 같이 지정합니다. 그러나 아직 애플리케이션을 배포하지 않은 경우 서비스 이름으로 'default'를 사용해야 합니다. App Engine에서 phpMyAdmin을 사용해 보는 것은 이 가이드의 목적상 무방합니다.
이 가이드의 내용은 App Engine 표준 환경에서만 작동합니다.
파일을 저장합니다.
config.inc.php
만들기
phpMyAdmin 구성 파일을 만들려면 다음 단계를 따르세요.
config.inc.php
라는 새 파일을 만듭니다.touch config.inc.php
원하는 편집기를 사용하여
config.inc.php
에 다음 텍스트를 붙여넣습니다.Google Cloud Shell을 열고 다음 명령어를 실행하여 blowfish의 임의의 문자열을 가져옵니다.
php -r "echo password_hash(uniqid(), PASSWORD_BCRYPT).PHP_EOL;"
config.inc.php
의{{your_secret}}
부분에 복사한 새 보안 비밀을 붙여넣습니다.Google Cloud 콘솔의 Cloud SQL 인스턴스 페이지로 이동합니다.
Cloud SQL 인스턴스를 클릭하여 인스턴스 세부정보 페이지를 표시합니다.
$host
변수 내의{{your_connection_string}}
값을 인스턴스 연결 이름 속성으로 바꿉니다.파일을 저장합니다.
php.ini
만들기
코드에서 phpMyAdmin은 기본적으로 App Engine에서 중지된 함수를 사용합니다.
App Engine에서 함수를 다시 사용 설정할 수 있도록 다음 단계를 따라 php.ini
파일을 추가합니다.
phpMyAdmin
디렉터리에서 파일을 만듭니다.touch php.ini
파일을 수정하고 다음 행을 추가합니다.
파일을 저장합니다.
애플리케이션 배포
다음 명령어를 사용하여 애플리케이션을 App Engine에 배포합니다.
gcloud
구성요소 업데이트를 확인합니다.gcloud components update
app.yaml
파일이 있는phpMyAdmin
디렉터리에서 다음 명령어를 실행하여 애플리케이션을 배포합니다.gcloud app deploy
이 명령어는
app.yaml
파일에 지정된 대로 앱을phpMyAdmin
서비스에 배포합니다. 별도의 서비스에 배포하면 phpMyAdmin이 주요 애플리케이션과 같은 데이터 센터에서 실행되므로 성능이 향상됩니다. 명령줄에서 앱을 배포하는 방법에 대한 자세한 내용은 PHP 앱 배포를 참조하세요.
phpMyAdmin에 로그인하기
이제 phpMyAdmin에 로그인할 수 있습니다.
웹브라우저에서 애플리케이션 ID를 사용하여 변경된 URL을 입력하여 phpMyAdmin 시작 페이지를 엽니다.
https://phpmyadmin-dot-[YOUR_APP_ID].appspot.com
사용자 이름에 root를 입력합니다.
루트 계정을 구성할 때 설정한 루트 비밀번호를 입력합니다.
이동을 클릭합니다.
App Engine 애플리케이션을 개발할 때 Cloud SQL의 데이터베이스에 액세스하기 위해 만든 모든 사용자 계정을 비밀번호로 보호해야 합니다.
문제 해결
App Engine은 Cloud SQL 인증 프록시를 사용하여 Cloud SQL 2세대 인스턴스에 연결합니다. Cloud SQL 인증 프록시의 작동 방식에 대한 자세한 내용은 Cloud SQL 인증 프록시 정보를 참조하세요.
Google Cloud Console의 App Engine 로그에서 App Engine 오류에 대한 정보를 확인할 수 있습니다.
삭제
튜토리얼을 완료한 후에는 만든 리소스를 삭제하여 할당량 사용을 중지하고 요금이 청구되지 않도록 할 수 있습니다. 다음 섹션은 이러한 리소스를 삭제하거나 사용 중지하는 방법을 설명합니다.
프로젝트 삭제
비용이 청구되지 않도록 하는 가장 쉬운 방법은 튜토리얼에서 만든 프로젝트를 삭제하는 것입니다.
프로젝트를 삭제하려면 다음 안내를 따르세요.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
인스턴스 삭제
Cloud SQL 인스턴스를 삭제하는 방법은 다음과 같습니다.
- In the Google Cloud console, go to the Instances page.
- Click the name of the SQL instance you that want to delete.
- To delete the instance, click Delete, and then follow the instructions.
다음 단계
- phpMyAdmin 자세히 알아보기
- Google Cloud에 대한 참조 아키텍처, 다이어그램, 권장사항을 살펴보세요. Cloud 아키텍처 센터를 살펴보세요.