Google Cloud Platform

Bitnamiで不要なcacheを消す方法

Bitnami LAMP/Wordpress の不要なcacheを消す方法

bitnamiが公開しているapplication、開発環境をカンタンに構築できるので利用されている方も多いと思います。

ただ、環境の設定まではカンタンなのですが、cacheがなかなか消えずアップロードがなかなか反映されずに困った方もいるのではないでしょうか?
このcacheを可能な限り最小化する方法を紹介します。

※この記事では、Google Cloud PlatformのCloudLauncherでデプロイしたBitnami applicaionを元に説明しています。予めご了承ください

Bitnami LAMP/Wordpressでキャッシュができている理由

原因その1Google PageSpeed Moduleが有効化されている

PageSpeed Moduleって?

PageSpeed ModuleはWebサイトのロードタイムを高速化するためのツールです。
PageSpeed Moduleをサーバーにインストールし適切な設定を行うことでWebサイトをほとんど調整することなくHTML,CSS,JS,画像などを自動で最適化してくれます(自動化の度合いにより調整は必要になることがあります)。

【自動化】PageSpeed ModuleでWebサイトのパフォーマンスチューニング #1 インストール編|Developers.IO

原因その2PHP.iniのキャッシュ設定が有効化されている

キャッシュを無効化する方法

まずは、gcloudコマンドでterminalからインスタンスにアクセスします。

$ gcloud compute --project "YOUR PROJECT ID" ssh --zone "YOUR ZONE" "YOUR INSTANS NAME"

Google PageSpeed Module を無効化する

Google PageSpeed Moduleの設定ファイルが保存されているディレクトリに移動します。

$ cd ./stack/apache2/conf

設定ファイルが保存されているディレクトリに移動します。

httpd.confファイルの中で、pagespeed関連のファイルがincludeされているので、
そのファイルの呼び出しをコメントアウトして、PageSpeed Moduleを停止します。

$ vi httpd.conf
Include conf/pagespeed.conf
Include conf/pagespeed_libraries.conf
# Include conf/pagespeed.conf
# Include conf/pagespeed_libraries.conf

保存して、

PHP.iniのキャッシュ設定を無効化する

PHPの設定ファイルが保存されているディレクトリに移動し、php.iniファイルを編集します

$ cd ~/stack/php/etc
$ vi php.ini
opcache.enable=1
opcache.enable_cli=0
; opcache.enable=0
; opcache.enable_cli=0

apacheの再起動を行います。

$ cd /opt/bitnami
$ sudo ./ctlscript.sh restart apache

bitnami wordpressでphpmyadminをブラウザから使えるようにする

bitnami wordpressのデフォルトの設定では、
phpmyadminが既にインストールされているのですが、
ブラウザからphpmyadminを直接利用することができません。

DBを修正したり確認するのに、リモートでブラウザからphpmyadminにアクセスしたい人のために
phpmyadminをブラウザから参照できるように変更する方法を紹介します。

まずは、gcloudコマンドでterminalからインスタンスにアクセスします。

$ gcloud compute --project "YOUR PROJECT ID" ssh --zone "YOUR ZONE" "YOUR INSTANS NAME"

ログインが完了したら、設定ファイルが保存されているディレクトリに移動します。
bitnami wordpressでは、webサーバーでapacheを採用しています。
phpmyadminに関するapacheの設定ファイルは、apps/phpmyadmin/の中に存在するので、下記のコマンドを入力します

$ cd ./apps/phpmyadmin/conf/

httpd-app.conf がphpmyadminに関するapacheの設定ファイルです。
このまま編集してしまうことも可能なのですが、一応バックアップを残しましょう。

$ cp httpd-app.conf  httpd-app.conf.bak

設定ファイルを開きます。

$ vi httpd-app.conf

vimでhttpd-app.confが開かれます。
vimの操作方法は特殊なので、わからない方は、「vim 使い方」などで調べておいてください。

<IfVersion < 2.3 >
Order allow,deny
Allow from 127.0.0.1
Satisfy all
</IfVersion>
<IfVersion >= 2.3>
Require local
</IfVersion>

