[Υ󥹥ȡˡ]

ǤϡΥ󥹥ȡˡˤĤƵҤޤ

ư뤿ˤϡWebФ Ruby ɬפǤΥ󥹥ȡˡ
ʤɤˤĤƤϡǤϴŪ˲⤷ޤ󡣤ޤWebФˤĤƤε
ҤˤĤƤϡ Apache ١ˤƤޤΤǡѤĶ˱Ŭɤ
Ƥ

------------------------------------------------------------------------------

[ܼ]

*  0.7 ΰܹԤ
* Quick Start
* install_ja.rb Ѥ󥹥ȡ
* GD, GDChart Ѥդκ
* mod_ruby 
* PostgreSQL 
* ᡼륤󥿥ե
* ưǤΥ󥹥ȡ

------------------------------------------------------------------------------

[ 0.7 ΰܹԤ]

 0.7 ܹԤˤϡ0.8  0.7 Ʊǥ쥯ȥ˥󥹥ȡ뤷
ۤ褤Ǥ礦Ʊǥ쥯ȥ˥󥹥ȡ뤹ȡǡΰܹԤǤ
ʤʤޤ

0.7 Υ󥹥ȡ뤵줿ǥ쥯ȥ̾ѹƤ 0.7 Ȥ̤Υǥ
ȥ 0.8 򥤥󥹥ȡ뤷Ƥ

------------------------------------------------------------------------------

[Quick Start]

ǤϡȤꤢưƻˡ򵭽Ҥޤ

 1. Υ֤ Web ǽʾˡŸ롣
      $ cd /home/fukuoka/public_html
      $ tar xfvz kagemai-0.8.2.tar.gz
      $ mv kagemai-0.8.2 kagemai

 2. guest.cgi ˡWeb Ф񤭹褦Ŭڤ˥ѡߥå
    ѹ롣
    4ǡWeb Фˤä kagemai.conf Ȥե뤬ޤ
    su_exec ʤɤͭˤʤäƤСɬפʤ⤷ޤ

 3. html/guest.cgi  Web ֥饦饢롣
    http:/www.example.net/~fukuoka/kagemai/html/guest.cgi ʤɡ
    *.cgi ե뤬 CGI ץȤưʤˤϡ .htaccess ʤɤ
    ꤷƤ

      $ cat html/.htaccess
      Options +ExecCGI
      AddHandler cgi-script .cgi

 4. "" -> "Τѹ" ǡʲʬŬѹ롣
   
     home_url   ȤΥȥåפʤ                
    project_dir ץȤΥǡ¸
   
 5. project_dir ǻꤷǥ쥯ȥ꤬¸ߤʤʤ顢 Web ФΥǥ
    ȥǤ褦˥ѡߥåѹƤ
    뤤ϡΥǥ쥯ȥ򤢤餫 Web Ф񤭹߸¤
    Ĥ褦˥ѡߥåꤹ롣
    su_exec ʤɤͭˤʤäƤСɬפʤ⤷ޤ

 6. "" -> "ץȤκ" ǡץȤƤߤ롣

 7. user.cgi, admin.cgi ʤɤˡɬפ˱ƥ¤򤫤롣
    html/dot.htaccess 򻲹ͤˤƤ

      $ cat html/.htaccess
      <Files "*.conf*">
        deny from all
      </Files>
       
      <Files user.cgi>
        AuthName      Kagemai-User
        AuthType      Basic
        AuthUserFile  /etc/kagemai/user.passwd
        Require       valid-user
      </Files>
       
      <Files admin.cgi>
        AuthName      Kagemai-Administrator
        AuthType      Basic
        AuthUserFile  /etc/kagemai/admin.passwd
        Require       valid-user
      </Files>

------------------------------------------------------------------------------

[install_ja.rb Ѥ󥹥ȡ]

