Web Service

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=1
; opcache.enable=1
; opcache.enable_cli=1

apacheの再起動を行います。

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

計200万PVのデバイスのシェア率を調べてみた

検証端末の新調のため、スマートフォンやタブレットのデバイスのシェア率を調べていたのですが、よい情報がなかったので僕の付き合いのある方々のご協力のもと、データをいただいて計測してみました。

(だいたいサイトの合計で月平均150セッション(200PV)を超えるので、多少は参考になると思いますが、あくまでも自己責任でお願いします)

今回、目的は各サイトの検証や調査ではなくあくまでも「検証端末の選定」です。

より多くの方の参考になるように、ユーザーの属性についても表記しておりますが、調査したサイトの合算である。という認識のもと御覧ください。

GA上の検証期間

今回参照したデータは「2016/12/01 2017/02/28」です。

ユーザーの属性

Analyticsで確認ができるユーザーの属性なので、確実なデータではなく統計から算出された数値になります。

年齢

年齢 セッション数 シェア
25-34 602,183 35.93%
35-44 546,712 32.62%
18-24 351,735  20.99%
45-54 136,502 8.14%
 55-64  30,769 1.84%
 65+  8,052 0.48%
合計  1,675,953

性別

male 1,188,291 68.28%
female 551,819 31.71%
合計 1,740,110

参照したサイトの大体のユーザーの属性はこのようなデータでした。

年齢は「25-34歳 で 男性」がコアユーザーです。

※Analyticsのユーザーの属性は、サイト全体のセッション数とズレがかなりあるようです。

デバイス別のデータ

Apple iPhone 1462923 67.09%
Apple iPad 81667 3.75%
(not set) 72175 3.31%
Sony SO-01H Xperia Z5 28621 1.31%
Sony SO-02G Xperia Z3 Compact 22895 1.05%
Sony SO-02H Xperia Z5 Compact 22942 1.05%
Sony SO-01G Xperia Z3 21680 0.99%
Samsung SC-02F GALAXY J SC-02F for DoCoMo 16275 0.75%
Sony SOV32 Xperia Z5 16273 0.75%
Sony SO-04H Xperia X Performance 14551 0.67%
Sony SOL26 Xperia Z3 14309 0.66%
Samsung SC-04F GALAXY S5 SC-04F for DoCoMo 12794 0.59%
Sony S0-04G Xperia A4 11703 0.54%
Sony SO-03G Xperia Z2 SO-03F for DoCoMo 11512 0.53%
Sony SOV31 Xperia Z4/Z3+ Dual 9838 0.45%
Samsung SC-05G Galaxy S6 9257 0.42%
Sony SO-03H Z5 Premium 8706 0.40%
Sony SO-04E Xperia feat. HATSUNE MIKU SO-04E for DoCoMo 9113 0.42%
Sony 501SO Xperia Z5 8157 0.37%
Apple iPod 7188 0.33%
Sony SO-02 Xperia Z3 Compact 7394 0.34%
Fujitsu F-01F ARROWS NX F-01F for DoCoMo 7539 0.35%
Samsung SCV33 Galaxy S7 Edge 6681 0.31%
Sony SO-03F Xperia Z2 SO-03F for DoCoMo 6594 0.30%
Sharp SH-04G Aquos Ever 7357 0.34%
Sharp SH-01G 6489 0.30%
Samsung SC-04E GALAXY S4 SC-04E for DoCoMo 5319 0.24%
Google Nexus 5 5249 0.24%
DoCoMo F-02G Arrows NX F-02G 4850 0.22%
Sony 401SO Xperia Z3 4491 0.21%
Samsung SC-02G Galaxy S5 Active 3868 0.18%
Samsung SC-04G Galaxy S6 Edge 4149 0.19%
Sharp Aquos mini SHV31 4715 0.22%
Sony SO-02E Xperia Z SO-02E for DoCoMo 3878 0.18%
Microsoft Xbox One 4028 0.18%
Sharp SH-01F 4339 0.20%
Fujitsu F-04G Arrows NX 4025 0.18%
Google Nexus 5X 3613 0.17%
Samsung SCV31 Galaxy S6 3563 0.16%
Sony SOL23 Xperia Z1 SOL23 for KDDI 3593 0.16%
Sony SO-02F Xperia Z1 f SO-02F for DoCoMo 3766 0.17%
Sony 402SO Xperia Z4 3772 0.17%
DoCoMo SO-01F Xperia Z1 3415 0.16%
Asus Z00ED Zenfone 2 Laser 3573 0.16%
DoCoMo F-02H arrows NX F-02H 3720 0.17%
Google Nexus 7 3545 0.16%
Fujitsu F-01H Arrows Fit 3740 0.17%
Sharp SH-O2G Disney Mobile SH-02G 4380 0.20%
Sharp Aquos Zeta SH-01H 3581 0.16%
Sony Xperia SOL25 ZL2 3013 0.14%


予想通りですがやっぱりiPhone
圧倒的すぎますね。。
また時間があったらiPhoneの内訳も・・・
と思ったのですが、とりあえずiphoneに関しては基本各端末を揃えるようにするべきなのでしょうね。

[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レコードってなんだ?

【ASP】ASPってそもそも何の略なのか

こんにちは。中村です。
アフィリエイトが有名になって久しいですが、それにともなって「ASP」という言葉が多く使われるようになりました。主にアフィリエイト界隈のことで使われる用語ですが、違う側面も持っている単語なので、改めて認識するためにまとめました。

続きを読む

【CSS3 / Webフォント】コピペで使える見出し用Google Fontsまとめ

かっこいいデザインのサイトを作るときに、レイアウトや配色と同じくらい大事な「フォント」。Webフォントが普及していて、最近はもっぱらGoogle Fontsに依存しているのですが、その中で、僕が独断と偏見で「見出しに使える!」と感じたフォントをまとめました。

続きを読む

Bitnami