2017-06-30

2017-0630 CloudSQLを外部から接続する

2017-0630 CloudSQLを外部から接続する


参考サイト


Google以外のサーバーから、アクセスできるようにする


固定IPを指定して、そのIPのみからアクセスできるようにするには問題ないが、
全てのIPからアクセスできるようにすると、ID、PASSのみでログインできてしまうので
セキュリティ的には危険、なので、外出先からメンテナンスが必要とか、
テスト的に外部サーバーからアクセスできるようにするとかの場合のみで使用する。


Cloud ConsoleからCloudSQLのページで、アクセス制御のところでIPを指定する
全てのIPを許可なので


0.0.0.0/0




そして、アクセス制御のユーザーで、このようにする




これで、どこからもアクセス可能、ID、PASSのみなので注意すること


以上

2017-06-27

2017-0627 robots.txtなどの設定

2017-0627 robots.txtなどの設定

現在、2017-0627 1700頃に、robots.txtとsitemap.xmlを設定してみた

これとか、初心者レベルを参考にしてみた

そして、Serch Consoleなどに登録してみたが、イマいち実感がない
そもそも、poolbird.comは、URLが少ないので

そして、ぐぐってみたところの現在の順位、4番目

数日後に、また、検索して様子を見る


翌日検索してみると、1位になっていた


以上

2017-06-10

2017-0610 GAE WordPress install 1

2017-0610 GAE WordPress install 1

※最初に非常に重要なこと!

久しぶりに wordpress on GAE を試したのだが、ものすごくハマった。

何度試しても、DB エラー

2015年の時とGCPの環境が変わったので、それが問題なのかと、色々試してみた。

まず最初に、WordPressのソースを最新にするべき

ここからダウンロードすれば最新のWordPress、このときは4.8

ファイル名はこれだった
wordpress-4.8-ja.tar.gz

次に、これが原因かどうかわからないが、ここを参考に

下記の4つのファイルをダウンロードする

その1、Starter Kit, GAE for WordPress





自分はMacなので、Mac版をダウンロード、

ダウンロードしたファイル名、9.2MB
appengine-php-wordpress-starter-project_build_linux_mac.zip

解凍してフォルダ名をプロジェクト名に変更する

次に、下記をダウンロード

その2
(約50KB)

その3
(約10KB)

その4
(約3.49KB)

上記の3つのファイルを解凍して、ここに入れる

自分がつけたプロジェクト名/wordpress/wp-content/plugins


↑こんな感じ

appengine-pluginフォルダは、

wordpress-plugins-masterの中にある。

また、GCSのところ、新しいプラグインが出ているので、使いたかったが2つともエラー

gcs-media-plugin、これは上記のwordpress-plugins-masterの中にあるが使えなかった。

また、もうひとつ見つけたのだが、これもエラーの連絡で使えなかった。

WordPress 4.8が原因なのか?

ここまでを、しっかりやらないと、私の場合は、DBエラーが直らなかった。




次に、app.yamlを開いて、1行目と2行目変更する、Versionは普通1

application: your application name
version: 1

そして、wp-config.phpの変更、赤いところが重要、変更ポイント

  // ** MySQL settings - You can get this info from your web host ** //
   /** The name of the database for WordPress */
   define('DB_NAME', 'wordpress_db');

   if (isset($_SERVER['SERVER_SOFTWARE']) && strpos($_SERVER['SERVER_SOFTWARE'],'Google App Engine') !== false) {
       /** Live environment Cloud SQL login and SITE_URL info */
       /** Note that from App Engine, the password is not required, so leave it blank here */
       define('DB_HOST', ':/cloudsql/プロジェクト名:インスタンス名');
       define('DB_USER', 'root');
       define('DB_PASSWORD', '');
   } else {
       /** Local environment MySQL login info */
       define('DB_HOST', '127.0.0.1');
       define('DB_USER', 'root');
       define('DB_PASSWORD', 'password');
   }

ここで、素直に、rootで、パスワード無しで試したところ、これでOK

特に新規にユーザーを作らなくても、rootのパスワードを設定しなくてもOKだった。




次に、この2つが疑問となった

  • CloudSQLが第2世代になったので、それでも可能なのか?
  • 東京リージョンでは、可能なのか?

DBエラーが直らないので、最初はUSリージョンで、第1世代で試していた、これは成功した。

WordPressの最新ダウンロードは、日本語版の最新版なので、日本語表示された、これは楽だ。





そして、東京リージョン、第2世代で動くか、トライ、結論を先に書くと、動いた!

ただし少しダマシがある。以下、この時の設定

まず、wp-config.phpの変更箇所、赤いところが重要

   // ** MySQL settings - You can get this info from your web host ** //
   /** The name of the database for WordPress */
   define('DB_NAME', 'wordpress_db');

   if (isset($_SERVER['SERVER_SOFTWARE']) && strpos($_SERVER['SERVER_SOFTWARE'],'Google App Engine') !== false) {
       /** Live environment Cloud SQL login and SITE_URL info */
       /** Note that from App Engine, the password is not required, so leave it blank here */
       define('DB_HOST', ':/cloudsql/プロジェクト名:リージョン名:インスタンス名');
       define('DB_USER', 'root');
       define('DB_PASSWORD', 'パスワードの設定必要');
   } else {
       /** Local environment MySQL login info */
       define('DB_HOST', '127.0.0.1');
       define('DB_USER', 'root');
       define('DB_PASSWORD', 'password');
   }

DB_NAMEは、特にこの名前でなくても良いと思う

DB_HOSTのところ、第2世代からリージョン名を入れること

DB_USERは、素直にrootにした

DB_PASSWORD、ブランクにしなさいと書いてあるが、CloudSQLのインスタンス作成時に入力したパスワードを入れる必要がある。

インスタンスを作成するときの画面

リージョンが重要、プロジェクトを作成したときと同じリージョンにする必要がある。テストしたわけではないが、当然、同じリージョンのほうが速いに決めっているので、素直に同じリージョンにする。
パスワードも設定して良い。








ユーザーアカウントは、何もしていない、作成時のそのまま。パスワードはすでにインスタンス作成時に設定してある。





データベースの作成も、MySQL Workbenchなどを使わずに、この画面で作成





プロパティを確認するとこんな感じ。自分のPCから固定IPを使ってMySQL Workbenchで接続するのは、この状態では行っていない。まずは、ちゃんとインストールができるかが重要だったので。プログラム作成時にはいろいろとDBを作成したりするときに、Workbenchなどから接続するようにする。






以上の設定で、東京リージョン、第2世代でも問題なく、この初期画面が表示された。


ここで、急いで入力して、インストールに進まないこと!

ドメイン、サブドメインを使っている場合、次のマニュアルを読んでから行うこと!

最初のマニュアルはここまで、次に続く。



2017-06-06