--

--

コメント

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

10

30

コメント

EC-CUBE 2.11から2.12への移行

うちの会社にて、EC-CUBEの移行作業が本格化してきました。

ECサイトは、まずは商品を決めたり、それで売上がきちんと出るかとか、
けっこう悶々としているお客様も多いようです。

昨日もお一人、主婦のお客様が、ご自身の趣味のものを販売するために相談しにこられました。
だいたい3時間くらいお話しさせて頂いていましたが、だいたい方向性が決まったようです。
さらに、また何度かお話しを伺って、それでサイトの制作がスタートです!

弊社は、東京都大田区池上の商店街の中にあります。
1階ですので、今日はいるのかなーってのぞいていただければ、
私か弟が対応させていただきます。
予算は要相談です。
サイト制作は、安くありませんが、なるべくお客様のご希望に答えたいと思います。
兄弟でやっている会社ですので、その辺りは、できるだけ融通がきくように、がんばりたいと思います。

株式会社パラファミリー
http://parafamily.co.jp

東京都大田区池上4-27-6 ラヴィール池上1F → [地図]


さて、本題のEC-CUBE2.11から2.12への移行について、まとめてみました。
ちょっと見にくいかもしれませんが、参考までにどうぞ。



0. 移行前の段取り

お客様に言っておかないといけないこと。

・既存会員のログイン時のパスワードが変更になります。
・移行作業時のサーバの停止時間の目安は3時間です。その間、購入と管理画面へのログインができなくなります。
・移行後になにか変更漏れがあったら、すぐにご指摘ください。

1. サーバの準備

2.11と2.12では、ソースコードもDBの内容も完全に同じではないため、
現在EC-CUBE2.11が稼動中のサーバに2.12をインストールし、再構築を行います。
DBも新しいデータベースを準備してください。
うちの場合は、eccube_db2とかの名前にして対応しました。

※弊社内ではDBはpostgresを使用していますので、MySQLをご利用の方はSQL等が異なりますので注意してください。

※弊社ではwordpressは標準的に用意されるべきだと判断しましたので、
EC-CUBEのインストール時に、[ec-cube2.12]/html/wordpressに一緒にインストールしました。

2. DBのコピー

まず、dumpファイルを取得する。
これは、データベースの所有者アカウントで作成したものです。

# pg_dump eccube_db --inserts --column-inserts -Fp > /home/eccubeuser/201208222230_dump.sql

dumpファイルは日時を付けた名前にしましたが、これは好みによって変更してください。
また、postgresなどのユーザで対応した場合は、/homeに保存できない場合もあるので、そのへんは臨機応変に。

さて、移行するDBを見てみます。

移行タイプ
画面:画面で登録しなおす
○ :対象のテーブルのデータを全部削除して、旧DBのdumpのinsert文を実行
△ :対象のテーブルのデータを全部削除して、旧DBのdumpのinsert文を一部修正して実行
- :移行しない

テーブル名移行タイプ備考
dtb_baseinfo画面
dtb_best_products
dtb_bkup
dtb_bloc
dtb_blocposition
dtb_category
dtb_category_count
dtb_category_total_count
dtb_class
dtb_classcategory
dtb_csv
dtb_customer
dtb_customer_favorite_products
dtb_deliv画面
dtb_delivfee画面
dtb_delivtime画面
dtb_holiday画面
dtb_index_list
dtb_kiyaku画面
dtb_mail_history
dtb_mailmaga_template
dtb_mailtemplate
dtb_member画面パスワードの作成プログラムが変わったので、インストール後に管理ユーザにてユーザを追加する。
dtb_module
dtb_module_update_logs
dtb_news
dtb_order
dtb_order_detail
dtb_order_temp
dtb_other_deliv
dtb_payment
dtb_payment_options
dtb_pagelayout
dtb_products
dtb_products_classdtb_class_combinationテーブルが削除になったため、だいぶ操作が必要(後述)
dtb_product_categories
dtb_product_status
dtb_recommend_products
dtb_review
dtb_send_customer
dtb_send_history
dtb_session
dtb_shipping
dtb_templates
mtb関連画面

それではDBのコピーを行っていきます。
これから行う作業は、全て、EC-CUBE2.12で使用するDBに対してです。
稼動中のDBにやらないように!!


取得したdumpファイルから、全データをチェックします。
以下の対応を各テーブルに行います。

insert文のみをUTF-8でまとめたテキストファイルをhomeディレクトリに置いて使用するのがいいと思います。

既存データの削除

以下のデータは全部削除してください。

