##### JSBOARD + OOPS administartion Center #####################################
#
#  Original Developer	: 躴 <redhands at linux.sarang.net>
#  Maintainer           :  <admin at oops.org>
#  Windows Version	: ֱ <choiks at nuri.net>
#
#   ȸ 	: http://www.adwars.com
#  Special Thanks    	: Ǽ <http://www.kldp.org>
#			:  <eunjea at kldp.org>
#			: 湬 <dimanche at dimanche.co.kr>
#			: â <winchild at kldp.org>
#
#################################################################################
#
#                               Installation in JSBoard 2.0 v0.4
#
#################################################################################

ۼ :  <http://www.oops.org>
Ͻ : 2002.06.15

  JSBoard 2.0  version ġ   Ѵ.    
س JSBoard   ؿ ؼ ƹ å   
ϰ Ǵ ϰ ġ õϵ ϱ⸦ ٶ.


  ##   ڼ  ⸦ ϰų INSTALLER  ƴ  ##
  ##   ġ ϸ  INSTALL.MANUALY   ϶  ##


===================================      ===================================

ϳ.
JSBoard v2.0  PHP4 v4.1.0 ̻   ۵ ϸ, compile  Ҷ
configure ÿ --disable-session ɼ   ȵȴ.

ϳ.
׷̵  UGRADE   ٷ絵 Ѵ.

ϳ.
Redhat,Debian,FreeBSD ̿ OS  ġÿ  jsboard/README.OTHERS.OS
 о ġ ؾѴ. Windows  win32 
INSTALL.MANUALY.WIN32   ϵ Ѵ.

ϳ.
 INSTALLER  ̿ ÿ MySQL  database   Ǿ ־
 ϸ MySQL  н尡  Ǿ ִ ¿ INSTALLER  
ؾ Ѵ.

================================================================================


****   ****

  1. ȯ
    1-1. exec() Լ test
    1-2. MySQL Լ test
    1-3. web server 
    1-4. php.ini  
    1-5. shell Ȯ ۾ (SunOS Ǵ Solaris )
  2. JSBoard ġ
  3. JSBoard 
  4. JSBoard 
  5. ֽű ϱ
    5-1. ֽű  
    5-2. ֽű  
  6. Bug report

***************

