Linux ( CentOS 5 ) - Apache + SVN(Subvertion) 설치하기

Published on: 2011. 5. 20. 23:13 by louis.dev

자주 서버세팅을 하게 되는데 매일 찾아보는것도 그렇고 해서 기록으로 남깁니다.
yum을 통해 간단히 설치하고 설정해 보겠습니다.

따라 하시는 분들은 코드의 하이라이트된 부분만 입력하셔서 따라하시면 됩니다.

1. 아파치 설치하기

[root@localhost stylejg]# yum install httpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.daum.net
 * extras: ftp.daum.net
 * updates: ftp.daum.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.2.3-45.el5.centos.1 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================================================================================================
 Package                                             Arch                                                 Version                                                                Repository                                             Size
=============================================================================================================================================================================================================================================
Updating:
 httpd                                               x86_64                                               2.2.3-45.el5.centos.1                                                  updates                                               1.2 M

Transaction Summary
=============================================================================================================================================================================================================================================
Install       0 Package(s)
Upgrade       1 Package(s)

Total size: 1.2 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating       : httpd                                                                                                                                                                                                                 1/2
  Cleanup        : httpd                                                                                                                                                                                                                 2/2

Updated:
  httpd.x86_64 0:2.2.3-45.el5.centos.1

Complete!
간단하게 아파치 설정을 끝냈습니다.

 2. SVN(subversion) 설치
 
 

[root@localhost stylejg]# yum install -y subversion
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.daum.net
 * extras: ftp.daum.net
 * updates: ftp.daum.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package subversion.i386 0:1.6.11-7.el5_6.3 set to be updated
---> Package subversion.x86_64 0:1.6.11-7.el5_6.3 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================================================================================================
 Package                                                  Arch                                                 Version                                                           Repository                                             Size
=============================================================================================================================================================================================================================================
Updating:
 subversion                                               i386                                                 1.6.11-7.el5_6.3                                                  updates                                               3.1 M
 subversion                                               x86_64                                               1.6.11-7.el5_6.3                                                  updates                                               3.2 M

Transaction Summary
=============================================================================================================================================================================================================================================
Install       0 Package(s)
Upgrade       2 Package(s)

Total size: 6.4 M
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating       : subversion                                                                                                                                                                                                            1/4
  Updating       : subversion                                                                                                                                                                                                            2/4
  Cleanup        : subversion                                                                                                                                                                                                            3/4
  Cleanup        : subversion                                                                                                                                                                                                            4/4

Updated:
  subversion.i386 0:1.6.11-7.el5_6.3                                                                                   subversion.x86_64 0:1.6.11-7.el5_6.3

Complete!

3. SVN repository생성하기
소스코드의 버전을 관리할 SVN Repository를 생성합니다.


#루트에 "data" directory 생성
[root@localhost /]# mkdir /data
# "data" 디렉토리 안에 "svn"디렉토리 생성. "svn"이란 디렉토리가 svn root 디렉토리임. svn 디렉토리 아래에 프로젝트 별로 repository가 생성 됨
[root@localhost /]# mkdir /data/svn
[root@localhost /]# cd /data/svn/
# apache가 해당 디렉토리(svn 디렉토리)에 접근해야 함으로 디렉토리 소유자를 아파치로 변경
# cent OS의 경우 yum으로 아파치를 설치하면 apache:apache로 우분투에서는 www-data:www-data로 변경
[root@localhost /]#chown -R apache:apache svn
#svn Repository를 생성한다. svnadmin create [저장타입(현재는 파일시스템)] [RepositoryName] #저장타입은 파일시스템 타입과 버클리db타입이 있는데, 버클리db는 버그가 있기 때문에 파일 시스템으로 주로 선언합니다. #버클리db로 설정하려면 svnadmin create --fs-type bcb [RepositoryName] 으로 하면 됩니다. [root@localhost svn]# svnadmin create --fs-type fsfs svn_test #svn_test repository가 생성된걸 볼수 있다. [root@localhost svn]# ls -al 합계 8 drwxr-xr-x 6 root root 4096 5월 20 08:11 svn_test
3. 아파치와 SVN을 연동하기 위한 apache module 설치
[root@localhost svn]# yum install -y mod_dav_svn
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.daum.net
 * extras: ftp.daum.net
 * updates: ftp.daum.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mod_dav_svn.x86_64 0:1.6.11-7.el5_6.3 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================================================================================================
 Package                                                   Arch                                                 Version                                                          Repository                                             Size
=============================================================================================================================================================================================================================================
Installing:
 mod_dav_svn                                               x86_64                                               1.6.11-7.el5_6.3                                                 updates                                                79 k