-- データ削除用
delete from dtb_best_products;
delete from dtb_bloc;
delete from dtb_blocposition;
delete from dtb_category;
delete from dtb_category_count;
delete from dtb_category_total_count;
delete from dtb_class;
delete from dtb_classcategory;
delete from dtb_customer;
delete from dtb_customer_favorite_products;
delete from dtb_mail_history;
delete from dtb_mailmaga_template;
delete from dtb_mailtemplate;
delete from dtb_news;
delete from dtb_order;
delete from dtb_order_detail;
delete from dtb_order_temp;
delete from dtb_other_deliv;
delete from dtb_products;
delete from dtb_products_class;
delete from dtb_product_categories;
delete from dtb_product_status;
delete from dtb_recommend_products;
delete from dtb_review;
delete from dtb_send_customer;
delete from dtb_send_history;
delete from dtb_session;
delete from dtb_shipping;

次に、どかんと一括対応
EC-CUBE 2.11系であったカラムを一度設定します。
これによって、一括データのインストールを可能にします。

-- dtb_class_combination
CREATE TABLE dtb_class_combination (
class_combination_id integer NOT NULL,
parent_class_combination_id integer,
classcategory_id integer NOT NULL,
level integer
);

ALTER TABLE public.dtb_class_combination OWNER TO sweetheart;

CREATE SEQUENCE dtb_class_combination_class_combination_id_seq
START WITH 19
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;

ALTER TABLE public.dtb_class_combination_class_combination_id_seq OWNER TO sweetheart;
SELECT pg_catalog.setval('dtb_class_combination_class_combination_id_seq', 286883, true);

-- dtb_products_class
ALTER TABLE dtb_products_class ALTER classcategory_id1 DROP NOT NULL;
ALTER TABLE dtb_products_class ALTER classcategory_id2 DROP NOT NULL;
ALTER TABLE dtb_products_class DROP CONSTRAINT dtb_products_class_product_id_key;
ALTER TABLE dtb_products_class ADD COLUMN class_combination_id integer;

-- dtb_customer
ALTER TABLE dtb_customer ALTER point DROP NOT NULL;

-- dtb_order
ALTER TABLE dtb_order ALTER discount DROP NOT NULL;
ALTER TABLE dtb_order ALTER discount DROP DEFAULT;
ALTER TABLE dtb_order ALTER use_point DROP NOT NULL;
ALTER TABLE dtb_order ALTER use_point DROP DEFAULT;
ALTER TABLE dtb_order ALTER add_point DROP NOT NULL;
ALTER TABLE dtb_order ALTER add_point DROP DEFAULT;
ALTER TABLE dtb_order ALTER birth_point DROP NOT NULL;

-- dtb_order_temp
ALTER TABLE dtb_order_temp ALTER discount DROP NOT NULL;
ALTER TABLE dtb_order_temp ALTER discount DROP DEFAULT;
ALTER TABLE dtb_order_temp ALTER use_point DROP NOT NULL;
ALTER TABLE dtb_order_temp ALTER use_point DROP DEFAULT;
ALTER TABLE dtb_order_temp ALTER add_point DROP NOT NULL;
ALTER TABLE dtb_order_temp ALTER add_point DROP DEFAULT;
ALTER TABLE dtb_order_temp ALTER birth_point DROP NOT NULL;

-- dtb_shipping
ALTER TABLE dtb_shipping ADD COLUMN deliv_id integer;

-- dtb_order_detail
ALTER TABLE dtb_order_detail ALTER point_rate DROP NOT NULL;
ALTER TABLE dtb_order_detail ALTER point_rate DROP DEFAULT;

-- dtb_review
ALTER TABLE dtb_review ALTER title DROP NOT NULL;

これで、上の表で対応が「○」になっているテーブルは全部コピーできます。
一括でコピーしましょう。

例)
先ほど取得したdumpファイルの中から、dtb_customerのinsert文を探して全部コピーする。
/home/eccubeuser/dtb_customer_insert.sqlを作成する。
postgresに入り、以下を実行

¥i /home/haircarry/dtb_customer_insert.sql

だーーーーっとエラー無く、処理が終わればおk。





