필요사항

2, 모두 설치를 하였으면 에디터를 실행 해보자.

파일 - > 스크립트 작성 마법사


* 프로그램 배포자 : 플라워팀
* 프로그램 웹사이트 : http://www,flowerteam.kr/console

* 인스톨 경로를 고정 하려면 체크박스 해체.
* 사용할 약관 경로 설정
** 처음에 기본적으로 나오는 폴더가 있는데 그 폴더를 선택하고 X
**트리 아이콘을 클릭하면 EditDirectory 창이 나오고 설치할 디렉토리의 경로를 잡아준다
* 프로그램 시작 메뉴 : Flowerteam/blooma

* 위의 방식대로 했다면 nsi 파일이 생성된다.
* .nsi 파일은 NSIS 에서 제공하는 스크립트로 작성되어 있다.
* 기본 설치 파일을 컴파일 하면 exe 파일이 생성된다.

* 스크립트 수정
- 삭제 부분을 모두 지우고
  RMDir /r "$INSTDIR"
  RMDir /r "$SMPROGRAMS\Flowerteam"
  DELETE $DESKTOP\blooma.lnk
로 수정.

- 완료가 되었으면 NSIS - > 스크립트 컴파일
- BloomaSetup.exe 파일이 생성된다.

실행.
블로그 이미지

비추마

,

svn dump and load

System 2011. 3. 1. 23:49
SVN 저장소 백업 및 복구는 매우 중요하다.

예를 들어 현재 192.168.10.xxx 서버를 사용하고 있는데 서버가 고장이 났거나 특수 사정으로 인하여 서버를 바꿔야 한다 - >  192.168.10.aaa 로 서버가 바뀌었다고 가정.

물론 개발자들이 가지고 있는 소스를 다시 aaa 서버로 이관 시키면 된다고 생각 할 수 있겠지만 그것보다는 xxx 서버의 저장소 정보를 주기적으로 백업하여 관리하다가 aaa서버로 이관 시키고 개발자들은 싱크를 맞추는 것이 좋다.

저장소 백업: svnadmin dump {저장소 경로} > {파일명}
- 리비전 정보까지 모두 백업 된다.

저장소 load : svnadmin load {저장소 경로} < {파일명}

블로그 이미지

비추마

,

mysql dump

DB 2011. 3. 1. 23:47
서버가 갑자기 사라진다라는 경우를 생각하고 우리가 백업 할 수 있는 정보들은 주기적으로 백업하자!

$ : mysqldump --help
....
....
위의 옵션들을 정리하여 필요한 DB 및 TABLE을 덤프
파일로 저장을 할 수 있고 XML 로 저장을 할 수 있다.

1) DB 전부 백업
$: mysqldump -hlocalhost -unextree -pnextree nextreedb > nextree_20100402.sql
- Mysql 서버 인코딩 환경을 따라 간다.
- 특정 인코딩을 옵션으로 줄 수 있다.

2) xml 형식으로 백업
$: mysqldump -X -hlocalhost -unextree -pnextree nextreedb > nextree_20100402.xml

3) 복구

$: mysql -hlocalhost -unextree -pnextree nextreedb2 < nextree_20100402.sql

위의 세개는 가장 간단한 백업 및 복구 방법이다.
이밖에 MYSQL 기본 설정에 관한 옵션들을 줄 수 있다.
--help 명령어로 각 상황에 맞는 덤프를 뜰 수 있도록 하자.

블로그 이미지

비추마

,

제품에 대한 릴리즈 정책은 중요하다.
우리는 SVN으로 형상관리를 하고 있으며 trunk/branches/tags 로 관리되어 지고 있다.
trunk는 현재의 Main Stream으로 진행중인 개발코드가 관리 되어지며 tags에는 릴리즈된 버전, branches에는 현재 릴리즈된 버전의 패치 버전을 관리 하게 된다.

개발자들은 trunk 로 작업을 하게 되고 릴리즈된 버전의 버그나 오류가 발견됐을 시의 패치를 할 경우 tags에 있는 릴리즈 버전을 branches로 옮겨서 해당 버그를 패치 하기 위해 branches 를 체크아웃 받아서 작업을 수행하게 된다.

패치가 완료가 되면 패치버전을 추가 시켜서 릴리즈를 한다.
지금 까지가 현재 우리가 적용하고 있는 정책이다.

현재 개발 버전 : 1.0.0-SNAPSHOT
제품 릴리즈 버전 : 1.0.0
즉 현재 개발 버전에 SNAPSHOT을 빼고 릴리즈.
패치가 필요할 경우  : 1.0.0.0 - > tags에 릴리즈 된 것을 branches 로 옮긴다

제품 릴리즈에 적용하고 있는 기술을 maven-release-plugin을 사용하고있다.
제품에 대한 버전 변경관 배포를 자동으로 해주는 maven 플러그인이다.

 maven-release-plugin을 적용하기 위해 pom.xml에 다음을 추가해준다.

