インストールマニアックスの 4つめは、SugarCRM にしてみる。
SugarCRM は米国 SugarCRM 社が開発・販売している顧客管理 (CRM: Customer Relationsip Management) システムであるが、通常の有償版に加えて無料で使える Community Edition というものがある。
SugarCRM Community Eition (略して SugarCE) は 2007年 7月 25日付けのプレスリリースで、GPL v3 に従うことが公式に表明されている。
インストールマニアックスの OSS のリストには SugarCRM は含まれてないが、Community Edition であれば特に問題はないということにしておこう。
SugarCE の日本語版は、同製品の日本国内代理店のひとつであるオープンソースCRM株式会社からダウンロードすることができる。
しかし同社のダウンロードページからダウンロードするためには、自分の名前や電話番号などの個人情報を登録しなくてはならない他、同社から営業される可能性があるため、どうしても躊躇してしまう。
実はオープンソースCRM株式会社を中心に、有志の手によって SugarCRM 日本語ドキュメントプロジェクトが運営されている。
残念なことに、同社の Web サイトにはこのことが謳われている形跡は、まったく無い。
それはともかく、SugarCRM 日本語ドキュメントプロジェクトの Web サイトでも、SugarCEの日本語版が提供されている。
ダウンロードページを表示すると、今日現在の最新版は 5.0.0i となっている。
しかし、これはパッチだけしか提供されていないということなので、先に 5.0.0h をインストールしてから 5.0.0i にアップデートしなくてはならない。
本家、英語版のサイトをみると 5.2.0e が最新版のようなので、ここでは英語版をインストールすることにした。
本家のダウンロードページからダウンロードした zip 形式のファイルを c:\var\www\InstallManiax に展開する。
フォルダの名称にはバージョン番号が付いているので、一応これを削除しておく。
PHP の修正
SugarCE では、アップロードできるファイルの最大容量を、少なくとも20M以上にしておかなくてはならないということになっている。
そこで PHP をインストールしたフォルダにある php.ini ファイルの該当箇所を編集しておく。
編集箇所は php.ini ファイルの 603 行目付近にある「upload_max_filesize = 2M」の行だ。
:
603: upload_max_filesize = 2M
:
この行の 2M がアップロードできるファイルの最大容量になるので、これを 20M に変更する。
:
603: upload_max_filesize = 20M
:
CPU パワーがたりない!?
php.ini ファイルを編集して、アップロード可能なファイルの最大容量を変更したついでに、もうすこしファイルの編集をしておこう。
インストールマニアックス 2009 で提供されてたハードウェアの CPU は Pentium Dual E2160 1.8GHz なのだが、どうやら CPU パワーが不足している様子がみられる。
これは、以後の手順で SugarCE をインストールしているときに気がついた。
Web ブラウザでインストールを実行すると、PHP 内部での処理に時間が掛かりすぎて IIS がタイムアウトしてしまうのだ。
このときに表示されるエラーメッセージは以下のようなものになる。
このようなときに IIS では、IIS 自身を実行しているサーバーで Web ブラウザを使ってエラーになる手順を再現すれば、より詳細なエラーが表示されるようにはなっているのだが、この場合はほとんど同じ内容しか表示されなかったため、原因が分かるまでにかなり時間が掛かった。
これを解消するためには php.ini ファイルの編集だけでなく、IIS の設定変更も必要になる。
まずは php.ini ファイルの編集をしておく。
編集箇所は PHP をインストールしたフォルダにある php.ini ファイルの 308 行目付近の「max_execution_time = 30」だ。
:
308: max_execution_time = 60
:
この行の 60 が IIS から呼び出された PHP プログラムの処理時間の最大値 (単位: 秒) になっている。
試行錯誤の結果、これを 120 に変更すれば何とかエラーは回避できるようだ。
:
308: max_execution_time = 120
:
もう一箇所、こんどは IIS の設定を変更する。
IIS マネージャを使って「FastCGI Setting」を開き、FastCGI が呼び出すプログラムが「php-cgi.exe」になっている行のコンテキストメニューで「Edit…」を実行する。
「Edit FastCGI Aprilaction…」プロパティシートが表示されるので、ここで「ActivityTimeout」欄の値を 120 に変更する。
この 120 という値も、試行錯誤の結果だ。
データベースの準備
やはり SugarCE でもデータベースを使うので、以下のようにこれを準備しておく。
| データベース名 | sugarcrm | |
|---|---|---|
| 接続アカウント | *(acct)* | (セキュリティのため伏字) |
| 接続パスワード | *(pass)* | |
CREATE DATABASE sugarcrm;
GRANT ALL PRIVILEGES ON sugarcrm.* TO '*(acct)*'@'localhost' IDENTIFIED BY '*(pass)*';
FLUSH PRIVILEGES;
EXIT;
SugarCE のインストール
準備も整ったところで、SugarCE のインストールといこう。
Web ブラウザで SugarCE を展開したフォルダにアクセスすると、インストールの前準備が完了しているかの確認が表示されるのでとっとと「Next」をクリックする。
すると「License Acceptance」(ライセンスの確認) 画面が表示される。
ここで画面上部付近にある「Choose your language:」欄で「Jananese – 日本語」を選択すると、自動的に画面が切り替わり、もう一度、インストールの前準備の確認画面が表示される。
それも今度は日本語で表示される。
なお、日本語で表示されるのはインストール中だけであり、インストールを終え、実際に SugarCE を使うときは英語以外の言語は表示されない。
日本語の言語ファイルを別途入手してくればいいのだとは思うが、ここではそこまではやっていない。
ともかく、2度目のインストール前準備確認画面で「次へ」をクリックすると、やはりもう一度、「ライセンス確認」画面が表示される。
これについても、当然の如く日本語で表示されている (ライセンス本文は翻訳すると意味合いが変わってしまう可能性もあり、原文のままで表示されている。)
「ライセンス確認」画面で「次へ」をクリックすると、動作環境の確認処理が実行される。
動作環境の確認が行われると「インストールタイプの選択」になる。
こここでは「通常インストール」を選択しておけば、特に問題になることはない。
入力を省略された項目については、インストール後に管理メニューから設定し直すことができる。
「データベースタイプ」画面では選択肢が「MySQL」しか表示されていないはずなので、このまま「次へ」をクリックすると、「データベースの設定」画面が表示される。
なお、SugarCE は MySQL の他に MSSQL にも対応しているので、予め MSSQL をインストールし PHP の MSSQL エクステンションなどが正しく設定してあれば、ここに「MSSQL」の選択肢も表示されるはずだ。
「データベースの設定」画面の「データベース名」、「データベース管理者のユーザ名」、「データベース管理者のパスワード」の各欄のそれぞれには、「データベースの準備」で決めた「データーベース名」、「接続アカウント」、「接続パスワード」を入力する。
「ホスト名」欄には「localhost」と入力する。
今回インストールする SugarCE は本番環境で使うわけではないので、「データベースにデモデータを追加しますか?」の欄は「はい – マルチバイトデーターあり」を選択しておく。
「データベースの設定」画面の各欄を入力したら「次へ」をクリックすると、「データベースの認証を確認しています。」というダイアログが表示される。
このダイアログが表示されるのは、「データベースの準備」でデータベースを予め作成してあるためなので、ここでは「許可」をクリックする。
「サイト設定」画面では管理者のパスワードを入力して「次へ」をクリックし、続いて表示される「ロケール設定」画面では日付や通過の表示形式を適宜選択して「次へ」をクリックする。
「ロケール設定」画面の「日付表示形式」や「時間表示形式」はともかく、「通過」、「通過の精度」、「1000位セパレータ」、「小数点シンボル」の各欄は、「Japanese Yen」、「0」、「, (カンマ)」、「. (ピリオド)」にするのが無難だろう。
続いて「設定の確認」が表示されるので、一応 内容を確認して「インストール」をクリックする。
すると、ここでしばらくの間、待たされる。
「CPU パワーがたりない!?」で述べた設定変更をしていないと、ここで IIS のタイムアウトが発生する。
無事に処理が終われば、「セットアップ実行」という画面が表示されるはずだ。
今までにインストールしてきた OSS 同様に、ファイルの書き込みに失敗するようで、「config.php に書き込めません。」というメッセージが見える。
しかたないので、ここに表示されている設定情報をテキストエディタで作成して SugarCE を展開した c:\var\www\InstallManiax\SugarCE フォルダに config.php という名前で保存する。
1: <?php
2: // created: 2009-05-09 19:04:54
3: $sugar_config = array (
4: 'admin_access_control' => false,
5: 'admin_export_only' => false,
6: 'cache_dir' => 'cache/',
7: 'calculate_response_time' => true,
8: 'common_ml_dir' => '',
9: 'create_default_user' => false,
10: 'currency' => '',
11: 'dashlet_display_row_options' =>
12: array (
13: 0 => '1',
14: 1 => '3',
15: 2 => '5',
16: 3 => '10',
17: ),
18: 'date_formats' =>
19: array (
20: 'Y-m-d' => '2006-12-23',
21: 'm-d-Y' => '12-23-2006',
22: 'd-m-Y' => '23-12-2006',
23: 'Y/m/d' => '2006/12/23',
24: 'm/d/Y' => '12/23/2006',
25: 'd/m/Y' => '23/12/2006',
26: 'Y.m.d' => '2006.12.23',
27: 'd.m.Y' => '23.12.2006',
28: 'm.d.Y' => '12.23.2006',
29: ),
30: 'datef' => 'm/d/Y',
31: 'dbconfig' =>
32: array (
33: 'db_host_name' => 'localhost',
34: 'db_host_instance' => 'SQLEXPRESS',
35: 'db_user_name' => '*(acct)*',
36: 'db_password' => '*(pass)*',
37: 'db_name' => 'sugarcrm',
38: 'db_type' => 'mysql',
39: ),
40: 'dbconfigoption' =>
41: array (
42: 'persistent' => true,
43: 'autofree' => false,
44: 'debug' => 0,
45: 'seqname_format' => '%s_seq',
46: 'portability' => 0,
47: 'ssl' => false,
48: ),
49: 'default_action' => 'index',
50: 'default_charset' => 'UTF-8',
51: 'default_currencies' =>
52: array (
53: 'AUD' =>
54: array (
55: 'name' => 'Australian Dollars',
56: 'iso4217' => 'AUD',
57: 'symbol' => '$',
58: ),
59: 'BRL' =>
60: array (
61: 'name' => 'Brazilian Reais',
62: 'iso4217' => 'BRL',
63: 'symbol' => 'R$',
64: ),
65: 'GBP' =>
66: array (
67: 'name' => 'British Pounds',
68: 'iso4217' => 'GBP',
69: 'symbol' => '£',
70: ),
71: 'CAD' =>
72: array (
73: 'name' => 'Canadian Dollars',
74: 'iso4217' => 'CAD',
75: 'symbol' => '$',
76: ),
77: 'CNY' =>
78: array (
79: 'name' => 'Chinese Yuan',
80: 'iso4217' => 'CNY',
81: 'symbol' => '¥',
82: ),
83: 'EUR' =>
84: array (
85: 'name' => 'Euro',
86: 'iso4217' => 'EUR',
87: 'symbol' => '€',
88: ),
89: 'HKD' =>
90: array (
91: 'name' => 'Hong Kong Dollars',
92: 'iso4217' => 'HKD',
93: 'symbol' => '$',
94: ),
95: 'INR' =>
96: array (
97: 'name' => 'Indian Rupees',
98: 'iso4217' => 'INR',
99: 'symbol' => '₨',
100: ),
101: 'KRW' =>
102: array (
103: 'name' => 'Korean Won',
104: 'iso4217' => 'KRW',
105: 'symbol' => '₩',
106: ),
107: 'YEN' =>
108: array (
109: 'name' => 'Japanese Yen',
110: 'iso4217' => 'JPY',
111: 'symbol' => '\',
112: ),
113: 'MXM' =>
114: array (
115: 'name' => 'Mexican Pesos',
116: 'iso4217' => 'MXM',
117: 'symbol' => '$',
118: ),
119: 'SGD' =>
120: array (
121: 'name' => 'Singaporean Dollars',
122: 'iso4217' => 'SGD',
123: 'symbol' => '$',
124: ),
125: 'CHF' =>
126: array (
127: 'name' => 'Swiss Franc',
128: 'iso4217' => 'CHF',
129: 'symbol' => 'SFr.',
130: ),
131: 'THB' =>
132: array (
133: 'name' => 'Thai Baht',
134: 'iso4217' => 'THB',
135: 'symbol' => '฿',
136: ),
137: 'USD' =>
138: array (
139: 'name' => 'US Dollars',
140: 'iso4217' => 'USD',
141: 'symbol' => '$',
142: ),
143: ),
144: 'default_currency_iso4217' => 'JPY',
145: 'default_currency_name' => 'Japanese Yen',
146: 'default_currency_significant_digits' => '0',
147: 'default_currency_symbol' => '\',
148: 'default_date_format' => 'Y.m.d',
149: 'default_decimal_seperator' => '.',
150: 'default_email_charset' => 'UTF-8',
151: 'default_email_client' => 'sugar',
152: 'default_email_editor' => 'html',
153: 'default_export_charset' => 'UTF-8',
154: 'default_language' => 'en_us',
155: 'default_locale_name_format' => 's f l',
156: 'default_max_subtabs' => '12',
157: 'default_max_tabs' => '12',
158: 'default_module' => 'Home',
159: 'default_navigation_paradigm' => 'm',
160: 'default_number_grouping_seperator' => ',',
161: 'default_password' => '',
162: 'default_permissions' =>
163: array (
164: 'dir_mode' => 1528,
165: 'file_mode' => 432,
166: 'user' => '',
167: 'group' => '',
168: ),
169: 'default_subpanel_links' => false,
170: 'default_subpanel_tabs' => true,
171: 'default_swap_last_viewed' => false,
172: 'default_swap_shortcuts' => false,
173: 'default_theme' => 'Sugar',
174: 'default_time_format' => 'H.i',
175: 'default_user_is_admin' => false,
176: 'default_user_name' => '',
177: 'disable_export' => false,
178: 'disable_persistent_connections' => 'false',
179: 'display_email_template_variable_chooser' => false,
180: 'display_inbound_email_buttons' => false,
181: 'dump_slow_queries' => false,
182: 'email_default_client' => 'sugar',
183: 'email_default_delete_attachments' => true,
184: 'email_default_editor' => 'html',
185: 'email_num_autoreplies_24_hours' => 10,
186: 'export_delimiter' => ',',
187: 'history_max_viewed' => 10,
188: 'host_name' => 'maniax.compnet.jp',
189: 'i18n_test' => true,
190: 'import_dir' => 'cache/import/',
191: 'import_max_execution_time' => 3600,
192: 'import_max_records_per_file' => '1000',
193: 'installer_locked' => true,
194: 'js_custom_version' => '',
195: 'js_lang_version' => 1,
196: 'languages' =>
197: array (
198: 'en_us' => 'English (US)',
199: ),
200: 'large_scale_test' => false,
201: 'list_max_entries_per_page' => 20,
202: 'list_max_entries_per_subpanel' => 10,
203: 'lock_default_user_name' => false,
204: 'lock_homepage' => false,
205: 'lock_subpanels' => false,
206: 'log_dir' => '.',
207: 'log_file' => 'sugarcrm.log',
208: 'log_memory_usage' => false,
209: 'logger' =>
210: array (
211: 'level' => 'fatal',
212: 'file' =>
213: array (
214: 'ext' => '.log',
215: 'name' => 'sugarcrm',
216: 'dateFormat' => '%c',
217: 'maxSize' => '10MB',
218: 'maxLogs' => 10,
219: 'suffix' => '%m_%Y',
220: ),
221: ),
222: 'login_nav' => false,
223: 'max_dashlets_homepage' => '15',
224: 'portal_view' => 'single_user',
225: 'require_accounts' => true,
226: 'resource_management' =>
227: array (
228: 'special_query_limit' => 50000,
229: 'special_query_modules' =>
230: array (
231: 0 => 'Reports',
232: 1 => 'Export',
233: 2 => 'Import',
234: 3 => 'Administration',
235: 4 => 'Sync',
236: ),
237: 'default_limit' => 1000,
238: ),
239: 'rss_cache_time' => '10800',
240: 'save_query' => 'all',
241: 'session_dir' => '',
242: 'showDetailData' => true,
243: 'showThemePicker' => true,
244: 'site_url' => 'http://maniax.compnet.jp/sugarce',
245: 'slow_query_time_msec' => '100',
246: 'sugar_version' => '5.2.0e',
247: 'sugarbeet' => true,
248: 'time_formats' =>
249: array (
250: 'H:i' => '23:00',
251: 'h:ia' => '11:00pm',
252: 'h:iA' => '11:00PM',
253: 'H.i' => '23.00',
254: 'h.ia' => '11.00pm',
255: 'h.iA' => '11.00PM',
256: ),
257: 'timef' => 'H:i',
258: 'tmp_dir' => 'cache/xml/',
259: 'translation_string_prefix' => false,
260: 'unique_key' => '0a565b7a3b516c781eea5771ae4b8729',
261: 'upload_badext' =>
262: array (
263: 0 => 'php',
264: 1 => 'php3',
265: 2 => 'php4',
266: 3 => 'php5',
267: 4 => 'pl',
268: 5 => 'cgi',
269: 6 => 'py',
270: 7 => 'asp',
271: 8 => 'cfm',
272: 9 => 'js',
273: 10 => 'vbs',
274: 11 => 'html',
275: 12 => 'htm',
276: ),
277: 'upload_dir' => 'cache/upload/',
278: 'upload_maxsize' => 3000000,
279: 'use_common_ml_dir' => false,
280: 'use_php_code_json' => true,
281: 'vcal_time' => '2',
282: 'verify_client_ip' => true,
283: );
284: ?>
ただし、この config.php には不具合が潜んでいるので、先にこれを修正しておく。
修正箇所は 111、147 行目付近の「’\'」という部分だ。
この部分は正しくは「’\\’」でなくてはならない。
:
107: 'YEN' =>
108: array (
109: 'name' => 'Japanese Yen',
110: 'iso4217' => 'JPY',
111: 'symbol' => '\\',
112: ),
:
147: 'default_currency_symbol' => '\\',
:
正しく修正した config.ini ファイルを保存したら、Web ブラウザに表示されている「セットアップ実行」画面で「次を」をクリックする。
「登録」画面が表示されユーザー登録が勧められるが、あえてこれを無視して何も入力せず「次へ」をクリックすると、めでたく SugarCE のログイン画面が表示される。
「User Name」欄に「admin」を入力し、「Password」欄にはインストールの途中で表示された「サイト設定」画面で入力した管理者のパスワードを入力して、「Login」をクリックする。
あるユーザーが SugarCE に初めてログインしたときは、最初にタイムゾーンを設定するように要求される。
タイムゾーンには SugarCE を実行しているサーバーのものが初期値として表示されているので、大抵はこのままで問題ないはずだ。
もし別のタイムゾーンで使いたいのであればここで変更しても良いし、改めて後から変更することもできる。
タイムゾーンの設定をすれば、SugarCE の初期画面が表示される。
2回目以降のログインであれば、最初からこの初期画面が表示される。
ここでインストールした SugarCE は http://maniax.compnet.jp/sugarce/ で参照することができる。
「User Name」欄に「guest」、「Password」欄に「guest」と入力して「Login」をクリックすれば、この SugarCE にログインして使ってみることができるようになっている。


I have been looking looking around for this kind of information. Will you post some more in future? I’ll be grateful if you will.