⊂(゚Д゚⊂⌒`つ≡≡≡≡≡コピー中≡≡≡≡≡





次に、dtb_products_classを対応します。
dtb_class_combinationテーブルがEC-CUBE2.12では無くなってしまったので、
先ほどそのテーブルを追加しました。
dtb_class_combinationテーブルとdtb_productsテーブルにデータを投入後、
dtb_products_classテーブルにもデータを追加してください。

UPDATE dtb_products_class
SET
classcategory_id1 = COALESCE(
(
SELECT classcategory_id
FROM dtb_class_combination
WHERE class_combination_id = dtb_products_class.class_combination_id
)
,0
)
;

UPDATE dtb_products_class
SET
classcategory_id2 = COALESCE(
(
SELECT classcategory_id
FROM dtb_class_combination
WHERE class_combination_id =
(
SELECT parent_class_combination_id
FROM dtb_class_combination
WHERE class_combination_id = dtb_products_class.class_combination_id
)
)
,0
)
;

最後にDBを2.12の形に戻して行きます。

-- dtb_products_class
ALTER TABLE dtb_products_class ALTER classcategory_id1 SET NOT NULL;
ALTER TABLE dtb_products_class ALTER classcategory_id2 SET NOT NULL;
ALTER TABLE dtb_products_class DROP COLUMN class_combination_id;
DROP TABLE dtb_class_combination;

-- dtb_customer
UPDATE dtb_customer set point = 0 where point is null;
ALTER TABLE dtb_customer ALTER point SET NOT NULL;

-- dtb_order
UPDATE dtb_order set discount = 0 where discount is null;
UPDATE dtb_order set use_point = 0 where use_point is null;
UPDATE dtb_order set add_point = 0 where add_point is null;
UPDATE dtb_order set birth_point = 0 where birth_point is null;
ALTER TABLE dtb_order ALTER discount SET NOT NULL;
ALTER TABLE dtb_order ALTER discount SET DEFAULT 0;
ALTER TABLE dtb_order ALTER use_point SET NOT NULL;
ALTER TABLE dtb_order ALTER use_point SET DEFAULT 0;
ALTER TABLE dtb_order ALTER add_point SET NOT NULL;
ALTER TABLE dtb_order ALTER add_point SET DEFAULT 0;
ALTER TABLE dtb_order ALTER birth_point SET NOT NULL;

-- dtb_order_temp
UPDATE dtb_order_temp set discount = 0 where discount is null;
UPDATE dtb_order_temp set use_point = 0 where use_point is null;
UPDATE dtb_order_temp set add_point = 0 where add_point is null;
UPDATE dtb_order_temp set birth_point = 0 where birth_point is null;
ALTER TABLE dtb_order_temp ALTER discount SET NOT NULL;
ALTER TABLE dtb_order_temp ALTER discount SET DEFAULT 0;
ALTER TABLE dtb_order_temp ALTER use_point SET NOT NULL;
ALTER TABLE dtb_order_temp ALTER use_point SET DEFAULT 0;
ALTER TABLE dtb_order_temp ALTER add_point SET NOT NULL;
ALTER TABLE dtb_order_temp ALTER add_point SET DEFAULT 0;
ALTER TABLE dtb_order_temp ALTER birth_point SET NOT NULL;

-- dtb_shipping
ALTER TABLE dtb_shipping DROP deliv_id;

-- dtb_order_detail
UPDATE dtb_order_detail set point_rate = 0 where point_rate is null;
ALTER TABLE dtb_order_detail ALTER point_rate SET NOT NULL;
ALTER TABLE dtb_order_detail ALTER point_rate SET DEFAULT 0;

-- dtb_review
UPDATE dtb_review set title = '' where title is null;
ALTER TABLE dtb_review ALTER title SET NOT NULL;

SEQUENCEを再設定します。

SELECT SETVAL('dtb_api_account_api_account_id_seq', (SELECT MAX(api_account_id) + 1 FROM dtb_api_account));
SELECT SETVAL('dtb_api_config_api_config_id_seq', (SELECT MAX(api_config_id) + 1 FROM dtb_api_config));
SELECT SETVAL('dtb_best_products_best_id_seq', (SELECT MAX(best_id) + 1 FROM dtb_best_products));
SELECT SETVAL('dtb_bloc_bloc_id_seq', (SELECT MAX(bloc_id) + 1 FROM dtb_bloc));
SELECT SETVAL('dtb_category_category_id_seq', (SELECT MAX(category_id) + 1 FROM dtb_category));
SELECT SETVAL('dtb_class_class_id_seq', (SELECT MAX(class_id) + 1 FROM dtb_class));
SELECT SETVAL('dtb_classcategory_classcategory_id_seq', (SELECT MAX(classcategory_id) + 1 FROM dtb_classcategory));
SELECT SETVAL('dtb_csv_no_seq', (SELECT MAX(no) + 1 FROM dtb_csv));
SELECT SETVAL('dtb_csv_sql_sql_id_seq', (SELECT MAX(sql_id) + 1 FROM dtb_csv_sql));
SELECT SETVAL('dtb_customer_customer_id_seq', (SELECT MAX(customer_id) + 1 FROM dtb_customer));
SELECT SETVAL('dtb_deliv_deliv_id_seq', (SELECT MAX(deliv_id) + 1 FROM dtb_deliv));
SELECT SETVAL('dtb_holiday_holiday_id_seq', (SELECT MAX(holiday_id) + 1 FROM VISIT_EVENT));
SELECT SETVAL('dtb_kiyaku_kiyaku_id_seq', (SELECT MAX(kiyaku_id) + 1 FROM dtb_kiyaku));
SELECT SETVAL('dtb_mail_history_send_id_seq', (SELECT MAX(send_id) + 1 FROM dtb_mail_history));
SELECT SETVAL('dtb_mailmaga_template_template_id_seq', (SELECT MAX(template_id) + 1 FROM dtb_mailmaga_template));
SELECT SETVAL('dtb_maker_maker_id_seq', (SELECT MAX(maker_id) + 1 FROM dtb_maker));
SELECT SETVAL('dtb_member_member_id_seq', (SELECT MAX(member_id) + 1 FROM dtb_member));
SELECT SETVAL('dtb_module_update_logs_log_id_seq', (SELECT MAX(log_id) + 1 FROM dtb_module_update_logs));
SELECT SETVAL('dtb_news_news_id_seq', (SELECT MAX(news_id) + 1 FROM dtb_news));
SELECT SETVAL('dtb_order_detail_order_detail_id_seq', (SELECT MAX(order_detail_id) + 1 FROM dtb_order_detail));
SELECT SETVAL('dtb_order_order_id_seq', (SELECT MAX(order_id) + 1 FROM dtb_order));
SELECT SETVAL('dtb_other_deliv_other_deliv_id_seq', (SELECT MAX(other_deliv_id) + 1 FROM dtb_other_deliv));
SELECT SETVAL('dtb_pagelayout_page_id_seq', (SELECT MAX(page_id) + 1 FROM dtb_pagelayout));
SELECT SETVAL('dtb_payment_payment_id_seq', (SELECT MAX(payment_id) + 1 FROM dtb_payment));
SELECT SETVAL('dtb_plg_templateversion_version_id_seq', (SELECT MAX(version_id) + 1 FROM dtb_plg_templateversion));
SELECT SETVAL('dtb_plugin_hookpoint_plugin_hookpoint_id_seq', (SELECT MAX(plugin_hookpoint_id) + 1 FROM dtb_plugin_hookpoint));
SELECT SETVAL('dtb_plugin_plugin_id_seq', (SELECT MAX(plugin_id) + 1 FROM dtb_plugin));
SELECT SETVAL('dtb_products_class_product_class_id_seq', (SELECT MAX(product_class_id) + 1 FROM dtb_products_class));
SELECT SETVAL('dtb_products_product_id_seq', (SELECT MAX(product_class_id) + 1 FROM dtb_products_class));
SELECT SETVAL('dtb_review_review_id_seq', (SELECT MAX(review_id) + 1 FROM dtb_review));
SELECT SETVAL('dtb_send_history_send_id_seq', (SELECT MAX(send_id) + 1 FROM dtb_send_history));


※※※※※※ ! 超 注 意 ! ※※※※※※※※

dtb_bloc登録時に、NULLのところを文字列の'NULL'にしてしまうと、
php_pathが正しく読み込めず、表示されません!
これに何時間かはまりました。みんな気をつけて!!

3. 管理ユーザの追加/変更

管理者ユーザのデータ移行は行わないため、手動で追加してください。

4. ファイルのアップロード
EC-CUBE/dataのほうのファイルのうち、処理を追加しているところを、慎重に移していきます。
EC-CUBE/data/Smarty/templatesのフォルダ内のファイルのうち、更新されているものをすべて新サーバに移していきます。

EC-CUBE/html/uploadのフォルダ内のファイルをすべて新サーバにコピーします。
EC-CUBE/html/user_dataのフォルダ内のファイルのうち、更新されているものをすべて新サーバに移していきます。

テンプレートのコピーを新サーバにアップロード後、管理画面のデザイン管理>PC/モバイル/スマートフォン>テンプレート設定にて、デザインを適用します。
タグが閉じていない等の理由により、画面を表示するとエラーが多発します。
そのため、PC/モバイル/スマートフォンの全画面の表示チェックを行います。購入できるかどうかなどもチェックしてください。
このとき、ファイルパーミッションに気をつけてください。

上の作業を行った後、もともとテンプレートをdefaultではないものを使用していたり、defaultを直接変更していた場合は、以下の作業を行います。

EC-CUBE 2.12のEC-CUBE/data/Smarty/templatesの中から、基本となるテンプレートを新サイトのテンプレートに上書きします。
旧サイトで使用していたテンプレートと現在のテンプレートをDFなどのツールで比較します。旧サイトのほうで変更したテンプレートファイルを1つずつ検証してアップしていきます。

2.11で使えていたテンプレートは、2.12で使えないものも多いですが、きちんと移行作業を行えば、見た目は同じままいけます!
この辺りは、他のサイトの説明に譲ります。

5. 基本情報のコピー

SHOPマスターより、以下の情報を新サイトにコピーします。
ただし、メール部分は送信テストを行うため、「 test@new_eccube.co.jp 」などと設定しましょう。
以下の内容のうち、いちばん最初に行うのは郵便番号DB登録です。
自動で更新ボタンを押しましょう。

・特定商取引法
・配送方法設定
・支払方法設定
・ポイント設定
・メール設定
・SEO管理
・会員規約設定
・郵便番号DB登録
・定休日管理

弊社では、よいタイミングですので、支払方法を増やしたり、
ポイント設定やメールテンプレートの見直しも行ったりしました。

また、SEOについても、きちんと対応できているかの再確認を行い、変更したりしました。

6. その他のカスタマイズについて

納品書を変更している、商品項目を増やしている、メール送信内容を変更しているなど、サイト個別に設定が必要なものの設定・開発は、個別に確認してください。

よくある更新内容

メールテンプレートの追加
システム設定>マスターデータ管理から、mtb_mail_templateを選択して追加してください。その後、SHOPマスターにてテンプレート情報を登録してください。

商品画像の追加
システム設定>パラメーター設定にて、PRODUCTSUB_MAXを必要な数に設定する。
初期のテーブルではサブ画像は6点のため、以降の数字を用いてカラムを追加する。
SC_Product_Ex.phpにてfunction alldtlSQLに画像情報の追加した番号のカラムを追加する。

7. プラグインのインストール

※※※※※※ ! 超 注 意 ! ※※※※※※※※

プラグインのインストールは移行作業が完全に完了した後に行うこと!
そうしないと、dtb_blocなどの情報で競合が発生して、あとから大変です!

8. おまけ

dtb_memberのデータを間違ってアップデートしちゃったYO!
2.12はhash_hmac(PASSWORD_HASH_ALGOS, $str . ':' . AUTH_MAGIC, $salt);というアルゴリズムでパスワードが生成されています。
上書きしちゃったデータの「salt」部分に記載されている文字列とdata/config/config.phpに記載されているAUTH_MAGICとPASSWORD_HASH_ALGOSの値を使用してデータを生成します。
Cent OSにログインして、rootユーザにて

# echo '<?php echo hash_hmac("[PASSWORD_HASH_ALGOSの値]", "[ここに新しいパスワード]:[AUTH_MAGICの値]", "[saltの値はDBで上書きしちゃったユーザに設定されているもの]"); ?>' | php

を打ち込めばおkなんかやたら長い文字列が取得できます。
上の例では、このデータをdtb_memberの上書きしちゃったユーザのパスワードに上書きすると、ログインできます。


ということで、無事にEC-CUBEの移行ができましたー。
あとはドメインの向き先を変えれば画面は表示されましたでしょうか。

もし、仮のドメインを設定して対応していた場合は、
最後にdata/config/config.phpに記載されているURLを変更しないと、
管理画面にログインできません!
注意してください!
スポンサーサイト

12

31

コメント

年越しのシャンパンを開ける前に、Word Press3.0.4にアップグレードしてください!

SOPHOSにて、
WordPress3.0.3に致命的なXSS脆弱性が見つかり、
3.0.4へのアップデートを呼びかける記事が掲載されました。

WordPressからのメーリングリストにて、
更新プログラムの通知が来ているそうです。

WordPress users who have subscribed to their security mailing list should have already received a notice of the update.



SHOPHOS
http://nakedsecurity.sophos.com/2010/12/30/wordpress-warns-of-critical-flaw-update-to-3-0-4-immediately/

The WordPress team has alerted WordPress users to a critical XSS flaw in versions 3.0.3 and previous. WordPress has not sent out many alerts of this importance, and during the holiday downtime it increases the difficulty for many teams to consider upgrading.

On initial inspection it would appear to be quite trivial for folks with malicious intent to exploit these flaws, so consider applying this update before popping the cork on the bubbly on New Years Eve.

The email states:

First off, happy holidays. :) I hope this time of the year, chilly for many of you, has given you time to enjoy family, friends, and loved ones and reflect on the year before and the year to come.

My last message to you this year is an important but unfortunate one: we've fixed a pretty critical vulnerability in WordPress' core HTML sanitation library, and because this library is used lots of places it's important that everyone update as soon as possible.

I realize an update during the holidays is no fun, but this one is worth putting down the eggnog for. In the spirit of the holidays, consider helping your friends as well.

You can update in your dashboard, on the "updates" tab, or download the latest WordPress here:

http://wordpress.org/download/

The official release announcement is here:

http://wp.me/pZhYe-qt

Merry WordPressing in 2011,
Matt Mullenweg






休暇を楽しむ前に、アップデートして、
健やかな新年を迎えてくださいね!

と書いてあります。



そういえばメーリングリスト受け取っているのかもしれませんが、
100%英語なので、スパム扱いになっているのかなぁと思っています(^^ゞ



みなさんよいお年を!!

10

24

コメント

オープンソースのおかげです(゚Д゚)ノ

今の仕事を、少ない人数でもやりくりできているのは、
オープンソースやフリーソフトによるところが超超超大きい!!!

特に毎日使っているブラウザ
・Chrome
・Internet explorer
・Safari
・Firefox

テキストエディタ、および、開発環境
・Sakuraエディタ
・Eclipse
・Visual Studio Enterprise Edition

通信の可視化、簡易化
・teraterm
・FFFTP

などなど!
あげたらきりがないです!


そして、仕事でもよく使うMovable Typeをはじめ、
多くのオープンソース・フリーツールが出ているので、
まとめてみました。

自分用リンク集です(^p^)


AWStats(アクセス解析)
http://www.starplatinum.jp/awstats/awstats66/

OpenX(アフィリエイト広告管理)
http://openx.jp/

trac(ToDo管理)
http://trac.edgewall.org/

OpenPNE(SNS)
http://www.openpne.jp/

Xoops(情報共有サイト、掲示板)
http://xoopscube.sourceforge.net/ja/

Xymon(サーバ監視)
http://www.skyhobbit.co.jp/xymon/

Pukiwiki(Wiki)
http://pukiwiki.sourceforge.jp/

EC-CUBE(ECサイト)
http://www.ec-cube.net/

WordPress(ブログCMS)
http://ja.wordpress.org/

MovableType(ホームページCMS)
http://www.sixapart.jp/movabletype/

エコリナックス(OS)
http://ja.ecolinuxos.com/

Adempiere(ERP+CRM)
http://www.adempiere.jp/

コンピエール(中小企業向けERP)
http://www.compiere-japan.com/

OpenSSO(シングルサインオン)
https://opensso.dev.java.net/ja/

Apache Subversion(バージョン管理)
http://subversion.apache.org/

OpenStack(クラウドコンピューティング)
http://openstack.org/index.php



最近の注目株であるクラウド系のオープンソースも、
そのうち業務で行う可能性があります。

弊社内のサーバ(約10台)に外部のサーバ5台の中で、
クラウドのテストができる環境を作って試してみなければ(;´Д`)

