Maven Plugin 개발 Sample

Maven Plugin 개발 Sample



참조 : http://maven.apache.org/guides/plugin/guide-java-plugin-development.html


플러그인 샘플 프로젝트 생성
mvn archetype:create \
-DgroupId=sample.plugin \
-DartifactId=maven-hello-plugin \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-mojo



by 재미니 | 2009/07/17 16:30 | 트랙백 | 덧글(0)

Linux Fedora 10 BugZilla 설치

Linux Fedora 10 BugZilla 설치

휴~ 4일 동안 삽질했다. 한국에는 Unix 환경에 버그질라를 설치하는 레퍼런스가 거의 없는 듯 하다. 레퍼런스를 찾지 못 해서 영어두 못 하는 내가 영문 사이트 뒤져 가며 설치 했다..ㅜㅜ;;;

모든 부분을 정확히 이해하고 설치한 부분이 아니라서 아마도 필요없는 부분도 있을 것이다.

이번 설치는 Fedora에서 설치를 한 것이지만 소스로 설치 하였기 때문에 다른 Unix OS에서도 될것이다. 아마도..*^^*;;

 

Unix 기반 OS에 버그질라를 설치하려는 사람들에서 조금이나마 도움이 됐으면 한다..*^^*;;

 

설치 환경

              OS : Fedora 10

             Perl : perl-5.10.0

        MySQL : mysql-5.1.36

      Apache2 : httpd-2.2.11

       Bugzilla : bugzilla-3.2.4

ImageMagick : ImageMagick-6.5.3-10

 

설치 디렉토리

           Base : /usr/local

             Perl : /usr/local/perl

        MySQL : /usr/local/mysql

      Apache2 : /usr/local/apache2

       Bugzilla : /usr/local/bugzilla

ImageMagick : /usr/local/ImageMagick

 