Ǥϡinstall_ja.rb Ѥ󥹥ȡˤĤޤ

 1. kagemai 롼פκ
    Web ֥饦Ѥ¾ˡ᡼ǤΥǡμդԤˤϡ
    ǡؤΥѤΥ롼פƤޤ

      # groupadd kagemai

    ơȤꤢ Web ФΥ桼(㤨 apache)롼פ
    äޤ

      # gpasswd -a apache kagemai

 2. install_ja.rb Խ
    instann_ja.rb Ρʲѿɬפ˱ԽƤ
   
       $user    ǡѥǥ쥯ȥΥ桼ID                          
      $group    ǡѥǥ쥯ȥΥ롼פID                        
     $root_dir  Υ饤֥ꡢ꥽ʤɤΥǥ쥯ȥ                
     $html_dir  Web 饢ǽʡCGI ץȤʤɤ֤ǥ쥯ȥ
     $data_dir  ץȤΥǡ¸ǥ쥯ȥ                  
    $passwd_dir .htaccess ǤǧѤΥѥɤ֤ǥ쥯ȥ          
   
    $user, $gorup ϻꤹɬפʤС줾쥳ȥȤƤ
    
    $user ꤷơ$group ꤷʤˤϡǡѥǥ쥯ȥȡ
    ֤եΥѡߥåϡ줾졢0755, 0644 ˤʤޤ
    ʳǤϡǥ쥯ȥ 02775, ե 0664 ˤʤޤ

 3. install_ja.rb μ¹
    Խä顢install_ja.rb ¹Ԥޤɬפʤ root ˤʤäơ
      # ruby install_ja.rb

 4. ưγǧ
    guest.cgi ˥ơɽ뤫ǧޤ
    ɽ褦ǤС "" -> "ץȤκ" ǡץ
    ȤƤߤޤץȤǤʤ顢ΥץȤǥ
    ȤƤƤߤޤ


------------------------------------------------------------------------------

[GD, GDChart Ѥդκ]

GD  GDChart 򥤥󥹥ȡ뤹СΥڡΤ褦˥ޥΥդɽǤ
ޤդɬפʤСʲԤɬפϤޤ

ʲǥ󥹥ȡ뤹饤֥ϡ http://www.daifukuya.com/archive/
kagemai/lib/ ˤ֤Ƥޤưǧ˻ѤС֤Ƥ
ޤƥ饤֥ϺǿΤΤǤ̵⤷ޤ

 1. GD 
    PNG TrueTypeեȤͭǡܸ줬̤褦('-DJISX0208'ץ
    ) ѥ뤵줿 GD ɬפǤɬפ˱ơhttp://www.boutell.com/
    gd/ ɤƥ󥹥ȡ뤷ޤ
    PNG  TrueType եȤͭˤ뤿ˤϡlibpng, zlib, FreeType 
    ᥤ󥹥ȡ뤵Ƥɬפޤ(ʤȤ⡢GD 2.0.15 Ǥ
    configure ץȤ餻С줾Υ饤֥ѤǤ뤫ɤ
    ɽޤ)

      $ tar xfvz gd-2.0.15.tar.gz
      $ cd gd-2.0.15
      $ CFLAGS="-g -O2 -DJISX0208" ./configure
      ...(snip)...
      ** Configuration summary for gd 2.0.15:
    
       Support for PNG library:          yes
       Support for JPEG library:         yes
       Support for Freetype 2.x library: yes
       Support for Xpm library:          yes
      ...(snip)...
      $ make
      $ sudo make install

 2. Ruby/GD 
    http://raa.ruby-lang.org/list.rhtml?name=ruby-gd ɤƥ
    ȡ뤷ޤ
    --with-ttf, --with-freetype  configure ˻ꤹɬפޤ

      $ tar xfvz ruby-GD-0.7.4.tar.gz
      $ cd ruby-GD-0.7.4
      $ ruby extconf.rb --with-ttf --with-freetype
      $ make
      $ sudo make install

 3. Ruby/GDChart 
    http://sourceforge.jp/projects/ruby-gdchart/ ɤƥ󥹥ȡ
    뤷ޤ(Ruby/GDChart  GDChart γĥ饤֥Ǥ GDChart  Ruby
    /GDChart Υ֤˴ޤޤƤޤ)

      $ tar xfvz ruby-gdchart-0.0.9-beta.tar.gz 
      $ cd ruby-gdchart-0.0.9-beta
      $ ruby extconf.rb
      $ make
      $ sudo make install

 4. enable-gdchart, gd-font 
    Τǡenable-gdchart ץ true ꤷޤޤ
    gd-font ˡܸ TrueType եȤΥѥꤷޤ

 5. ưγǧ
    ݡȤİʾƤƤץȤץڡ򳫤ơդ
    ɽ뤳Ȥǧޤ