こちらの記事にも特集が組まれています。

Publickey
クラウド事業者のためのオープンソースプロジェクト「OpenStack」
http://www.publickey1.jp/blog/10/openstack.html

クラウドのプラットフォームとなる、スケーラブルな計算システムと分散オブジェクトストアなどのソフトウェアをオープンソースとして開発しようという「OpenStack」がスタートしました。

OpenStack Open Source Cloud Computing Software
OpenStackの中心となったのは、クラウド事業者のRackspace HostingとNASA(アメリカ航空宇宙局)。そのほか、デル、シトリックス、NTTデータ、インテル、AMD、RightScaleなど多くの企業が参加を表明しています。



Apacheのプロジェクトの1つ?として、クラウド化のオープンソースが出た...
ということは、あとはデータセンターをいかに運営していくか。
経営手腕はこちらで試されそうです。

これだけ導入する会社を運営していたとしても、
年商5千万くらいはすぐに達成できそうな気がするけど(笑)

世の中それだけじゃだめなんだよねーという話は、
ずっと先の僕に任せます!

10

22

コメント

dovecot dead but subsys locked

お客さんからメール送受信できないんだけどって言われた。

# service dovecot status
dovecot dead but subsys locked


死んでましたww

なんか他のサイトを見ると、
subsysのdovecotファイルを消して、
スタートしなくちゃみたいなこと書いてある。


