컴퓨터의 메모리가 충분하다면 64 Bits OS를 사용하는 것이 더 효율적이다. 64 Bits OS를 사용할 때 Eclipse의 개발 환경(PHP, Java)을 설정해 보자.


설치전 사전 준비 사항 for 64 bits

이클립스 설치 for 64 bits

  • d:/appl/eclipse/ 폴더에 압축을 풀어 eclipse.exe를 실행하여 사용한다.
  • PHP와 Java 개발 환경 설정
  • "Help -> Install New Software..." 메뉴를 선택 한다.
  • Work with로 Galileo (http://download.eclipse.org/releases/galileo/) 를 선택 한다.
  • "Web, XML, and Java EE Development"에서 아래 항목을 선택 하여 설치 한다.
  • Eclipse Java EE Developer Tools
  • Eclipse Web Developer Tools
  • Eclipse XML Editors and Tools
  • Eclipse XSL Developer Tools
  • JavaScript Developer Tools
  • PHP Development Tools (PDT) SDK Feature

참고 문헌




Posted by 산사랑

2010/04/26 19:55 2010/04/26 19:55
, , , , , , , , , ,
Response
No Trackback , No Comment
RSS :
http://www.jopenbusiness.com/tc/oss/rss/response/225

Trackback URL : http://www.jopenbusiness.com/tc/oss/trackback/225

Leave a comment
[로그인][오픈아이디란?]
프로그램을 작성하다보면 Java와 PHP를 같이 사용할 경우가 많이 있다. 이 경우 Apache HTTP Server와 Apache Tomcat를 설치하여 보통 처리를 하여 왔는데, Java 기반의 PHP 인터프리터인 Quercus를 사용하면 Java 환경에서 PHP를 같이 사용할 수 있어서 편리 하다. 또한 Quercus를 사용하면 PHP에서 Java 함수를 호출하여 사용할 수 있는 기능도 제공하므로 Java와 PHP의 여러가지 기능을 동시에 사용할 수 있다.

Resin에서 제공하는 Java 기반의 PHP 인터프리터인 Quercus를 사용하여 PHP 5.2.0 개발 환경을 구성해 보자.

  • 환경 정의
  • $JETTY_WEB_ROOT : Web Application 배포된 Root 폴더
  • http://localhost:8080/ : $JETTY_WEB_ROOT 에 브라우저로 접속하는 URL


그림:Quercus 
install 001.png

  • resin-4.0.6.zip의 압축을 풀어 lib 폴더에 있는 다음 파일을 $JETTY_WEB_ROOT/WEB-INF/lib/에 복사 한다.
  • resin.jar, javamail-141.jar
  • $JETTY_WEB_ROOT/WEB-INF/web.xml에서 다음을 추가 한다.
 <servlet>
<servlet-name>Quercus Servlet</servlet-name>
<servlet-class>com.caucho.quercus.servlet.QuercusServlet</servlet-class>
<init-param>
<param-name>ini-file</param-name>
<param-value>WEB-INF/php.ini</param-value>
</init-param>
<init-param>
<param-name>script-encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</servlet>

<servlet-mapping>
<servlet-name>Quercus Servlet</servlet-name>
<url-pattern>*.php</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.php</welcome-file>
</welcome-file-list>
  • $JETTY_WEB_ROOT/WEB-INF/php.ini 를 생성 한다.
  • 지금은 빈 파일만 만들어 둔다.
  • $JETTY_WEB_ROOT/WEB-INF/phpinfo.php 를 생성 한다.
<?php echo phpinfo()?>

그림:Quercus_install_002.png




Posted by 산사랑

2010/04/19 18:43 2010/04/19 18:43
, , , , ,
Response
No Trackback , No Comment
RSS :
http://www.jopenbusiness.com/tc/oss/rss/response/223

Trackback URL : http://www.jopenbusiness.com/tc/oss/trackback/223

Leave a comment
[로그인][오픈아이디란?]

PhpJavaBridge 설치

phpJavaBridge는 PHP에서 Java Class를 호출하여 사용할 수 있도록 하는 오픈소스 이다. Apache Tomcat에 phpJavaBrige을 설치하여 사용해 보자.

phpJavaBridge의 사용을 위해서는 Java, PHP, Apache Tomcat이 필요 하다.

설치 가이드

phpJavaBridge를 사용하면 php에서 Java Class를 호출할 수 있다. 단, php와 java는 동일한 환경에서 운영되어야 한다. (예, 하나의 Apache Tomcat에서 php와 Java를 동시에 운영)

아래는 기존 Web Application이 있는 경우 여기에 phpJavaBridge를 설치하는 것을 설명 한다.
설치하고자 하는 웹 어플리케이션의 홈을 $WEB_HOME 이라고 하고 Web Application명을 bridge(http://localhost:8080/bridge/)라고 하자.

 PHP 설정

  • vi php.ini
allow_url_fopen = On
allow_url_include = On
cgi.force_redirect = 0

 phpJavaBridge 설치

  • JavaBridgeTemplate5541.war 파일의 압축을 풀어 d:/JavaBridgeTemplate5541/ 폴더에 저장 한다.
  • d:/JavaBridgeTemplate5541/WEB-INF/lib/ 폴더에 있는 JavaBridge.jar, php-script.jar, php-servlet.jar 파일을 $WEB_HOME/WEB-INF/lib/ 폴더로 복사 한다.
  • d:/JavaBridgeTemplate5541/WEB-INF/web.xml에 설정되어 있는 정보를 $WEB_HOME/WEB-INF/web.xml에 반영 한다.
  • php-cgi 파일의 위치가 /usr/bin/php-cgi가 아닐 경우 $WEB_HOME/WEB-INF/web.xml 에서 다음과 같이 수정 한다.
<servlet>
<servlet-name>PhpCGIServlet</servlet-name>
<servlet-class>php.java.servlet.PhpCGIServlet</servlet-class>
<init-param><param-name>php_include_java</param-name><param-value>On</param-value></init-param>
<init-param>
<param-name>php_exec</param-name>
<param-value>/usr/local/bin/php-cgi</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>

 phpJavaBridge 설치 확인

  • d:/JavaBridgeTemplate5541/ 폴더에 있는 index.php, test.php 파일을 $WEB_HOME 폴더로 복사 한다.
<?php
require_once("http://localhost:8080/bridge/java/Java.inc");
$System = java("java.lang.System");
echo $System->getProperties();
?>

참조: 오픈소스 비즈니스 컨설팅 - phpJavaBridge

Posted by 산사랑

2009/12/17 13:05 2009/12/17 13:05
, , , ,
Response
No Trackback , 2 Comments
RSS :
http://www.jopenbusiness.com/tc/oss/rss/response/183

Trackback URL : http://www.jopenbusiness.com/tc/oss/trackback/183

Comments List

  1. 연서아빠 2009/12/24 15:55 # M/D Reply Permalink

    2009년 마무리 잘 하시고
    2010년 바라시는 모든 일을 성취하시길 바랍니다.

    1. 산사랑 2009/12/27 12:26 # M/D Permalink

      감사합니다.
      님도 활기찬 새해 맞이 하시기 바랍니다.

      저는 어제부터 2010년 연간 계획을 세우고 있는데, 계획을 세우는 일은 항상 어렵네요.

Leave a comment
[로그인][오픈아이디란?]
LAMP를 구성하는 소프트웨어 명세

  • Tomcat Connector 1.2.26
  • Apache Tomcat 6.0.18
  • phpmyadmin 3.1.2
  • Apache HTTP Server 2.2.11
  • MySQL 5.1.30
  • JDK 1.6.0
  • vsftpd 2.0.7
  • Ubuntu Server 9.04

아래 작업은 기본적으로 root로 로그인하여 작업하는 것을 전제로 하여 정리 한다.
언어 설정은 다국어 지원을 위해 디폴트로 UTF-8로 한다.

Ubuntu Server 9.04의 설치는 아래 링크를 참조 한다.


기본 환경 설정
- 네트워크 연결 확인
ping -c3 google.co.kr

- Ubuntu Server 초기 설정
apt-get update
apt-get upgrade

- 보안 접속 (SSH) 설치, PuTTY를 사용하여 Ubuntu Server에 접속 할 수 있다.
apt-get install ssh

- 방화벽 설치
apt-get install ufw

- 서비스에 필요한 포트만 열어 준다.
ufw default deny
ufw allow 22/tcp           #--- For SSH
ufw allow 5901/tcp      #--- For VNC
ufw allow 20/tcp          #--- For FTP
ufw allow 21/tcp          #--- For FTP
ufw allow 80/tcp         #--- For HTTP
ufw allow 443/tcp       #--- For HTTPS
ufw allow 8080/tcp     #--- For HTTP (Tomcat)
ufw allow 25/tcp         #--- For Mail (SMTP)
ufw allow 110/tcp      #--- For Mail (POP3)
ufw allow 143/tcp      #--- For Mail (IMAP4)
ufw allow 3306/tcp   #--- For MySQL
ufw enable
    y 를 선택 한다.
ufw status

vsftpd 2.0.7

- vsftp 설치
mkdir ftpdata
apt-get install vsftpd

- vsftp 환경 설정
 vi /etc/vsftpd.conf 수정
    listen=YES
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    file_open_mode=0644

 vi /etc/ftpusers
    FTP를 사용할 사용자 아이디를 주석으로 막아 해당 사용자가 FTP를 사용할 수 있도록 한다.

/etc/init.d/vsftpd restart
   FileZilla로 FTP 접속시 전송 설정을 "활성"으로 한다.

JDK 1.6.0

- JDK 1.6.0 설치 정보
  설치 폴더 : /usr/lib/jvm/java-6-sun

- JDK 1.6.0 설치
apt-get install sun-java6-jdk
java -version

MySQL 5.1.30

- MySQL 설치 정보
설치 폴더 : /usr/share/mysql/
환경 폴더 : /etc/mysql/
작업 폴더 : /var/lib/mysql

- MySQL 설치
apt-get install mysql-server

- MySQL 환경 설정
   vi /etc/mysql/my.cnf
    [client]   
    default-character-set=utf8 

    [mysqld]  
    character-set-client-handshake=FALSE 
    init_connect="SET collation_connection=utf8_general_ci" 
    init_connect="SET NAMES utf8" 
    default-character-set=utf8 
    character-set-server=utf8 
    collation-server=utf8_general_ci 

    [mysqldump]   
    default-character-set=utf8

    [mysql]  
    default-character-set=utf8
   
Apache HTTP Server 2.2.11

- Apache HTTP Server 설치 정보
설치 폴더 : /usr/share/apache2/
환경 폴더 : /etc/apache2/, /etc/default/apache2
로그 폴더 : /var/log/apache2/
Document Root : /var/www/

- Apache HTTP Server 설치
apt-get install apache2
apt-get install libapache2-mod-auth-mysql

- Apache HTTP Server 환경 설정
   vi /etc/apache2/sites-available/default
    DocumentRoot    /var/www/
    <Directory /var/www/>
        Options Indexs FollowSymLinks MultiViews
        AllowOverride None        #--- None을 All로 변경 한다.

echo "Hello World" > /var/www/htmlinfo.html

PHP 5.2.6

- PHP 설치 정보
설치 폴더 : /usr/share/php5/
환경 폴더 : /etc/php5/

- PHP 설치
apt-get install php5
apt-get install php5-gd php5-imap
apt-get install php5-mhash

apt-get install libapache2-mod-php5
apt-get install php5-mysql
apt-get install php5-pgsql

- PHP 환경 설정
   vi /etc/php5/apache2/php.ini
    date.timezone = Asia/Seoul
    [PHP]
    default_charset = "UTF-8"
    magic_quotes_gpc = Off
    output_buffering = 4096
   
echo '<?php phpinfo(); ?>' > /var/www/phpinfo.php

phpmyadmin 3.1.2

- phpmyadmin 설치 정보
설치 폴더 : /usr/share/phpmyadmin/
환경 폴더 : /etc/phpmyadmin/
작업 폴더 : /var/lib/phpmyadmin/

- phpmyadmin 설치
apt-get install phpmyadmin
a2enmod rewrite

Apache Tomcat 6.0.18

- Apache Tomcat 설치 정보
설치 폴더 : /usr/share/tomcat6/
환경 폴더 : /etc/tomcat6/, /etc/default/tomcat6
작업 폴더 : /var/lib/tomcat6/
로그 폴더 : /var/lib/tomcat6/logs/
캐시 폴더 : /var/cache/tomcat6/
Root 폴더 : /var/lib/tomcat6/webapps/ROOT/

- Apache Tomcat 설치
apt-get install tomcat6

- Apache Tomcat 환경 설정
   vi /etc/tomcat6/server.xml
    #--- URIEncoding="UTF-8" 추가
    <Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8"
               connectionTimeout="20000"
               redirectPort="8443" />
    #--- 주석을 제거하고 URIEncoding="UTF-8" enableLookups="false" 추가
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" enableLookups="false" />

   vi /etc/init.d/tomcat6
    #--- 다음 라인을 추가 한다.
    JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=8859_1 -Dfile.client.encoding=8859_1 -Dclient.encoding.override=8859_1"
    #--- 다음 라인 위에
    JAVA_OPTS="$JAVA_OPTS -Djava.endorsed.dirs=$CATALINA_HOME/endorsed -Dcatalina.base=$CATALINA_BASE -Dcatalina.home=$CATALINA_HOME -Djava.io.tmpdir=$JVM_TMP"

echo 'Hello World' > /var/lib/tomcat6/webapps/ROOT/jspinfo.jsp

Tomcat Connector 1.2.26

- Tomcat Connector 설치
apt-get install apache2.2-common apache2-utils
apt-get install libapache2-mod-jk
a2enmod jk

- Tomcat Connector 환경 설정
 vi /etc/apache2/mods-enabled/jk.conf 생성
    ###ServerName localhost
    JkWorkersFile   /etc/apache2/mods-enabled/workers.properties
    JkShmFile       /var/log/apache2/mod_jk.shm
    JkLogFile       /var/log/apache2/mod_jk.log
    JkLogLevel      debug
    JkLogStampFormat   "[%a %b %d %H:%M:%S %Y] "
    JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
    JkRequestLogFormat "%w %V %T"

 vi /etc/apache2/mods-enabled/jk_mount.conf 생성
    ###--- Apache Tomcat에서 처리할 URL 패턴을 등록한다.
    JkMount /*.jsp      worker1
    JkMount /servlet/*  worker1

    ### JkUnMount /servlet/*.gif ajp13_worker

 vi /etc/apache2/mods-enabled/workers.properties 생성
    workers.tomcat_home=/usr/share/tomcat6
    workers.java_home=/usr/lib/jvm/java-6-sun
    ps=/

    worker.list=worker1
    worker.worker1.host=localhost
    worker.worker1.port=8009
    worker.worker1.type=ajp13
    worker.worker1.lbfactor=50
    worker.worker1.socket_keepalive=1
    worker.worker1.socket_timeout=60

 vi /etc/apache2/sites-enabled/000-default
    #--- Include ... 추가
    <VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www
        Include /etc/apache2/mods-enabled/jk_mount.conf

설치 마무리 및 확인

- 서비스 재기동
/etc/init.d/vsftpd       restart
/etc/init.d/mysql       restart
/etc/init.d/apache2  restart
/etc/init.d/tomcat6   restart

- 서비스 확인
   http://localhost/htmlinfo.html 로 HTTP 서비스 확인
   http://localhost/phpinfo.php 로 PHP 서비스 확인
   http://localhost:8080/jspinfo.jsp 로 Tomcat 서비스 확인
   http://localhost/jspinfo.jsp 로 Tomcat Connector 서비스 확인

혹시 잘못되거나 안되는 부분이 있으면 글을 남겨 주세요.

*** 참고 문헌 ***

Posted by 산사랑

2009/11/01 20:43 2009/11/01 20:43
, , , , , , , ,
Response
No Trackback , 4 Comments
RSS :
http://www.jopenbusiness.com/tc/oss/rss/response/162

Trackback URL : http://www.jopenbusiness.com/tc/oss/trackback/162

Comments List

  1. antop 2009/11/03 12:51 # M/D Reply Permalink

    후아~ 감사합니다.
    리눅스 처음 쓰는데 ㅠㅠ
    우분투 9.10 깔고 단번에 원하는걸 다 해결 했네요 ㅠㅠ

    이제 웹로직과 오라클만이.. ㄷㄷ!

    1. 산사랑 2009/11/03 13:12 # M/D Permalink

      antop 님의 블로그도 대단 합니다.

      개발과 관련된 많은 정보가 있네요.
      앞으로 자주 애용 하겠습니다.

  2. myjungo@gmail.com 2009/12/08 17:54 # M/D Reply Permalink

    궁금한 점이 있어서 글을 씁니다.

    Apache Tomcat 6.0.18

    vi /etc/init.d/tomcat6
    #--- 다음 라인을 추가 한다.
    JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=8859_1 -Dfile.client.encoding=8859_1 -Dclient.encoding.override=8859_1"
    #--- 다음 라인 위에
    JAVA_OPTS="$JAVA_OPTS -Djava.endorsed.dirs=$CATALINA_HOME/endorsed -Dcatalina.base=$CATALINA_BASE -Dcatalina.home=$CATALINA_HOME -Djava.io.tmpdir=$JVM_TMP"

    위의 부분을 어디에 추가를 해주어야 되는건지 모르겠습니다.
    알려 주시면 감사드리겠습니다.

    1. 산사랑 2009/12/09 09:19 # M/D Permalink

      문자셋을 UTF-8로 설정하기 위해 추가하는 옵션 입니다.

      JAVA_OPTS 추가하는 방법으로 설정을 하였는데,
      tomcat6 파일을 열어 보면 JAVA_OPTS 설정을 하는 부분이 있을 것 입니다. 위 설명에서 보면 "다음 라인 위에" 밑에 표시된 부분을 찾을 수 있다는 얘기지요.

      해당 라인을 찾았으면 이 라인 위해 "다음 라인을 추가 한다"라고 표시된 아래 라인을 복사하여 붙이면 됩니다.

Leave a comment
[로그인][오픈아이디란?]
국내의 경우 대부분의 CRM 서비스가 기업에 축적된 고객 정보를 기초로한 DB Marketing으로 발전하고 있을 때, 해외에서는 영업 사원을 위한 CRM의 고유 기능이 계속 발전해 왔다. 그리하여 해외의 경우 기업이 CRM을 활용하는 것은 당연한 것으로 여겨지고 있다.

초기 SaaS (Software as a Service)가 국내에 알려 졌을 때, 그 붐을 타고 국내에 소개된 서비스가 영업 사원을 위한 CRM의 기능을 제공하는 Salesforce.com 이다. 이와 더불어 Salesforce.com 보다 늦게 출발 하였지만 SaaS 서비스를 제공하는 SugarCRM도 Saleforce의 경쟁사로 알려 졌다.

오픈소스 진영에는 vTiger CRM이라는 설치형 CRM이 있으나, SugarCRM은 상용 제품도 제공 하지만 다른 오픈소스 업체처럼 Community Edition을 오픈소스를 제공하고 있고 또한 SaaS 서비스가 가능해 더욱 주목을 받았다. 이 SugarCRM이 이름을 Sugar로 변경하고 또한 버전도 5.2.0까지 발전해 왔다.

다음은 Sugar CE (Comminuty Edition) 5.2.0 버전의 설치 방법이다. SugarCRM을 사용해 보고 싶은 사람은 다음과 같이 하여 사용해 보자.

Sugar CE 5.2.0 설치 가이드

아래 설치 가이드는 Windows 환경을 기준으로 작성한 것 입니다. 설치 환경이 틀릴 경우에는 별도의 주석을 달아 주세요.

 설치전 사전 준비 사항

  • PHP에 GD Library 2.0.35 설치
  • PHP에 gettext 모듈 설치
  • PHP에 IMAP 확장팩 설치
  • PHP에 mbstring 모듈 설치
  • PHP에 mysql, mysqli 모듈 설치
  • PHP에 curl 모듈 설치
  • php.ini에서 다음과 같이 설정 한다.
memory_limit = 128M         : 최소 40M 이상
upload_max_filesize = 10M  : 최소 6M 이상
post_max_size = 10M  : 최소 6M 이상


 Sugar용 DB 설정

  • MySQL에 SugarCRM에서 사용할 Schmea를 등록한다.
  • MySQL Administrator에 root 관리자로 로그인 한다.
  • 좌측 상단 창에서 "Catalogs"를 선택한다.
  • 좌측 하단의 "Schemata" 창에서 우측 마우스를 누른다.
  • "Create New Schema" 메뉴를 선택하여 Schema를 생성한다.
  • Schema 생성화면에서 "Schema name"으로 "sugardb"를 입력한다.
DB Schema 등록


  • MySQL에 SugarCRM에서 사용할 사용자를 등록한다.
  • 좌측 상단 창에서 "User Administration"을 선택한다.
  • 좌측 하단의 "Users Accounts" 창에서 우측 마우스를 누른다.
  • "Add new user" 메뉴를 선택하여 사용자를 생성한다.
  • "User Information" 탭에서 "MySQL User"("sugar"), "Password", "Confirm Password" 등을 등록한다.
DB 사용자 등록


  • MySQL에 SugarCRM에서 사용할 사용자의 권한을 설정한다.
  • "Schema Privileges" 탭에서 사용자가 사용할 Schema("sugardb")를 선택한다.
  • "Available Privileges"의 모든 권한을 "Assigned Privileges"로 이동한다.
  • "Apply changes" 버튼을 눌려 등록된 정보를 저장한다.
권한 부여


  • MySQL Query Browser에 접속한다.
  • 상단의 "Tools" 메뉴에서 "MySQL Query Browser" 메뉴를 선택한다.
Query Browser 접속


  • 사용자의 MySQL 데이터베이스 접속 정보를 추가한다.
  • 우측의 "Schemata" 탭에서 "mysql"을 더블 클릭하여 선택한다.
  • grant all privileges on sugardb.* to sugar@localhost identified by '암호'; (사용자에게 Schmea에 대한 권한을 추가)
  • flush privileges; (위 명령을 통해 설정한 권한을 데이터베이스에 반영)
  • select host, user, password from user order by user, host; (사용자의 접속 정보 확인)
접속 정보 추가
  • MySQL Query Browser가 아니라 DOS 창에서 접속 정보를 추가하는 방법
mysql -uroot -pxxx mysql
grant all privileges on sugardb.*
to sugar@localhost identified by '암호';
flush privileges;
select host, user, password from user order by user, host;
exit


 Sugar CRM 초기 설치

  • Apache의 Document Root인 c:/www 아래 c:/www/sugar/ 폴더($SUGAR_HOME)에 다운로드 받은 압축 파일의 압축을 풀어 저장 한다.


  • Sugar CRM은 PHP 버전이 최소 5.1.0 이상이 되어야 하며, 5.2.x를 권장 하므로 5.3.0일 경우 다음과 같이 조치를 취하여야 정상적으로 설치가 된다.
//--- $SUGAR_HOME/include/utils.php의 setPhpIniSettings() 함수에서 3라인을 주석 처리 한다.
function setPhpIniSettings() { //--- 3524 라인
// if(function_exists('gzclose') && headers_sent() == false) {
// ini_set('zlib.output_compression', 1);
// }

//--- $SUGAR_HOME/install/welcome.php에서
if (version_compare(phpversion(),'5.1.0') < 0 || version_compare(phpversion(),'5.3.0') >= 0) {
//--- 위 문장을 아래와 같이 수정 한다.
if (version_compare(phpversion(),'5.1.0') < 0 || version_compare(phpversion(),'5.3.0') > 0) {


설치 시작
  • 하단의 "Next" 버튼을 선택 한다.


  • "I Accept"를 체크하여 라이선스를 확인한 후 "Next" 버튼을 선택 한다.
라이선스 확인


  • "Custom Install"을 선택한 후 "Next" 버튼을 선택 한다.
Custom Install


  • Database Type으로 "MySQL(MySQLi detected)"를 선택한 후 "Next" 버튼을 선택 한다.
DBMS 선택


  • 다음과 같이 DBMS 정보를 설정한 후 "Next" 버튼을 선택 한다.
Database Name                         : "sugardb" (SugarCRM용으로 생성한 Database 명)
Host Name  : "localhost"
Database Administrator Username  : "root"
Database Admin Password  : xxxx
Select Box에서 “Provide existing user”를 선택 한다.
Sugar Database Username  : "sugar" (SugarCRM용으로 생성한 DB 사용자)
Sugar Database User Password  : xxxx
Re-enter Sugar Database User Password : xxxx
Populate Database with Demo Data?  : "yes" 선택 (데모용 데이터가 생성됨)
DBMS 설정


  • "I Accept" 버튼을 선택하여 위 설정에 따라 DB가 생성되도록 한다.
DB 생성 확인


  • SugarCRM의 접속 정보 및 관리자(admin)의 암호를 설정 한다.
URL of Sugar Instance              : "http://localhost/sugar"
System Name  : "SugarCRM"
Sugar Admin User Password  : xxxx
Re-enter Sugar Admin User Password : xxxx
접속 정보


  • 다음과 같이 보안 옵션을 설정 한다.
Send Anonymous Usage Statistics ?        : not check
Automatically Check For Updates?  : not check
Use a Custom Session Directory for Sugar : not check
Use a Custom Log Directory  : not check
Provide Your Own Application ID  : not check (SugarCRM Clustering시 사용함)
보안 옵션


  • 다음과 같이 지역 설정을 한다.
Default Date Format                             : "2006/12/23"
Default Time Format  : "11:00pm"
Default Language  : "US English"
Default Name Format  : "s lf"
Character Set most commonly used in your Locale : "UTF-8"
Character Set for Import/Export  : "UTF-8"
Export (.csv) Delimiter  : ","

Default Currency  : "Korean Won"
Significant Digits  : "0"
1000s Separator  : ","
Decimal Separator  : "."
지역 설정


  • 설정값을 확인하고 "Install" 버튼을 선택하여 설정을 시작 한다.
  • $SUGAR_HOME/config.php 설정 파일이 생성됨
  • Database가 설정이 되고 데모 데이타가 등록됨
  • 시간이 오래 걸릴 수 있으므로 끈기를 가지고 기다려야 함
설정 적용


  • SugarCRM이 제대로 설정된 것을 확인하고 "Next" 버튼을 선택 한다.
설정 적용 완료


  • 한글 언어팩을 설치할 수 있는 화면이나 여기서는 "Next" 버튼을 선택하여 Skip 한다.
  • SugarCRM의 초기 설정에서 적용한 사항은 관리자 화면에서 다시 설정할 수 있다.
  • 또는 $SUGAR_HOME/config.php 파일을 직접 수정하여 다시 설정할 수 있다.
언어팩 설정


  • Registration (Optional) 화면에서 오픈소스의 발전을 위해 Sugar CE를 설치한 것을 SugarCRM에 알리고자 할 경우 필요한 정보를 입력한 후 "Send Registration" 버튼을 선택 한다.
설치 알림


  • SugarCRM의 설치가 완료 되어 로그인 창이 표시된다.
  • 설치시 등록한 관리자(admin)으로 로그인 하여 보자.
로그인


  • 첫 로그인시 TimeZone을 설정하는 화면이 표시된다.
  • "Asia/Seoul(GMT+9)"를 선택한 후 "Save" 버튼을 선택 한다.
TimeZone 설정


*** 참고 문헌 ***

Posted by 산사랑

2009/09/15 00:54 2009/09/15 00:54
, , , , , , , , ,
Response
No Trackback , No Comment
RSS :
http://www.jopenbusiness.com/tc/oss/rss/response/144

Trackback URL : http://www.jopenbusiness.com/tc/oss/trackback/144

Leave a comment
[로그인][오픈아이디란?]

WAMP 설치 및 구성

평소 오픈소스를 많이 사용하고 있는데 주로 사용하는 환경이 WAMP(Windows, Apache, MySQL, PHP) + Java와 LAMP(Linux(Ubuntu), Apache, MySQL, PHP) + Java 이다. 그런데 이번에 Perl과 Python 기반의 오픈소스를 사용할 일이 있어서 WAMP (Windows, Apache, MySQL, PHP/Perl/Python) + Java 환경을 구성해 보았다.

기존에 많이 사용하던 환경에 대해서는 "오픈소스 비즈니스 컨설팅 - 위키"에 정리를 해 둔 것이 있어서 이 자료를 참조하여 구 노트북에 다시 설치를 하고 Perl과 Python을 Apache HTTP Server와 연계하여 추가 설치를 하였다. Perl은 그나마 예전에 한번 써 본적이 있어서 쉽게 되었는데 Python은 유명한데 비해 자료가 별로 없어서 어려웠다.

아래 정리된 사항은 구 노트북에서 WAMP (Windows, Apache, MySQL, PHP/Perl/Python) + Java 환경을 구성할 때 참조한 자료 또는 추가 정리한 자료 이다. Perl과 Python의 다국어를 위한 UTF-8 환경 구성과 추가 모듈에 대한 사항은 추후 정리할 예정 이다.


WAMP 설치 및 구성

아래에 정리된 사항은 저의 노트북의 Windows 환경에서 문자셋은 UTF-8(다국어 지원)을 기준한 WAMP의 설치 및 구성 과정 이다. 각 소프트웨어별 자세한 설치 사항은 링크된 페이지를 참조하기 바란다.

  • 아래 WAMP 설치 단계를 위해 사용한 Windows 기본 환경
  • Windows XP Professional SP3
  • 노트북 이름 : pnuskgh.jopenbusiness.com (한글이 아닌 영문을 사용함)
  • 사용자 이름 : pnus (한글이 아닌 영문을 사용함)
  • 주의 : 사용자 이름이 한글일 경우 일부 소프트웨어의 경우 문제가 발생할 수 있다. 물론 해당 소프트웨어에 대한 해박한 지식이 있으면 사용자 이름이 한글이라도 해결할 수 있다.
  • 설치 디렉토리
  • JDK : c:/app/jdk160/
  • JRE : c:/app/jre160/
  • JavaDB : c:/app/JavaDB/
  • 주의 : 설치된 Path에 공백이 포함될 경우 일부 소프트웨어의 경우 문제가 발생할 수 있다. 물론 해당 소프트웨어에 대한 해박한 지식이 있으면 사용자 이름이 한글이라도 해결할 수 있다.
  • 설치 디렉토리
  • MySQL : c:/app/MySQL/MySQL510/
  • MySQL Data : c:/app/MySQL/MySQL510Data
  • 설치 디렉토리 : c:/app/MySQLTools/
  • 설치 디렉토리 : c:/app/Apache
  • 설치 디렉토리 : c:/app/Tomcat
  • DocumentRoot를 c:/www 로 변경 한다.
  • 설치 디렉토리 : c:/app/PHP/
  • 설치 디렉토리 : c:/app/Perl/
  • 설치 디렉토리 : c:/app/Python /
*** 참고 문헌 ***
오픈소스 비즈니스 컨설팅 - WAMP
오픈소스 비즈니스 컨설팅 - 문자셋과 인코딩


Posted by 산사랑

2009/04/21 08:01 2009/04/21 08:01
, , , , , , , , , , ,
Response
No Trackback , No Comment
RSS :
http://www.jopenbusiness.com/tc/oss/rss/response/101

Trackback URL : http://www.jopenbusiness.com/tc/oss/trackback/101

Leave a comment
[로그인][오픈아이디란?]
다양한 서비스를 많이 사용하다가 보면 꼭 필요한 것이 보안과 인증 정보를 처리하는 것이다. 여기서 소개하고자 하는 JOSSO (Java Open Single Sign-On)는 Sun에서 오픈소스로 공개한 OpenSSO 처럼 무겁지 않으면서도 Java와 PHP에서 SSO 처리를 지원한다. 많은 기능을 원하지 않고 Java와 PHP 환경에서 인증 처리만 원할 경우 JOSSO를 사용해 볼 것을 권장 한다.

J2EE와 Spring 기반으로 작성된 JOSSO는 Gateway와 Agent로 구성되어 있다. Gateway는 실제로 사용자 정보를 가지고 있으면서 Agent의 요청을 받아 사용자 인증을 처리하고 Agent는 사용자 프로그램이 실행되는 곳에 같이 설치가 되어 Gateway와 통신을 하여 사용자 인증을 처리한다.

아래는 JOSSO가 지원하는 플랫폼으로 Gateway는 Java Platform을 필요로 한다. JOSSO의 지원 플랫폼 표에서 알수 있는 것 처럼 JOSS는 Java, PHP, MS .NET, MS ASP에서의 SSO를 지원 한다.

JOSSO 지원 플랫폼


JOSSO가 동작하는 방식을 간단히 설명을 해 보면
1. 사용자 페이지에 접근
2. JOSSO Agent가 이를 가로채
    - 인증 정보가 있으면 사용자 페이지를 표시 한다.
    - 인증 정보가 없으면 JOSSO Gateway에 전달
3. JOSSO Gateway가 로그인 페이지 표시하여 사용자 인증을 처리
3. 로그인이 완료되면 Gateway가 Agent에게 알림
4. Agent는 사용자/역할 정보를 제공하여 사용자 페이지를 표시


자! 이제 JOSSO를 사용하기 위해서 JOSSO의 Gateway와 Agent를 설치해 보자. 아래 정리된 내용은 "오픈소스 비즈니스 컨설팅 - JOSSO" (위키)에 정리된 사항을 발췌한 것이다. 내용중에서 localhost, $TOMCAT_HOME과 디렉토리 정보 등은 자신의 환경에 맞도록 작업 하여야 한다.


JOSSO 설치 가이드

Windows 환경에서 Apache Tomcat 6.0.16에 JOSSO Gateway(Idp)를 설치 하고, Apache HTTP Server 2.2.8상에서 수행되는 PHP 5.2.5에 JOSSO Agent(SP)를 설치 한다. 사용자 인증을 위해서는 MySQL 5.0.51을 사용한다.

설치전 사전 준비 사항


 JOSSO용 Database 설정

  • MySQL에 JOSSO에서 사용할 Schmea를 등록한다.
  • MySQL Administrator에 root 관리자로 로그인 한다.
  • 좌측 상단 창에서 "Catalogs"를 선택한다.
  • 좌측 하단의 "Schemata" 창에서 우측 마우스를 누른다.
  • "Create New Schema" 메뉴를 선택하여 Schema를 생성한다.
  • Schema 생성화면에서 "Schema name"으로 "jossodb"를 입력한다.
DB Schema 등록


  • MySQL에 JOSSO에서 사용할 사용자를 등록한다.
  • 좌측 상단 창에서 "User Administration"을 선택한다.
  • 좌측 하단의 "Users Accounts" 창에서 우측 마우스를 누른다.
  • "Add new user" 메뉴를 선택하여 사용자를 생성한다.
  • "User Information" 탭에서 "MySQL User"("josso"), "Password", "Confirm Password" 등을 등록한다.
DB 사용자 등록


  • MySQL에 JOSSO에서 사용할 사용자의 권한을 설정한다.
  • "Schema Privileges" 탭에서 사용자가 사용할 Schema("jossodb")를 선택한다.
  • "Available Privileges"의 모든 권한을 "Assigned Privileges"로 이동한다.
  • "Apply changes" 버튼을 눌려 등록된 정보를 저장한다.
권한 부여


  • MySQL Query Browser에 접속한다.
  • 상단의 "Tools" 메뉴에서 "MySQL Query Browser" 메뉴를 선택한다.
Query Browser 접속


  • 사용자의 MySQL 데이터베이스 접속 정보를 추가한다.
  • 우측의 "Schemata" 탭에서 "mysql"을 더블 클릭하여 선택한다.
  • grant all privileges on jossodb.* to josso@localhost identified by '암호'; (사용자에게 Schmea에 대한 권한을 추가)
  • flush privileges; (위 명령을 통해 설정한 권한을 데이터베이스에 반영)
  • select host, user, password from user order by user, host; (사용자의 접속 정보 확인)
접속 정보 추가
  • MySQL Query Browser가 아니라 DOS 창에서 접속 정보를 추가하는 방법
mysql -uroot -pxxx mysql
grant all privileges on jossodb.*
to josso@localhost identified by '암호';
flush privileges;
select host, user, password from user order by user, host;
exit


  • MySQL Query Browser를 실행하여 jossodb에 josso 사용자로 로그인 한다.
  • 아래 SQL문을 실행하여 JOSSO에서 사용할 table을 생성 한다.
  • MySQL에서 password는 예약어이므로 password라는 항목명은 passwd로 변경 하여 테이블을 생성 한다.
DROP TABLE IF EXISTS `josso_role`;
CREATE TABLE `josso_role` (
`name` varchar(16) NOT NULL,
`description` varchar(64) DEFAULT NULL,
PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `josso_user`;
CREATE TABLE `josso_user` (
`login` varchar(16) NOT NULL,
`passwd` varchar(20) NOT NULL,
`name` varchar(64) DEFAULT NULL,
`description` varchar(64) DEFAULT NULL,
PRIMARY KEY (`login`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `josso_user_property`;
CREATE TABLE `josso_user_property` (
`login` varchar(16) NOT NULL,
`name` varchar(255) NOT NULL,
`value` varchar(255) NOT NULL,
PRIMARY KEY (`login`,`name`),
CONSTRAINT `josso_user_property_ibfk_1`
FOREIGN KEY (`login`) REFERENCES `josso_user` (`login`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `josso_user_role`;
CREATE TABLE `josso_user_role` (
`login` varchar(16) NOT NULL,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`login`,`name`),
KEY `name` (`name`),
CONSTRAINT `josso_user_role_ibfk_2`
FOREIGN KEY (`login`) REFERENCES `josso_user` (`login`),
CONSTRAINT `josso_user_role_ibfk_1`
FOREIGN KEY (`name`) REFERENCES `josso_role` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  • InnoDB를 사용하지 않을 경우에는 "ENGINE=InnoDB DEFAULT CHARSET=utf8;" 대신 "TYPE=MyISAM;"를 사용한다.


JOSSO Gateway 설치

  • 압축을 풀어 d:/josso 폴더에 복사한다.


  • DOS 창에서 JOSSO Agent를 다음과 같이 설치 한다.
  • Windows Vista의 경우, 관리자 권한으로 실행 한다.
cd d:/josso/bin
josso-gsh.bat
gateway install --target "$TOMCAT_HOME" --platform tc60
exit
  • $JAVA_HOME 변수에 공백이 들어 있어 "지정된 경로를 찾을 수 없습니다."라는 오류가 발생할 경우에는, PATH 환경 변수에 $JAVA_HOME/bin 폴더를 추가하고 josso-gsh.bat를 다음과 같이 수정 한다.
"%JAVACMD%" %JAVA_OPTS% -jar "%BOOTJAR%" %ARGS% 를 삭제하고 아래 라인을 추가
java %JAVA_OPTS% -jar "%BOOTJAR%" %ARGS%


  • 설치가 정상적으로 진행이 되면 $TOMCAT_HOME 아래에서 다음 사항을 확인할 수 있다.
  • $TOMCAT_HOME/lib/josso-* 파일 들
  • $TOMCAT_HOME/webapps/josso 폴더


  • 설치가 완료된 후 d:/josso 폴더를 삭제한다.


 JOSSO Gateway 환경 설정

  • MySQL용 JDBC Driver를 설정한다.
  • MySQL JDBC Driver 다운로드 사이트에 접속 한다.
  • "JDBC Driver for MySQL (Connector/J)" 아래에 있는 "Download" 링크를 선택한다.
  • Source and Binaries (zip) 옆에 있는 링크를 선택하여 mysql-connector-java-5.1.7.zip 파일을 다운로드 한다.
  • zip 파일의 압축을 풀어 안에 있는 mysql-connector-java-5.1.7-bin.jar 파일을 $TOMCAT_HOME/webapps/josso/WEB-INF/lib 아래에 복사하고 Tomcat을 재기동 한다.


  • $TOMCAT_HOME/lib/josso-gateway-config.xml 파일에 사용자 정보 저장소로 DB 설정 정보를 사용하도록 수정 한다.
<!-- Identity, Session and Assertion Stores configuration -->
<s:import resource="josso-gateway-db-stores.xml" />
<!--
<s:import resource="josso-gateway-memory-stores.xml" />
<s:import resource="josso-gateway-db-stores.xml" />
<s:import resource="josso-gateway-ldap-stores.xml" />
-->


  • $TOMCAT_HOME/lib/josso-gateway-db-stores.xml 파일에서 DB 정보를 설정 한다.
  • 기존에 있는 id="josso-identity-store" 에 해당하는 것을 삭제하고, 아래 사항을 추가 한다.
  • MySQL에서 password는 예약어이므로 password라는 항목명은 passwd로 변경 하여 테이블을 생성 하였으므로 SQL문도 그에 맞도록 수정 한다.
<db-istore:jdbc-store
id="josso-identity-store"
driverName="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/jossodb"
connectionName="josso"
connectionPassword="암호"
userQueryString="SELECT LOGIN AS NAME FROM JOSSO_USER WHERE LOGIN = ?"
rolesQueryString="SELECT NAME AS ROLE
FROM JOSSO_USER_ROLE WHERE LOGIN = ?"
credentialsQueryString="SELECT LOGIN AS USERNAME, PASSWD password
FROM JOSSO_USER WHERE LOGIN = ?"
userPropertiesQueryString="SELECT NAME, VALUE
FROM JOSSO_USER_PROPERTY WHERE LOGIN = ?"
resetCredentialDml="UPDATE JOSSO_USER SET PASSWD = ? WHERE LOGIN = ?"
relayCredentialQueryString="SELECT LOGIN FROM JOSSO_USER WHERE #?# = ?"
/>


  • $TOMCAT_HOME/lib/josso-gateway-auth.xml 파일에서 기본 인증 정보를 수정한다.
  • hashAlgorithm, hashEncoding를 삭제하여 암호가 Plan Text로 저장되도록 한다. (현재는 테스트용으로, 향후에는 이를 사용하여 암호가 암호화되어 저장되도록 하여야 한다.)
   <basic-authscheme:basic-auth-scheme
id="josso-basic-authentication"
ignorePasswordCase="false"
ignoreUserCase="false">

<basic-authscheme:credentialStore>
<s:ref bean="josso-identity-store"/>
</basic-authscheme:credentialStore>

<basic-authscheme:credentialStoreKeyAdapter>
<s:ref bean="josso-simple-key-adapter"/>
</basic-authscheme:credentialStoreKeyAdapter>

</basic-authscheme:basic-auth-scheme>



 PHP용 JOSSO Agent 설치

  • 압축을 풀어 d:/josso 폴더에 복사한다.
  • d:/josso/dist/agents/src/josso-php-agent-1.8.0-.zip의 압축을 풀어 d:/josso_php 폴더에 복사한다.



  • PHP에 JOSSO Agent를 설정 한다.
mkdir c:/php/includes
c:/php/includes 아래에 d:/josso_php/josso-php-inc 폴더를 통채로 복사한다.
  • JOSSO Agent 설정 파일은 c:/php/includes/josso-php-inc/josso-cfg.inc 이다.
  • $PHP_HOME에 있는 php.ini 파일에서 다음과 같이 수정 한다.
include_path = ".;c:\php\includes"
auto_prepend_file = "josso-php-inc\josso.php"


  • 테스트를 위해 d/:/josso/dist/samples/apps/josso-partner-php-1.8.0-.zip 파일의 압축을 풀어 index.php 파일을 Apache HTTP Server의 Document Root에 index_josso.php로 이름을 바꾸어 저장 한다.


  • 설치가 완료된 후 d:/josso 폴더와 d:/joss_php 폴더를 삭제하고 Apache HTTP Server를 재기동 한다.


 PHP용 JOSSO Agent 환경 설정

  • JOSSO Agent 설정 파일(c:/php/includes/josso-php-inc/josso-cfg.inc)에서 다음을 수정 한다.
  • JOSSO Gateway의 IP 또는 URL(예, www.josso.com)을 사용하여 설정한다.
  • josso_endpoint는 JOSSO Gateway의 IP를 사용하여 설정한다.
// Josso agent configuration
$josso_gatewayLoginUrl = 'http://gatewayURLorIP:8080/josso/signon/login.do';
$josso_gatewayLogoutUrl = 'http://gatewayURLorIP:8080/josso/signon/logout.do';

// WS client configuration :
$josso_endpoint = 'http://gatewayIP:8080';


 JOSSO 설정 확인

테스트가 끝나면 Document Root에 있는 index_josso.php 파일을 삭제 한다.



이제 JOSSO Gateway와 Agent의 설치가 완료 되었다. JOSSO Agent 중에서 PHP용 Agent가 사용자 프로그램(PHP)에 제공하는 정보(변수)와 기능(함수)를 살펴 보자.

 PHP에 JOSSO 적용

  • JOSSO Agent가 PHP에 제공하는 정보 명세
$josso_agent  : JOSSO Agent
$ssoSessionId : JOSSO Session ID

$user = $josso_agent.getUserInSession() : 세션에 있는 사용자 정보 반환
$roles = $josso_agent->findRolesBySSOSessionId($sessionId) : Roles을 반환
$josso_agent.isUserInRole($rolename) : 해당 Role에 속하는지 여부 반환

$user->getName() : 사용자 명(사용자 아이디)을 반환
$user->getProperties() : 사용자의 모든 Properties를 반환
$user->getProperty('user.name') : 사용자의 해당 Property를 반환


  • JOSSO Agent가 PHP에 제공하는 함수 명세
jossoRequestLogin() : 로그인 페이지로 가고 싶을 때 호출
jossoCreateLoginUrl() : 로그인 URL을 반환
jossoRequestLoginForUrl($currentUrl) : 로그인 페이지 호출
로그인 후 인수로 전달된 페이지 호출

jossoRequestLogout() : 로그아웃을 하고 싶을 때 호출
jossoCreateLogoutUrl() : 로그아웃 URL을 반환
jossoRequestLogoutForUrl($currentUrl) : 로그아웃 페이지 호출
로그아웃 후 인수로 전달된 페이지 호출

*** 참고 문헌 ***


Posted by 산사랑

2009/02/23 00:25 2009/02/23 00:25
, , , , , , , , ,
Response
No Trackback , 2 Comments
RSS :
http://www.jopenbusiness.com/tc/oss/rss/response/84

Trackback URL : http://www.jopenbusiness.com/tc/oss/trackback/84

Comments List

  1. 박상태 2010/05/03 15:27 # M/D Reply Permalink

    PHP로 사이트가 되있을 경우에 PHP를 설치하는거겠지요?

    1. 산사랑 2010/05/03 23:25 # M/D Permalink

      당근이죠.

Leave a comment
[로그인][오픈아이디란?]

블로그 이미지

개인적인 글쓰기와 오픈소스 비즈니스 컨설팅 관련 글을 정리합니다. consult (골뱅이) jopenbusiness.com

- 산사랑

Archives

78명이 RSS를 구독하고 있습니다.

Site Stats

Total hits:
142401
Today:
183
Yesterday:
187

*** 방문자 통계 ***
0827 : (248)
0828 : (196)
0829 : (196)
0830 : (210)
0831 : (207)
0901 : (197)
0902 : (187)
0903 : (183)
7일간 총 방문자수 : 1441