デフォルトの設定では、ローカルのアドレスからしか表示を受け付けない設定になっています。
これを下記のように書き換えて、ローカル以外のアクセスを許可します

<IfVersion < 2.3 >
Order allow,deny
Allow from all
Satisfy all
</IfVersion>
<IfVersion >= 2.3>
Require all granted
</IfVersion>

設定ファイルの保存が完了したら、apacheの再起動を行います。
apacheの再起動には、bitnamiのフォルダにスクリプトが用意されているので、こちらを実行します。

$ cd /opt/bitnami
$ sudo ./ctlscript.sh restart apache

これで完了です。ブラウザからアクセスができるようになっていることが確認できるかと思います。

BitnamiのCloud Launcherで建てたWPからBitnami のバナーを非表示にする方法

前回の投稿で、GCP上で簡単にWPをたてる方法をご紹介したのですが、そのまま運用するにはちょっとだけ問題があります。

それが、この右下に表示されているBitnamiのバナーです。。。。

このバナーの消し方がなかなかわからずに、少し前まではCSSで無理やり Display : none;して見えなくしたりとやっていたのですが、管理画面でも表示されてしまうところにはstyle.cssでは指示が届かないので functions.php で指示することになるし、、、と困った存在だったのですが、ちゃんと非表示にする方法が存在しましたのでご紹介します。

簡潔に終わらすと、ssh接続して、

cd apps/wordpress
sudo ./bnconfig --disable_banner 1

で終わりです。

では、あまりターミナルとか触らなかったりする方向けに詳しく説明していきます。

※Gcloudコマンドを利用します 多分導入してなくてもブラウザ上からもいけると思いますが。。。)

まず、管理画面のトップからメニューを開いて、Compute Engineに移動します。

すると現在のプロジェクトで管理されているインスタンスの一覧が表示されます。

この中でBitnamiで導入されたインスタンスを見つけて、SSH隣の▼マークから「gcloudコマンドを表示」を押下します。

(直接SSHをクリックしてブラウザ上から編集することもできます、Gcloudコマンドが使えない方はこちらを使ってやってみてください)

ポップアップでコマンドが表示されるので、コピーしてください。

ターミナルを開いて先ほどコピーしたコマンドをペーストし、GCEのインスタンスにSSH接続します。

下記のコマンドを実行します

cd apps/wordpress
sudo ./bnconfig --disable_banner 1

これで完了です!!

快適なwordpressライフをお過ごしください!

あとは、ネームサーバーなどを取得してDNS設定をIPアドレスでやるくらいですね!

[GCP]Google Cloud PlatformでCloud Launcherを使ってWPをインストール

Google Cloud Platform(以下 GCP)で、WordPressを導入する方法です。

少し前まではCompute Engineでサーバーを建てて、ミドルウェアの設定から行ってWordPressの設置を行う工程で対応していたのですが、CloudLauncherを使うと、恐ろしく簡単にWordPressの導入ができることを(今更ながら)知りました。。。

GCPの管理画面

プロジェクトを作成した先の、管理画面トップからご説明します。プロジェクトの作成までは、きっともっとわかりやすいブログがあると思うので、調べてみてください。

CloudLauncherの画面へ

管理画面の左上のメニューボタンからメニューを開いて、CloudLauncherに移動してください。

CloudLauncherのページに遷移したら、検索窓でWordPressと検索してください。

いくつか候補がでてきますが、今回は一番右のBitnamiが開発したWordPressを選択します。

Googleが開発したものでもいいのですが、デフォルトのインスタンスのスペックがちょっと高いため、値段が高くなるので、Bitnamiさんのを選択してます。(設定は簡単に変えられるんですけどね)

WordPressLauncherを起動

Compute Engine上で起動

画面が遷移したら、一番下までスクロールしてデプロイを押下してください。

この画面で、インスタンスのスペックの変更やファイヤーウォールの設定ができますので、ご希望の場合は変更してください(後からでもComplute Engineから変えられます)

少し待つと、このような画面になります。

 

この右っかわにログインURLとユーザー名、パスワードが表示されます。

WordPressの導入が完了!

 

これで導入完了です!

すごいお手軽ですね!!