Chris Hope's LAMP Blog - The Electric Toolbox
http://www.electrictoolbox.com/dovecot-dead-but-subsys-locked/

If you run

/etc/init.d/dovecot status


and you see an error mesage like this, then you know the process has crashed and not cleaned up properly:

dovecot dead but subsys locked


Check the /var/log/maillog file (the exact mail log file may vary from Linux/BSD distro to distro) and you'll see something like this:

Oct 24 14:21:57 vps131 dovecot: Killed with signal 15
Oct 24 14:21:57 vps131 dovecot: Dovecot v1.0.rc15 starting up
Oct 24 14:21:58 vps131 dovecot: auth(default): mysql: Unknown connect string: pass
Oct 24 14:21:58 vps131 dovecot: Auth process died too early - shutting down
Oct 24 14:21:58 vps131 dovecot: child 7766 (auth) returned error 89
Oct 24 14:21:58 vps131 dovecot: Temporary failure in creating login processes, slowing down for now


In this instance there was a configuration error and dovecot crashed. It's a shame it doesn't die more gracefully.

The solution is simple. Check /var/lock/subsys and you'll see the dovecot file there. It's simply a matter of doing this:

rm /var/lock/subsys/dovecot


and then starting dovecot again. Obviously you'll need to work out what the configuration error was and fix it first.



