OSDN Git Service

Merge branch '1634_fix_mail_magazine_search' of /home/git/repositories/saas-ec-si...
[elecoma/elecoma.git] / README
1 ================================================================================
2    エレコマ(Elephant Commerce)                          http://ec.appirits.com/     
3 ================================================================================
4
5 エレコマのダウンロードありがとうございます。
6 エレコマは、Ruby on Railsで開発したECommerceシステムです。
7 オープンソースとして、MIT Licenseを採用しています。
8
9 このREADMEでは、エレコマを稼動させるまでの必要最低限の手順を記載しています。
10
11 ================================================================================
12   エレコマ 動作環境
13 ================================================================================
14 エレコマを動かすに辺り、以下の環境を奨励します。
15 (下記環境以外でも動作する可能性はあります)
16
17  - OS    : CentOS 6.4
18  - DB    : postgresql 8.4系
19  - Ruby  : 1.9.3
20  - Rails : 2.3.17
21
22 ================================================================================
23   エレコマ 依存plugin
24 ================================================================================
25 エレコマではpluginの一部を含めて配布しています。
26 以下のpluginが同梱されています。
27
28
29 active-form
30   git://github.com/realityforge/rails-active-form.git
31   rev: f1e74bec3d87c23cfc05ca7df11925c08e55514f
32
33 acts_as_paranoid
34   git://github.com/technoweenie/acts_as_paranoid.git
35   rev: b0a5d2b8ba89eae03f673e4af2e52619260fcc30
36
37 mbmail
38   git://github.com/tmtysk/mbmail.git
39   rev: 654ce3ec2dfa10ac3b05cd9354eb84456d206a6d
40
41 ssl_requirement
42   git://github.com/rails/ssl_requirement.git
43   rev: 34a9a138c4093bd7d5678822f8f1e62c31d47299
44
45 double_submit_protection
46   git://github.com/DianthuDia/double_submit_protection.git
47   rev: 7fc2e629b9fccb1736be7ea9da63e578f835a307
48
49 image_submit_tag_ext
50   git://github.com/champierre/image_submit_tag_ext.git
51   rev: 572ce5ce5d40ee1494ddd0a121483e8791bb2184
52
53 ================================================================================
54   エレコマ インストール手順
55 ================================================================================
56 CentOS 6.4でのインストールを想定しています。
57  前提条件は以下となります。
58  -CentOS 6.4 minimal をインストール済み
59
60 1. rubyのインストール
61 # yum -y groupinstall "Base" "Development tools"
62 # yum -y install zlib-devel
63 # yum -y install openssl-devel
64 # yum -y install ncurses-devel
65 # yum -y install readline-devel
66 # wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz
67 # tar zxf ruby-1.9.3-p194.tar.gz
68 # cd ruby-1.9.3-p194
69 # ./configure
70 # make
71 # make install
72
73 2. gemのインストール
74 # wget http://rubyforge.org/frs/download.php/76032/rubygems-1.8.23.tgz
75 # tar zxf rubygems-1.8.23.tgz
76 # cd rubygems-1.8.23
77 # ruby setup.rb
78
79 3. ImageMagickのインストール
80 # yum -y install libjpeg-devel libpng-devel gd-devel freetype-devel
81 # wget http://ftp.nl.netbsd.org/pub/pub/ImageMagick/ImageMagick-6.8.1-7.tar.gz
82 # tar zxf ImageMagick-6.8.1-7.tar.gz
83 # cd ImageMagick-6.8.1-7
84 # ./configure --disable-openmp
85 # make
86 # make install
87
88 4. PostgreSQLのインストール
89 # yum -y install postgresql84-devel postgresql84-server
90
91 5. PostgreSQLのセットアップ
92 # /etc/init.d/postgresql initdb
93 # vim /var/lib/pgsql/data/pg_hba.conf
94 (TYPEが「host」のCIDR-ADDRESSが「127.0.0.1/32」となっている行の、METHODを「md5」(*1) に設定します)
95 (*1 うまく動作しない場合は、ここを「trust」にしてみてください)
96 # /etc/init.d/postgresql start
97 # su - postgres
98 $ createuser ec
99 Shall the new role be a superuser? (y/n) y
100 $ psql template1
101 # alter user ec with password 'elephant';
102 # \q
103
104 6. ecユーザの作成
105 # adduser ec
106 # passwd ec
107 (パスワード変更)
108
109 7. エレコマの展開
110 # cd /usr/local
111 # git clone git://github.com/elecoma/elecoma.git ec
112 # chown -R ec:ec /usr/local/ec
113
114 6. 依存するgemのインストール
115 # gem install bundler --no-ri --no-rdoc
116 # su - ec
117 $ cd /usr/local/ec
118 $ bundle install --path vendor/bundle
119
120 7. 開発向けセットアップ
121 $ cd /usr/local/ec
122 $ cd config
123 $ cp database.example.yml database.yml
124 $ vim database.yml
125 $ diff database.example.yml database.yml 
126 3,4c3,4
127 <   username: postgres
128 <   password: 
129 ---
130 >   username: ec
131 >   password: elephant
132 $ cd environments
133 $ vim development.rb
134 (メールサーバの設定を変更)
135 $ vim production.rb
136 (メールサーバの設定を変更)
137 $ vim test.rb
138 (メールサーバの設定を変更)
139
140 8. Passengerのインストール
141 # yum -y install gcc-c++
142 # yum -y install httpd-devel
143 # yum -y install curl-devel
144 # gem install passenger
145 # passenger-install-apache2-module 
146
147 9. Apacheの設定
148 # vim /etc/httpd/conf.d/ec.conf
149 LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.5/ext/apache2/mod_passenger.so
150 PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.5
151 PassengerRuby /usr/local/bin/ruby
152
153 <VirtualHost *:80>
154   ServerName ec.example.com
155   DocumentRoot /usr/local/ec/public
156   RailsEnv production
157   <Directory /usr/local/ec/public>
158     AllowOverride all
159     Options -MultiViews
160   </Directory>
161 </VirtualHost>
162
163 10. production環境のDB作成
164 # su - ec
165 $ rake db:create db:migrate RAILS_ENV=production
166
167 16. Apacheの再起動
168 $ sudo /etc/init.d/httpd restart
169
170 17. メールマガジン用プロセスを起動
171 $ bundle exec ruby lib/daemons/mail.rb -e production start
172
173 ※WEBrickでの起動も可能です。
174 $ bundle exec ruby script/server -e production
175
176
177
178 ================================================================================
179 * エレコマの管理者ユーザー追加
180 ================================================================================
181 エレコマを起動した直後は管理者ユーザーが存在しません。
182 ユーザー登録は、RAILS_ROOT/test/fixtures/admin_users.yml の5,6,8行目を任意のものに修正した後、
183 コンソールから以下のようにデータを登録します。
184
185 $ rake db:fixtures:load FIXTURES=admin_users RAILS_ENV=production
186
187 ユーザーを登録した後、管理画面:http://サイトドメイン/adminにアクセスすると、
188 ログイン画面が表示されますので、RAILS_ROOT/test/fixtures/admin_users.ymlで指定した
189 登録したログインIDとパスワードでログインしてください。
190 なお、初期状態ではSHOPマスタの情報が入っておりませんので、
191 SHOPマスタ登録にて初期情報を入力してください。
192
193 ================================================================================
194 * SSLの切り替え
195 ================================================================================
196 エレコマではSSLの設定をデータベースに保存しています。
197 そのため、万が一管理画面にアクセスできなくなった場合は、
198 以下のようにして手動で切替えてください。
199
200 $ script/console production
201 >> system = System.first
202 >> system.use_ssl = false
203 >> system.save
204
205 use_sslの値はtrueの時にSSLを利用し、falseの時にSSLを利用しなくなります。
206
207 ================================================================================
208 * エレコマの住所マスタ更新
209 ================================================================================
210 エレコマの住所マスタは郵便事業株式会社の郵便番号マスタを利用しています。
211 登録はコンソールから以下のように行ないます。
212
213 $ ruby script/runner -e production Zip.import
214
215 郵便番号マスタは以下のサイトにて配布されているものを自動的に取り込みます。
216 http://www.post.japanpost.jp/zipcode/download.html
217
218 住所マスタ更新機能はLhaLibに依存しています。
219 LhaLibの詳細については以下のサイトをご確認ください。
220 http://www.artonx.org/collabo/backyard/?LhaLibEn
221
222
223 ================================================================================
224 * エレコマの商品追加
225 ================================================================================
226 エレコマを起動した直後は商品が存在していません。
227 管理画面から、商品の追加を行う必要があります。
228
229 1. 管理者ユーザーでログインする
230 --------------------------------------------------------------------------------
231
232 2. 商品の登録
233 --------------------------------------------------------------------------------
234 商品登録には、カテゴリ、規格、在庫の設定が必要となります。
235 >> カテゴリの登録
236  - 管理画面の商品管理 -> カテゴリ管理 よりカテゴリを登録する
237
238 >> 規格の管理
239  - 管理画面の商品管理 -> 規格管理 より規格を登録する
240
241 >> 商品の登録
242 >>>> 1つずつ登録する場合
243  - 管理画面の商品管理 -> 商品登録 より商品の登録を行う
244
245 >>>> CSVで一括登録する場合
246  - 管理画面の商品管理 -> 商品マスタ -> CSVアップロード から アップロードする
247
248 商品登録後、商品の規格を設定します。
249 >> 商品規格の登録
250  1. 商品登録完了画面もしくは商品マスタの商品一覧 -> 規格登録 から規格を選択し「表示する」ボタンを押下する
251  2. 規格リストが表示されるので、必要な規格の登録項目にチェックを入れ、商品コード、価格を入力し、登録を行う
252
253 >> 在庫の登録
254  - 管理画面の発注・出荷管理 -> 在庫管理 より対象商品の在庫数を登録する
255
256 以上で、商品がフロント画面に表示されるようになります
257
258
259
260 ================================================================================
261 * ユニットテスト
262 ================================================================================
263 エレコマではユニットテストにRspecを利用しています。
264 利用するには、以下のようにコマンドを実行してください。
265
266 rspecの実行
267 --------------------------------------------------------------------------------
268 $ ruby script/spec spec
269 このコマンドを発行するとユニットテストが実行されます。
270
271
272 ================================================================================
273 * エレコマ ライセンス
274 ================================================================================
275 本ソフトウェアはMIT Licenceを採用しています。
276 ライセンスの詳細についてはCOPYRIGHTファイルを参照してください。
277
278 配布物に含まれる「エレコマ」のロゴはクリエイティブ・コモンズノ表示-継承 2.1 
279 日本ライセンスに従った範囲内でご利用いただけます。
280
281
282 ================================================================================
283 * 配布物に含まれる別プロジェクトのファイル
284 ================================================================================
285 1. さざなみフォント
286 配布物に含まれる以下のファイルはさざなみフォントを利用しています。
287 lib/sazanami-gothic.ttf
288 さざなみフォントは以下のライセンスに基づきます。
289
290 Copyright (c) 1990-2003
291         Wada Laboratory, the University of Tokyo. All rights reserved.
292 Copyright (c) 2003-2004
293         Electronic Font Open Laboratory (/efont/). All rights reserved.
294
295 Redistribution and use in source and binary forms, with or without
296 modification, are permitted provided that the following conditions
297 are met:
298 1. Redistributions of source code must retain the above copyright notice,
299    this list of conditions and the following disclaimer.
300 2. Redistributions in binary form must reproduce the above copyright notice,
301    this list of conditions and the following disclaimer in the documentation
302    and/or other materials provided with the distribution.
303 3. Neither the name of the Wada Laboratory, the University of Tokyo nor
304    the names of its contributors may be used to endorse or promote products
305    derived from this software without specific prior written permission.
306
307 THIS SOFTWARE IS PROVIDED BY WADA LABORATORY, THE UNIVERSITY OF TOKYO AND
308 CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
309 NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
310 PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE LABORATORY OR
311 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
312 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
313 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
314 OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
315 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
316 OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
317 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.