2015년 7월 6일 월요일

android 개발중 API 버전, 해상도별로 테스트

하드웨어단말기가 없을경우 
oracle 사의 virtualbox 와 연동되어 사용가능한
android 가상 프로그램

https://www.genymotion.com

1. Linux, Mac, Windows 프로그램을 지원함으로 좋다.
2. 이미지를 만들지 않고 자체적으로 다운받아 써서 간편하다.
3. eclipse 와 연동시 편하다.

2015년 6월 13일 토요일

ioncube 설치

php 5.6 에 ioncube 설치

  • download : http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
  • 압축해재 후 이동
    • tar -xvf ./ioncube_loaders_lin_x86_64.tar.gz
    • mv ioncube /usr/local
  • php.ini 파일 수정 
    • 압축 해제한 폴더내에 각 php 버전별 so 파일 존재한다. 맞는 버전으로 load
    • [ioncube]
      zend_extension_ts=/usr/local/ioncube/ioncube_loader_lin_5.6_ts.so
      zend_extension=/usr/local/ioncube/ioncube_loader_lin_5.6.so
  • apache 재시작 및 확인
    • php -v 

 

Zend guard loader 설치

php 5.6 에 zend guard loader 설치

  • download : http://www.zend.com/en/products/loader/downloads#Linux 에서 버전에 맞는 파일 다운로드.
  • 수행 명령:
    • cp ZendGuardLoader.so /usr/lib64/
  • /usr/local/apache/conf/php.ini 수정
    • [Zend.loader]
      zend_extension=/usr/lib64/ZendGuardLoader.so
      zend_loader.enable = 1
      zend_loader.disable_licensing = 0
      zend_loader.obfuscation_level_support = 3
  • apache 재실행 및 php -v 로 확인 아래의 내용이 나오면 정상 설치완료.
        


  •  truble shooting.
    • 만약 php -v 로 확인시 symbol ~~ global 어쩌구 하면서 안될경우 apache 설치시 ./configure 파라미터중 --with-mpm=prefork 를 안넣고 설치해서 발생하는 오류다.

modsecurity 설치