とりあえず起動は問題なかったっぽい。


古くからホームページに自社のメールアドレスを掲載していたお客さんなので、
スパムメールが多いなぁ...

ちょっと設定変えなきゃいけないだろうなっていうことで
ここ見ながら変えてみようという意気込み備忘録↓

Kozupon.com
Postfixのセキュリティパラメータ(2010年03月改訂版)!
http://www.kozupon.com/mail/postfix2.html



03

11

コメント

Xymonインストールまとめ

仕事でXymonを使用することになったので、
インストールまとめ。

とりあえずこのXymonについて詳しく書いてあるページを参考に、
http://www.skyhobbit.co.jp/xymon/index.html
自社のサーバとクライアントのサーバにXymonをインストールし、
自社サーバでクライアントサーバのCPUやメモリ、リソースを監視する。


「2.3.1 Xymonをインストールする前に必要なもの」に書いてあるものを確認

ブラウザは、リモートなのでChrome、
OSはCentOS、WebサーバはApacheなのでOK。

ライブラリとかは
# yum list installed
で確認

HTML4とJavaScriptとCSSに対応したWebブラウザ ○
UNIXライクなオペレーションシステム ○
システム上の十分なSYSV IPCリソース まぁ○
Webサーバ(Apacheなど) ○
Cコンパイラ,GUN make ○
pcre-devel ×
rrdtool-debel ×
libpng ×
openssl-devel ×
openldap-devel ×
「fping」ユーティリティ ×


