המדריך הזה יעזור לכם אם אתם:
- להריץ אפליקציות ב-App Engine.
- להשתמש ב-Cloud SQL כמסד הנתונים.
- משתמשים ב-phpMyAdmin כממשק ל-MySQL או מעדיפים ממשק אינטרנט לניהול מסדי נתונים.
אם אתם משתמשים ב-Compute Engine, כדאי להשתמש באחד מסטאקי הפיתוח או המוצרים שזמינים דרך Click to Deploy. בפריסות של סטאקים שכוללים את MySQL, כמו LAMP ו-LEMP, או מוצרים כמו Drupal, יש אפשרות להתקין את phpMyAdmin כחלק מהפריסה.
מטרות
- פריסת phpMyAdmin בסביבת ברירת המחדל ב-App Engine.
עלויות
במדריך הזה משתמשים ברכיבים של Cloud Platform שמוגדרים לחיוב, כולל:
- App Engine
- Cloud SQL
אתם יכולים להשתמש במחשבון העלויות כדי ליצור הערכת עלויות בהתאם לשימוש החזוי.
לפני שמתחילים
-
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 - יוצרים מכונה של Cloud SQL מדור שני.
- (אופציונלי) פורסים אפליקציית App Engine שמשתמשת במכונה של Cloud SQL, או בוחרים אפליקציה קיימת.
לדוגמה, יצירה ופריסה של ספר האורחים לדוגמה. אפשר לפרוס את phpMyAdmin לבד, אבל סביר להניח שתרצו להשתמש בו עם אפליקציית App Engine בתרחיש האמיתי שלכם.
הורדת קוד המקור של phpMyAdmin
תפרסו את phpMyAdmin כשירות של אפליקציית App Engine, ולכן צריך להוריד את קוד המקור של phpMyAdmin. איך לעשות את זה?
במסוף Cloud Shell, מזינים את הפקודה הבאה כדי להוריד את קוד המקור של phpMyAdmin בגרסה 5.2.3:
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.3/phpMyAdmin-5.2.3-all-languages.tar.gzכדי להשתמש בגרסה אחרת של phpMyAdmin, השתמשו בקישורים לגרסאות הזמינות בדף ההורדות של phpMyAdmin.
יוצרים ספרייה חדשה. אתם תחלצו את הקבצים לספרייה הזו.
mkdir phpMyAdminמחלצים את הקבצים מהארכיון לספרייה החדשה.
tar -xzvf phpMyAdmin-5.2.3-all-languages.tar.gz -C phpMyAdmin --strip-components=1
הכנת הקבצים לפריסה
כדי לפרוס את phpMyAdmin צריך ליצור שני קבצים: app.yaml, שמכיל את פרטי ההגדרות של App Engine, ו-config.inc.php, שמכיל את פרטי ההגדרות של phpMyAdmin.
יצירת app.yaml
קובץ התצורה של App Engine מציין איך נתיבי כתובות ה-URL תואמים ל-request handlers ולקבצים סטטיים. הוא מכיל גם מידע על קוד האפליקציה, כמו מזהה האפליקציה ומזהה הגרסה העדכנית. כדי ליצור את הקובץ:
בספרייה שיצרתם, בשם
phpMyAdmin, יוצרים קובץ חדש בשםapp.yaml.cd phpMyAdmin touch app.yamlבעורך המועדף עליכם, מדביקים את הטקסט הבא ב-
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: alwaysאם אתם פורסים את phpMyAdmin כאפליקציה הראשונה והיחידה ב-App Engine, שנו את הערך של
serviceמ-phpmyadminל-default.בדרך כלל, פורסים את phpMyAdmin כשירות של אפליקציה קיימת ונותנים שם לשירות. אבל אם עדיין לא פרסתם אפליקציה, אתם צריכים להשתמש בשם השירות default. זה בסדר למטרות של המדריך הזה, אם אתם מנסים את phpMyAdmin ב-App Engine.
המדריך הזה רלוונטי רק לסביבת ברירת המחדל ב-App Engine.
שומרים את הקובץ.
יצירת config.inc.php
כדי ליצור את קובץ התצורה של phpMyAdmin, פועלים לפי השלבים הבאים.
יוצרים קובץ חדש בשם
config.inc.php.touch config.inc.phpבעורך המועדף עליכם, מדביקים את הטקסט הבא ב-
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;פותחים את Cloud Shell ומריצים את הפקודה הבאה כדי לקבל מחרוזת אקראית ל-blowfish:
php -r "echo password_hash(uniqid(), PASSWORD_BCRYPT).PHP_EOL;"מדביקים את הסוד החדש במקום
{{your_secret}}ב-config.inc.php.נכנסים לדף המכונות של Cloud SQL במסוף Google Cloud .
לוחצים על המכונה של Cloud SQL כדי להציג את דף הפרטים שלה.
מחליפים את הערך של
{{your_connection_string}}(במשתנה$host) במאפיין Instance connection name.שומרים את הקובץ.
פריסת האפליקציה
כדי לפרוס את האפליקציה ב-App Engine, משתמשים בפקודות הבאות.
בודקים אם יש עדכונים לרכיבי
gcloud.gcloud components updateפורסים את האפליקציה על ידי הרצת הפקודה הבאה מתוך הספרייה
phpMyAdminשבה נמצא הקובץapp.yaml:gcloud app deployהפקודה הזו פורסת את האפליקציה בשירות
phpMyAdmin, כפי שצוין בקובץapp.yaml. פריסה לשירות נפרד עוזרת להבטיח ש-phpMyAdmin יפעל באותו מרכז נתונים כמו האפליקציה הראשית, מה שמשפר את הביצועים. במאמר פריסת אפליקציית PHP מוסבר איך לפרוס את האפליקציה משורת הפקודה.
מתחברים ל-phpMyAdmin.
עכשיו אפשר להתחבר ל-phpMyAdmin.
בדפדפן האינטרנט, מזינים את כתובת ה-URL של phpMyAdmin כדי לפתוח את דף קבלת הפנים, ומשנים את כתובת ה-URL כך שתשתמש במזהה האפליקציה.
https://phpmyadmin-dot-[YOUR_APP_ID].appspot.comבשדה Username, מזינים root.
מזינים את הסיסמה שבחרתם כשהגדרתם את חשבון הבסיס.
לוחצים על Go (מעבר).
כשאתם מפתחים את האפליקציה ב-App Engine, חשוב להגן באמצעות סיסמה על כל חשבונות המשתמשים שאתם יוצרים כדי לגשת למסדי נתונים ב-Cloud SQL.
פתרון בעיות
App Engine משתמש ב-Cloud SQL Auth Proxy כדי להתחבר למכונות Cloud SQL מהדור השני. מידע נוסף על Cloud SQL Auth Proxy
ביומני App Engine במסוףGoogle Cloud אפשר למצוא מידע על שגיאות ב-App Engine.
הסרת המשאבים
אחרי שמסיימים את המדריך, אפשר למחוק את המשאבים שנוצרו, כדי שהם יפסיקו להשתמש במכסה ולצבור חיובים. בסעיפים הבאים מוסבר איך למחוק או להשבית את המשאבים האלו.
מחיקת הפרויקט
הדרך הקלה ביותר לבטל את החיוב היא למחוק את הפרויקט שיצרתם בשביל המדריך הזה.
כדי למחוק את הפרויקט:
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
מחיקת מכונות
כדי למחוק מכונה של Cloud SQL:
- נכנסים לדף Instances במסוף Google Cloud .
- לוחצים על השם של מכונת ה-SQL שרוצים למחוק.
- כדי למחוק את המכונה, לוחצים על Delete ופועלים לפי ההוראות.
המאמרים הבאים
- מידע נוסף על phpMyAdmin
- כדאי להעמיק את הקריאה ולהכיר דוגמאות לארכיטקטורות, תרשימים ושיטות מומלצות בנושאי Google Cloud. כל אלה זמינים במרכז הארכיטקטורה של Cloud.