1. ȯ

  apache 1.3.x ̻
  MySQL 3.23.32 ̻ (RPM ġ  - ftp://ftp.oops.org)  
  PHP-4.1.0 ̻(RPM ġ  - ftp://ftp.oops.org)  

  JSBoard 2.0   PHP4-4.1.0 ̻   ۵ ϸ, compile ÿ 
     ȵȴ.

  JSBoard  ϴ ȯ  .

  PHP 4.1 

  ./configure --prefix=/usr \
              --with-apxs=/usr/sbin/apxs \
              --with-config-file-path=/usr/lib/php \
              --disable-debug \
              --with-exec-dir=/usr/bin \
              --with-regex=php \
              --with-mod_charset \
              --with-gd=shared \
              --with-mysql=shared \
              --with-ttf \
              --enable-sigchild \
              --enable-socket \
              --enable-gd-native-ttf \
              --enable-safe-mode \
              --enable-inline-optimization \
              --enable-magic-quotes \
              --enable-mailparse \
              --enable-track-vars \
              --enable-debugger \
              --enable-mbstring \
              --enable-mbstr-enc-trans \
              --enable-mbregex \
              --enable-sysvsem \
              --enable-sysvshm

  * üũ  *

   php exec() Լ MySQL Լ Ǵ ȮѴ.

  1-1. exec() Լ test

    ϴ    ϳ . test.php Īϰڴ.

    <?php
    echo "## exec() Լ ׽Ʈ  ##<p><br>\n\n";
    exec("echo \"exec()Լ  ۵ մϴ\"", $test);

    echo $test[0];
    ?>

       󿡼   ȣ 

    -------------------------------------------------
    ## exec() Լ ׽Ʈ ##

    exec()Լ  ۵ մϴ
    -------------------------------------------------

      Ǿ Ѵ.

  1-2. MySQL Լ test

    info.php   Ʒ   Ѵ.

    <?php
    phpinfo();
    ?>

    ׸ 󿡼 ȣ   MySQL  ִ ȮѴ. 
     Ұ MySQL  ִ php ġÿ mysql  θ 
    ذͰ  MySQL  ΰ Ʋ 쿡   ߻Ҽ ִ. 
     ǥ 찡 PHP rpm  ġ ϰ MySQL source compile 
     ̴. PHP  rpm  ġ Ұ쿡  κ
    /usr/lib/mysql  ġϴ ̱ ̴.

     root ڶ

    <?php
    $con = mysql_connect(":/var/lib/mysql/mysql.sock","root","MYSQL_ROOT_PW");
    if($con) echo "yes";
    else echo "no";
    @mysql_close();
    ?>

     ڶ

    <?php
    $con = mysql_connect(":/var/lib/mysql/mysql.sock","MySQL_USER","MYSQL_PW");
    if($con) echo "yes";
    else echo "no";
    @mysql_close();
    ?>

        󿡼 ȣ   "yes"  ȴ. 
    MYSQL_ROOT_PW  mysql  root н带  ָ Ǹ   
    쿡 MySQL_USER  MySQL_PW  ý ڰ  MySQL  α
       н带 ϸ ȴ. ù°  mysql.sock  ġ
    netstat -anp | grep mysql  Ȯ   ִ. db server  ܺ
     Ҷ db  ipaddress   ָ ȴ.

  1-3. web server 

    jsboard  index file  index.php ̴ ׷Ƿ httpd.conf 
    DirectoryIndex ڿ index.php ߰ ֵ Ѵ.  .ph file
      ؼ httpd.conf 

    AddType application/x-httpd-php .php .php3

     .ph  ߰ ֵ Ѵ.

  1-4. php.ini  

    ϴ ۾⸦ Ҷ ' Ǵ " ڰ  Է ȵǰ  찡 
    Ѵ. ̴ php.ini 

    magic_quotes_gpc = ON
    magic_quotes_runtime = OFF
    magic_quotes_sybase = OFF

       Ǿ ִ Ȯ ؾ Ѵ.   ߾ 
    ȴ.

     upload  Ҷ 2M ̻  ʴ 찡 Ѵ.  츦 ϱ 
    ؼ

    post  Ѿ data  뷮 upload_max_filesize  5M  ũ 
    .
    post_max_size       = 8M

    php   ð(ʴ)
    max_execution_time  = 30

    upload  ִ ũ
    upload_max_filesize = 2M

      ϰ  ־ Ѵ.

  1-5. shell Ȯ ۾ (SunOS Ǵ Solaris )

    SunOS  Solaris  ġ ,  INSTALLER/script  ϴ ũƮ 
     ù     Ѵ.

     ũƮ ù

    #!/bin/sh

     Ʒ 2 ٷ Ѵ.

    #!/bin/ksh
    PATH=/usr/ucb:/usr/xpg4/bin:/usr/bin:/usr/sbin


2. JSBoard ġ


  ϴ  ϵ ġ Ű  ϵ ۹̼ ϵ Ѵ.
  jsboard/INSTALLER/script  Ʒ   Ѵ.   
  ۹̼  755 ϱ ٶ.

    $ ./preinstall
    ########################################################
    # JSBoard Pre Installer v2.0                           #
    # Scripted By JoungKyun Kim < http://www.oops.org >    #
    ########################################################

    STEP 1 Language Check
    ---------------------
    Can you enable to use KOREAN in this console? [Y/N](default Y) : y <--Enter

    ġ nobody   ۵ϰ ִµ ͽϴ.
    ½ϱ? (  httpd.conf  Group ڿ Ǿ
    ִ  ġؾ մϴ. [Y/N](default Y) : Y <--Enter

   ġ ׷ ´ Ȯ ؾ Ѵ.    httpd.conf  GROUP
    ؾ Ѵ.  y  Ʋ n   ϵ Ѵ. n  
  ϸ   ģ.

    httpd.conf  Group    ֽʽÿ : apache

    ۾ Ϸ Ǿϴ.  jsboard/INSTALLER/  Ͽ
    ġ  Ͻñ ٶϴ.
    $


  RH 7.x 쿡 httpd.conf  GROUP  nobody  apache   Ǿ.
  ׷Ƿ RH 7.x  ϴ 쿡   ľ   ȴ.

    쿡 ణ ٸ µ,  ޼  ϸ ȴ.

  ׸ ٽ jsboard/INSTALLER/include/passwd.ph  Ѵ.

  <?php
  ######################################################
  # MySQL root    
  # MySQL root  н带 ˸ 1, 𸣸 0
  #
  #  MySQL н带  0   Ϸ MySQL
  # root    ִ  database  ϰ
  #  ϰ н带   Ŀ INSTALLER  
  #   .   Ʒ   .
  # 
  $mysqlroot = 1;

  # Specify MySQL Root Password
  # mysql  root password  
  #  $mysqlroot   0   쿡 MySQL
  # root  ˷ mysql  н带 .
  #
  $passwd = "MySQL_ROOT_PASSWORD";

  # $mysqlroot = 0  쿡 Ʒ 
  #
  # mysql root   database name  
  $mysqldatabasename = "";

  # mysql root   database user name  
  $mysqlusername = "";

  # apache (httpd.conf) θ 
  # redhat rpm package  /etc/httpd/conf/httpd.conf
  # debian package  /etc/apache/httpd.conf
  #  ġ  /usr/local/apache/etc/httpd.conf
  #  ġϴ 찡 .
  #
  $apache_config_file = "/etc/httpd/conf/httpd.conf";

  # MySQL socket file ġ . socket file 
  # 𸣰 localhost  127.0.0.1   Ѵ. DB 
  #  ܺο  쿡 ش DB ip address 
  #  ̸ ֵ ϸ,  쿡 DB mysql
  #      Ͽ Ѵ. 
  #  mysql -u USER_NAME -p DB_NAME -h DB_address
  #    ؾ Ѵ.
  #
  # socket file ġ ˰ ʹٸ mysql_config --socket
  #  ˼ ִ.
  #
  $mysql_sock = ":/var/lib/mysql/mysql.sock";
  ######################################################
  ?>

   passwd.ph  ̸, "MySQL_ROOT_PASSWORD" κп MySQL  root
  password  ־ ش. 

     MySQL  root н带 𸣰 ý root   
  쿡  ޼  鼭 ´.

  ׸  Ʒ apache web server   httpd.conf ִ 
    ֵ Ѵ.  DirectoryIndex ڸ srm.conf   
    srm.conf ġ ϱ ٶ.

   mysql sockfile θ  ش. ̰ 
  
  netstat -anp | grep mysql Ǵ mysql_config --socket
  
    ִ.  𸣰ڴ  127.0.0.1̳ localhost 
   ֵ Ѵ.  tcp/ip ϴ ͺ unix socket ̿ϴ 
   ӵ    sock file  θ ˼ ִٸ ̸  ִ
   .

    Ұ unix socket    쿡 socket file 
  տ :  پ Ѵ. ( - :/var/lib/mysql/mysql.sock)

     http://domain.com/jsboard/INSTALLER/  Ѵ.

  -------------------------------------------------------------------------
                             JSBoard Installer
  -------------------------------------------------------------------------

                          [ ] Korean [ ] English

  -------------------------------------------------------------------------
                                 [submit]
  -------------------------------------------------------------------------

    ȭ   ̴. ⼭  ϵ Ѵ.  
    Ѵ. ϰ [submit]  click ϵ Ѵ.


  -------------------------------------------------------------------------
                             JSBoard License
  -------------------------------------------------------------------------

   ...........................................
   ...........................................
   ...........................................

  -------------------------------------------------------------------------
                                  [AGREE]
  -------------------------------------------------------------------------

   ϰ   JSBoard ϱ  License ´. о
   Ǹ ϸ [AGREE] click Ѵ.


  -------------------------------------------------------------------------
                         JSBoard Environment Check
  -------------------------------------------------------------------------

          Jsboard ϱ  ȯ  ˻ϰ ֽϴ
          5 Ŀ  Ǽ ֽϴ

           Linux Browser ϽŴٸ  
          ڵ Ѿ  ֽϴ.
          ̶ INATALL.MANUALY  ϼż ġ Ͻʽÿ 

  -------------------------------------------------------------------------
                          [ 5ʰ ٷ ּ ]
  -------------------------------------------------------------------------

   ߰ κ̴.  κп Ư Ұ; 5ʰ ٸ⸸ 
   ȴ.  κп OS Type, MySQL  üũ, exec() Լ 뿩,
  httpd.conf index file  , jsbaord  ϱ  Ѽ 
   üũ Ѵ.

  *  Ұ  κ meta tag  üũĿ   Ѿ  Ǿ
    ִµ Linux Netscape 4.x  Meta tag   ۵  ϴ 
    찡 . ̷ 쿡 windog  install program ٽ  ϴ
    Ǵ INSTALL.MANUALY  ؼ  ġ ϱ ٶ.

  -------------------------------------------------------------------------
                      JSBoard Enviornment Check Reuslt
  -------------------------------------------------------------------------

  OS Type			: RedHat
  MySQL check			: Failed 

  MySQL login и ߽ϴ. jsboard/INSTALLER/include/passwd.ph 
  MySQL root password Ȯ Ȯ ֽð  PHP ġÿ
  --with-mysql ɼ  Ȯ ֽʽÿ
   DB server Ǿ ִٸ INSTALL.MANUALY  Ͽ ġ
   Ͻñ ٶϴ  

  exec() function check		: OK 
  index file check		: OK 

   κп   Ǿ  쿡   Ѹ 찡
  Ѵ. ̷ httpd.conf DirectoryIndex  տ  
  ڰ ִ     ڰ  ̸  ָ ȴ.

  Permission check		: OK 


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

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

   ȭ ȯüũ  ش.   ϳ   
   ִµ    OK̸  ȭ Ѿ   
  ߻ϸ ٽ ó ȭ  ȴ.  ߻ 쿡 Ͱ 
   ׵  ش.

  Ȥ   MySQL login failed error  ߻ϸ  php file  
      ׽Ʈ   ٶ.

  <?php
  $c = mysql_connect(":socket file ġ","user name","password");
  if ($c) echo "OK";
  else echo "Failed";
  ?>

  Ͱ    OK  ȴ. Ƹ Installer
   failed ´ٸ ̰  failed  ɰ̴.


  -------------------------------------------------------------------------
                             JSBoard Installer
  -------------------------------------------------------------------------

                              MySQL password
                             [              ]

                          Password ʱȭ [reset]

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

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

   ȭ鿡 MySQL root password  ְ ͸ . Ʒ Password
  ʱȭ [reset]  Ŭϸ session  ִ  password  
   Ѵ.

    MySQL root password  systme ڰ  db α 
  带  ȴ.


  -------------------------------------------------------------------------
                             JSBoard Installer
  -------------------------------------------------------------------------

           DB value                    Admin value
           ---------------------------------------------------
           DB name [               ]   ID    [               ]
           DB user [               ]   NAME  [               ]
           DB pass [               ]   EMAIL [               ]

                               [ E N T E R ]
  -------------------------------------------------------------------------
  DB name DB user MySQL  Ǿ    ϼž մϴ.
  -------------------------------------------------------------------------

  JSBoard   DB  ԷѴ.    Ʒ  ҵ
  MySQL  ʴ ο DB name, DB user ؾ Ѵ.

  Admin value  2.0  ߰Ǵ      ֵ Ѵ.
  ⼭ ϴ id, name, email  jsboard 2.0  ü   ο
  ϴ ̴.

    쿡 DB value   ϰ  ȴ.

  ׸ Enter  clickϸ, ٸ  ٸ   â ߸
   α   ɰ̴.

         Ϸ Ǿϴ.
        Admin Page ̵ մϴ.
        Admin User ʱ Password
        0000 Դϴ.


3. JSBoard 

  ġ Ϸ Ǿٸ  α â ̵ ϰ ȴ. ⼭ User
   Ʊ Admin value   ־ id  ְ, Password  '0000'
   ־ֵ Ѵ.

  α Ŀ Ȥٰ IE    ޼  찡 ִ.

  "http://domain.com/jsboard/admin/admin.php ͳ Ʈ   ϴ.
     ã  ϴ."

   ޼  Ȳ  Ȯ  Ŀ F5 Ǵ reload  
  ָ admin page   ȴ.   ޼  н带  0000
    ϰ  ٽô  ʴ´.

  ϴ admin  α  Ŀ     " " ư 
  admin user  password  0000  ٸ  ٲپ ֵ Ѵ. н
  带  Ŀ α׾ƿ  Ŀ ٽ α ϵ Ѵ.

    http://domain.com/jsboard/admin/   Ҽ ִ.
  н  ٽ α Ͽ " "  ŬϿ 
     Ѵ.


  # login variation name (This value must be modified as security problem)
  $jsboard         = "login";

    α  Ѵ.    Ұ ߻  
  ٸ  ư ȴ. ⺻    ϵ Ѵ.

  # location of default page after login
  $print[dpage] = "http://domain.com/jsboard/list.php?table=test";

    login   Ŀ ⺻  ġ  ϵ Ѵ.  κ
  login â  ϴ README.OPERATE   ٷ絵  ̴.

  # web path of installed jsboard
  $board[path]  = "http://domain.com/jsboard/";

    jsboard  ġ Ǿ ִ  θ Ѵ.   Ҷ
  Խ ġ ũŰ   Ǹ,    Ҷ referrer 
  üũϿ, Խǿ  ø α׷ ϴ  ϰ ȴ.
     /   ־ Ѵ.

  ##############################################################################
  #  If registed article as follow information, requried passwd of super user
  ##############################################################################
  $compare[name]   = "";
  $compare[email]  = "user@localhost.com";

    ü  нθ ̸ email  Ҽ ֵ 
  ϴ ̴.    ϵ Ѵ.

  ϴ ⺻   ϸ ü    . 
  Խǿ   README.OPERATE   ϵ Ѵ.


4. JSBoard 

   CGI   upload  Ͽ ȹ  ߻ ϰ ִ.
   ܼ CGI  ڵ常 Ͽ ȹ  Ѵٴ  
   Ǿ apache  file  õ ε file  ؼ 
    ʵ ϴ    Ҵ.     kldp
  server  Ǿ  Ư ȣü    
  ϴ 쿡 JSBoard  Ҽ ֱ       
  Ѵ.

     Ҽ ִ.

  <DirectoryMatch "^/.*/jsboard/data">
    AddType application/x-httpd-php3-source .phps .php .ph .php3 .cgi .sh .pl .html .htm .shtml .vbs .ins
    AddType application/x-httpd-php-source .phps .php .ph .php3 .cgi .sh .pl .html .htm .shtml .vbs .ins

    ErrorDocument 403 http://jsboard.kldp.org/ErrorMSG/error_msg.php?l=ko&c=403

    <Files ~ ".*\.ph$">
      Order allow,deny
      Deny from all
    </Files>
  </DirectoryMatch>

    ǹ̴ jsboard/data 丮 Ʒ ִ   data
   ̸ 丮 .phps .php .ph .php3 .cgi .vbs .ins .sh .pl .htm
  .html .shtml  Ȯڸ   source  ϶ ǹ̸ 
  Ұ ⿡ н    ִ source  ÷  ȵȴ
    ؾ Ѵ.  δ Խ 丮 ̸  ϴĿ
      Ѵ.

   data  ̸ 丮 Ʒ .ph   쿡
  http://jsboard.kldp.org/ErrorMSG/error_msg.php?l=ko&c=403
    ϶ ǹ̴.

    root  Ѹ       ִ  
     ̶ ص  ڿ    ޶ ϴ°
   .   ؼ  ϳ ״ Ƹ   ̴.

    쿡 db  password   ִ file ȣϱ  
   Ѵ.  ٸ  db  н带   ϱ   
  κ root( )   ־  κ̴.  ̰ Ұ ϴٸ
   ϵ  606  ׳ θ ȴ. ,

  jsbaord/config/global.ph,
  jsboard/config/spma_list.ph,

    group  nobody   ޶ ؾ Ѵ (Debian  
  www-data  ؾ  ̰, RH 7.x  쿡 apache ̴. ٸ OS 𸣰
  . httpd.conf  Group ڿ Ǿ ִ  Ȯ ؼ  ޶ 
  ) 

  $ chgrp nobody jsboard/config/global.ph (root ؾ ϴ )
  $ chgrp nobody jsboard/config/spam_list.txt (root ؾ ϴ )

    ޶ ؾ Ѵ. ̸ ϸ Ʒ    
  . ̰ account   Ŀ  ϵ̴. (Debian 쿡 nobody
   ƴ϶ www-data Ǿ Ѵ. RH 7.x  쿡 apache ̴.)

  -rw-rw----    accountname    nobody     config/global.ph
  -rw-rw----    accountname    nobody     config/spam_list.txt

   root  ̸  ʰų Ǵ Ҽ root   

  $ chmod 606 config/global.ph
  $ chmod 606 config/spam_list.txt

   ϰ, ۹̼   ȴ.

  -rw----rw-    accountname    accountname    config/global.ph
  -rw----rw-    accountname    accountname    config/spam_list.txt

   ̷    ϳ Ȼ  ʴ.

  ׸  Ұ account user   ġ ÿ   
  ɼ  home directory   711 ؾѴ.

  ؿ     Ǳ⸦ ٶ鼭.. ׷..



5. ֽű ϱ

  5-1. ֽű  

   JSBoard  ֽű  ϴ ̴.   include/prelist.ph
      Ǹ  Ͽ  Ͽ  Ҽ ִ.( php
    ɼ ִ ̾ Ѵ)

  5-2. ֽű  

   ϴ  jsboard/include/prelist.ph $prlist[path]  $prlist[wpath]
     ؾ Ѵ. $prlist[path]  JSBoard  ġ Ǿ ִ 
    θ  ָ, $prlist[wpath]  JSBoard  µǴ θ 
    Ѵ.  Ұ  /   ʵ Ѵ.

   )
   $prlist[path] = "/home/httpd/html/PHP/jsboard";
   $prlist[wpath] = "http://domain.com/PHP/jsboard";
   
   ϴ  ڸ 켱 ֽű  page  <BODY> tag ٷ Ʒ
     ڵ带 Ѵ. (߿    ų file  php  
      ִ file ̾ Ѵ.  Ȯڰ .php3  php  ν  
   쿡 .php3 file    Ҽ ִ.  ׸ prelist.ph  ҷ
   ̴ ġ  <body>  </body> ± ̾ Ѵٴ   ߿ϴ.)

   <? include "/prelist.ph"; ?>

    Ʈ  ϴ κп   Լ  ֵ Ѵ.

   <? prelist("a","b","c"); ?>

   prelist() Լ 鿡 ؼ Ʒ ϶.

   a ̺ ̸(Խ ̸)
   b  Ʈ 
   c ±ڼ

     Խ   ϰ ʹٸ  ڵ  
     Ѽ   ָ ȴ.

   )

   test Խ 3 ̸<br>
   <? prelist("test",3,30); ?>

   <p>
   test1 Խ 5 ̸<br>
   <? prelist("test1",5,30); ?>

   ϴ,    ϸ μ ƹ ξ   پ
   ϰ ȴ. ϴ  ϰ ʹٸ prlist() Լ ȣϱ
    $prlistTemplate   ϴ  ϸ ȴ.

   ϰ    ϰڴ.

   >

   <table>
   <?
   $prlistTemplate = "<tr>\n".
                     "<td>P_SUBJECT_</td>\n".
                     "<td>P_LNAME_</td>\n".
                     "<td>P_DATE_</td>\n".
                     "<td>P_REFER_</td>\n".
                     "</tr>\n";
   prelist(......)
   ?>
   </table>

       ִ.

   prlist     ִ   .

   P_SUBJECT_    =>   ġȯ
   P_NAME_       =>  ̸ ġȯ
   P_EMAIL_      =>  ̸ ġȯ
   P_DATE_       =>   Ͻð ġȯ
   P_REFER_      =>  ȸ ġȯ
   P_LNAME_      =>  ̸   ̸ ũ  ̸ ġȯ

     ũ target ̳ onClick   ְ ʹٸ $prlistTemplate
    տ $prlistOpt  Ʒ   ָ ȴ.

   $prlistOpt = "TARGET=_blnak";
   Ǵ
   $prlistOpt = "onClick(...)";


6. Bug report

   ׸ ߰  http://jsboard.kldp.org/bbs/list.php?table=bbs_upgrade
      ָ ϰڴ
