EC-CUBEのメンテナンス切り替え機能プラグインを入れてみた

EC-CUBEで安全にモジュールやプラグインを入れるためメンテナンス中表示にしたかったですが標準ではついてません

メンテナンスページ作って.htaccessとかで飛ばしてもよかったですがプラグインがあったので入れてみました
http://www.ec-cube.net/products/detail.php?
product_id=281

OSはUbuntu 12.04
データベースはMySQL 5.5.38
EC-CUBEは2.12.3
プラグインは1.0.3
で試しました

EC-CUBEのオーナーズストアにログインしてダウンロードします
自分のEC-CUBEの管理者画面へログイン、
オーナーズストア>プラグイン管理、でダウンロードしたtar.gzをインストール、
有効、にチェックを入れておきます
eccube-plugins

するとメニューが基本情報管理>メンテナンス管理、のメニューが増えます
クリックするとシステムエラー発生

ログを見るとデータベースのテーブル名が違う..テーブルは小文字だけなのにプログラムは大文字が混じってる..
プログラムを変更してみました


# vim data/downloads/plugin/SiteMaintenance/admin/basis/plg_SiteMaintenance_LC_Page_Admin_Basis_Maintenance.php

70行めの括弧のなかをすべて小文字に


$this->arrMainte = $masterData->getMasterData("plg_sitemaintenance_mtb_maintenance");

再度、画面にアクセス
※最初、メンテナンス中になってました
eccube1

サイトにアクセスすると
eccube2
こんな感じでメンテナンス中になります

管理画面で、通常営業中にすると元通りでした
やっつけですが参考まで

おれおれSSLを入れてみた

SSLを入れてテストしたいことがあったので自分でSSL証明書を用意して入れてみました(おれおれSSL)
Ubuntu 12.04のApacheで試しました

鍵と証明書を作成します
$ openssl genrsa 2048 > server.key
$ openssl req -new -key server.key > server.csr
$ openssl x509 -days 3650 -req -signkey server.key < server.csr > server.crt
参考) http://d.hatena.ne.jp/ozuma/20130511/1368284304

好きなディレクトリへ作った証明書と鍵を移動
$ sudo mkdir /etc/apache2/ssl
$ sudo mv server.key /etc/apache2/ssl/
$ sudo mv server.crt /etc/apache2/ssl/

Apacheのsslを有効に
$ sudo a2enmod ssl
$ sudo service apache2 restart

$ sudo vim /etc/apache2/sites-available/default-ssl
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key

$ sudo a2ensite default-ssl
$ sudo service apache2 reload

で https://localhost/ にアクセス
あやしい証明書なので、警告がでますが許可すればアクセスできました

Github organizationアカウントの作り方

集まってごにょごにょしようという、コミュニティを作ったのでGithubで専用アカウントを作ってみました
こういうのはorganizationアカウントというらしいです

詳しくはhelpページを
https://help.github.com/categories/organizations/

organizationアカウントは
https://github.com/organizations/new
にアクセスして作ります

お持ちのgithubアカウントでログインして
github-organization1
名前とEmailと入力、プランを選んで次へ

github-organization2
オーナーとなる人を招待して終わりです

githubへログインしてトップ画面へ行くと、プルダウンでアカウントが選べるようになります
github-organization3

JavaのEnum型の基本

JavaのEnum型の基本を整理

Enumは

enum Number{
  ZERO, ONE, TWO;
}
System.out.println(Number.ONE);
// > ONE
System.out.println(Number.ONE.ordinal());
// 序数を出力 > 1

といった様子

C言語とは違いJavaではクラスらしいので、コンストラクタを用意することができて、初期値がセットできます
小数点を増やしてみました

enum Number {
    POINT("."),ZERO("0"),ONE("1"),TWO("2");
    private String value;
    private Number (String value) {
        this.value = value;
    }
    public String getString() {
        return this.value;
    }
}
System.out.println(Number.ONE);
// > ONE
System.out.println(Number.ONE.ordinal());
// 序数を出力 > 2
System.out.println(Number.ONE.getString());
// > 1

となります