apache 2.4.12 에 modsecurity 2.9.0설치

  • download : https://www.modsecurity.org/tarball/2.9.0/modsecurity-2.9.0.tar.gz
  • 수행 명령 :
    • yum install  expat expat-devel
    • ./configure --with-apxs=/usr/local/apache/bin/apxs 
    • make
    • make install
  • apache 설정파일 변경
    • vi /usr/local/apache/conf/httpd.conf
      • LoadFile /usr/lib64/libxml2.so 
      • LoadFile /usr/lib64/liblua-5.1.so
      • LoadModule security2_module modules/mod_security2.so
         
  • rule 파일 
    • mkdir /usr/local/apache/conf/modsecurity  # rule 파일 저장위치 
    • vi /usr/local/apache/conf/httpd.conf
      • Include conf/modsecurity/*.conf
    • /usr/local/apache/conf/modsecurity/{filename}.conf 로 rule 파일 생성 및 apache 재 기동

CenOS 6.6에 apache 2.4.12, php 5.6 소스 설치

apache 2.4.12
php 5.6 을 소스 설치 하였으며
의존성 관련 설치도 순서대로 다 나열하겠다.

apache 설치시 필요한 apr, apr-util, pcre 는 yum 으로 설치해도 가능하지만
아직 yum 의 apr, apr-util 버전이 apache 2.4.12 설치에 필요한 버전을 충족시키지 못한다.

이 글을 작성하는 현재는 yum 으로 설치한 apr, apr-util 은 버전의 문제가 있어 소스 설치 하였다.

설치 순서는 아래와 같다.
- apr 
- apr-util
- pcre
- apache
- php



  1. apr 
    • download : http://mirror.apache-kr.org//apr/apr-1.5.2.tar.gz
    • 수행 명령 : 
      • yum install gcc
      • ./configure --prefix=/usr/local/apr 
      • make
      • make install  
    • configure 설명 : 
      • prefix : 설치할 위치
     
  2. apr-util 
      •  download : http://mirror.apache-kr.org//apr/apr-util-1.5.4.tar.gz
      • 수행명령 : 
        • ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
        • make
        • make install
      • configure 설명 :
        • prefix : 설치할 위치
        • with-apr : 참조할 apr 의 설치 위치

  3. pcre 
    • 수행명령 :
      • yum install pcre pcre-devel
     
  4. apache
    • download : http://apache.tt.co.kr//httpd/httpd-2.4.12.tar.gz
    • 수행명령 :
      • ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-module=so --enable-so --enable-mods-shared=all --with-mpm=prefork
      • make
      • make install
    • configure 설명
      • prefix : 설치할 위치
      • with-apr : 참조할 apr의 설치 위치
      • with-apr-util : 참조할 apr-util의 설치 위치
      • enable-moduel=so : module 로드 관련으로 보입니다.
      • enable-so : module 로드 관련으로 보입니다. 해당 파라미터가 없을경우 php 소스 설치시 오류가 발생
      • enable-mods-shared=all : 공유 모듈에 대한것으로 보입니다.
      • with-mpm=prefork : apache thread 관련으로 알고있는데 해당 파라미터가 없을경우 php 설치후 Zend guard loader 등의 설치시 php.ini에 등록해도 올라가질 않습니다.
    • 기타 : with-mpm-prefork 파라미터 누락시 php.ini 에 zend guard loader, ioncube 등을 올려도 php -v 로 확인시 오류 메세지가 발생됩니다.

  5. php
    • download : http://php.net/downloads.php
    • 수행명령 : 
      • yum install perl perl-devel
      • yum install libxml2 libxml2-devel
      • yum install gd gd-devel
      • ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/apache2/conf --with-curl --enable-calendar --enable-shmop --enable-ftp --enable-sockets --disable-cgi --with-gd --with-png-dir=/usr/lib --with-zlib-dir --with-jpeg-dir=/usr/lib --with-freetype-dir=/usr/local/freetype --with-iconv --enable-mbstring
      • make
      • make install
    • configure 설명 : 
      • prefix : 설치 위치
      • with-apxs2 :apache apxs 위치 
      • with-config-file-path : php.ini 파일을 위치시킬 위치
    • 기타 :configure 파라미터에 따라 우선적으로 설치해야할 의존성 패키지 들이 있습니다. configure 중 오류발생시 해당 오류에 맞는 패키지를 yum 으로 설치하면서 진행하면 이상 없이 진행이 가능합니다.


 다음은 해당 내용을 설치하며 남긴 동영상이다.


2015년 4월 6일 월요일

apache tomcat 연동 (mod_jk)

아파치와 톰켓 연동방법

연동방식은 여려가지가 있다고 한다.

mod_jk, mod_proxy, mod_proxy_ajp

나는 mod_jk 방식을 설명한다.


1. apache 사이트에서 tomcat-connector 다운로드
    http://tomcat.apache.org/download-connectors.cgi

2. 압축 해제 후 컴파일
    # tar -xvf tomcat-connectors-1.2.40-src.tar.gz
    # tomcat-connectors-1.2.40-src/native/configure --with-apxs=/usr/sbin/apxs
    # make
    # make install

    - apxs 가 없을경우
      yum install httpd-devel
    - gcc 가 없을경우
      yum install gcc

3. mod_jk 설치 확인
    apache 모듈 폴더에 mod_jk.so 가 복사되었는지 확인한다.
    cd /etc/httpd/modules

4. 아파치 설정파일 수정
    vi /etc/httpd/conf/httpd.conf
 
    # tomcat connector  모듈추가
    LoadModule modules/mod_jk.so

    Include conf.d/mod_jk.conf
    # 만약 JkWorkersFile only allowed once 오류 발생시 mod_jk.conf 에 있는 JkWorkersFile conf/workers_jk.properties 줄을 주석 처리하고 다음줄의 주석 해제
     # JkWorkersFile conf/workers_jk.properties

    <VirtualHost *:80> 하단에 아래 내용 추가
    JkMountCopy On

5. mod_jk 설정파일 추가
    vi /etc/httpd/conf.d/mod_jk.conf


<IfModule mod_jk.c>
  # Where to find workers.properties
  JkWorkersFile conf/workers_jk.properties
 
  # Where to put jk shared memory
  JkShmFile run/mod_jk.shm
 
  # Where to put jk logs
  JkLogFile logs/mod_jk.log
 
  # Set the jk log level [debug/error/info]
  JkLogLevel info
 
  # Select the timestamp log format
  JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

  ## url pattern 에 따른 connector mapping
  ##JkMountFile conf/uriworkermap.properties
</IfModule>

6. tomcat WAS worker 설정파일 추가
    vi /etc/httpd/conf/workers_jk.properties


#worker.list=worker1, worker2
worker.list=worker1

## server 1
worker.worker1.port=8009
worker.worker1.host=server1
worker.worker1.type=ajp13
worker.worker1.lbfactor=1

## server 2
#worker.worker2.port=8009
#worker.worker2.host=server2
#worker.worker2.type=ajp13
#worker.worker2.lbfactor=1


7. WAS 에서 처리해야 할 목록 정의

   vi /etc/httpd/conf/uriworkermap.properties

## Mapping the URI /service1 under worker1
#/service1/*.do=worker1
#/service1/*.jsp=worker1

# /service2 요청으로 들어온 것은 worker2 로 mount
#/service2/*=worker2

# png와 jpg 는 apache 가 처리
#!/service2/*.png=worker2
#!/service2/*.jpg=worker2



  ## 아래와 같이 설정하면 모든 요청(jsp, do, image, js등)을 tomcat으로 보내서 처리
한다.
/*=worker1


8. Tomcat server.xml 에서 AJP1.3  Connector 부분 주석 제거하고 테스트.



   

2015년 4월 5일 일요일

리눅스 시작프로그램 등록 chkconfig

리눅스 시작프로그램 등록방법.

1. /etc/rc.d/init.d  에 서비스 스크립트 등록
 
    스크립트 상단에 아래의 주석 알맞게 수정하여 등록 ( chkconfg 등록시 정보로 사용되어지는 주석임 )
     chkconfig : 345 85 15
     의 345 는 런레벨 3, 4, 5의 뜻임. 런레벨은 구글에 '리눅스 런레벨' 검색.
     85 는 데몬실행 우선순위
     15 는 데몬 종료 우선순위임.

    #!/bin/bash
    #
    # svn_custom      Startup script for the SVN Server
    #
    # chkconfig: 345 85 15
    # description: start stop restart SVN server
    # processname: svn_custom  
    case "$1" in
    start) #start
    echo -n "Starting svn server"
    #daemon svnserve -d -r /home/svn/svn_repo
    svnserve -d -r /home/svn/svn_repo
    echo
    ;;
    stop) #stop
    echo -n "Stopping svn server"
    #daemon pkill 'svnserve'
    pkill 'svnserve'
    echo
    ;;
    restart) #restart
    $0 stop
    $0 start
    ;;
    *) #etc doesn't insert param
    echo "Usage:$0 {start|stop|restart}"
    exit 1
    esac
    exit 0


2. 생성한 스크립트 테스트
     root  # service svn_custom restart

3. chkconfig 에 등록
     chkconfig --add 스크립트명

4. chkconfig 등록 확인
     chkconfig --list

5. OS 재시작하여 확인인인