×になったものを準備

下のページを参考に、
rrdtoolをインストール
http://centossrv.com/rrdtool-cacti.shtml

RPMforgeリポジトリ導入(RPMforge)が必要と書いてあるので、
それも導入して、からの~♪

# yum -y install rrdtool
Loaded plugins: downloadonly, fastestmirror, priorities
Loading mirror speeds from cached hostfile
* addons: ftp.jaist.ac.jp
* base: ftp.jaist.ac.jp
* extras: ftp.jaist.ac.jp
* rpmforge: fr2.rpmfind.net
* updates: ftp.jaist.ac.jp
addons | 951 B 00:00
base | 2.1 kB 00:00
extras | 2.1 kB 00:00
rpmforge | 1.1 kB 00:00
rpmforge/primary | 3.6 MB 00:04
rpmforge 9870/9870
updates | 1.9 kB 00:00
Excluding Packages in global exclude list
Finished
463 packages excluded due to repository priority protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package rrdtool.x86_64 0:1.3.8-2.el5.rf set to be updated
--> Processing Dependency: perl(RRDs) for package: rrdtool
--> Processing Dependency: perl(RRDp) for package: rrdtool
--> Processing Dependency: xorg-x11-fonts-Type1 for package: rrdtool
--> Processing Dependency: gettext for package: rrdtool
--> Running transaction check
---> Package gettext.x86_64 0:0.14.6-4.el5 set to be updated
---> Package perl-rrdtool.x86_64 0:1.3.8-2.el5.rf set to be updated
---> Package xorg-x11-fonts-Type1.noarch 0:7.1-2.1.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================================================================
Package Arch Version Repository Size
===========================================================================================================================
Installing:
rrdtool x86_64 1.3.8-2.el5.rf rpmforge 936 k
Installing for dependencies:
gettext x86_64 0.14.6-4.el5 base 1.4 M
perl-rrdtool x86_64 1.3.8-2.el5.rf rpmforge 54 k
xorg-x11-fonts-Type1 noarch 7.1-2.1.el5 base 1.5 M

Transaction Summary
===========================================================================================================================
Install 4 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

Total download size: 3.8 M
Downloading Packages:
(1/4): perl-rrdtool-1.3.8-2.el5.rf.x86_64.rpm | 54 kB 00:01
(2/4): rrdtool-1.3.8-2.el5.rf.x86_64.rpm | 936 kB 00:02
(3/4): gettext-0.14.6-4.el5.x86_64.rpm | 1.4 MB 00:00
(4/4): xorg-x11-fonts-Type1-7.1-2.1.el5.noarch.rpm | 1.5 MB 00:00
---------------------------------------------------------------------------------------------------------------------------
Total 840 kB/s | 3.8 MB 00:04
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : gettext 1/4
Installing : xorg-x11-fonts-Type1 2/4
Installing : perl-rrdtool 3/4
Installing : rrdtool 4/4