<build>
  <plugins>
    <plugin>
       <artifactId>maven-release-plugin</artifactId>
       <version>2.0-beta-9</version>
       <configuration>
         <tagBase>http://flowerteam.dev/svn/flowerteam/tags</tagBase>
           <autoVersionSubmodules>true</autoVersionSubmodules>
           <goals>deploy</goals>
       </configuration>
     </plugin>
  </plugins>
</build>


현재 Main Stream을 tags로 옮기기.

새로운 워크스패이스를 만들어서  trunk 에 현재 릴리즈 할것을 모두 체크아웃 받자.
> svn co --username nextree  http://localhost/svn/nextree /trunk

trunk > mvn release:prepare
- > release버전, tags 라벨, 다음 개발버전(SNAPSHOT)지정.

위의 작업이 완료되면.
pom.xml에 추가되어 있는 모듈들이 trunk하위에는 다음 개발버전으로 변경되어 있고 tags하위에는 추가한 라벨 하위에 release버전으로 추가되어있다.

prepare 에서 실패를 하였을 경우
> mvn release:rollback

prepare가 성공을 하였다면
mvn release:perform
perform을 실행하면 release된 버전들은 개발 아티팩토리에 deploy 한다.

이제 개발자들은 새로운 SNAPSHOT으로 개발을 해야 하므로 버전 업된 SNAPSHOT들을 아티팩토리에 배포하여준다.
블로그 이미지

비추마

,

Tomcat 을 실행 후 모니터링 하는 도구로서 java 에서 제공해주는 jconsole, visualvm이 있다.

둘 모두 구동하는 방식은 똑 같으며 visualvm 이 더 많은 프로파일 기능을 제공한다.

위의 둘을 사용하기 위해서는 서버를 실행 시킬시에 다음의 옵션을 추가한다.

-- Remote 로 접속해서 사용할 경우

-Dcom.sun.management.jmxremote     // jmxremote 를 사용하겠다는 옵셥
-Dcom.sun.management.jmxremote.port=8999    // jmxremote 접속시에 사용할 포트
-Dcom.sun.management.jmxremote.ssl=false    // ssl 사용여부
-Dcom.sun.management.jmxremote.authenticate=false  // 인증사용여부

위의 옵셕을 주고 서버를 실행시키면 jconsole. visualvm 에서 모니터링을 할 수 있다.

jconsole, visualvm 사용 방법은 지금 포스팅과 상관이 없으니 생량.

위와 같은 옵션만 주게 되면 한가지 문제점에 봉착하게 된다.

서버가 우리쪽에 없고 방확벽(firewall) 을 따로 관리해야 하는 곳에 있다면 문제가 발생한다.

문제점이라 하면...... 저 8999 포트로 접속이 안되는것. 그럼 8999포트를 열면되지 라고 생각 할 수 있겠지만 문제가 그리 간단하면 내가 그리 고생하지는 않았을 것이다.

찾아본 문서에 의하면 jmx 자체가 방확벽이 걸릴경우에는 저 8999로 선언한 포트를 사용하지 않고 다른 포트를 만들어 버린다는 것. 내부적으로 어떻게 돌아가는지는 나도 아직 파악하지는 못한상태..

그럼 어떻게 해야 할까.. 포트를 고정시켜서 사용해야 하는데....

Tomcat 문서를 열심히 뒤저본 결과(처음에는 Tomcat 문서를 찾지 않았다. 괜히 엄한곳만 검색해서 시간만 잡아먹었다 ㅜ) 방법은 있었다.

그 방법이라 함은 포트를 고정시키는 방법

차례대로 해보자.

1. Tomcat 의 server.xml 에 다음의 리스너를 추가하자.

-  <Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"     rmiRegistryPortPlatform="10001" rmiServerPortPlatform="10002" useLocalPorts="false"/>

2. $CATALINA_HOME/lib 에 catalina-jmx-remote.jar 복사

- 위의 jar파일은 톰캣에 기본적으로 들어 있는 파일이 아니다.


3. 서버 띄울시에 옵션 추가

- 사실 옵션을 추가하는 방식은 시스템 마다 다를것이며 사용자마다 다를것이다.

- 설정방법

CATALINA_OPTS
Dcom.sun.management.jmxremote
Dcom.sun.management.jmxremote.ssl=false
Dcom.sun.management.jmxremote.password.file=$CATALINA_HOME/conf/jmxremote.password
Dcom.sun.management.jmxremote.access.file=$CATALINA_HOME/conf/jmxremote.access
export CATALINA_OPTS

4. jmxremote.password, jmxremote.access 파일을 생성

- 위에서 인증파일로 두 파일을 사용하겠다고 하니 생성을 하고 세팅을 해줘야 겠다.
- jmxremote.password  --> test   test
- jmxremote.access  --> test   readonly (혹은 readwrite)

5. 톰캣 실행