설치

  1. perl 설치

    # rpm -qa | grep perl

       perl이 설치 되어 있다면 제거

       # rpm -e --nodeps [모듈명]

    # ./Configure -de -Dcc=gcc -Dprefix=/usr/local/perl
    # make
    # make install

     

  2. mysql 설치

    # rpm -qa | grep mysql

       mysql이 설치 되어 있다면 제거

       # rpm -e --nodeps [모듈명]

    #./configure --prefix=/usr/local/mysql--localstatedir=/usr/local/mysql/data --with-charset=uft8--with-mysql-usr=mysql --sysconfdir=/etc --enable-thread-safe-client --with-charset=euckr --with-innodb

        innodb 설치 필수

    # make

    # make install

    # /usr/local/mysql/bin/mysql_install_db

    # ls /usr/local/mysql/data

       결과 : mysql test

    # cat >> /etc/ld.so.conf (엔터)
       /usr/local/mysql/lib (엔터-이 줄은 프롬프트가 없습니다)

    # ldconfig

    # cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf

    my.cnf 수정

       [mysqld]

       max_allowed_packet = 4M

       innodb_xx 부붙 주석 제거

    /etc/passwd 파일 mysql 계정 존재 유무를 확인합니다.
    # cat /etc/passwd | grep mysql

    # groupadd mysql
    # useradd -M -c Mysql_server -d /usr/local/mysql -g mysql -s /sbin/nologin mysql

       그리고 아래와 같이 MySQL 디렉토리의 소유권을 변경합니다.
    # chown root.mysql -R /usr/local/mysql
    # chown mysql.mysql -R /usr/local/mysql/data

    # /usr/local/mysql/bin/mysql_safe --user=mysql &

    # ps ax | grep mysqld

    데몬 부팅 시 자동 실행
    # cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld
    # chkconfig --level 3 mysqld on
    # chkconfig --level 5 mysqld on

    # /usr/local/mysql/bin/mysql -p mysql

    mysql> update user set password=password('[비밀번호]') where user='root';

    mysql> create database [DB명];

    mysql> insert into user(host, user, password) values ('localhost', '[아이디]', password('[비밀번호]'));     (사용자 등록)
    mysql> insert into db values ('localhost', '[DB명]', '[아이디]', 'y','y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y','y', 'y', 'y', 'y');     (권한 등록)

            host : 접속 가능 호스트, 모든 호스트 접속 가능하도록 하려면 '%' 사용

    mysql> flush privileges;
    mysql> exit

    환경변수 설정(perl modules DBD::mysql 설치시 mysql-conifg 찾기 위함)

        MYSQL_HOME=/usr/local/mysql
        export MYSQL_HOME
        PATH=$PATH:$HOME/bin:$MYSQL_HOME:$MYSQL_HOME/bin

        # source ~/.bash_profile

  3. apache 설치

    # ./configure --prefix=/usr/local/apache2 --enable-mods-shared=most --with-perl=/usr/local/perl

    # make

    # make install

  4. bugzilla 설치

    # tar vxzf bugzilla-xxx

    # mv bugzilla-xxx /usr/local/bugzilla

  5. perl modules 설치

    # ./checksetup.pl --check-modules

      설치할 모듈 체크

    필수 모듈

    # perl -MCPAN -e 'install "CGI"'
    # perl -MCPAN -e 'install "Date::Format"'
    # perl -MCPAN -e 'install "DBI"'
    # perl -MCPAN -e 'install "Template"'
    # perl -MCPAN -e 'install "Email::Send"'
    # perl -MCPAN -e 'install "Email::MIME"'
    # perl -MCPAN -e 'install "Email::MIME::Encodings"'
    # perl -MCPAN -e 'install "Email::MIME::Modifier"'

    # perl -MCPAN -e 'install "DBD::mysql"'

    DBD::mysql 모듈 설치시  에러 발생시

         * mysql path가 추가 되어 있어야 한다.
         # cd ~/.cpan/build/DBD-mysql-4.012-yfeus0  (경로 다른 수 있음 에러 메시지 확인)
         # perl Makefile.PL --testdb=[DB명] --testuser=[User ID] --testpassword=[User Password] --testhost=localhost
         # make
         # make test
         # make install

     

    옵션

    # perl -MCPAN -e 'install "GD"'
    # perl -MCPAN -e 'install "Chart::Base"'
    # perl -MCPAN -e 'install "Template::Plugin::GD::Image"'
    # perl -MCPAN -e 'install "GD::Text"'
    # perl -MCPAN -e 'install "GD::Graph"'
    # perl -MCPAN -e 'install "XML::Twig"'
    # perl -MCPAN -e 'install "MIME::Parser"'
    # perl -MCPAN -e 'install "LWP::UserAgent"'
    # perl -MCPAN -e 'install "PatchReader"'

    # perl -MCPAN -e 'install "Image::Magick"'

    Image::Magick 설치시 에러시

        ImageMagick 다운로드
            http://www.imagemagick.org/script/download.php
            # ./configure --prefix=/usr/local/ImageMagick --with-perl
            # make
            # make install
        환경변수 설정
            # vi ~/.bash_profile
                  IMAGE_MAGICK_HOME=/usr/local/ImageMagick/
                  export IMAGE_MAGICK_HOME
                  PATH=$PATH:$HOME/bin:$IMAGE_MAGICK_HOME:$IMAGE_MAGICK_HOME/bin:$IMAGE_MAGICK_HOME/lib
            # source ~/.bash_profile
        # perl -MCPAN -e 'install "Image::Magick"'

    # perl -MCPAN -e 'install "Net::LDAP"'
    # perl -MCPAN -e 'install "Authen::SASL"'
    # perl -MCPAN -e 'install "Authen::Radius"'
    # perl -MCPAN -e 'install "SOAP::Lite"'
    # perl -MCPAN -e 'install "HTML::Parser"'
    # perl -MCPAN -e 'install "HTML::Scrubber"'
    # perl -MCPAN -e 'install "Email::MIME::Attachment::Stripper"'
    # perl -MCPAN -e 'install "Email::Reply"'
    # perl -MCPAN -e 'install "mod_perl2"'

       mod_perl2 설치 실패시

         # perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs MP_APR_CONFIG=/usr/local/apache2/bin/apr-1-config

         # make

         # make install

  6. Bugzilla Configuration
    # cd /usr/local/bugzilla  (버그질라 디렉토리로 이동)

    # ./checksetup.pl
       ./checksetup.pl 명령을 실행하면 bugzilla 환경 설정 파일이 생성된다.

    # vi ./localconfig      (bugzilla 환경 설정 파일 수정)
        아래의 환경 변수를 찾아 수정한다.

        $webservergroup = 'damon';    (apache 설정 파일 httpd.conf에 설정되어 있는 group 과 동일해야 한다.)

        $db_user = '[DB User Id]';
        $db_pass = '[DB User Password]';
        $db_port = 3306;
        $db_sock = '/tmp/mysql.sock';  (/etc/my.cnf 에 설정되어 있는 socket 값과 동일하게 설정한다.)
    # ./checksetup.pl
      ./checksetup.pl 명령을 실행하면 Bugzilla에 필요한 Table들이 생성되며 Bugzilla 디렉토리(하위 포함)의 그룹이 위에서 설정한 $webservergroup 으로 변경된다.
    # mysql -u [User ID] -p

       mysql> use [DB 명]
       mysql> ALTER TABLE attachments
                   AVG_ROW_LENGTH=1000000, MAX_ROWS=20000;

     

    # vi /usr/local/apache2/conf/httpd.conf  (아래의 설정을 추가 한다.)

         LoadModule perl_module modules/mod_perl.so    (Perl 모듈 추가)

     

         PerlSwitches -I/usr/local/bugzilla -I/usr/local/bugzilla/lib -w -T
         PerlConfigRequire /usr/local/bugzilla/mod_perl.pl


         Alias   /bugzilla    /usr/local/bugzilla
         <Directory /usr/local/bugzilla>
             AddHandler cgi-script .cgi
             Options +Indexes +FollowSymLinks +ExecCGI
             DirectoryIndex index.cgi
             AllowOverride Limit
             Allow from all
         </Directory>

    # /usr/local/apache2/apachectl start

     

    접속 확인

    http://<Server IP or Domain>/bugzilla

 

 