------------------------------------------------------------------------------

[mod_ruby ]

 0.8.0 ʹߤ顢mod_ruby ư뤳Ȥǽˤʤޤ dot.htaccess
򻲹ͤˡguest.cgi, user.cgi, admin.cgi 줾졢 mod_ruby ǵư褦
ꤷƤ

*.cgi γĥҤ򤿤ȤС.rbx ѹˤϡ㤨аʲΤ褦ˤƤ


 1. guest.cgi, user.cgi, admin.cgi 򤽤줾 *.rbx Ȥƥԡ

      $ cp -p guest.cgi guest.rbx
      $ cp -p user.cgi user.rbx
      $ cp -p admin.cgi admin.rbx

 2. admin.cgi ˥ơ"Τ" ʲιܤѹ롣

      guest_mode_cgi : guest.rbx
      user_mode_cgi  : user.rbx
      admin_mode_cgi : admin.rbx

 3. guest.rbx ǥƤߤ롣

------------------------------------------------------------------------------

[PostgreSQL ]

Ǥϡ PostgreSQL Ѥƥǡ¸ԤɬפˤĤ
PostgreSQL ΤΥ󥹥ȡˤĤƤޤ󡣤ޤ
PostgreSQL Ѥǡ¸Ԥʤˤϡʲɬפޤ

 1. Ruby/Postgres 
    http://www.postgresql.jp/interfaces/ruby/index-ja.html
    ơ󥹥ȡ뤷ޤ

       $ tar xfvz ruby-postgres-0.7.1.tar.gz   
       $ cd ruby-postgres-0.7.1
       $ ruby extconf.rb
       $ make
       $ su
       # make install

 2. Ruby/DBI 
    http://ruby-dbi.sf.net/ɤƥ󥹥ȡ뤷ޤ

      $ tar xfvz ruby-dbi-all-0.0.20.tar.gz
      $ cd ruby-dbi-all
      $ ruby setup.rb config --with=dbi,dbd_pg
      $ ruby setup.rb setup
      $ su
      # ruby setup.rb install

 3. PostgreSQL ˱ѤΥȤ롣
    륢Ȥϡǡ١ǽǤɬפޤ

      $ createuser kagemai
      Shall the new user be allowed to create databases? (y/n) y
      Shall the new user be allowed to create more new users? (y/n) n
      CREATE USER

 4. "Τѹ" ǡenable_postgres  true ˤ롣
    ޤʲιܤꤹ롣
   
    postgres_host PostgreSQL ưƤۥ̾Unix ɥᥤ󥽥åȤ 
                  ѤƤˤϡPostgreSQL ꤷǥ쥯ȥꡣ
                  ǥեȤϡ/tmp                                         
    postgres_port TCP ³Υݡֹ                               
    postgres_user PostgreSQL ȤΥ桼̾                              
    postgres_pass PostgreSQL ȤΥѥ                            
   
 5. ץȤκǡǡ¸ȤơKagemai::PostgresStore 
    ǽˤʤäƤ뤳Ȥǧ롣

 6. ǡ¸Ȥ Kagemai::PostgresStore ǥץȤ
    Ƥߤ롣

------------------------------------------------------------------------------

[᡼륤󥿥ե]

᡼륤󥿥եѤˤϡޤmailif.rb  kagemai_root,
config_file, $LOGFILE ΣĤѿŬڤꤵƤɬפޤ
(install_ja.rb ǥ󥹥ȡ뤷ˤϡ󥹥ȡ뤷ǼưŪŬڤ
ͤꤵޤ)