6. jconsole , visualvm 에서 다음과 같이 URL로 접속한다.

service:jmx:rmi://<hostname>:10002/jndi/rmi://<hostname>:10001/jmxrmi

username , password 입력

7. 모니터링 하세요


블로그 이미지

비추마

,

http://continuum.apache.org/download.html 에서 최신버전 다운로드

1. 자신의 우분투 서버에 압축을 푼다

$ gunzip apache-continuum-1.3.5-bin.tar.gz
$ tar -xvf apache-continuum-1.3.5-bin.tar

2. $CONTINUUM_HOME/conf/jetty.xml 수정

continuum 에서 제공하는 DB 를 사용한다고 가정.

mail 설정(google 매일 서버 사용)

....
....
 <!-- continuum configuration -->
  <!-- START SNIPPET: mail -->
  <New id="validation_mail" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>mail/Session</Arg>
    <Arg>
      <New class="org.mortbay.naming.factories.MailSessionReference">
        <Set name="user">bbanggyu@gmail.com</Set>
        <Set name="password">password</Set>
        <Set name="properties">
          <New class="java.util.Properties">
            <Put name="mail.smtp.host">smtp.gmail.com</Put>
            <Put name="mail.smtp.port">587</Put>
            <Put name="mail.smtp.auth">true</Put>
            <Put name="mail.smtp.starttls.enable">true</Put>
          </New>
        </Set>
      </New>
    </Arg>
  </New>
...
...

port 설정
 <Call name="addConnector">
      <Arg>
          <New class="org.mortbay.jetty.nio.SelectChannelConnector">
            <Set name="host"><SystemProperty name="jetty.host" /></Set>
            <Set name="port"><SystemProperty name="jetty.port"  default="8099"/></Set>
            <Set name="maxIdleTime">30000</Set>
            <Set name="Acceptors">2</Set>
            <Set name="statsOn">false</Set>
            <Set name="confidentialPort">8443</Set>
            <Set name="lowResourcesConnections">5000</Set>
            <Set name="lowResourcesMaxIdleTime">5000</Set>
          </New>
      </Arg>




3. Continuum 실행
$ $CONTINUUM_HOME/bin/continuum console

4. 서버 접속
http://localhost(설치주소):8099/continuum

다음과 같이 나오면 일단 설치는 완성된 것이다.




블로그 이미지

비추마

,


1. DB 생성

-> create database nexfadb;
-> show databases;
         : nexfadb 데이터베이스가 추가되었다

2. 사용자 등록

모든 권한 주기

grant all privileges on nexfadb.* to nexfa@localhost identified by 'nexfa' with grant option;

위와 같이 하면 localhost 에서만 접근이 가능하다.

모든 호스트에 대해 접근을 가능하게 하기 위에서는

grant all privileges on nexfadb.* to nexfa@'%' identified by 'nexfa' with grant option;

잡업을 마친 후에는 꼭

flush privileges;

exit;

적용이 되었는지 확인 하기 위해
mysql -unexfa -pnexfa nexfadb;



 


블로그 이미지

비추마

,

Eclipse 에서 svn Client

System 2009. 4. 2. 11:24
1. 먼저 cilipse 클라이언트 플러그인을 설치하자

Help -> Software Updates

addSide 버튼을 클릭하여
http://subclipse.tigris.org/update_1.4.x 추가

install 버튼 클릭

2. svn Repositories 창을 띄우자

window -> Show View -> SVN Repositories

3. svn 주소를 입력

SVN Repositories 에서 마우스를 우클릭하여

new -> Repository Location

url: svn://localhost/svnData

4. shareProject

프로젝트를 선택하여 team-> shareProject 선택

블로그 이미지

비추마

,

svn 서버

System 2009. 4. 2. 11:05
1. 먼저 svn 서버를 다운 받는다. (알아서 받으시길)
 
2. 설치
   = > 콘솔창에 svnadmin 엔터
         "사용법은 'svnadmion help" 를 통해 볼수 있습니다." 라고 나오면 일단 설치는 되었음

3. 서버 디렉토리 생성

자신이 서버로 지정하고자 하는 폴더를 생성해 준다.
D:\repositories

4. svn 서버 디렉토리 설정

svnadmin create --fs-type fsfs D:\repositories\svnData

위의 글을 써주면 폴더하나가 생성되고

폴더의 구조는
svnData 하위 폴더로 conf, dav, db, hooks, locks 가 생성된다.

5. conf 폴더 밑에 있는 svnserve.conf 설정

"#" 한개로 시작하는 항목중에 anon-access = none, auth-access=write,
password-db = password, relam = svnData(생성한 폴더명)

6. password 설정

자신의 ID : 자신의 비밀번호

7. 서버 데몬 구동

svserve -d -r D:\repositories

이제 설정은 얼추 끝났으니 eclipse 에서 내가 만든 서버를 사용해 보자


 
블로그 이미지

비추마

,