Installed:
rrdtool.x86_64 0:1.3.8-2.el5.rf

Dependency Installed:
gettext.x86_64 0:0.14.6-4.el5 perl-rrdtool.x86_64 0:1.3.8-2.el5.rf xorg-x11-fonts-Type1.noarch 0:7.1-2.1.el5

Complete!



その他も同様にインストールする。。。(省略)



システムの「hobbit」ユーザIDを追加
linuxコマンド
http://www.k4.dion.ne.jp/~mms/unix/linux_com/useradd.html


# useradd hobbit




Xymonをもってくる
一応/home/hobbitにて

# wget http://jaist.dl.sourceforge.net/sourceforge/hobbitmon/xymon-4.3.0-beta2.tar.gz



展開

# tar zxf xymon-4.3.0-beta2.tar.gz



|゚Д゚)))コソーリ見てみる

# cd xymon-4.3.0-beta2
# ll
total 256
drwxr-xr-x 2 manager manager 4096 Apr 24 2009 bbdisplay
drwxr-xr-x 2 manager manager 4096 Apr 24 2009 bbnet
drwxr-xr-x 2 manager manager 4096 Apr 24 2009 bbproxy
drwxr-xr-x 2 manager manager 4096 Apr 24 2009 build
-rw-r--r-- 1 manager manager 119819 Apr 24 2009 Changes
drwxr-xr-x 2 manager manager 4096 Apr 24 2009 client
drwxr-xr-x 2 manager manager 4096 Apr 24 2009 common
-rwxr-xr-x 1 manager manager 617 Feb 12 2009 configure
-rwxr-xr-x 1 manager manager 6200 Feb 23 2009 configure.client
-rwxr-xr-x 1 manager manager 14219 Feb 12 2009 configure.server
-rw-r--r-- 1 manager manager 17983 Nov 25 2002 COPYING
-rw-r--r-- 1 manager manager 1593 Nov 27 2008 CREDITS
drwxr-xr-x 2 manager manager 4096 Apr 24 2009 debian
drwxr-xr-x 3 manager manager 4096 Apr 24 2009 docs
drwxr-xr-x 7 manager manager 4096 Apr 24 2009 hobbitd
drwxr-xr-x 2 manager manager 4096 Apr 24 2009 include
drwxr-xr-x 2 manager manager 4096 Apr 24 2009 lib
-rw-r--r-- 1 manager manager 3553 Nov 27 2008 README
-rw-r--r-- 1 manager manager 5044 Nov 27 2008 README.CLIENT
-rw-r--r-- 1 manager manager 14124 Apr 23 2009 RELEASENOTES
drwxr-xr-x 2 manager manager 4096 Apr 24 2009 rpm
drwxr-xr-x 2 manager manager 4096 Apr 24 2009 web



configureスクリプトを実行
たぶん質問内容ぜんぜんわかんないかもなので、
デフォルト値を見ながら。。。「Y」「y」。。。と打っていく。
http://hobbitmon.sourceforge.net/docs/configure.txt

途中の質問で、
WEBサーバ使うグループは?→apache
ホスト名は?→ホスト名
IPアドレスは?→IPアドレス
それ以外はみんなデフォルトでした。。

途中で失敗しちゃったら、
configureスクリプトを実行したときに作成されるMakefileを削除すれば
もう一度configureスクリプトを実行できます!


# make
# make install




Apache構成ファイルをコピーして
httpdをrestart

# cd /home/hobbit/server/etc
# cp hobbit-apache.conf /etc/httpd/conf.d/hobbit-apache.conf
# service httpd restart



Xymonを実行する

# su - hobbit
# ./server/hobbit.sh start
Hobbit started
# ./server/hobbit.sh status
Hobbit (hobbitlaunch) running with PID 19785




動いたかなー

動いたかなー



http://ドメイン/xymon/index.html
これで見れるはず!

Xymon.jpg

赤い。
きっと性能が通常の三倍という意味だろう。


あとの細かい説明はざっくり省略 ヽ(`Д´)ノ

ようこそ!

ブロとも申請フォーム

ブロ友申請大歓迎です!
一覧に表示されるので自動で相互リンクになります!

>> ブロ友申請はこちら <<

検索フォーム

最近のコメント

メールフォーム

名前:
メール:
件名:
本文:

FC2ブログランキング

人気ブログランキング

人気ブログランキング

ブログ村

アクセスランキング

[ジャンルランキング]
育児
1136位
アクセスランキングを見る>>

[サブジャンルランキング]
パパ育児
78位
アクセスランキングを見る>>

やーんは今、

ブロとも一覧

Designed by

Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。