Tutorial ini akan bermanfaat jika Anda:
- Menjalankan aplikasi di App Engine.
- Menggunakan Cloud SQL sebagai database Anda.
- Menggunakan phpMyAdmin sebagai antarmuka untuk MySQL atau Anda lebih suka antarmuka web untuk administrasi database.
Jika Anda menggunakan Compute Engine, pertimbangkan untuk menggunakan salah satu development stack atau produk yang tersedia melalui Click to Deploy. Deployment stack yang mencakup MySQL, seperti LAMP dan LEMP, atau produk seperti Drupal, memberikan opsi untuk menginstal phpMyAdmin sebagai bagian dari deployment.
Tujuan
- Men-deploy phpMyAdmin di lingkungan standar App Engine.
Biaya
Tutorial ini menggunakan komponen Cloud Platform yang dapat ditagih, yang termasuk:
- App Engine
- Cloud SQL
Gunakan Kalkulator Harga untuk membuat perkiraan biaya
berdasarkan penggunaan yang Anda proyeksikan.
Sebelum memulai
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the gcloud CLI.
-
Configure the gcloud CLI to use your federated identity.
For more information, see Sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init - Membuat instance Cloud SQL Generasi Kedua.
- (Opsional) Men-deploy aplikasi App Engine
yang menggunakan instance Cloud SQL atau memilih aplikasi yang sudah ada.
Misalnya, membuat dan men-deploy contoh buku tamu. Meskipun Anda dapat men-deploy phpMyAdmin sendiri, Anda mungkin ingin menggunakannya dengan aplikasi App Engine dalam skenario dunia nyata.
Mendownload kode sumber phpMyAdmin
Anda akan men-deploy phpMyAdmin sebagai layanan aplikasi App Engine, sehingga Anda harus mendownload kode sumber untuk phpMyAdmin. Ikuti langkah-langkah berikut:
Di terminal Cloud Shell, masukkan perintah berikut guna mendownload kode sumber untuk phpMyAdmin versi 5.2.3:
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.3/phpMyAdmin-5.2.3-all-languages.tar.gzUntuk menggunakan versi phpMyAdmin yang berbeda, gunakan link ke versi yang tersedia di halaman Download phpMyAdmin.
Membuat direktori baru. Anda akan mengekstrak file ke direktori ini.
mkdir phpMyAdminMengekstrak file dari arsip ke direktori baru.
tar -xzvf phpMyAdmin-5.2.3-all-languages.tar.gz -C phpMyAdmin --strip-components=1
Menyiapkan file untuk deployment
Untuk men-deploy phpMyAdmin, Anda harus membuat dua file: app.yaml, yang
berisi informasi konfigurasi untuk App Engine, dan
config.inc.php, yang berisi informasi konfigurasi untuk phpMyAdmin.
Buat app.yaml
File konfigurasi App Engine menentukan cara jalur URL yang sesuai dengan pengendali permintaan dan file statis. File konfigurasi App Engine ini juga berisi informasi tentang kode aplikasi, seperti ID aplikasi dan ID versi terbaru. Ikuti langkah-langkah berikut untuk membuat file:
Dalam direktori yang Anda buat, yang bernama
phpMyAdmin, buat file baru bernamaapp.yaml.cd phpMyAdmin touch app.yamlDengan menggunakan editor favorit Anda, tempelkan teks berikut ke
app.yaml.service: phpmyadmin runtime: php83 handlers: - url: /(.+\.(ico|jpg|png|gif))$ static_files: \1 upload: (.+\.(ico|jpg|png|gif))$ - url: /(.+\.(htm|html|css|js))$ static_files: \1 upload: (.+\.(htm|html|css|js))$ - url: /.* script: auto secure: alwaysJika Anda men-deploy phpMyAdmin sebagai aplikasi pertama dan satu-satunya di App Engine, ubah nilai untuk
servicedariphpmyadminmenjadidefault.Biasanya, Anda akan men-deploy phpMyAdmin sebagai layanan dari aplikasi yang sudah ada dan memberikan nama untuk layanan tersebut. Namun, jika Anda belum men-deploy aplikasi, Anda harus menggunakan nama layanan "default". Tidak masalah jika Anda mencoba phpMyAdmin di App Engine untuk tujuan tutorial ini.
Tutorial ini hanya berfungsi untuk lingkungan standar App Engine.
Menyimpan file.
Membuat config.inc.php
Ikuti langkah-langkah ini untuk membuat file konfigurasi phpMyAdmin.
Membuat file baru bernama
config.inc.php.touch config.inc.phpDengan menggunakan editor favorit Anda, tempelkan teks berikut ke
config.inc.php.<?php /** * Copyright 2016 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* * This is needed for cookie based authentication to encrypt password in * cookie * http://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generator */ $cfg['blowfish_secret'] = '{{your_secret}}'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ /* * Servers configuration */ $i = 0; // Change this to use the project and instance that you've created. $host = '/cloudsql/{{your_connection_string}}'; $type = 'socket'; /* * First server */ $i++; /* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'cookie'; /* Server parameters */ $cfg['Servers'][$i]['socket'] = $host; $cfg['Servers'][$i]['connect_type'] = $type; $cfg['Servers'][$i]['compress'] = false; /* Select mysql if your server does not have mysqli */ $cfg['Servers'][$i]['extension'] = 'mysqli'; $cfg['Servers'][$i]['AllowNoPassword'] = true; /* * End of servers configuration */ /* * Directories for saving/loading files from server */ $cfg['UploadDir'] = ''; $cfg['SaveDir'] = ''; $cfg['TempDir'] = '/tmp'; /* * Other settings */ $cfg['PmaNoRelation_DisableWarning'] = true; $cfg['ExecTimeLimit'] = 60; $cfg['CheckConfigurationPermissions'] = false;Buka Cloud Shell dan jalankan perintah berikut untuk mendapatkan string acak untuk blowfish Anda:
php -r "echo password_hash(uniqid(), PASSWORD_BCRYPT).PHP_EOL;"Menempelkan rahasia baru sebagai pengganti
{{your_secret}}diconfig.inc.php.Buka halaman instance Cloud SQL di konsol Google Cloud .
Mengklik instance Cloud SQL untuk menampilkan halaman detail Instance-nya.
Mengganti nilai
{{your_connection_string}}(dalam variabel$host) dengan properti nama koneksi Instance.Simpan file.
Men-deploy aplikasi
Menggunakan perintah berikut untuk men-deploy aplikasi Anda ke App Engine.
Memeriksa update untuk komponen
gcloudAnda.gcloud components updateMen-deploy aplikasi dengan menjalankan perintah berikut dari dalam direktori
phpMyAdmintempat fileapp.yamlAnda berada:gcloud app deployPerintah ini men-deploy aplikasi ke layanan
phpMyAdmin, seperti yang ditentukan dalam fileapp.yamlAnda. Men-deploy ke layanan terpisah membantu memastikan bahwa phpMyAdmin berjalan di pusat data yang sama dengan aplikasi utama Anda, yang mana dapat meningkatkan performa. Untuk mempelajari lebih lanjut tentang men-deploy aplikasi dari command line, lihat Men-deploy Aplikasi PHP.
Login ke phpMyAdmin
Anda sekarang dapat login ke phpMyAdmin.
Di browser web, masukkan URL phpMyAdmin untuk membuka halaman sambutan, lalu ubah URL agar menggunakan ID aplikasi Anda.
https://phpmyadmin-dot-[YOUR_APP_ID].appspot.comUntuk Nama pengguna, masukkan root.
Masukkan sandi root yang Anda berikan saat Anda mengonfigurasi akun root.
Mengklik Go.
Saat mengembangkan aplikasi App Engine, jangan lupa untuk melindungi akun pengguna apa pun yang Anda buat untuk mengakses database di Cloud SQL dengan sandi.
Memecahkan masalah
App Engine menggunakan Cloud SQL Auth Proxy untuk terhubung ke instance Cloud SQL Generasi Kedua. Untuk mengetahui informasi selengkapnya tentang cara kerja Cloud SQL Auth Proxy, lihat Tentang Cloud SQL Auth Proxy.
Log App Enginedi konsolGoogle Cloud dapat memberikan informasi tentang error App Engine.
Pembersihan
Setelah menyelesaikan tutorial, Anda dapat membersihkan resource yang dibuat agar tidak lagi menggunakan kuota dan menimbulkan tagihan. Bagian berikut menjelaskan cara menghapus atau menonaktifkan resource ini.
Menghapus project
Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.
Untuk menghapus project:
- Di konsol Google Cloud , buka halaman Manage resources.
- Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
Menghapus beberapa instance
Untuk menghapus instance Cloud SQL:
- Di konsol Google Cloud , buka halaman Instances.
- Klik nama instance SQL yang ingin Anda hapus.
- Untuk menghapus instance, klik Hapus, lalu ikuti petunjuknya.
Langkah berikutnya
- Mempelajari phpMyAdmin lebih lanjut.
- Mempelajari arsitektur referensi, diagram, dan praktik terbaik tentang Google Cloud. Lihat Cloud Architecture Center kami.