Transaction Summary
=============================================================================================================================================================================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Total download size: 79 k
Downloading Packages:
mod_dav_svn-1.6.11-7.el5_6.3.x86_64.rpm                                                                                                                                                                               |  79 kB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : mod_dav_svn                                                                                                                                                                                                           1/1

Installed:
  mod_dav_svn.x86_64 0:1.6.11-7.el5_6.3

Complete!


4. 접근할 수 있는 사용자와 비밀번호 추가

#htpasswd [옵션 : -c 파일생성, 맨 처음 파일 생성 할때만 옵션 줌,] [접근권한을 저장한 파일위치 AND 파일이름(파일이름은 사용자 마음데로)] [사용자아이디]
#즉 처음엔 -c 옵션을 붙이고, 두번째 사용자 추가 부터는 htpasswd /data/svn/svn_test/.passwd 사용자아이디 
#형식으로 추가 하면 됨
[root@localhost svn]# htpasswd -c /data/svn/svn_test/.passwd stylejg
New password:
Re-type new password:
Adding password for user stylejg

5. 아파치 설정

아파치를 yum 으로 설치하게 되면 /etc/httpd에 설정파일이 생기게 됩니다. 이쪽에 있는 아파치 설정파일에 svn 설정을 해주시면 됩니다.


[root@localhost httpd]# cd /etc/httpd/conf.d
[root@localhost conf.d]# ls -al
합계 32
-rw-r--r-- 1 root root  392  5월  4 03:54 README
-rw-r--r-- 1 root root  566  5월  4 03:54 proxy_ajp.conf
-rw-r--r-- 1 root root 1181  4월 14 04:49 subversion.conf
-rw-r--r-- 1 root root  299  5월  4 03:54 welcome.conf
#subversion.conf 파일에 svn 설정을 넣어줍니다.
#subversion.conf 파일에 주석처리 되어있는 설정이 있는데 예제임으로 지우시던지, 아니면 그냥 주석이 남겨진 채로 두시던지 하시면 됩니다.
[root@localhost conf.d]# vi subversion.conf

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

#Location 태그 뒤의 path는 물리적인 위치, 즉 svn파일이 저장되어있는 위치가 아니라
#SVN URL을 나태냅니다. 즉 아래와 같이 /svn/test라 하면 http://userdomain.com/svn/test 가 되는 것입니다.
#그러므로 Location 의 값은 실제 경로와 맞지 않고, 원하시는데로 작성하시면 됩니다.
<Location /svn/test>
  DAV svn
  #실제 svn repository의 저장위치를 설정합니다. 
  #여기는 위와는 다르게 실제 물리적인 path를 설정해 주셔야 합니다.
  SVNPath /data/svn/svn_test
  AuthType Basic
  AuthName "Subversion Repository C2"
  #3번째 단계에서 만들었던 비밀번호가 저장된 파일 위치를 적어줍니다.
  AuthUserFile /data/svn/svn_test/.passwd
  #위에서 설정한 파일에 있는 사용자만 다운로드 & 커밋을 할수 있게 해줍니다.
  Require valid-user
</Location>

Ubuntu - 한글 홈 디렉토리 이름 변경

Published on: 2011. 3. 4. 14:51 by louis.dev
우분투를 처음 설치하다 보면 Home 디렉토리 하위의 "문서, 바탕화면, 음악, 템플릿, 공유, 사진, 비디오" 디렉토리가 한글로 나와있습니다.

뭐 사용에는 크게 문제가 없는데 터미널을 통해서 이동하다 보니 영어로 쳤다가 한글로 치기 번거롭더라구요.
그래서 이 한글 디렉토리들을 영어로 변경해 보았습니다.

$gedit /home/username/.config/user-dirs.dirs

를 열게 되면( username은 현재 로그인 되어 있는 사용자 아이디 입니다.) 다음과 같이 나오게 됩니다.

# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
XDG_DESKTOP_DIR="$HOME/바탕화면"
XDG_DOWNLOAD_DIR="$HOME/다운로드"
XDG_TEMPLATES_DIR="$HOME/템플릿"
XDG_PUBLICSHARE_DIR="$HOME/공유"
XDG_DOCUMENTS_DIR="$HOME/문서"
XDG_MUSIC_DIR="$HOME/음악"
XDG_PICTURES_DIR="$HOME/사진"
XDG_VIDEOS_DIR="$HOME/비디오"

이렇게 되어있는데 다음과 같이 변경하시면됩니다.
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Download"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Share"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"