참고 사이트 

http://www.bugzilla.com

http://www.perl.com

http://httd.apache.com

http://perl.apache.com

http://www.mysql.com

http://innu.pe.kr/tt/tag/DBD::mysql

by 재미니 | 2009/07/17 15:53 | bugzilla | 트랙백 | 핑백(1) | 덧글(0)

Maven Nexus 설치

Maven Nexus 설치

사전 준비

java sdk가 섳리 되어 있어야 한다.

 

Nexus 설치

nexus 다운로드
   http://nexus.sonatype.org/using/download.html
압출 풀기 및 이동
   # tar vxzf nexus-webapp-xxx-bundle.tar.gz
   # mv nexus-webapp-xxx-bundle/ /usr/local/nexus
   # mv sonatype-work /usr/local/nexus/sonatype-work

설정 파일 수정
  # vi /usr/local/nexus/conf/plexus.properties
     nexus-work=${basedir}/../sonatype-work/nexus -> nexus-work=${basedir}/sonatype-work/nexus

시작 중지 스크립트 작성
    다음 중 운영체제에 맞는 스크립트 파일을 /etc/init.d/nexus로 복사한다.
        ${NEXUS_HOME}/bin/jsw/linux-ppc-64/nexus
        ${NEXUS_HOME}/bin/jsw/linux-x86-32/nexus
        ${NEXUS_HOME}/bin/jsw/linux-x86-64/nexus
    # cp /usr/local/nexus/bin/jsw/linux-x86-32/nexus /etc/init.d/nexus

    실행권한을 준다.
    # chmod 755 /etc/init.d/nexus

    스크립트 파일에서 다은 변수를 변경한다.
        APP_NAME="nexus" 로 수정
        APP_LONG_NAME="Sonatype Nexus" 로 수정
        NEXUS_HOME="[설치 디렉토리]" 추가
        PLATFORM="[linux-x86-32 | linux-x86-64 | linux-ppc-64]" 운영체제 플렛폼을 3개중 하나를 선택하여 추가
        WRAPPER_CMD="${NEXUS_HOME}/bin/jsw/${PLATFORM}/wrapper" 로 수정
        WRAPPER_CONF="${NEXUS_HOME}/conf/wrapper.conf" 로 수정
        PIDDIR="/var/run"로 수정
        JAVA_HOME="[자바 설치 디렉토리]" 추가
        PATH 추가 : ${JAVA_HOME}/bin

    Optional
        nexus user 추가
        nexus 설치 디렉토리 nexus 유저로 Owner, Group 변경
        RUN_AS_USER=nexus 변수 추가

    ex)
        JAVA_HOME=/usr/java/latest
        PATH=${PATH}:${JAVA_HOME}/bin
        APP_NAME="nexus"
        APP_LONG_NAME="Sonatype Nexus"
        NEXUS_HOME=/usr/local/nexus
        PLATFORM=linux-x86-64
        WRAPPER_CMD="${NEXUS_HOME}/bin/jsw/${PLATFORM}/wrapper"
        WRAPPER_CONF="${NEXUS_HOME}/conf/wrapper.conf"
        PRIORITY=
        PIDDIR="/var/run"
        #RUN_AS_USER=nexus

    리눅스 서비스 등록
    # cd /etc/init.d
    # chkconfig --add nexus
    # chkconfig --levels 345 nexus on
    # service nexus start
        Starting Sonatype Nexus...
    # tail -f /usr/local/nexus/logs/wrapper.log

nexus 기동
    # service nexusl start
nexus 중지
    # service nexus stop

접속 : http://localhost:8081/nexus



admin 비밀번호 변경

기본 ID : admin 기본 비민번호 : admin123

by 재미니 | 2009/07/17 15:26 | 트랙백 | 덧글(0)

Window에서 Maven + M2Eclipse 설치

Window에서 Maven M2Eclipse 설치

 

Maven 다운로드

http://maven.apache.org/download.html

 

Maven 설치

압축 풀기
    정당한 곳에 압축을 푼다.

환경 변수 설정
    JAVA_HOME
    M2_HOME
    M2
    MAVEN_OPTS
    PATH

 

m2eclipse 설치

http://m2eclipse.sonatype.org/update/
java sdk 를 설치해야 한다. jre만 설치 되어 있을 경우 eclipse 구동시 경고 메시지가 열린다.
eclipse.ini 에 -vm 옵션을 추가한다.
  -vm (반드시 엔터)
    C:\Program Files\Java\jdk1.6.0_14\bin\javaw.exe (반드시 jdk의 javaw 경로를 넣어야 한다.)


by 재미니 | 2009/07/17 15:18 | maven | 트랙백 | 덧글(0)

◀ 이전 페이지          다음 페이지 ▶