ץȤȡΥץѤˡ sendmail ʤɤǻѲǽ
include ե뤬ޤϡ㤨аʲΤ褦ƤˤʤäƤޤ

  $ cat /var/lib/kagemai/project/test/include
  "|/usr/bin/ruby /usr/local/kagemai/bin/mailif.rb test"

ǡ'test' ϥץȤ ID Ǥ

sendmail ǤСΥեƤӽФ褦 /etc/aliases Խơ /etc/
aliases.db 򹹿ޤ

  # grep 'test-bugs' /etc/aliases
  test-bugs: :include:/var/lib/kagemai/project/test/include
  # /usr/bin/newaliases

include ϥǥեȤǤ group writable ʥǥ쥯ȥ֤ޤɬפ˱
̤Υǥ쥯ȥ˰ưƻѤƤ

ǥեȤΥ᡼ƥץ졼ȤǤϡƤ줿ݡȤб BTS  URL
ޤ URL 뤿ˤϡ"Τѹ" ǡ base_url
ŬڤꤷƤbase_url ϡguest.cgi ޤǤ URL Ǥ
Сguest.cgi  'http://www.example.net/kagemai/guest.cgi' ˤˤϡ
base_url  'http://www.example.net/kagemai/' ꤷޤ

ޤƤ줿᡼뤬ΥݡȤʤΤ¸ΥݡȤؤΥץ饤ʤΤ
ϡΥ᡼ 'Subject', 'In-Reply-To' إåѤƼưŪȽꤵޤ


------------------------------------------------------------------------------

[ưǤΥ󥹥ȡ]

Ǥϡ٤ƤưǹԤäΥ󥹥ȡ򼨤ޤ

 1. 󥹥ȡ뤹ǥ쥯ȥη

      Υ饤֥ʤ : /usr/local/kagemai
      CGI ץȤʤ   : /var/www/html/kagemai
      ǡѥǥ쥯ȥ : /var/lib/kagemai

    ޤ/var/www/html/kagemai ֤줿եϡ http://www.example.net/
    kagemai/ Ȥ URL ǥǽǤȤޤ

 2. ǥ쥯ȥκȡեΥԡ

      $ tar xfvz kagemai-0.8.2.tar.gz
      $ cd kagemai-0.8.2
    
      $ su
      # mkdir /usr/local/kagemai
      # mkdir /var/www/html/kagemai
      # mkdir /var/lib/kagemai
      # mkdir /var/lib/kagemai/project
    
      # cp -pr bin /usr/local/kagemai
      # cp -pr lib /usr/local/kagemai
      # cp -pr resource /usr/local/kagemai
      # cp -p html/* /var/www/html/kagemai

 3. եΥѥԽ
    ʲΥեΡ(a) Ƭ ruby Υѥ, (b) kagemai_root, (c) config_file
    롣

      /usr/local/kagemai/bin/convert.rb
      /usr/local/kagemai/bin/mailif.rb
      /usr/local/kagemai/bin/migrate.rb
      /var/www/html/kagemai/guest.cgi
      /var/www/html/kagemai/user.cgi
      /var/www/html/kagemai/admin.cgi

    Ǥϡkagemai_root ϡ'/usr/local/kagemai' ˡ config_file ϡ'/var/
    www/html/kagemai/kagemai.conf' Ȥ롣
    ޤmailif.rb  $LOGFILE '/var/lib/kagemai/mailif.log' ˤ롣

 4. kagemai 롼פɲäȥѡߥå

      # groupadd kagemai
      # cd /var/lib
      # chgrp -R kagemai kagemai
      # chmod -R 02770 kagemai

    ޤapache  kagemai group ɲäޤ

      # gpasswd -a apache kagemai

 5. Τǰʲѿ
      project_dir : /var/lib/kagemai
      base_url    : http://www.example.net/kagemai/

ʾ塣

 
Bug Tracking System 
Copyright(C) 2002, 2003 FUKUOKA Tomoyuki. All Rights Reserved.
$Id: install.txt 10 2004-07-06 11:44:32Z fukuoka $
