본문 바로가기

Development/Management

Ubuntu 9.0.4 + JDK1.5 + JBoss 4.2.3 GA + MySQL 5.0 + FTP Server + SSH Server

이번에 테스트용 서버를 구축하면서 삽질을 조금 했다.
3대중 한대의 static ip가 죽어도 안잡혀서 하루종일 씨름했는데 알고보니 네트워크 문제!
ubuntu 설치 후 패키지는 apt 명령어로 설치해도 편하지만 시냅틱 관리자를 이용해서 설치하면 더 간단하다.
여기서 사용자는 'john' 으로 가정한다.


1. Ubuntu 9.0.4
현재 최신버전이다. 설치CD 넣고 따라만 하면 20분이 채 걸리지 않는다. 설치 후 부팅속도도 엄청 빠르다.

2. JDK1.5
시탭틱 관리자에서 sun-java5-jdk 를 검색한 뒤 dependency 걸린 패키지까지 같이 설치한다.
>java -version
으로 최종 확인.

3. JBoss 4.2.3 GA
http://jboss.org/jbossas/ 이곳에서 필요한 버전을 다운로드 받는다.
/home/john 디렉토리 밑에 jboss 디렉토리를 생성한다.
바탕화면에 다운로드 받은 파일을 jboss 디렉토리 밑으로 카피한다.
>cp /home/john/바탕화면/jboss-4.2.3.GA.zip /home/john/jboss

jboss 디렉토리로 이동 후 파일의 압축을 푼다.
>jar -xvf jboss-4.2.3.GA.zip

JBOSS_HOME 설정을 한다.
>vi .bashrc

export JBOSS_HOME=/home/john/jboss/jboss-4.2.3.GA
export  PATH=$PATH:$JBOSS_HOMEbin


>source .bashrc

4. MySQL 5.0
시탭틱 관리자에서 mysql을 검색한 뒤 서버와 클라이언트, GUI 툴과 dependency 걸린 패키지들까지 같이 설치한다.
설치하면서 root 패스워드 설정.
설치가 끝나면 MySQL Administrator로 사용자를 생성하고 MySQL Query Browser로 database를 생성한다.

* JBoss 에서 MySQL Datasource 설정.

jboss-4.2.3.GA/docs/kexamples/jca 디렉토리의 mysql-ds.xml 파일을 jboss-4.2.3.GA/server/default/deploy 디렉토리로 복사한다.

<datasources>
  <local-tx-datasource>
    <jndi-name>MySqlDS</jndi-name>
    <connection-url>jdbc:mysql://mysql-hostname:3306/jbossdb</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>x</user-name>
    <password>y</password>
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
    <!-- should only be used on drivers after 3.22.1 with "ping" support
    <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>
    -->
    <!-- sql to call when connection is created
    <new-connection-sql>some arbitrary sql</new-connection-sql>
      -->
    <!-- sql to call on an existing pooled connection when it is obtained from pool - MySQLValidConnectionChecker is preferred for newer drivers
    <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
      -->

    <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
    <metadata>
       <type-mapping>mySQL</type-mapping>
    </metadata>
  </local-tx-datasource>
</datasources>

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

빨간색 부분을 Server 설정에 맞게 수정한다.
만약 한글이 지원되지 않는다면,

<connection-url>jdbc:mysql://221.133.49.120:3306/shopperama?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=EUC_KR</connectiont-url>

이렇게 수정한다.

 

* MySQL 한글설정.

/etc/mysql/my.cnf 파일에 추가한다.

[client]   
default-character-set = euckr 


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

 
[mysqldump]   
default-character-set = euckr 


[mysql]  
default-character-set = euckr

 

* MySQL JDBC Driver 설치하기.

http://dev.mysql.com/downloads/connector/j 사이트에서 버전에 맞는 것으로 다운로드 한다.
압축을 푼 뒤 mysql-connector-java-5.0.7-bin.jar 파일을 /jboss-4.2.3.GA/server/default/lib 디렉토리에 복사한다.

 

* MySQL 외부접속 허용하기.

MySQL은 기본적으로 외부접속을 불허한다.
외부에서 작업하기 위해서는 몇가기 설정을 해줘야 하는데, 물론 그전에 사용자에 대한 해당 database 권한을 부여한다.

mysql> GRANT ALL privileges ON 데이터베이스명.* TO 사용자@'%' IDENTIFIED BY '사용자패스워드';
mysql> FLUSH privileges;

(모든 권한을 줄때는 데이터베이스명.* 대신에 *.* 로 처리한다.)

> sudo vi /etc/mysql/my.cnf

bind-address = 127.0.0.1

위의 부분을 찾아서 주석처리 후 restart 한다.

> sudo /etc/init.d/mysql restart



5. FTP Server
>sudo apt-get install vsftpd
>sudo vi /etc/vsftpd.conf

anonymous_enable=NO // 기본값 YES를 NO로 수정.
local_enable=YES // 주석 제거.
write_enable=YES // 주석 제거.
local_umask=022

>sudo /etc/init.d/vsftp restart

6. SSH Server
>sudo apt-get install ssh
>sudo vi /etc/ssh/sshd_config

Port 22
에서 원하는 포트번호로 수정.

>sudo /etc/init.d/ssh restart



부록 : Apache2
>sudo apt-get install apache2
설치가 끝나면 /var/www 디렉토리 밑에 index.html 파일이 생성된다.
브라우저에서 http://localhost 로 확인하면 된다.