이렇게 변경해 주시고 저장하고, 이제 /home/username 으로 이동하신뒤 해당 한글 디렉토리를 세팅한데로 영문으로 바꿔주심 됩니다~

Linux - Apache server와 Tomcat을 JK Connector(JKModule)로 연결하기

Published on: 2011. 1. 31. 12:08 by louis.dev

1. 여기에 들어가서 JK Connector 파일을 다운로드 받습니다.
저는 여기에서 jk/binaries/linux/jk-1.2.31/x86_64/mod_jk-1.2.31-httpd-2.2.x.so 를 다운 받겠습니다. 작업하시는 분의 서버에 따라 다운받으시면 되겠습니다.

2. 이름이 너무 길기 때문에 다운로드된 파일을 mod_jk.so로 변경합니다.

3. apache 서버 루트에 modules 디렉토리에 복사하여 넣습니다. 권한은 755로 주시면 됩니다.
chmod 755 mod_jk.so

4. apache 서버루트에 conf/httpd.conf 에 다음을 추가합니다.
 
 LoadModule jk_module     modules/mod_jk.so
<IfModule jk_module>
  JkWorkersFile conf/workers.properties
  JkLogFile             logs/mod_jk.log
  JkLogLevel    info
  JkMountFile   conf/uriworkermap.properties
</IfModule>

5. conf 디렉토리 밑( httpd.conf와 같은 위치 입니다.) workers.properties 파일을 생성합니다.
worker.list=worker1
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker1.lbfactor=1

6. conf 디렉토리 밑( httpd.conf와 같은 위치 입니다.) uriworkermap.properties 파일을 생성합니다.
/*.do=worker1
/*.jsp=worker1
이렇게 uriworkermap.properties파일에 추가하면 해당 suffix로 URL을 요청하면 tomcat이 처리하게 넘겨주게 됩니다.
특정 컨텍스트의 모든 요청을 톰켓이 처리 하길 원하신 다면
/contextName/*=worker1
로 설정하시면 됩니다.

7. 설정하신후 ${server_root}/bin/apachectl graceful 을 실행하여 서버 설정을 적용합니다.
만약
apachectl: Configuration syntax error, will not run "graceful":
httpd: Syntax error on line 205 of /httpd/conf/httpd.conf: Cannot load /httpd/modules/mod_jk.so into server: /httpd/modules/mod_jk.so: wrong ELF class: ELFCLASS32
라는 문제가 발생한다면 해당 jk 모듈을 서버에 맞게 32비트용, 혹은 64비트용으로 새로 다운받으신후 적용하시면 문제 없이 적용이 되는것을 볼수가 있습니다.

Linex(CentOS 5.5) - JDK 설치하기

Published on: 2010. 10. 3. 00:56 by louis.dev

Linux(CentOS 5.5) - MYSQL 설치하기

Published on: 2010. 9. 18. 22:27 by louis.dev
1. mysql.org 에 들어간후
 Generic Linux (glibc 2.3) (x86,32bit), RPM Package MySQL Server 와 
 Generic Linux (glibc 2.3) (x86,23bit), RPM Package Client Utilities
를 다운 받는다.

2. MySQL을 설치하기전 MySQL을 설치하는데 필요한 perl-DBI를 yum으로 설치해 준다.
yum install perl-DBI

3. mysql.org에서 다운받은 두개의 rpm파일이 있는 곳으로 이동한후 rpm명령으로 해당 패키지를 설치해 준다.
rpm -Uvh --force --nodeps MySQL*.rpm

4. 외부접속이 가능하도록 MySQL의 포트인 3306포트를 오픈해준다.
xWindow -> 관리 -> 보안 수준 및 방화벽
으로 들어가 MySQL 포트인 3306(TCP프로토콜) 포트를 개방해 준다.

5. /sbin/service mysql status
로 mysql의 데몬 프로세스가 실행중인 상태인지 확인하고 실행중이 아니라면 실행 시켜준다.
/sbin/service mysql start

그리고 이렇게 rpm으로 설치 하면 /etc/my.cnf 설정파일이 생기지 않는다. 
/usr/share/mysql/ 로 이동하면 다음과 같은 파일을 볼수 있다.
- my-huge.cnf
- my-large.cnf
- my-medium.cnf
- my-small.cnf

해당 디비서버의 사용량을 예측하여 설정 파일을 /etc/my.cnf로 복사하면 된다.
ex) cp /usr/share/mysql/my-huge.cnf /etc/my.cnf

그 후 프로세스를 재시작 시켜주면 된다. 

=========================================================================================
* YUM으로 MYSQL 설치 : http://clip.springnote.com/pages/2192390