ちなみに、デフォルトの設定のままだと右下にBitnamiの宣伝バナーが表示されてしまいます。CSSなどで無理やり非表示にする方法もあるのですが、きちんとした無効化の手法もあるので、また今度紹介します。

Bitnamiの宣伝バナーを非表示にする方法についてはこちら

GCP CentOS7上にApacheを導入してwebサーバー化

環境はCentOS7です。

httpdをインストール

sudo yum install -y httpd php

下記の記事曰く、下記のコマンドだとphpもApacheも一括でインストールできて便利
PHPを使わない場合はそのままでOK

http://mizushima.ne.jp/Linux/httpd/Apache.php

sudo yum install -y php-mbstring

(ちなみに、libzipも一緒にインストールされる。)

デフォルトの設定ファイルの場所

sudo vim /etc/httpd/conf/httpd.conf

Apacheサーバーの起動

sudo systemctl start httpd.service

GCP CentOS7にapache php phpMyAdminを導入する

CentOS7にApacheとPHP、それとMySQLを管理するためのPHPMyAdminの導入。

ApacheやPHP関連のパッケージのインストール

ApacheやPHP関連のパッケージのインストール

yum install httpd php php-fpm php-mbstring -y

※環境によっては sudo 必要

MiraiDBのインストール

yum install mariadb mariadb-server -y

設定ファイルを編集して文字コード指定。

vi /etc/my.cnf
character-set-server=utf8
systemctl enable mariadb
systemctl start mariadb

初期設定(パスワードとか)

mysql_secure_installation

mariadbにログイン

mysql -u root -p

phpMyAdminでのアクセス用にアカウント作成

create user USERNAME@localhost identified by ‘PASSWORD’;

全権限ユーザーを作る場合(必要ならば)

grant all privileges on *.* to USERNAME@localhost identified by ‘PASSWORD’;

phpMyAdminのインストール
remi? がインストールされていないと、yumでインストールができないみたい。

yum install epel-release -y
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum install phpMyAdmin -y
mv /usr/share/phpMyAdmin /usr/share/sqladmin
mv /usr/share/sqladmin /var/www/html

http://www.unix-power.net/centos7/mariadb.html
http://qiita.com/100/items/8e9d9540845cc23e6111

の流れでインストールできた。
httpd の設定の編集だとうまいこといかないから。
ディレクトリの名前を変更した上で、/var/www/html の下層に入れます。
phpmyadmin.confの設定で、ディレクトリを変えてしまうとPermissionErrorになります。

/etc/httpd/conf.d/phpmyadmin.conf のファイル名を phpmyadmin.conf.bak とかに変更して読み込ませなくしてしまえば、別にディレクトリ名はphpMyAdminのままでも平気です。

でディレクトリを移動させてconfにはもう触らない。。。。

ムームードメインで取得したドメインをGoogleCloudPlatform(GCP)と紐付ける方法

ムームードメインで取得したドメインと、GoogleCloudPlatform(GCP)のCompute Engineで用意したインスタンスの外部IPアドレスを連結させて、独自ドメインでGCPのサーバーにアクセスしてくれるように設定します。

GCPで作ったサーバーの外部IPアドレスを確認する

Google Cloud Platform のトップページから「コンソール」へ移動

右上のハンバーガーメニューから「Compute Engine」へ移動

作成しているVMインスタンスの一覧のページが表示されます。
テーブル表示されている中の、右から2つ目に外部IPアドレスが表示されます。

ムームードメインからDNS設定を変更する

ムームードメインの管理画面にログインして、サイドのメニューの中にある「ドメイン管理>ドメイン操作>ムームDNS」に移動します。
取得しているドメインの一覧が表示されますので、その中からGCPに適用させたいドメインの変更をします。

設定1のホームページ設定のサービスを「利用しない」に設定します。

設定2のサブドメインを空白にして、種別を「A」に変更。そしてGCPの管理画面から取得したIPアドレスを「内容」に入力してセットアップ情報変更をします。

以上で設定は完了です。

選択できる種別が「A,AAAA,MX,CNAME,TXT,SRV」と複数ありますが、
その説明については、下記のブログの説明がとてもわかりやすかったので、興味のあるかたはぜひ。

DNSレコードってなんだ?

Bitnami