태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

'┃ Linux'에 해당되는 글 42건

  1. 2016.10.04 리눅스 로그 설명
  2. 2013.10.25 CPU / Memory 정보보기
  3. 2012.12.12 [Ubuntu] Ubuntu Server GUI로 사용하기(Gnome설치)
  4. 2011.05.23 리눅스 NTFS 외장하드 마운트
  5. 2009.11.20 리눅스 서버 점검 도구 - Linux System Check Project ; LSCP (2)
  6. 2009.07.24 우분투 패키지 관리 apt 명령
  7. 2009.06.16 Unix 장비별 MAC Address 확인 방법
  8. 2009.06.12 find 명령 활용 (2)
  9. 2008.10.12 RPM 명령
  10. 2008.09.07 [CentOS] J2SDK + TOMCAT 5 + JK2
  11. 2008.09.07 리눅스서 톰캣 연동하기
  12. 2008.09.07 tomcat연동
  13. 2008.09.06 [본문스크랩] [LINUX] Apache 2.2 + mod jk 1.2 + Tomcat 5.x 연동
  14. 2008.09.06 [본문스크랩] centos 5에서 jsp설치(톰캣)
  15. 2008.09.06 [본문스크랩] CentOS에 Apache 설치하기
  16. 2008.09.06 [링크스크랩] centos 5 설정
  17. 2008.07.18 각종 매체 mount 시키기
  18. 2008.07.14 리눅스에서 CD 굽기
  19. 2008.07.01 fedora 업데이트 빠른 미러사이트 설정하기
  20. 2008.06.30 Fedora 8 마우스 설정
  21. 2008.03.23 리눅스 한글 UTF-8 환경 구축
  22. 2007.12.02 [본문스크랩] GPL(GNU General Public License) 버전3 - 주요내용 검토
  23. 2007.12.02 [우분투7.10] 한글 입력기(nabi)설치와 폰트설치
  24. 2007.12.02 우분투 7.10 한글 예쁘게 나오게 하기
  25. 2007.12.01 [본문스크랩] 우분투(Ubuntu) 설치 후 사라진 Windows XP 복구 방법
  26. 2007.12.01 ubuntu compiz fusion off
  27. 2007.11.27 [링크스크랩] Apache 서버 소스 컴파일 설치하기
  28. 2007.11.23 [우분투]OpenSSH 로 VPN 구축하기
  29. 2007.11.17 [우분투] EUC-KR설정
  30. 2007.11.16 우분투 7.10 설치 후 세팅 몇가지 (1)

리눅스 로그 설명

┃ Linux 2016.10.04 16:41

출처 : http://www.thegeekstuff.com/2011/08/linux-var-log-files/

 

 

The following are the 20 different log files that are located under /var/log/ directory. Some of these log files are distribution specific. For example, you’ll see dpkg.log on Debian based systems (for example, on Ubuntu).

  1. /var/log/messages – Contains global system messages, including the messages that are logged during system startup. There are several things that are logged in /var/log/messages including mail, cron, daemon, kern, auth, etc.
  2. /var/log/dmesg – Contains kernel ring buffer information. When the system boots up, it prints number of messages on the screen that displays information about the hardware devices that the kernel detects during boot process. These messages are available in kernel ring buffer and whenever the new message comes the old message gets overwritten. You can also view the content of this file using the dmesg command.
  3. /var/log/auth.log – Contains system authorization information, including user logins and authentication machinsm that were used.
  4. /var/log/boot.log – Contains information that are logged when the system boots
  5. /var/log/daemon.log – Contains information logged by the various background daemons that runs on the system
  6. /var/log/dpkg.log – Contains information that are logged when a package is installed or removed using dpkg command
  7. /var/log/kern.log – Contains information logged by the kernel. Helpful for you to troubleshoot a custom-built kernel.
  8. /var/log/lastlog – Displays the recent login information for all the users. This is not an ascii file. You should use lastlog command to view the content of this file.
  9. /var/log/maillog /var/log/mail.log – Contains the log information from the mail server that is running on the system. For example, sendmail logs information about all the sent items to this file
  10. /var/log/user.log – Contains information about all user level logs
  11. /var/log/Xorg.x.log – Log messages from the X
  12. /var/log/alternatives.log – Information by the update-alternatives are logged into this log file. On Ubuntu, update-alternatives maintains symbolic links determining default commands.
  13. /var/log/btmp – This file contains information about failed login attemps. Use the last command to view the btmp file. For example, “last -f /var/log/btmp | more”
  14. /var/log/cups – All printer and printing related log messages
  15. /var/log/anaconda.log – When you install Linux, all installation related messages are stored in this log file
  16. /var/log/yum.log – Contains information that are logged when a package is installed using yum
  17. /var/log/cron – Whenever cron daemon (or anacron) starts a cron job, it logs the information about the cron job in this file
  18. /var/log/secure – Contains information related to authentication and authorization privileges. For example, sshd logs all the messages here, including unsuccessful login.
  19. /var/log/wtmp or /var/log/utmp – Contains login records. Using wtmp you can find out who is logged into the system. who command uses this file to display the information.
  20. /var/log/faillog – Contains user failed login attemps. Use faillog command to display the content of this file.

Apart from the above log files, /var/log directory may also contain the following sub-directories depending on the application that is running on your system.

  • /var/log/httpd/ (or) /var/log/apache2 – Contains the apache web server access_log and error_log
  • /var/log/lighttpd/ – Contains light HTTPD access_log and error_log
  • /var/log/conman/ – Log files for ConMan client. conman connects remote consoles that are managed by conmand daemon.
  • /var/log/mail/ – This subdirectory contains additional logs from your mail server. For example, sendmail stores the collected mail statistics in /var/log/mail/statistics file
  • /var/log/prelink/ – prelink program modifies shared libraries and linked binaries to speed up the startup process. /var/log/prelink/prelink.log contains the information about the .so file that was modified by the prelink.
  • /var/log/audit/ – Contains logs information stored by the Linux audit daemon (auditd).
  • /var/log/setroubleshoot/ – SELinux uses setroubleshootd (SE Trouble Shoot Daemon) to notify about issues in the security context of files, and logs those information in this log file.
  • /var/log/samba/ – Contains log information stored by samba, which is used to connect Windows to Linux.
  • /var/log/sa/ – Contains the daily sar files that are collected by the sysstat package.
  • /var/log/sssd/ – Use by system security services daemon that manage access to remote directories and authentication mechanisms.
Trackbacks 0 : Comments 0

Write a comment


CPU / Memory 정보보기

┃ Linux 2013.10.25 18:49

1. CPU

 

- 모델 확인하기

grep "model name" /proc/cpuinfo | tail -1

 

- 코어 전체 개수

grep -c processor /proc/cpuinfo

 

- 물리 CPU 수

grep "physical id" /proc/cpuinfo | sort -u | wc -l

 

- CPU당 물리코어 수

grep "cpu cores" /proc/cpuinfo | tail -1

 

 

2. Memory

 

- 메모리 전체 용량

cat /proc/meminfo | grep MemTotal

 

- 간단명령

free

Trackbacks 0 : Comments 0

Write a comment


[Ubuntu] Ubuntu Server GUI로 사용하기(Gnome설치)

┃ Linux 2012.12.12 15:45

출처 : http://sec.tistory.com/entry/ubuntu-704-%EC%84%9C%EB%B2%84%EC%97%90%EC%84%9C-gnome-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0

 

sudo su - : root 계정으로 접속한 후

apt-get update
apt-get dist-upgrade

▶ 기본적인 그래픽 시스템 설치
apt-get install xorg gdm

▶ Gnome 데스트탑 설치
apt-get install gnome-session gnome-menus gnome-panel metacity nautilus

▶ 추가로 설치하는 것이 권장되는 패키지들
apt-get install 하고서 설치할 패키지들의 이름을 쓰면 된다.

gnome-applets
gnome-control-center
gnome-volume-manager
libsmbclient
gnome-screensaver
menu
network-manager-gnome
gnome-utils
gnome-system-tools
gnome-netstatus-applet
gnome-nettool
libgnomevfs2-extra

▶ 선택적으로 설치할 유용한 패키지들
gnome-terminal
gedit
firefox

▶ 데스크탑 테마를 설치하기
ubuntu-artwork
ubuntu-sounds
human-theme
usplash-theme-ubuntu

또는, gnome 데스크탑의 기본 테마를 원하면
gnome-themes
tango-icon-theme
tango-icon-theme-extras

만일 ubuntu-artwork을 설치하지 않는다면,
GDM이 우분투의 기본 테마를 사용하도록 재설정 해야 한다.
그렇지 않으면, 설치되지 않은 테마를 읽어 들이려는 에러가 발생하게 된다.
로그인 화면에서 로그인 관리자 설정하기를 선택하여 사용할 수 있는 테마를 지정해야 한다.

▶ 패키지 관리자 설치
apt-get install gnome-app-install update-manager restricted-manager
이제 기본 설치는 끝났다. 나머지 필요한 패키지들은 그래픽으로 로그인한 후에 추가 설치하면 된다.

/etc/init.d/gdm start
* Note that if you start GDM then you will need to switch back to your terminal log in with the keys 'Ctrl + Alt + F1'.

Trackbacks 0 : Comments 0

Write a comment


리눅스 NTFS 외장하드 마운트

┃ Linux 2011.05.23 09:37

1. 아래 링크에서 모듈을 다운받아서 압축풀고 설치!!


./configure
make
make install # or 'sudo make install' if you aren't root


2. 인식된 외장하드 경로 알아보기
fdisk -l
* 웬만하면 외장저장매체는 /dev/sda 임.

3. /mnt 아래에 폴더 만들기
cd /mnt
mkdir USB

4. 마운트하기
mount -t ntfs-3g /dev/sda1 /mnt/USB
* mount -t ntfs-3g (외장하드 경로) (마운트할 경로)
Trackbacks 0 : Comments 0

Write a comment


리눅스 서버 점검 도구 - Linux System Check Project ; LSCP

┃ Linux 2009.11.20 15:23

SULinux 측에서 SSU의 업그레이드 버전인 LSCP https://www.sulinux.net/bbs/board.php?bo_table=news_2&wr_id=190 를 11월 초에 공개했다. 보안, 시스템 리소스, 시스템 상태를 효율적이고 쉽게 점검 할 수 있는 솔루션을 무료로 제공하는 취지로 마련됐다. SULinux 패키지에는 이미 SSU가 있는데 기능이 크게 향상되어 나온 것이다. 다운로드는 http://sourceforge.net/projects/lscp/ 를 참고하기 바란다.

< 원문 보기 >

관리자에게 좋은 도구인 것 같습니다.

Trackbacks 0 : Comments 2
  1. Favicon of http://hello.bubblecocktail.kr BlogIcon 우깡 2009.11.22 01:38 Modify/Delete Reply

    저도 저거 설치 했는데
    괜찮더군요~~~

    그런데...
    문제는 보고서가 메일로 올때마다 한글이 깨져 와서 곤란하답니다.ㅠ

Write a comment


우분투 패키지 관리 apt 명령

┃ Linux 2009.07.24 13:40

출처 : 까먹음;;

예전 운영하던 블로그에서 미쳐 챙기지 못한 이사짐...ㅡ,.ㅡ;


1.패키지 캐쉬 갱신 및 자동 업데이트
# apt-get update ; apt-get upgrade

 

2. 원하는 패키지 찾기
# apt-cache search 패키지명

 

3. 개별 패키지 설치
# apt-get install 패키지명

 

4. 패키지 삭제
# apt-get remove 패키지명

 

5. cD-ROM 목록 추가
# apt-cdrom add

 

6. 원하는 패키지 찾은 다음 정보 출력
# apt-cache show 패키지명

 

7. 의존성 검사 수행 후 패키지 업그레이드
# apt-get dist-upgrade

 

8. dselect에서 선택한 패키지의 설치 및 삭제
# apt-get dselect-upgrade

 

9. 설치된 패키지를 볼 때
# dpkg -l

 

10. apt-get install 명령어로 받은 deb파일의 저장 위치
/var/cache/apt/archive/

'┃ Linux' 카테고리의 다른 글

리눅스 NTFS 외장하드 마운트  (0) 2011.05.23
리눅스 서버 점검 도구 - Linux System Check Project ; LSCP  (2) 2009.11.20
우분투 패키지 관리 apt 명령  (0) 2009.07.24
Unix 장비별 MAC Address 확인 방법  (0) 2009.06.16
find 명령 활용  (2) 2009.06.12
RPM 명령  (0) 2008.10.12
Trackbacks 0 : Comments 0

Write a comment


Unix 장비별 MAC Address 확인 방법

┃ Linux 2009.06.16 10:16
1. Linux : ifconfig -a (/sbin/ifconfig -a)
 
-----------------------------
eth0   Link encap:Ethernet HWaddr 00:50:xx:xx:xx:xx
     inet addr:192.168.1.100 Bcast:192.168.123.255 Mask:255.255.255.0
... 생략 ...
#
-----------------------------
 
2. Solaris : ifconfig -a (root로 실행해야 합니다.)
 
-----------------------------
# ifconfig -a
hme0: flags=863 mtu 1500
    inet 192.168.1.100 netmask ffffff00 broadcast 192.168.1.255
    ether 8:0:xx:xx:xx:xx
#
-----------------------------
 
3. AIX : lscfg -vp 또는 lscfg -vpl
 
-----------------------------
# lscfg -vpl ent0
 
 DEVICE      LOCATION     DESCRIPTION
 
 ent0       21-08       IBM 10/100 Mbps 이더넷 PCI 어댑터
                   (23100020)
 
    Network Address.............0006xxxxxxxx
    Displayable Message.........PCI Ethernet Adapter (23100020)
    Device Specific.(YL)........P1/E1
... 생략 ...
#
-----------------------------
 
4. HP-UX : lanscan
 
-----------------------------
# /etc/lanscan
Hardware Station      Crd Hardware Net-Interface NM Mac  HP DLPI Mjr
Path   Address      In# State  NameUnit State ID Type  Support Num
2/0/2  0x0800xxxxxxxx  0  UP   lan0   UP  4  ETHER  Yes  52
#
-----------------------------
 
5. Digtal UNIX : netstat -in 또는 uerf
 
-----------------------------
# netstat -in
Name Mtu  Network   Address        Ipkts Ierrs  Opkts Oerrs Coll
... 생략 ...
fta0 4352    00:00:xx:xx:xx:xx 13775882   0 13642091   0 0
#
-----------------------------
 
6. SGI : nvram |grep eaddr 또는 netstat -ia
 
-----------------------------
# nvram |grep eaddr
eaddr=08:00:xx:xx:xx:xx
#
-----------------------------


출처 : http://charmpa.egloos.com/1599445

'┃ Linux' 카테고리의 다른 글

리눅스 서버 점검 도구 - Linux System Check Project ; LSCP  (2) 2009.11.20
우분투 패키지 관리 apt 명령  (0) 2009.07.24
Unix 장비별 MAC Address 확인 방법  (0) 2009.06.16
find 명령 활용  (2) 2009.06.12
RPM 명령  (0) 2008.10.12
[CentOS] J2SDK + TOMCAT 5 + JK2  (0) 2008.09.07
Trackbacks 0 : Comments 0

Write a comment


find 명령 활용

┃ Linux 2009.06.12 13:20
리눅스에서 find 명령은 굉장히 유용하다는 것을 아실겁니다. 활용팁으로 free4u님 블로그에서 퍼왔습니다.

링크보다는 저도 이런 자료 자주 참고하기 위해 통째로 퍼왓으니 양해부탁드립니다.^^;



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

출처 : http://free4u.wo.tc/weblog/?document_srl=11948&mid=blog&rnd=11979#comment_11979


svn 업데이트후 불필요해진 .svn파일과 디렉토리 삭제

 find . -type d -name .svn -print0 | xargs -0 rm -rf


소유권 일괄 변경

 find / -user userid -exec chown 변경후userid.변경후GROUP {} \;


빈 디렉토리만 삭제

 find / -empty -type d -exec rm -rf {} \;

 

파일 검색시 특정 디렉토리 제외

/usr/local/apache/log 디렉토리를 제외한 모든 log파일 검색

 find / -path '/usr/local/apache/log' -prune -o -name "*.log"

기타 find 관련팁은 계속 추가하도록 하겠습니다.


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


이하 김칠봉님과 삶의 여유님이 작성한 문서들 입니다.


제목 : [팁] find + xargs + ls 명령어 몇가지 활용
작성자 : 김칠봉 <san2(at)linuxchannel.net>
원본 링크 : http://www.linuxchannel.net/docs/find-xargs-ls.txt

 목차
1. 가장 일반적인 find 명령어

2. find 명령어 일반적인 옵션
2-1. 사용법 개요
2-2. 일반적으로 표현식 옵션 구분
3-3. 자주 사용되는 표현식 옵션
3-4. path(find 명령어 다음의 path)
3-5. 표현식-연산자

3. 예제
3-1. 다른 명령어와 결합형태(ls,xargs)
3-2. 퍼미션 관련 예제
3-3. 유저와 관련된 예제
3-4. 팁
- 최근 하루(1) 동안(-)에 변경(change)된 파일을 찾을려면(-ctime)?
- 오래된 파일을 찾을려면(30일 이상 수정(modify))되지 않은)?
- 최근 30일(30) 안에(-) 접근(access)하지 않은 파일과 디렉토리를 리스트로 만들려면(-atime)?
- 자신의 홈디렉토리에서 만 검색하려면?
- 서브 디렉토리로 내려가지 않고 현재 디렉토리에서만 검색하려면?
- 특정 유저(foobar) 소유의 파일을 찾을려면?
- 퍼미션이 777인 파일을 찾을려면 ?
- others에게 쓰기 권한이 있는 파일을 찾을려면?
- others에게 쓰기 권한이 있는 파일을 찾아 쓰기 권한을 없애려면?
- 유저이름과 그룹이름이 없는 파일을 찾을려면?
- 빈 파일을 찾을려면?
- 파일크기가 100M 이상된 파일을 찾을려면?
- *.bak 파일을 찾아 지울려면?
- *.bak 파일을 찾아 특정 디렉토리로 옮길려면?
- 디렉토리 만 찾을려면?
- root권한으로 실행되는 파일을 찾을려면?
- 다른 파일시스템을 검색하지 않을려면?
- 파일이름에 공백이 들어간 파일을 찾을려면?
- 숨겨진(hidden) 파일을 찾을려면?
- 같은 이름을 가진 디렉토리를 찾을려면?
- 잘못된 링크를 찾을려면?

4. find 명령어에 대해서 좀더 알아보려면?

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

1. 가장 일반적인 find 명령어

# find /path -name "foobar" -print

제일 먼저(?) 배우는 형식이 아닌가 쉽군요.


2. find 명령어 일반적인 옵션

2-1. 사용법 개요

find 명령어 사용법 보기 :

# find --help
# man find (직접 입력해 보세요. 내용이 너무 많아서..)

사용법 : find [path...] [expression]
기본값 : default path는 현재 디렉토리; default expression은 -print

표현식(expression) 구성 :
operators (decreasing precedence; -and is implicit where no others are given):
( EXPR ) ! EXPR -not EXPR EXPR1 -a EXPR2 EXPR1 -and EXPR2
EXPR1 -o EXPR2 EXPR1 -or EXPR2 EXPR1 , EXPR2
options (always true): -daystart -depth -follow --help -maxdepth LEVELS -mindepth LEVELS
-mount -noleaf --version -xdev
tests (N can be +N or -N or N):
-amin N -anewer FILE -atime N -cmin N
-cnewer FILE -ctime N -empty -false -fstype TYPE -gid N -group NAME
-ilname PATTERN -iname PATTERN -inum N -ipath PATTERN -iregex PATTERN
-links N -lname PATTERN -mmin N -mtime N -name PATTERN -newer FILE
-nouser -nogroup -path PATTERN -perm [+-]MODE -regex PATTERN
-size N[bckw] -true -type [bcdpfls] -uid N -used N -user NAME
-xtype [bcdpfls]
actions:
-exec COMMAND ; -fprint FILE -fprint0 FILE -fprintf FILE FORMAT
-ok COMMAND ; -print -print0 -printf FORMAT -prune -ls

간단하게 몇가지만 알아보죠...
(자세한 사용설명은 꼭 man 페이지를 읽어보세요....한글은 없군요..T.T)


2-2. 일반적으로 표현식 옵션 구분

-a'xxxx'
'xxxx'에 대한 Access(접근)
-c'xxxx'
'xxxx'에 대한 Changes(변경), 마지막으로 Access한 경우 변경됨
-m'xxxx'
'xxxx'에 대한 Modify(수정), 파일내용 자체 수정한 경우
-i'xxxx'
'xxxx'(inum 제외)에 대한 Insensitive(대소문자 구분없이)

3-3. 자주 사용되는 표현식 옵션

N
정확하게 N과 일치
+N
N 보다 큰 경우
-N
N 보다 작은 경우
-name PATTERN
PATTERN에 일치하는 파일 찾기, 와일드카드 문자 사용가능
-iname PATTERN
PATTERN에 일치하지 않은(insensitive) 파일 찾기
-perm [+-]mode
PERMission('mode')에 해당되는 파일 찾기, ls와 결합 가능
-type [bcdpfls]
b(블럭파일), c(특정 문자), d(디렉토리), p(파이프),
f(정규표현 일반파일), l(링크), s(소켓) 유형의 파일 찾기
-size N[bckw]
파일 크기가 N 인 파일 찾기
b(블럭-기본값), c(bytes), k(kbytes),
w(2바이트 단어)
-user NAME
NAME은 유저이름이거나 UID
-atime N
N*24 시간 동안에 Access 한 파일
-ctime N
N*24 시간 동안에 Changes 한 파일(내용수정이 아니고 읽기모드도 Changes됨)
-mtime N
N*24 시간 동안에 Modify 한 파일
-empty
파일이 비어 있고(0 bytes), 정규식 파일이거나 디렉토리
-newer FILE
FILE 보다 최근에 갱신된 파일
-path PATTERN
path가 PATTERN과 일치하는 path에 대해서 검색
-regex PATTERN
파일이름이 PATTERN에 일치하는 정규식에 대해서 검색
-inum N
inode N을 갖는 파일
-nouser,-nogroup
USER나 GROUP에 이름이 없는 파일 검색(UID,GID만 있는 파일)
-exec COMMAND
검색된 파일을 찾으면 COMMAND 명령을 실행한다.
COMMAND 인자(검색된 파일)는 {}으로 사용하며,
이때 COMMAND 끝은 \;(;이 아님)을 사용해야 한다. 즉 명령구분
문자인 ';'을 탈출(\)시켜줘야 한다.
-ok COMMAND
-exec COMMAND와 같지만 COMMAND를 실행하기 전에 확인을 요청한다.

3-4. path(find 명령어 다음의 path)
.
현재 디렉토리(기본값이므로 생략해도 됨)
`pwd`
현재 디렉토리와 결합(?) `은 ~문자가 있는 자판
$(pwd)
위의 `pwd`와 같거나 비슷함
/
최상위 루트 디렉토리에서 하위 모든 디렉토리
/home
특정 /home 디렉토리에서 하위 모든 디렉토리
/{usr,home/{aaa,san2},var}
/usr, /usr/home/aaa /usr/home/san2 /var

3-5. 표현식-연산자

\( 표현식 \)
'표현식'을 우선적으로 먼저 수행
(와 )앞에 \를 넣어야 하며, '표현식'과 공백을 각각 둔다.
\( A + B \) * \( C + D \) 와 같이 \(, \)안을 우선적으로 수행
! 표현식 , -not 표현식
'표현식'을 부정
표현식1 -a 표현식2, 표현식1 -and 표현식2
표현식1과 표현식2의 AND 연산
표현식1 -o 표현식2, 표현식1 -or 표현식2
표현식1과 표현식2의 OR 연산


3. 예제

3-1. 다른 명령어와 결합 형태(ls,xargs)

찾는 것 그 차체 만으로 만족(?) 할 수 도 있지만 그 결과에 대해서 어떤 행동(Actions)을 취할 필요가 있습니다.

형태1. -exec 이용시

# find ..... -exec COMMAND {} \;

형태2. xargs 명령어로 표준 입력받아 COMMAND 수행

# find ..... | xargs COMMAND

형태3. ls 명령어로 최종 결과 출력

# ls -l `find .....[COMMAND]`
또는
# find .... ls
(ls는 ls -dils와 같음)

xargs
xargs rpm 정보보기
# rpm -qi `rpm -qf $(which xargs)`
또는
# rpm -qf `which xargs` | xargs rpm -qi

즉, find 결과에 대해서,

형태1은 -exec를 사용하여 그 인자를 {}로 사용하고,

형태2는 xargs 명령어로 find에서 넘어온 결과(표준출력)에 대해서 COMMAND를 실행하고,

형태3은 오른쪽의 find 결과물에 대해서 ls 명령어를 실행합니다.
간혹 '/bin/ls Argument list too long'이라는 에러를 낸 경우도 있습니다.
이는 검색조건에 너무 많은 와일드카드 문자로 찾을 경우에 그렇습니다.
이를 테면 /*/*/*.*/.*,

`은 ~문자가 있는 자판(역인용부호).

ls -l 명령어를 사용할 경우, 찾는 결과가 없다면 모두 출력됩니다.
(ls -l와 같기 때문에)
ls 명령어와 마찬가지로 다른 명령어(chmod, chmod)를 결합하여 사용할 경우 그 찾는
결과가 없다면 명령어에 대한 에러를 내겠죠.
(chmod 'null')과 같은 예..........

# find /{home,usr/{src,local/src}} -nouser -o -nogroup -exec ls -l {} \; -print | more
# find /{home,usr/{src,local/src}} -nouser -o -nogroup -print | xargs ls -l | more

위의 2개의 명령어 대해서 직접 테스트 해보세요...

전자의 경우, 아마 아무것도 출력되지 않을 겁니다.

# find /{home,usr/{src,local/src}} \( -nouser -o -nogroup \) -exec ls -l {} \; -print | more

위와 같이 해야 맞겠죠...(우선순위)

후자의 경우도 마찬가지로 다음과 같이 우선순위를 정해놓아야 겠지요..
아마 원하는 출력이 이 경우일 것 같군요.

# find /{home,usr/{src,local/src}} \( -nouser -o -nogroup \) -print | xargs ls -l | more


3-2. 퍼미션 관련 예제

othesrs에 쓰기(w:2) 권한이 있는 모든(-기호를 붙임) 파일 리스트를 찾을려면?

# find `pwd` -perm -2 -print | xargs ls -l

여기에서 2는
퍼미션이 -------w- 와 일치하는 파일이며 -의 의미는 rwx-중 하나.

왜 2인가요?
만약 퍼미션이 755 이라면,

700 : rwx------ : user
50 : ---r-x--- : group
5 : ------r-x : others
------------------------
755 : rwxr-xr-x : others는 읽기와 실행 권한

따라서 others의 권한은 8진수로 5(r+x)이다.

그렇다면, others가 쓰기(w:2) 권한은 당연히 -------w-

그룹이나 others에게 쓰기 권한이 있는 파일일 경우

-perm -20 -o -perm -2

그룹과 others에게 모두 쓰기 권한이 있는 파일일 경우

-perm -22

[others에게 w 권한이 있는 파일에 w 권한 없애기]

방법1)
1. others에게 w 권한이 있는 파일 리스트 출력

# find `pwd` -perm -2 -print | xargs ls -l | more
(만약 매치되는 리스트가 없다면 전부 출력함)

2. others에게 w 권한을 없애기

# find `pwd` -perm -2 -print | xargs chmod o-w
(만약 매치되는 리스트가 없다면 chmod에 에러를 냄)

방법2) 방법1)의 과정을 한꺼번에 할 경우

# find `pwd` -perm -2 -exec chmod o-w {} \; -print | xargs ls -l
또는
# ls -l `find $(pwd) -perm -2 -print | xargs chmod o-rwx` | more

이 경우는 퍼미션이 조정된 결과를 출력함.


3-3. 유저와 관련된 예제

UID와 GID에 대한 유저가 없는 파일을 root.root로 바꾸어 보죠.

1) 먼저 리스트를 출력해 보자.(확인해야하니깐)

# find . \( -nouser -o -nogroup \) -print | xargs ls -l | more

2) 확인했으면, chown root.root 명령을 내리자.

# find . \( -nouser -o -nogroup \) -print | xargs chown root.root | more
또는
# find . \( -nouser -o -nogroup \) -exec chown root.root {} \; -print | xargs ls -l
(chown root.root 의 결과를 ls -l)


3-4. 유용한 팁

*주의) ***********************************************
-a'xxxx'
'xxxx'에 대한 Access(접근), 읽기
-c'xxxx'
'xxxx'에 대한 Changes(변경), 마지막으로 Access한 경우에도 변경됨
-m'xxxx'
'xxxx'에 대한 Modify(수정), 파일내용 자체 수정한 경우
*****************************************************

- 최근 하루(1) 동안(-)에 변경(change)된 파일을 찾을려면(-ctime)?

# find / -ctime -1 -a -type f | xargs ls -l | more

- 오래된 파일을 찾을려면(30일 이상 수정(modify))되지 않은)?

# find / -mtime +30 -print | more

- 최근 30일(30) 안에(-) 접근(access)하지 않은 파일과 디렉토리를 리스트로 만들려면(-atime)?

# find / ! \( -atime -30 -a \( -type d -o -type f \) \) | xargs ls -l > not_access.list

- 자신의 홈디렉토리에서 만 검색하려면?

# find $HOM ...
또는
# find ~root ...

- 서브 디렉토리로 내려가지 않고 현재 디렉토리에서만 검색하려면?

# find . -prune ...

- 특정 유저(foobar) 소유의 파일을 찾을려면?

# find / -user foobar -print | more

- 퍼미션이 777인 파일을 찾을려면 ?

# find / -perm 777 -print | xargs ls -l | more

- others에게 쓰기 권한이 있는 파일을 찾을려면?

# find / -perm -2 -print | xargs ls -l | more

- others에게 쓰기 권한이 있는 파일을 찾아 쓰기 권한을 없애려면?

# find / -perm -2 -print | xargs chmod o-w
또는
# find / -perm -2 -exec chmod o-w {} \; -print | xargs ls -l | more

- 유저이름과 그룹이름이 없는 파일을 찾을려면?

# find / \( -nouser -o -nogroup \) -print | more

- 빈 파일을 찾을려면?

# find / -empty -print | more
또는
# find / -size 0 -print | more

- 파일크기가 100M 이상된 파일을 찾을려면?

# find / -size +102400k -print | xargs ls -hl

- *.bak 파일을 찾아 지울려면?

# find / -name "*.bak" -exec rm -rf {} \;

- *.bak 파일을 찾아 특정 디렉토리로 옮길려면?

# mv `find . -name "*.bak"` /home/bak/

- 디렉토리 만 찾을려면?

# find . -type d ...

- root권한으로 실행되는 파일을 찾을려면?

# find / \( -user root -a -perm +4000 \) -print | xargs ls -l | more

- 다른 파일시스템을 검색하지 않을려면?

# find / -xdev ...

- 파일이름에 공백이 들어간 파일을 찾을려면?

# find / -name "* *" -print

- 숨겨진(hidden) 파일을 찾을려면?

# find / -name ".*" -print | more

- 같은 이름을 가진 디렉토리를 찾을려면?

# find / -type d -print | awk -F/ '{printf("%s\t%s\n",$NF,$0);}' | sort| more
*주)'O'Reilly Unix Power Tools' 참고

- 잘못된 링크를 찾을려면?

# find . -type l -print | perl -nle '-e || print' | xargs ls -l
*주)'O'Reilly Unix Power Tools' 참고





제목 : 유용한 find 사용 방법
작성자 : 삶의 여유
출처 : http://linuxer.mireene.com/bbs/zboard.php?id=tips&no=40

* / 는 최상위 디렉터리를 뜻함. 만약 찾고자 하는 디렉터리가 있다면 그걸로 대체

- 파일 이름에 foobar 가 들어간 파일 찾기
   find / -name "foobar" -print

- 특정 사용자(foobar) 소유의 파일을 찾기
   find / -user foobar -print | more

- 최근 하루 동안에 변경된 파일을 찾기
   find / -ctime -1 -a -type f | xargs ls -l | more

- 오래된 파일(30일 이상 수정되지 않은 파일) 찾기
   find / -mtime +30 -print | more

- 최근 30일안에 접근하지 않은 파일과 디렉터리를 별도의 파일로 만들기
   find / ! ( -atime -30 -a ( -type d -o -type f ) ) | xargs ls -l > not_access.txt

- 하위 디렉터리로 내려가지 않고 현재 디렉터리에서만 검색하기
   find . -prune ...

- 퍼미션이 777 인 파일 찾기
   find / -perm 777 -print | xargs ls -l | more

- others 에게 쓰기(write) 권한이 있는 파일을 찾기
   find / -perm -2 -print | xargs ls -l | more

- others 에게 쓰기(write) 권한이 있는 파일을 찾아 쓰기 권한을 없애기
   find / -perm -2 -print | xargs chmod o-w
      또는
   find / -perm -2 -exec chmod o-w {} \; -print | xargs ls -l | more

- 사용자이름과 그룹이름이 없는 파일 찾기
   find / ( -nouser -o -nogroup ) -print | more

- 빈 파일(크기가 0 인 파일) 찾기
   find / -empty -print | more
      또는
   find / -size 0 -print | more

- 파일 크기가 100M 이상인 파일을 찾기
   find / -size +102400k -print | xargs ls -hl

- 디렉터리만 찾기?
   find . -type d ...

- root 권한으로 실행되는 파일 찾기
   find / ( -user root -a -perm +4000 ) -print | xargs ls -l | more

- 다른 파일시스템은 검색하지 않기
   find / -xdev ...

- 파일 이름에 공백이 들어간 파일 찾기
   find / -name "* *" -print

- 숨겨진(hidden) 파일을 찾기
   find / -name ".*" -print | more

- *.bak 파일을 찾아 지우기
   find / -name "*.bak" -exec rm -rf {} \;

- *.bak 파일을 찾아 특정 디렉터리로 옮기기
   mv `find . -name "*.bak"` /home/bak/

- 여러 개의 파일에서 특정 문자열을 바꾸기
   find / -name "*.txt" -exec perl -pi -e 's/찾을문자열/바꿀문자열/g' {} \;

시스템이 옮겨지면서 방대한 양의 파일들의 날짜가 모두 미래라서 컴파일이 안될때가 있었습니다.

이걸 손수 다 읽었다 놨다를 하는데, 결국 삽질을 그만두기 위한 삽질을 선택했죠.

touch! 살짝 어루만져 주기만해도 날짜가 바뀐다는것을 알아냈습니다.

다음에 find 를 이용해서 모두 어루만져 주었습니다.

find ./  -exec touch {} \; -print 

'┃ Linux' 카테고리의 다른 글

우분투 패키지 관리 apt 명령  (0) 2009.07.24
Unix 장비별 MAC Address 확인 방법  (0) 2009.06.16
find 명령 활용  (2) 2009.06.12
RPM 명령  (0) 2008.10.12
[CentOS] J2SDK + TOMCAT 5 + JK2  (0) 2008.09.07
리눅스서 톰캣 연동하기  (0) 2008.09.07
Trackbacks 0 : Comments 2
  1. Favicon of http://ykei.egloos.com BlogIcon 용기백배 2009.06.27 20:19 Modify/Delete Reply

    허...참 좋네요 저도 링크 걸어두고 자주 참고해서 써먹어야 할듯 ㅋ

    • Favicon of https://suban.tistory.com BlogIcon suban 2009.06.28 22:28 신고 Modify/Delete

      응용해서 사용할 수 있도록 여러 예제를 보여주신 것에 대해서 저도 저분들께 감사할 따름입니다 ㅋ

Write a comment


RPM 명령

┃ Linux 2008.10.12 21:35

<패키지 설치시 명령>

(1) 설명: 새로운 패키지를 설치하거나 업그레이드시 사용한다.
(2) 관련옵션
  -i : 새로운 패키지를 설치할 때 사용한다.  (--install)
  -U : 기존의 패키지를 새로운 버전의 패키지로 업그레이드할 때 사용하고 설치된 패키지가
       없을 경우 패키지를 설치를 한다.( -i 옵션과 같음)
  -F : 이전 버전이 설치되어 있는 경우에만 설치한다.(--freshen)
  -v : 메시지를 자세히 보여준다.
  -h : '#'기호로 표시해 준다.

  --force : 기존에 설치된 패키지와 관계없이 강제로 설치 한다.
  --nodeps : 의존성 관계를 무시하고 설치 한다.
  -vv : 메시지를 아주 자세히 보여준다.
  --oldpackage : 구버전으로 다운그레이드할 때 사용한다.
  --rebuilddb : 특정한 패키지 설치후에 rpm패키지로 검색했으나 나타나지 않을 때 rpm데이
                 터베이스를 업데이트한다

(3) 정리
  -ivh : 새로운 패키지 설치
  -Uvh : 업그레이드하거나 새로운 패키지 설치
  -Fvh : 이전 버전의 패키지가 있는 경우에만 패키지 설치

(4) 예제
# rpm -Uvh proftpd-1.2.9-1.9.i386.rpm
==> proftpd 패키지를 설치하거나 업데이트 한다.

#rpm -Fvh /usr/local/src/update/*.rpm
=> /usr/local/src/i386/에 있는 패키지들중 설치되어 있는 패키지들을 업데이트 한다.

<패키지 삭제시>

(1) 설명 : 시스템에 설치된 패키지를 삭제할때 사용된다.

(2) 옵션
  -e : 설치된 패키지를 제거한다.
  --nodeps : 제거시 의존성을 무시한다.

(3) 예제
# rpm -qa | grep sendmail  (sendmail 패키지 리스트를 확인)
   sendmail-devel-8.11.6-27.73
   sendmail-8.11.6-27.73
   sendmail-cf-8.11.6-27.73
# rpm -e sendmail-devel-8.11.6-27.73
=> sendmail-devel-8.11.6-27.73 라는 rpm 패키지를 삭제 한다.
삭제시 의존성 에러 메세지로 삭제가 안될 경우 --nodeps를 붙이면 강제로 삭제를 하는데 주의를 요한다.
# rpm -e proftpd --nodeps
=> proftpd 패키지에 의존성이 있더라도 무조건 제거한다.

<패키지 검색시>

(1) 설명: 설치된 패키지와 각 패키지에 포함된 파일들을 검색하여 확인해 볼수 있다.
(2) 관련옵션
  -q : 질의시에 꼭 써야하는 옵션이다. 패키지를 찾으면 패키지이름과 버전만 표시한다.
  -i : 설치된 패키지의 정보를 보여준다. -p옵션과 사용하면 패키지 파일정보를 보여준다.
  -l : 패키지에 포함된 모든 파일을 보여준다. 역시 -p와 사용하려면 정확한 파일명을 적는다.
      (--list)
  -p 파일명: 패키지의 파일에 대한 정보를 보여준다.  정확한 이름을 입력해야 한다.
  -a : 시스템에 설치된 모든 패키지목록을 보여준다. (--all)
      패키지명을 잘 모르는 경우에는 '| grep 패키지명'을 붙여 사용하면 유용하다.
  -f 파일명: 지정된 파일이 포함된 패키지를 출력한다.
  -c : 해당패키지의 설정파일이나 스크립트파일을 보여준다.
  -d : 해당패키지의 문서파일을 출력한다.
  -R : 어떤 패키지에 의존하고 있는지를 보여준다. (--requires)

(3) 사용예
# rpm -q sendmail
     sendmail-8.11.6-27.73
       => 설치된 sendmail의 패키지이름과 버전을 보여준다.
# rpm -qi sendmail
       => sendmail 패키지의 많은 정보를 보여준다.
# rpm -qa
       => 현재 설치된 모든 패키지를 보여준다.
# rpm -qa |grep sendmail
   sendmail-devel-8.11.6-27.73
   sendmail-8.11.6-27.73
   sendmail-cf-8.11.6-27.73
      => sendmail관련 패키지를 보여준다.
# rpm -ql sendmail
      => sendmail이 설치되어 있는 경로를 보여준다.
# rpm -qf /etc/sendmail.cf
sendmail-8.11.6-27.73
      => sendmail.cf 파일을 사용하는(관련된) 패키지를 보여준다.

# rpm -qd proftpd
      => proftpd 관련 문서파일을 보여준다.
# rpm -qR sendmail
      => sendmail이 의존하고 있는 패키지를 보여준다.

# rpm -qlp proftpd-1.2.7-3kr.i686.rpm
       => proftpd 패키지가 설치되는 파일들을 보여준다.

<패키지 검사시>

(1) 설명: 설치된 패키지 파일들을 검증한다. 보통 보안상 침입자에 의해 실행파일들이 권한획
            득을  위해 변조되는 경우가 있는데 이러한 것을 찾아낼 때 유용하다.
(2) 관련옵션
  -V : verify의 약자로 검증할때 쓰는 기본 옵션이다.
  -a : 모든 패키지를 검사한다.
(3) 사용예
# rpm -V sendmail
   .......T c /etc/aliases
   S.5....T c /etc/mail/local-host-names
      => sendmail 패키지를 검사
# rpm -Va
      => 모든 패키지를 검사한다.

(4) RPM 검증코드
  5 : MD5체크섬을 변경
  S : 파일의크기를 변경
  L : 심볼릭 링크를 변경
  T : 파일의 수정일을 변경
  D : 장치파일을 변경
  U : 파일사용자/소유자가 변경
  G : 파일 그룹이 변경
  M : 파일모드(권한과 파일형태)가 변경
  ? : 원인을 알 수 없거나 예측하지 못한 결과인 경우


<참고자료 2> http://blog.naver.com/bereally?Redirect=Log&logNo=150017136202

'┃ Linux' 카테고리의 다른 글

Unix 장비별 MAC Address 확인 방법  (0) 2009.06.16
find 명령 활용  (2) 2009.06.12
RPM 명령  (0) 2008.10.12
[CentOS] J2SDK + TOMCAT 5 + JK2  (0) 2008.09.07
리눅스서 톰캣 연동하기  (0) 2008.09.07
tomcat연동  (0) 2008.09.07
Trackbacks 0 : Comments 0

Write a comment


[CentOS] J2SDK + TOMCAT 5 + JK2

┃ Linux 2008.09.07 23:35
[CentOS] J2SDK + TOMCAT 5 + JK2 리눅스

2007/12/14 11:20

http://blog.naver.com/gikimirane/130025565556

여기선 Java2 1.5 + Tomcat 5 + JK2 를 설치해보겠다.


사실상 JK2를 설치하지 않아도 Tomcat 만으로도 웹서버의 기능을 할 수는 있지만..

별로 성능이 좋지 않은 관계로 JK2를 이용하여 아파치와 연동하여 사용할 수 있도록 하겠다.


###### JDK (J2SDK) 1.5.0.05 Install ####

http://archive.apache.org/dist/jakarta/tomcat-5

홈페이지에 들어가 필요한 파일을 다운로드 받는다.

https://jsecom15c.sun.com/ECom/EComActionServlet;jsessionid=AB62367CF76050E1F73DF92AB70C3FDC#


리눅스용 RPM BIN 파일을 다운로드 받아 /usr/local/src에 옮겨놓자.

파일명 : jdk-1_5_0_05-linux-i586-rpm.bin


설치하기 전에 기존에 설치되어 있는 RPM을 삭제하도록 하자.
# rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-27jpp
# rpm -e --nodeps gcc-java-3.4.3-22.1


설치한다.

# cd /usr/local/src
# chmod 755 jdk-1_5_0_05-linux-i586-rpm.bin

# ./jdk-1_5_0_05-linux-i586-rpm.bin


사용상의 license 에 대해서 줄줄히 설명이 나온다. yes를 입력하자.

자동으로 설치가 끝난다.


환경설정 파일을 다시 열어 아래 부분을 추가하자.

php를 설치할 때 추가한 부분도 참고삼아 넣어두었다.


# vi /etc/profile
=======================================================================================
JAVA_HOME=/usr/java/jdk1.5.0_05
APACHE_HOME=/usr/local/apache
ORACLE_HOME=/usr/lib/oracle
LD_LIBRARY_PATH=/usr/lib/oracle
PATH=$PATH:$JAVA_HOME/bin:$APACHE_HOME/bin:$ORACLE_HOME
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH APACHE_HOME ORACLE_HOME LD_LIBRARY_PATH
export NLS_LANG=.KO16KSC5601
=======================================================================================

# source /etc/profile

# javac 라고 입력해서 뭔가 설명이 쭈욱~ 나온다면.. 설치는 성공이다.




###### TOMCAT 5.5.9 Install ####

톰켓 역시 홈페이지를 방문하여 다운로드 받아 /usr/local/src 로 옮겨놓자.

http://tomcat.apache.org


필자는 5.5.9 버전을 설치했는데 이 글을 쓰고 있는 동안 12로 빌드업이 되어버렸다.

지금 여기서는 빌드 9에 대해서 설명 하겠지만.. 설치방법이 별로 다르지 않으니 최신버전을 설치하도록 하자.


# cd /usr/local/src
# tar xvzf jakarta-tomcat-5.5.9.tar.gz
# mv jakarta-tomcat-5.5.9 /usr/local/tomcat


... 끝났다 ....


하지만 톰캣의 진정한 어려움은 설치가 아니라 세팅파일의 변경이다.

우선 가장 간단한 jk2.properties 파일부터 살펴보자.


vi /usr/local/tomcat/conf/jk2.properties

=======================================================================================

## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED
## WHEN YOU EDIT THE FILE.

## COMMENTS WILL BE _LOST_

## DOCUMENTATION OF THE FORMAT IN JkMain javadoc.

# Set the desired handler list
# handler.list=apr,request,channelJni
#
# Override the default port for the socketChannel
channelSocket.port=8009
# Default:
# channelUnix.file=${jkHome}/work/jk2.socket
# Just to check if the the config is working
shm.file=/usr/local/apache/logs/jk2.shm

# In order to enable jni use any channelJni directive
# channelJni.disabled = 0
# And one of the following directives:

# apr.jniModeSo=/opt/apache2/modules/mod_jk2.so

# If set to inprocess the mod_jk2 will Register natives itself
# This will enable the starting of the Tomcat from mod_jk2
apr.jniModeSo=inprocess

=======================================================================================

필자의 파일내용이다. 변경해야 할 부분을 붉게 표시했으니 참고 바란다.



다음은 web.xml 파일이다.

내용이 너무 긴 관계로 중간에 주석을 풀어야만 하는 부분에 대해서만 표시하도록 하겠다.

# vi /usr/local/tomcat/conf/web.xml

=======================================================================================

-- 중략 --



invoker

org.apache.catalina.servlets.InvokerServlet


debug
0

2


-- 중략 --



invoker
/servlet/*

=======================================================================================

위의 부분이 기본적으론 주석처리되어 있는데.. 주석을 풀도록 한다.



마지막으로 server.xml 파일이다.

vi /usr/local/tomcat/conf/server.xml
=======================================================================================












/home/free/html" unpackWARs="true"

autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">



/home/free/html
" unpackWars="true"

autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">

www.test.net



=======================================================================================

불필요한 부분은 모두 제거하고 알맹이만 정리해 보았다.

붉은 부분이 역시나 중요한 부분으로 tomcat이 실행될 때 참조하는 디렉토리이다.

도메인을 참조하기 위해서 2번 반복되지만 사실상 위의 localhost 부분은 지워도 된다.

참고로 필자의 홈페이지는 /home/free/html 에 위치하고 있기 때문에 이렇게 표기했다.

하지만 테스트를 해보기 위해선 아래와 같이 바꿔보자.


test.net" debug="0" appBase="webapps" unpackWARs="true"

autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
ROOT" reloadable="true"/>


이젠 tomcat은 /usr/local/tomcat/webapps/ROOT 디렉토리를 메인으로 실행하게 된다.

하지만 아직 apache와 연동되지 않았으므로 정상적으로 실행되지는 않을 것이다.

아파치와의 연동에 대해서 알아보자..




###### JK2 Connector 2.0.2 Install ####

홈페이지를 방문하여.. 다운로드 받아 /usr/local/src 에 옮겨놓자.. (이제 이 멘트도 지겨워진다.)

http://ftp.apache-kr.org/tomcat/tomcat-connectors/jk2/

(필자는 2.0.4에서 소스컴파일이 되지 않아 2.0.2를 설치했었다.)


# cd /usr/local/src
# tar xvfz jakarta-tomcat-connectors-jk2-2.0.2-src.tar.gz
# cd /usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/native2
# chmod 755 buildconf.sh
# ./buildconf.sh
# ./configure --with-apxs2=/usr/local/apache/bin/apxs
# make
# cp /usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/build/jk2/apache2/mod_jk2.so /usr/local/apache/modules/mod_jk2.so

# cp /usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/conf/workers2.properties /usr/local/apache/conf


아파치에서 사용하는 workers2.properties 파일을 수정하도록 하자.

apache와 tomcat은 서로 workers2.properties 와 jk2.properties 에 의한 8009 포트인 apr 1.3을 통해서 연동이 된다.


# vi /usr/local/apache/conf workers2.properties

=======================================================================================

[config:]
file=${serverRoot}/conf/workers2.properties
debug=0
debugEnv=0


[shm:]
info=Scoreboard. Required for reconfiguration and status with multiprocess servers
file=${serverRoot}/logs/jk2.shm
size=1048576
debug=0
disabled=00


# Uri mapping
[uri:/servlet/*]
worker=ajp13:localhost:8009

[uri:/*.jsp]
worker=ajp13:localhost:8009

=======================================================================================

${serverRoot}는 아파치의 설치경로를 뜻한다. 즉 /usr/local/apache 이다.

shm파일의 경로와 하단의 Uri mapping 부분만 추가/수정 하면 될 것이다.



# vi /usr/local/apache/conf/httpd.conf
=======================================================================================
LoadModule jk2_module modules/mod_jk2.so

DocumentRoot "/usr/local/tomcat/webapps/ROOT"

/usr/local/tomcat/webapps/ROOT">

DirectoryIndex index.html index.html.var index.php index.phtml index.jsp

=======================================================================================

tomcat 의 server.xml 에서 지정한 경로와 동일하게 입력하도록 한다.



환경변수 파일을 수정한다.

# vi /etc/profile
=======================================================================================
JAVA_HOME=/usr/java/jdk1.5.0_05

CATALINA_HOME=/usr/local/tomcat
CATALINA_LIB=$CATALINA_HOME/common/lib
APACHE_HOME=/usr/local/apache
ORACLE_HOME=/usr/lib/oracle
LD_LIBRARY_PATH=/usr/lib/oracle
PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$APACHE_HOME/bin:$ORACLE_HOME
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$CATALINA_LIB/servlet-api.jar:$CATALINA_LIB/jsp-api.jar
export JAVA_HOME CATALINA_HOME CLASSPATH APACHE_HOME ORACLE_HOME LD_LIBRARY_PATH
export NLS_LANG=.KO16KSC5601
=======================================================================================

# source /etc/profile


아파치를 재시동한다.

#apachectl stop

#apachectl start


이제 톰켓을 시동해보자.

# catalina.sh stop

# catalina.sh start


브라우저에 입력한다.

http://www.test.com/index.jsp


톰캣의 그림이 나오면 성공이다.

jsp와 servlet 테스트를 해보도록 하자.

tags : IT·컴퓨터
Trackbacks 0 : Comments 0

Write a comment


리눅스서 톰캣 연동하기

┃ Linux 2008.09.07 23:34
http://blog.pro9dan.com/entry/리눅스에서-apache2에-tomcat-설치하기
tags : IT·컴퓨터
Trackbacks 0 : Comments 0

Write a comment


tomcat연동

┃ Linux 2008.09.07 23:33

출처 : http://heedy.pe.kr/entry/linux200807011

1. Tomcat 설치

적당한 곳에 압축파일을 풀자.
Apache가 있는 곳이 좋겠다.

# cd /usr/local/
# wget
http://ftp.riken.jp/net/apache/tomcat/tomcat-5/v5.5.26/bin/apache-tomcat-5.5.26.tar.gz
# tar zxvf apache-tomcat-5.5.26.tar.gz
# mv apache-tomcat-5.5.26.tar.gztomcat

여기까지 진행하면 /usr/local/tomcat 이 보인다.

다른 웹페이지나 블로그에 가면 /usr/local/tomcat/conf/jk2.properties 가 있다고 하지만 없다.
이전에는 아마 있었나 보다.

다음은 /usr/local/tomcat/conf/web.xml 파일 셋팅
# vi /usr/local/tomcat/conf/web.xml

주석을 풀어 줄 부분이 있다.

요 부분과


invoker

org.apache.catalina.servlets.InvokerServlet


debug
0

2

요 부분


invoker
/servlet/*

기본적으로 로 주석처리되어 있는데 이것을 풀자.

그 다음은 /usr/local/tomcat/conf/server.xml 파일 셋팅
가장 중요한 파일 같다. 이 파일 셋팅에 의해 되거나 안된다. 옵션도 무지 많다.
# vi /usr/local/tomcat/conf/server.xml

모두 설명하기에 너무 길고, 잘 모르기 때문에 현재 설정에 성공해서 사용 중인 파일을 조금 수정해서 올린다.










connectionTimeout="20000" disableUploadTimeout="true" />

heedy.pe.kr
">


heedy.pe.kr
" appBase="/home/여기는 아팟치 설정파일의 홈디렉토리" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">

heedy.pe.kr
아팟치 설정파일에 넣은 엑세스로그 디렉토리" prefix="엑세스로그 파일명." suffix="확장명" pattern="common" resolveHosts="false" />


www2.heedy.pe.kr
" appBase="/home/여기는 아팟치 설정파일의 가상디렉토리(www2)" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">

www2.heedy.pe.kr
아팟치 설정파일에 넣은 엑세스로그 디렉토리" prefix="엑세스로그 파일명." suffix="확장명" pattern="common" resolveHosts="false" />




마지막으로 /etc/profile에 아래와 같이 추가 시킨다.

# vi /etc/profile

export CATALINA_HOME=/usr/local/tomcat
export CATALINA_LIB=/usr/local/tomcat/common/lib
export CLASSPATH=.:/usr/java/jdk1.5.0_15/lib/tools.jar:$CATALINA_LIB/servlet-api.jar:$CATALINA_LIB/jsp-api.jar
export PATH=$PATH:$CATALINA_HOME/bin:


# source /etc/profile

그리고 /usr/local/tomcat/webapps/ROOT/ 에 있는 샘플용 jsp를 모두 위의 server.xml에서 설정한 디렉토리appBase="/home/여기는 아팟치 설정파일의 가상디렉토리(www2)"에 카피시킨다. 잘 설정되었는지 테스트를 해 봐야 한다.

요렇게 해서 설정을 마치고 스타트..

# /usr/local/tomcat/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.5.0_15

일단 성공은 했지만 http://www2.heedy.pe.kr/index.jsp 를 호출하면 아직 실패한다.

자 잠시 셧다운.
# /usr/local/tomcat/bin/shutdown.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.5.0_15

Apathe와 Tomcat 을 연동시키자.

2. Tomcat-Connector 설치 (Apache와의 연동)

** 이 부분은 그냥 읽어보시고 혹시 설치를 하시려면 다음 글을 보시며 설치하세요. 아래 설치방법은 좀 문제가 있네요. **

적당한 곳에 다운로드를 받자. JK2 connector 2.0.4(jakarta-tomcat-connectors-jk2-src-current.tar.gz)
소스를 다운받아 아팟치에서 사용할 모듈을 만들 것이다.

# cd /usr/local/src
# wget http://archive.apache.org/dist/jakarta/tomcat-connectors/jk2/jakarta-tomcat-connectors-jk2-src-current.tar.gz
# tar zxvf jakarta-tomcat-connectors-jk2-src-current.tar.gz
# cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2
# chmod 755 buildconf.sh
# ./buildconf.sh
# ./configure --with-apxs2=/usr/local/apache/bin/apxs
# make


이렇게 하면 jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache2 에 mod_jk2.so 가 생성되었음을 확인 할 수 있다. 아팟치 모듈폴더에 카피하자

# cp /usr/local/src/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache2/mod_jk2.so /usr/local/apache/modules/mod_jk2.so

그리고 Apache와 Tomcat을 연동할 파일 workers2.properties도 카피하자.
# cp /usr/local/src/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/conf/workers2.properties /usr/local/apache/conf/workers2.properties

workers2.properties 파일과 jk2.properties에 의해 8009 포트인 apr1.3을 통해 연동된다고 한다.
jk2.properties이 없는데 어떻게 하지???

/usr/local/src/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/conf 안에 jk2.properties이 있긴 있다.
일단 이것을 /usr/local/tomcat/conf/으로 카피하자.

#cp /usr/local/src/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/conf/jk2.properties /usr/local/tomcat/conf/jk2.properties

이제 두 파일을 셋팅하자. 우선 workers2.properties
이것은 아마도 Apahce에 사용하는 Tomcat 연동 설정파일.

#vi /usr/local/apache/conf/workers2.properties

[uri:/servlet/*]
info=Prefix mapping
worker=ajp13:localhost:8009

[uri:/*.jsp]
info=Extension mapping
worker=ajp13:localhost:8009

이 부분만 수정했다.

jk2.properties를 수정하자.
이 파일은 Tomcat용 Apache 연동 설정파일.
이 파일을 열어보면 모두 주석처리 되어 있다.
3라인만 찾아서 주석처리를 풀고 수정하자.

# vi /usr/local/tomcat/conf/jk2.properties

channelSocket.port=8009
shm.file=/usr/local/apache/logs/jk2.shm
apr.jniModeSo=inprocess


그리고 마지막으로 mod_jk2.so를 로드시킬 수 있도록 하고, index.jsp도 기본파일로 인식할 수 있도록 설정하자.

# vi /usr/local/apache/conf/httpd.conf

LoadModule jk2_module modules/mod_jk2.so
DirectoryIndex index.html index.htm index.php index.phtml index.jsp

이로써 Apache와 Tomcat의 연동을 위한 설치와 설정파일 설정이 모두 끝났다.
1. Apache를 재시작 하자. -> 기존 방식대로
2. Tomcat을 재시작 하자. # /usr/local/tomcat/bin/startup.sh

자 이제 브라우져를 실행시켜보자. tomcat의 마스코트인 고양이(?) 가 보인다.
http://www2.heedy.pe.kr/


몇 가지 조금 실험을 해 봐야 겠다.
jk2.properties 파일을 없애보자. 없애도 실행된다.
하지만 workers2.properties 파일은 없애면 안된다.

jk2.properties이 없어도 되는 이유는 추측해 보건데, 이전버젼에서는 Apache와의 연동을 jk2.properties파일을 셋팅해서 하는 방법이었지만 버젼이 올라가면서 Tomcat의 server.xml 파일 하나로 기본적으로 Apache와 연동할 수 있게끔 하게 한 것 같다.

server.xml의 아래 부분이 힌트인 것 같다.


그리고 한가지 좀 아쉬운것은 Apache 설정파일의 Diretory 옵션인 Options Indexes 가 안된다.
이 옵션을 사용해 파일서버로 사용하던 것이 가상도메인이 작동을 안한다.

Tomcat의 설정파일인 web.xml에서

default
org.apache.catalina.servlets.DefaultServlet
중략.....

listings
false

1


빨간 색 부분의 falsetrue로 고치면 Apache의 Options Indexes 과 같은 기능을 하긴 한다.
하지만 조금 허접해 보여서 일단 기능을 사용하지 않는 상태..

조금 더 찾아봐야겠다.

자 이렇게 해서 내 서버에서도 jsp를 사용할 수 있는 환경이 되었다.
tags : IT·컴퓨터
Trackbacks 0 : Comments 0

Write a comment


[본문스크랩] [LINUX] Apache 2.2 + mod jk 1.2 + Tomcat 5.x 연동

┃ Linux 2008.09.06 12:40

JDK 설치

1-1. JDK 다운로드

- http://java.sun.com 에 방문해서 리눅스용 JDK를 다운로드 받는다.

- self-extracting file 선택, 파일명 jdk-6-linux-i586.bin (현재 최신 버전은 1.6 버전입니다.)

- 참고) tomcat 5.5 버전에서는 J2SE 5.0 이상 버전에서 동작함.

1-2. 다운로드 받은 파일을 리눅스의 알맞은 폴더에 업로드한다.


1-3. 다음 명령을 사용해서 bin 파일을 실행 가능하도록 변경한다.
$ chmod 555 jdk-6-linux-i586.bin

1-4. bin 파일을 실행한다.
$ ./jdk-6-linux-i586.bin

1-5. 실행하면 라이센스에 대한 내용을 물어보는데 yes 를 입력한다.


1-6. 설치가 자동으로 된다.

보통 /use/local 폴더에서 bin 파일을 실행하면 /usr/local/jdk1.6.0 폴더에 설치됩니다.

1-7.링크를 걸어 표기하기 쉽게 한다.

# ln -s j2sdkjdk1.6.0

톰캣의 설치

2-1. TOMCAT 다운로드

- http://tomcat.apache.org 에 방문해서 tar.gz의 톰캣 바이너리 배포판을 다운로드 받는다.

- Core를 받는다. 파일명은 apache-tomcat-5.5.20.tar.gz 이다.

-http://ftp.kaist.ac.kr/pub/Apache/tomcat/tomcat-5/v5.5.20/bin/apache-tomcat-5.5.20.tar.gz


2-2.다운로드 받은 파일을 리눅스의 알맞은 폴더에 업로드한다.


2-3. 압축 파일을 /usr/local 폴더에 복사한다.


2-4. 압축을 푼다.
$ tar xvzf apache-tomcat-5.5.20.tar.gz


2-5.tomcat 으로 링크를 걸어 놓는다.

- /usr/local/apache-tomcat-5.5.20 폴더가 생긴다.

# ln -s apache-tomcat-5.5.20 tomcat

2-6. 환경변수에 등록

- 톰캣을 실행하려면 다음과 같이 두 개의 환경 변수를 먼저 지정해야 합니다.

# export JAVA_HOME=/usr/local/j2sdk

# export CATALINA_HOME=/usr/local/tomcat

- /etc/profile 에도 다음과 같이 등록한다.

JAVA_HOME=/usr/local/j2sdk
CATALINA_HOME=/usr/local/tomcat

export JAVA_HOME CATALINA_HOME

TOMCAT 실행

3-1. 톰켓 실행

# /usr/local/apache-tomcat-5.5.20/bin/catalina.sh start

3-2. 사용하기 편리하게 링크를 걸어 놓는다.

# ln -s /usr/local/apache-tomcat-5.5.20/bin/catalina.sh /etc/init.d/tomcat

3-3. 정상동작하는지확인한다.

- http://test.com:8080

참고)

The file $CATALINA_HOME/bin/jsvc/native/tomcat.sh can be used as a template for starting Tomcat automatically at boot time from /etc/init.d. The file is currently setup for running Tomcat 4.1.x, so it is necessary to edit it and change the classname from BootstrapService to Bootstrap.

/usr/local/apache-tomcat-5.5.20/bin 에서 jsvc.tar.gz 파일을 압출해제 하고 ./jsvc-src/native/tomcat5.sh 를 사용한다.

Note that the Commons-Daemon JAR file must be on your runtime classpath to run Tomcat in this manner. The Commons-Daemon JAR file is in the Class-Path entry of the bootstrap.jar manifest, but if you get a ClassNotFoundException or a NoClassDefFoundError for a Commons-Daemon class, add the Commons-Daemon JAR to the -cp argument when launching jsvc.

mod jk 1.2 생성 (소스 버전)

4-1. JK 다운로드

- http://tomcat.apache.org/download-connectors.cgi 사이트에서 JK 1.2 소스 버전을 다운로드 받는다.

- http://apache.edgescape.com/tomcat/tomcat-connectors/jk/source/jk-1.2.20/tomcat-connectors-1.2.20-src.tar.gz

-아파치는 더이상 mod jk2를 공식적으로 지원하지 않는다.
- 아래와 같은 순서로 설치한다.

$ tar xvzf tomcat-connectors-1.2.19-src.tar.gz
$ cd tomcat-connectors-1.2.19-src
$ cd native
$ ./configure --with-apxs=/usr/local/apache/bin/apxs
$ make 2> make_error.txt | tee make_stdout.txt

$ make install

or
$ cp ./apache-2.0/mod_jk.so /usr/local/apache2.2/modules

- RPM으로 아파치를 생성했으면, apxs 파일이 없다.

- 이럴 경우 httpd-devel 패키지를 설치하면 /usr/sbin/apxs 가 생성된다.

# yum install httpd-devel

참고) 컴파일시 다음과 같이 명령을 내리면 컴파일중 문제 발생시 확인이 용이하다.

$ make 2> make_error.txt | tee make_stdout.txt

Apache 웹 서버와 Tomcat 5.x 연동

JK 1.2를 사용하여 Tomcat 5.x 버전과 연동할 수 있다.

5-1.worker.properties 파일작성

#####################/etc/httpd/conf/worker.properties #####################

# 사용할 worker 목록을 지정한다. 아래는 local worker만 지정하였으며, 여러 개를 지정해야 할 경우 콤마로 구분
worker.list=worker1

# local worker에 대한 설정: 톰캣 5.x는 ajp13을 기본적으로 제공한다.
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

5-2.tomcat.conf 파일을 작성

- httpd.conf 파일이 로드되면서 함께 로드될 수 있도록 한다.

#####################/etc/httpd/conf/httpd.conf #####################

#
# Load config files from the config directory "/etc/httpd/conf.d".
#
Include conf.d/*.conf

#####################/etc/httpd/conf.d/tomcat.conf #####################

# tomcat 연동 모듈인 mod_jk를 로딩
LoadModule jk_module modules/mod_jk.so


# worker 정보가 설정된 파일의 경로 지정
JkWorkersFile /etc/httpd/conf/worker.properties

JkLogFile /etc/httpd/logs/mod_jk.log
JkLogLevel error
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkRequestLogFormat "%w %V %T"

# 어떤 요청을 톰캣으로 보낼 지 지정한다.
JkMount /*.jsp worker1
JkMount /servlet/* worker1
JkMount /jsp-examples/* worker1
JkMount /servlets-examples* worker1

5-3.연동테스트

- http://test.com/index.jsp, http://test.com:8080/index.jsp의 결과가 같은지 확인한다.

- http://test.com/jsp-examples/, http://test.com/servlets-examples/

디렉터리가 정상적으로 보이고 내부의 JSP 파일 또는 서블릿 들이 정상적으로 실행되는지 확인한다.

5-4. 데몬실행순서

- tomcat 이 실행된 이후에 httpd 가 실행이 되어야 한다.

- rc.local 에 tomcat 이 서버실행시 올라올 수 있도록 등록시켜 놓는다.

이와 관련된 보다 자세한 내용은 http://tomcat.apache.org/connectors-doc/howto/workers.html을 참고하기 바란다.

참고 URL

JDK 설치 : http://cafe.naver.com/okjsp.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=109

JK 설치: http://javacan.madvirus.net/

Trackbacks 0 : Comments 0

Write a comment


[본문스크랩] centos 5에서 jsp설치(톰캣)

┃ Linux 2008.09.06 12:36

원글의 저작자가 루나헌터 님이셧는데,

지금 블로그가 닫혀있어서 대신 올립니다.

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

[자작][한방설치]DNS/JDK1.6.0u1/MySQL5.0.41/apache2.2.4/tomcat5.5.23/jk2/ftp 2007-05-19 12:03
카테고리 : Linux 관련
http://blog.paran.com/june8th98/19384807

출처를 밝혀 주세요.

루나헌터™ (prioritypass@nate.com)

http://www.lunarhunter.com

http://blog.naver.com/june8th98

http://blog.paran.com/june8th98

블로그 담기로 가져 가셔서 노란색글씨만 따라 하시면 됩니다.

[한방설치] NAME SERVER + JAVA(JDK1.6.0u1) + MySQL(5.0.41) +

APACHE(2.2.4) + tomcat(5.5.23) + FTP(proftpd 1.3.0a)

CentOS 5를 기준으로 하여 작성하였습니다.

Redhat 계열이면 별 어려움 없이 설치 가능하리라 생각 됩니다.

CentOS 5 설치 방법은 본 게시판에 있으니 참고 하십시요.

인터넷 자료들을 설치하다보면 꼭 에러를 맛보게 되어 헤매던 생각에 작성하였습니다.

도움에 되었으면 좋겠습니다.

아래 내용 중 노란색 글씨만 모두 따라 하시면,

에러 없이 한방에 위의 모두를 설치 하실 수 있습니다.

필요한 패키지 및 소스

(wget 또는 web상에서 준비하고 /home/lunar 디렉토리에 있다는 전제하에 설명)
[1] httpd-2.2.4(apache)
http://ftp.kaist.ac.kr/pub/Apache/httpd/httpd-2.2.4.tar.gz
[2] tomcat(5.5.23)
http://ftp.kaist.ac.kr/pub/Apache/tomcat/tomcat-5/v5.5.23/bin/apache-tomcat-5.5.23.tar.gz
[3] connectors-jk2
http://archive.apache.org/dist/tomcat/tomcat-connectors/jk2/jakarta-tomcat-connectors-jk2-src-current.tar.gz
[4] native(1.1.10)
http://archive.apache.org/dist/tomcat/tomcat-connectors/native/tomcat-native-1.1.10-src.tar.gz
[5] apr(1.2.8)
http://ftp.kaist.ac.kr/pub/Apache/apr/apr-1.2.8.tar.gz
[6] java(JDK1.6.0_01)
http://java.sun.com/javase/downloads/index.jsp (Linux RPM in self-extracting file)
[7] MySQL(5.0.41)
http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.41-linux-i686-icc-glibc23.tar.gz/from/http://mysql.byungsoo.net/
[8] MySQL Connector/J(5.0.6)
http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.0.6.tar.gz/from/http://mysql.byungsoo.net/


(서버에서 로그인한다.)
CentOS release 5 (Final)
Kernel 2.6.18.el5 on an i686

ns login: root
Password:

(서버에서 계정 하나를 생성한다.)
[root@ns ~]# useradd lunar
[root@ns ~]# passwd lunar
Changing password for user lunar.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.


(서버에서 작업하는 것 보다 원격으로 접속을 해서 하는게 편하다. TELNET은 보안 문제로 쓰지 않으므로 SSH2로 연결한다. 개인적으로 secureCRT 5.5를 선호한다. 이하 원격접속.필수아님)
(원격에서는 바로 root 접속이 안되므로, 서버에서 만든 계정으로 접속후 "su -"명령으로 root 접속 한다. 패스워드는 root 암호임)
Last login: Thu May 17 20:17:23 2007 from 192.168.2.13
[lunar@ns ~]$ su -
Password:
[root@ns ~]# yum install yum-plugin-fastestmirror
(생략)
Added 106 new packages, deleted 0 old in 0.43 seconds
Parsing package install arguments
Nothing to do
[root@ns ~]# yum update
(생략)
Transaction Summary
=============================================================================
Install 2 Package(s)
Update 41 Package(s)
Remove 0 Package(s)

Total download size: 124 M
Is this ok [y/N]: y
(생략)
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897
Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) <
centos-5-key@centos.org>" from http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
Is this ok [y/N]: y
(생략)
Complete!
You have new mail in /var/spool/mail/root
[root@ns ~]# yum groupinstall 'Development Tools'
(생략)
No packages in any requested group available to install or update
[root@ns ~]#


(설치시 생성된 /home/lunar 디렉토리의 권한을 부여한다.)
[root@ns ~]# cd /home
[root@ns home]# ls
lost+found lunar
[root@ns home]# chown -R lunar:lunar lunar
[root@ns home]# chmod -R 777 lunar

(필자는 proftpd FTP서버를 선호하므로, 서버 기본 ftp 설치를 하지 않았다. proftpd 서버를 wget명령으로 인터넷에서 다운로드 한다. 현재 상태는 인터넷이 연결 되는 상태 이어야 한다. 왠만한 서버 장비는 설치 과정을 본인의 환경에 맞게 설치하였다면, 무리없이 연결될 것이다)
(혹시라도 다운로드가 되지 않는다면, proftpd 다운로드 주소가 변경 또는 버전업되었을 것이다.
www.proftpd.org 사이트에 접속하여 찾아보고 최신 버전을 설치해도 무방하다.)
[root@ns home]# cd lunar
[root@ns lunar]# wget
ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.0a.tar.gz
--20:24:15--
ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.0a.tar.gz
=> `proftpd-1.3.0a.tar.gz'
Resolving
ftp.proftpd.org... 81.223.20.36
Connecting to
ftp.proftpd.org|81.223.20.36|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /distrib/source ... done.
==> SIZE proftpd-1.3.0a.tar.gz ... 1858160
==> PASV ... done. ==> RETR proftpd-1.3.0a.tar.gz ... done.
Length: 1858160 (1.8M)

100%[=======================================>] 1,858,160 216K/s in 10s

20:24:34 (182 KB/s) - `proftpd-1.3.0a.tar.gz' saved [1858160]

(압축을 풀고, 환경설정하고, 설치 진행)
[root@ns lunar]# tar xvzf proftpd-1.3.0a.tar.gz
[root@ns lunar]# cd proftpd-1.3.0a
[root@ns proftpd-1.3.0a]# ./configure -prefix=/usr/local/proftpd -enable-autoshadow
[root@ns lunar]# make && make install

(proftpd 서버의 환경 설정 파일을 일부 변경 한다. 변경후 저장. 수동으로 ftp서버 가동)
[root@ns proftpd-1.3.0a]# vi /usr/local/proftpd/etc/proftpd.conf
# Set the user and group under which the server will run.
User nobody
Group nobody (27라인 nogroup --> nobody로 변경)
:wq
[root@ns lunar]# /usr/local/proftpd/sbin/proftpd

(서버 리부팅이 되면 자동으로 ftp서버가 가동 되도록 해준다.)
[root@ns proftpd-1.3.0a]# vi /etc/rc.d/rc.local

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
/usr/local/proftpd/sbin/proftpd

:wq
[root@ns proftpd-1.3.0a]#

(name server 설치를 하기 위하여 yum명령으로 설치 명령하고, 설치 완료 되면 설치확인한다.)
[root@ns proftpd-1.3.0a]# cd /home/lunar
[root@ns lunar]# yum install bind*
(생략)
Install 5 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

Total download size: 4.2 M
Is this ok [y/N]: y
[root@ns lunar]# yum list bind*
Loading "installonlyn" plugin
Setting up repositories
Reading repository metadata in from local files
Installed Packages
bind.i386 30:9.3.3-8.el5 installed
bind-chroot.i386 30:9.3.3-8.el5 installed
bind-devel.i386 30:9.3.3-8.el5 installed
bind-libbind-devel.i386 30:9.3.3-8.el5 installed
bind-libs.i386 30:9.3.3-8.el5 installed
bind-sdb.i386 30:9.3.3-8.el5 installed
bind-utils.i386 30:9.3.3-8.el5 installed
[root@ns lunar]#

(Network 설정확인하고 수정한다.)
[root@ns lunar]# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=ns
GATEWAY=192.168.2.1
:wq
[root@ns lunar]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BROADCAST=192.168.2.255
HWADDR=00:0C:29:FB:89:D0
IPADDR=192.168.2.2
IPV6ADDR=
IPV6PREFIX=
GATEWAY=192.168.2.1
NETMASK=255.255.255.0
NETWORK=192.168.2.0
ONBOOT=yes
:wq
[root@ns lunar]#

(hosts파일, resolv.conf파일 편집을 한다. 자신의 도메인/IP에 맞게 설정)
(아래는 도메인 두 개 보유, 라우터를 통한 내부IP 사용 예, 공인IP는 모두 공인IP로 쓰면됨)

[root@ns lunar]# vi /etc/hosts

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 ns localhost.localdomain localhost
192.168.2.2 ns.lunarhunter.com.
192.168.2.2 ns.evalunar.com.
:wq

[root@ns lunar]# vi /etc/resolv.conf
search lunarhunter.com
nameserver 192.168.2.2
nameserver 168.126.63.1
nameserver 168.126.63.2
:wq
[root@ns lunar]#

(named.conf 파일 편집. 아래 대로 복사해서 넣으면 된다. 단,IP/도메인은 본인에 맞게)
[root@ns lunar]# cd /var/named/chroot/etc
[root@ns etc]# vi named.conf
options {
directory "/etc/namedb";
version "UnKnown!!";
};

include "/etc/rndc.key";

zone "." IN {

type hint;

file "named.ca";
};

zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};

zone "105.101.211.in-addr.arpa" IN {
type master;
file "lunarhunter.rev";
allow-update { none; };
};
zone "lunarhunter.com" IN {
type master;
file "lunarhunter.zone";
allow-update { none; };
};

zone "evalunar.com" IN {
type master;
file "lunarhunter.zone";
allow-update { none; };
};

logging {
category lame-servers { null; };
};
:wq
[root@ns etc]#

(name server 구성시 필요한 파일 설치)
[root@ns etc]# mkdir namedb
[root@ns etc]# cd namedb
[root@ns namedb]# cp /usr/share/doc/bind-9.3.3/sample/var/named/named.root ./named.ca
[root@ns namedb]# cp /usr/share/doc/bind-9.3.3/sample/var/named/named.local .

(localhost.zone 파일 생성. 아래 내용 변경없이 복사해도 됨)
[root@ns namedb]# vi localhost.zone
;
$TTL 86400
@ IN SOA localhost. root.localhost. (
200705181 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS localhost.
@ IN A 127.0.0.1
::wq
[root@ns namedb]#

(lunarhunter.rev 파일 생성. named.conf에서 정의한 이름(lunarhunter.rev)로 생성하고 도메인은 본인의 대표 도메인으로 지정할것. 도메인 대행업체에 등록한 대표(NS)도메인)
[root@ns namedb]# vi lunarhunter.rev
$TTL 86400
@ IN SOA ns.lunarhunter.com. webmaster.lunarhunter.com. (
200705181 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.lunarhunter.com.
1 IN PTR ns.lunarhunter.com.
:wq
[root@ns namedb]#

(lunarhunter.zone 파일 생성. named.conf에서 정의한 이름(lunarhunter.zone)로 생성하고 도메인은 본인 보유 도메인으로 지정. 도메인 모두 이곳에 등록하여야 하는데. 본인의 경우 lunarhunter.com 으로 evalunar.com이 오게 되면 아래 줄 맨밑에 해당 아이피로 오는 등록된 도메인 모두 lunarhunter.com 서버로 가라고 정의 하였기에 별도 설정 하지 않았음. 공인IP로 지정 할것. 물론 연계해야 할 sub도메인의 경우는 내부IP)
[root@ns namedb]# vi lunarhunter.zone
$TTL 86400
@ IN SOA ns.lunarhunter.com. root.lunarhunter.com. (
200705181 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
;
IN NS ns.lunarhunter.com.
IN NS lunarhunter.com.
MX 10 mail.lunarhunter.com.
IN A 211.101.105.100
ns IN A 211.101.105.100
www IN A 211.101.105.100
ftp IN A 211.101.105.100
* IN A 211.101.105.100

:wq
[root@ns namedb]#

(설정이 완료 되었으면 /etc로 링크 걸어 주고 네임서버 기동 시켜, nslookup으로 테스트. 아래와 같이 출력 되면 정상)
[root@ns namedb]# ln -s /var/named/chroot/etc/namedb /etc/namedb
[root@ns namedb]# ln -s /var/named/chroot/etc/named.conf /etc/named.conf
[root@ns namedb]# service named start
Starting named: [ OK ]
[root@ns namedb]# nslookup
> lunarhunter.com
Server: 192.168.2.2
Address: 192.168.2.2#53

Name: lunarhunter.com
Address: 211.101.105.100
> exit
[root@ns namedb]#

(service 설정 프로그램을 실행시켜 name server가 부팅될 때 자동으로 기동 되도록 한다.)
[root@ns namedb]# ntsysv


(MySQL을 설치 한다. 아래 내용 대로 따라 한다. 파일명이 다르다면 파일명과 디렉토리명만 수정하면 된다.)
[root@ns namedb]# cd /home/lunar
[root@ns lunar]# mv mysql-5.0.41-linux-i686-icc-glibc23.tar.gz /usr/local/.
[root@ns lunar]# cd /usr/local
[root@ns local]# tar xvzf mysql-5.0.41-linux-i686-icc-glibc23.tar.gz
[root@ns local]# groupadd mysql
[root@ns local]# useradd -g mysql mysql
[root@ns local]# ln -s /usr/local/mysql-5.0.41-linux-i686-icc-glibc23 mysql
[root@ns local]# cd mysql
[root@ns mysql]# chown -R mysql .
[root@ns mysql]# chgrp -R mysql .
[root@ns mysql]# scripts/mysql_install_db --user=mysql
[root@ns mysql]# chown -R root .
[root@ns mysql]# chown -R mysql data
[root@ns mysql]# bin/mysqld_safe --user=mysql &
[root@ns mysql]# cd /usr/local
[root@ns local]# rm -rf mysql-5.0.41-linux-i686-icc-glibc23.tar.gz

(MySQL도 부팅 될 때 자동으로 가동 되도록 설정한다.)
[root@ns local]# cd /usr/local/mysql/support-files
[root@ns support-files]# cp ./mysql.server /etc/init.d
[root@ns support-files]# ln -s /etc/init.d/mysql.server /etc/rc3.d/S99mysql
[root@ns support-files]# ln -s /etc/init.d/mysql.server /etc/rc0.d/K01mysql

(MySQL 환경 파일을 설정한다. 한글 UTF-8 환경으로 설정. 수정은 항상 파일 끝부터 라인번호 혼동 우려될까봐 ^^)
[root@ns support-files]# cp ./my-medium.cnf /etc/my.cnf
[root@ns support-files]# vi /etc/my.cnf
[mysql]
no-auto-rehash (139라인 아래에 추가)
default-character-set = utf8
# Remove the next comment character if you are not familiar with SQL
#safe-updates
---------------------------------------------------------------------------------------
[mysqldump]
quick
max_allowed_packet = 16M (136라인 아래에 추가)
default-character-set = utf8
---------------------------------------------------------------------------------------
# The MySQL server
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M (37라인 아래에 추가)
init_connect = SET collation_connection = utf8_general_ci
init_connect = SET NAMES utf8
default-character-set = utf8
character-set-server = utf8
collation-server = utf8_general_ci
---------------------------------------------------------------------------------------
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock (21라인 아래에 추가)
default-character-set = utf8
---------------------------------------------------------------------------------------
:wq
[root@ns support-files]#

(java(JDK)를 설치 한다.)
[root@ns support-files]# cd /home/lunar
[root@ns lunar]# chmod a+x jdk-6u1-linux-i586-rpm.bin
[root@ns lunar]# ./jdk-6u1-linux-i586-rpm.bin
(생략) [설치중 --More-- 가 나오면 space bar 로 넘길것]
For inquiries please contact: Sun Microsystems, Inc., 4150
Network Circle, Santa Clara, California 95054, U.S.A.

Do you agree to the above license terms? [yes or no]
yes
(생략)
[root@ns lunar]# vi /etc/profile
# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
LD_LIBRARY_PATH=/usr/local/lib:/usr/lib
export LD_LIBRARY_PATH

JAVA_HOME="/usr/java/jdk1.6.0_01"
export JAVA_HOME
export CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin

pathmunge () {
if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
:wq
[root@ns lunar]# source /etc/profile
[root@ns lunar]# java -version
java version "1.6.0_01"
Java(TM) SE Runtime Environment (build 1.6.0_01-b06)
Java HotSpot(TM) Client VM (build 1.6.0_01-b06, mixed mode, sharing)
[root@ns lunar]# (위와 같이 출력이 되면 java가 정상적으로 설치된 상태)

(Connector-J를 복사한다. 주의:아래 cp 명령어는 두줄이 한 라인임 한꺼번에 복사 할것.)
[root@ns lunar]# tar xvzf mysql-connector-java-5.0.6.tar.gz
[root@ns lunar]# cd mysql-connector-java-5.0.6
[root@ns mysql-connector-java-5.0.6]# cp mysql-connector-java-5.0.6-bin.jar /usr/java/jdk1.6.0_01/jre/lib/ext/
[root@ns mysql-connector-java-5.0.6]#

(apache를 설치한다. 주의:아래 ./configure 명령어는 두줄이 한 라인임. 한꺼번에 복사할것)
[root@ns mysql-connector-java-5.0.6]# cd /home/lunar
[root@ns lunar]# tar xvzf httpd-2.2.4.tar.gz
[root@ns lunar]# cd httpd-2.2.4
[root@ns httpd-2.2.4]# ./configure --prefix=/usr/local/apache2 --enable-mods-shared=most --enable-modules=so --enable-headers --enable-cgi --enable-cgid --enable-so
[root@ns httpd-2.2.4]# make
[root@ns httpd-2.2.4]# make install
[root@ns httpd-2.2.4]# echo "/usr/local/apache2/lib" >> /etc/ld.so.conf
[root@ns httpd-2.2.4]# echo "/usr/local/apache2/modules" >> /etc/ld.so.conf
[root@ns httpd-2.2.4]# /sbin/ldconfig
[root@ns httpd-2.2.4]# cd /usr/local/apache2/bin
[root@ns httpd-2.2.4]# ./httpd -l

Compiled in modules:

core.c

prefork.c

http_core.c

mod_so.c
[root@ns httpd-2.2.4]#

(apache환경 파일을 수정 한다. 역시 파일의 끝에서부터 수정. 라인번호 혼동 우려 해서)
[root@ns httpd-2.2.4]# vi /usr/local/apache2/conf/httpd.conf
(수정시 라인혼동 우려하여 아랫줄부터 위로 수정)
(맨 끝 라인에 아래 노란색 부분 추가)
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin


NameVirtualHost 192.168.2.2

## lunarhunter.com

ServerName lunarhunter.com
DocumentRoot /home/webs/lunarhunter/
ServerAlias
www.lunarhunter.com lunarhunter.com


## evalunar.com

ServerName evalunar.com
DocumentRoot /home/webs/evalunar/
ServerAlias
www.evalunar.com evalunar.com

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

DirectoryIndex index.html index.htm index.jsp (207라인 추가)

---------------------------------------------------------------------------------------
#ServerName
www.example.com:80 (138라인 아래에 4줄 추가)
ServerName ns.lunarhunter.com:80

Header add P3P "CP='CAO PSA CONi OTR OUR DEM ONL'"


---------------------------------------------------------------------------------------
#ServerAdmin
you@example.com (129라인 # 처리하고 아래줄 추가)
ServerAdmin
lunar@lunarhunter.com
---------------------------------------------------------------------------------------

#User daemon (108라인 두줄을 # 처리하고 아래 세줄 추가)

#Group daemon

User nobody

Group nobody

DefaultLanguage UTF-8
---------------------------------------------------------------------------------------
:wq
[root@ns httpd-2.2.4]#

(홈페이지가 위치할 곳에 권한을 줄것, httpd.conf에서 설정한 VirtualHost의 Web Directory 모두를 생성(생성하지 않으면 apache 기동시 ERROR 발생)
[root@ns httpd-2.2.4]# cd /home
[root@ns home]# mkdir webs
[root@ns home]# mkdir webs/lunarhunter
[root@ns home]# mkdir webs/evalunar
[root@ns home]# chmod -R 755 webs
---------------------------------------------------------------------------------------

(PATH가 걸려 있어 apache2/bin이 아닌곳에서 아파치를 기동하면 엉뚱한게 실행되는 것 방지)

[root@ns home]# cd /usr/sbin

[root@ns sbin]# mv apachectl back_apachectl
[root@ns home]# cd /usr/local/apache2/bin
[root@ns bin]# ./apachectl configtest
Syntex OK (httpd.conf 파일이 이상없이 수정 됨)
[root@ns bin]#


(tomcat을 설치하고 환경파일을 수정한다.)
[root@ns bin]# cd /usr/local
[root@ns local]# mv /home/lunar/apache-tomcat-5.5.23.tar.gz .
[root@ns local]# tar xvzf apache-tomcat-5.5.23.tar.gz
[root@ns local]# ln -s apache-tomcat-5.5.23 tomcat
[root@ns local]# vi /etc/profile
# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
LD_LIBRARY_PATH=/usr/local/lib:/usr/lib
export LD_LIBRARY_PATH

JAVA_HOME="/usr/java/jdk1.6.0_01"
APACHE2_HOME=/usr/local/apache2
CATALINA_HOME=/usr/local/tomcat
export JAVA_HOME APACHE2_HOME CATALINA_HOME
APACHE_CONF="/usr/local/apache2/conf/httpd.conf"
PIDFILE="/usr/local/apache2/logs/httpd.pid"
export CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/common/lib/servlet-api.jar
PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$APACHE2_HOME/bin

pathmunge () {
if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then

:wq
[root@ns local]# source /etc/profile

(apr과 jni-native를 설치한다. *주의:./configure 라인도 두줄이므로 한꺼번에 복사 할것)
[root@ns local]# mv /home/lunar/apr-1.2.8.tar.gz .
[root@ns local]# tar xvzf apr-1.2.8.tar.gz
[root@ns local]# cd apr-1.2.8
[root@ns apr-1.2.8]# ./configure
[root@ns apr-1.2.8]# make && make install
[root@ns apr-1.2.8]# cd /usr/local
[root@ns local]# mv /home/lunar/tomcat-native-1.1.10-src.tar.gz .
[root@ns local]# tar xvzf tomcat-native-1.1.10-src.tar.gz
[root@ns local]# cd /usr/local/tomcat-native-1.1.10-src/jni/native
[root@ns native]# sh buildconf --with-apr=/usr/local/apr-1.2.8
[root@ns native]# ./configure --with-apr=/usr/local/apr/bin/apr-1-config --with-java-home=/usr/java/jdk1.6.0_01
[root@ns native]# make && make install

(apr과 jni-native를 설치후 PATH를 걸어 준다.)
[root@ns native]# vi /etc/ld.so.conf
include ld.so.conf.d/*.conf

/usr/local/lib

/usr/local/apr/lib
/usr/local/apache2/lib
/usr/local/apache2/modules

:wq
[root@ns native]# /sbin/ldconfig

(apr의 파일을 jdk에 귀속시켜 준다.)
[root@ns native]# cd /usr/java/jdk1.6.0_01/jre/lib/i386
[root@ns i386]# ln -s /usr/local/apr/lib/libtcnative-1.so libtcnative-1.so
[root@ns i386]# ln -s /usr/local/apr/lib/libtcnative-1.a libtcnative-1.a
[root@ns i386]# ln -s /usr/local/apr/lib/pkgconfig/ pkgconfig

(jk2를 설치한다. *주의:cp 명령어 라인 두줄 모두 한꺼번에 복사 후 실행)
[root@ns i386]# cd /usr/local
[root@ns local]# mv /home/lunar/jakarta-tomcat-connectors-jk2-src-current.tar.gz .
[root@ns local]# tar xvzf jakarta-tomcat-connectors-jk2-src-current.tar.gz
[root@ns local]# cd /usr/local/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/
[root@ns native2]# ./buildconf.sh
[root@ns native2]# ./configure --with-apxs2=/usr/local/apache2/bin/apxs
[root@ns native2]# make
[root@ns native2]# cp /usr/local/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache2/mod_jk2.so /usr/local/apache2/modules/

(tomcat 환경을 만든다. 아래 파일을 생성한다.)
[root@ns native2]# cd /usr/local/tomcat/conf
[root@ns conf]# vi jk2.properties
handler.list=apr,channelSocket,request

channelSocket.port=8009

shm.file=/usr/local/apache2/logs/jk2.shm

apr.jniModeSo=inprocess


:wq
[root@ns conf]#

(apache에서 tomcat 연결하는 환경을 만든다. 아래 파일을 생성한다.)
[root@ns conf]# cd /usr/local/apache2/conf
[root@ns conf]# vi workers2.properties

[shm]

file=/usr/local/apache2/logs/shm.file

size=1048576

[channel.socket:localhost:8009]

port=8009

host=127.0.0.1

[ajp13:localhost:8009]

channel=channel.socket:localhost:8009

[status:status]

[uri:/jsp-examples/*]

worker=ajp13:localhost:8009

[uri:/servlets-examples/*]

worker=ajp13:localhost:8009

[uri:/tomcat-docs/*]

worker=ajp13:localhost:8009

[uri:/*]

worker=ajp13:localhost:8009

[uri:/status/*]

worker=status:status


:wq
[root@ns conf]#

(tomcat의 server.xml 파일을 수정 해 준다. 이 역시 파일 끝부터 수정)
[root@ns conf]# cd /usr/local/tomcat/conf
[root@ns conf]# vi server.xml
(수정시 라인혼동 우려하여 아랫줄부터 위로 수정)
(369라인에 아래의 노란색 부분 추가한다.)



docBase="/home/webs/lunarhunter/"
reloadable="true"/>
www.lunarhunter.com



docBase="/home/webs/evalunar/"
reloadable="true"/>
www.evalunar.com



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

enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
(윗부분(103라인)을 아래와 같이 고친다.)
enableLookups="false" redirectPort="8443" protocol="AJP/1.3"
URIEncoding="UTF-8" />
---------------------------------------------------------------------------------------

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
(윗부분(80라인)을 아래와 같이 고친다.)
connectionTimeout="20000" disableUploadTimeout="true"
URIEncoding="UTF-8" />
---------------------------------------------------------------------------------------


:wq
[root@ns conf]#

(tomcat의 web.xml 파일을 수정 해 준다. 이 역시 파일 끝부터 수정)
[root@ns conf]# cd /usr/local/tomcat/conf
[root@ns conf]# vi web.xml



default
org.apache.catalina.servlets.DefaultServlet

debug
0


listings
true (80라인 false를 true로 변경)


1


:wq
[root@ns conf]#

(tomcat 설치후 apache 환경 파일 수정. 라인혼동 우려하여 아랫줄부터 위로 수정)


[root@ns conf]# cd /usr/local/apache2/conf
[root@ns conf]# vi httpd.conf


#DocumentRoot "/usr/local/apache2/htdocs" (153라인 #표시, 아래 라인 추가)
DocumentRoot "/usr/local/tomcat/webapps/ROOT"
---------------------------------------------------------------------------------------
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule jk2_module modules/mod_jk2.so (98라인에 추가)
---------------------------------------------------------------------------------------


:wq
[root@ns conf]#

(tomcat 리부팅시 자동 실행 만들기)

[root@ns conf]# vi /etc/rc.d/tomcat
#!/bin/sh
# Source function library.
. /etc/rc.d/init.d/functions

source /etc/profile
export TOMCAT_HOME=/usr/local/tomcat

# See how we were called.
case "$1" in
start)
echo -n "Starting tomcat EXPERIMENTAL: "
daemon $TOMCAT_HOME/bin/startup.sh
echo
;;
stop)
echo -n "Shutting down tomcat EXPERIMENTAL: "
daemon $TOMCAT_HOME/bin/shutdown.sh
echo
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac

exit 0


:wq

[root@ns conf]# chmod 755 /etc/rc.d/tomcat

[root@ns conf]# /etc/rc.d/tomcat (실행테스트)
Usage : /etc/rc.d/tomcat {start|stop|restart} (Usage 멧시지가 나오면 정상)

[root@ns conf]# ln -s /etc/rc.d/tomcat /etc/rc.d/rc3.d/S90tomcat

[root@ns conf]# ln -s /etc/rc.d/tomcat /etc/rc.d/rc5.d/S90tomcat

[root@ns conf]# ln -s /etc/rc.d/tomcat /etc/rc.d/rc6.d/K90tomcat

(apache 리부팅시 자동 실행 만들기)

[root@ns conf]# vi /etc/rc.d/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
/usr/local/proftpd/sbin/proftpd
/usr/local/apache2/bin/apachectl start

:wq

[root@ns conf]#

(리부팅 권장)

[root@ns sbin]# shutdown -r now

(위의 자동 실행 만들기를 하였다면 리부팅 후 자동으로 실행 됨. 만약, 수동 실행 해야 할 경우는 아래와 같이 하면 됨)

[root@ns ~]# catalina.sh start (stop 도 가능함)

[root@ns ~]# apachectl start (stop/restart 도 가능함)

(해당 홈페이지 디렉토리에 index.html 또는 index.jsp를 넣고 접속 해볼것)

Trackbacks 0 : Comments 0

Write a comment


[본문스크랩] CentOS에 Apache 설치하기

┃ Linux 2008.09.06 12:35

아파치(RPM 버전)가 설치되었는지 확인: #rpm -qa | grep httpd

아파치 설치경로:/usr/lib/httpd

아파치 conf 파일 경로: /etc/httpd/conf/httpd.conf

만약 위 명령으로 나온 RPM 버전이 마음에 들지 않는다면 Apache RPM 버전 삭제: #rpm -e --nodeps RPM명

그리고 www.apache.org 에서 다운받아 재 설치

1. #tar -zxvf httpd-2.2.9.tar.gz

#./configure --prefix=/usr/local/apache2 --enable-rewrite--enable-so --enable-mods-shared=most

2. #make

3. #make install

4. #ln -s /usr/local/apache2 httpd (링크 설정)

5. #cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd (이것만 갖고는 안된다)

mod_jk.so 연동

1. #cd tomcat-connectors-1.2.26-src/native/

2. #./buildconf.sh

=> 여기서 libxxx, autoconf 등이 없다고 에러가 났다. #yum install auto*와 #yum install lib*실행

3. #find -name 'apxs' -print

#./configure --with-apxs=/usr/local/apache2/bin/apxs(위 처럼 apache를 설치했다면 apxs 디렉토리가 존재할 것이다)

4. #make

5. #make install (/usr/local/apache2/modules 디렉토리에 mod_jk.so 파일이 생성된다)

6. #vi /usr/local/apache2/conf/workers.properties

worker.list=local => 복수일 경우 worker.list=local,localhost,www.realsnake.com

worker.local.type=ajp13
worker.local.host=localhost(그냥 localhost라고 해도 된다. apache의 서버명과 일치할 필요없다.)
worker.local.port=8009

7. #vi /usr/local/apache2/conf/httpd.conf (맨 아래줄에 아래 내용 추가)

LoadModule jk_module modules/mod_jk.so
JkWorkersFile /usr/local/apache2/conf/workers.properties

JkLogFile /usr/local/apache2/logs/mod_jk.log
JkLogLevel error
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkRequestLogFormat "%w %V %T"
8. #vi /usr/local/apache2/conf/extra/httpd-vhost.conf


ServerAdminrealsnake@naver.com
DocumentRoot "/home/www/htdocs"
ServerNamelocalhost
#ServerAlias www.dummy-host.example.com
ErrorLog "logs/localhost-error_log-%Y%m%d"
CustomLog "logs/localhost-access_log-%Y%m%d" common env=!image-request
JkMount /jsps/* local
JkMount /servlets/* local

JkMount /*.do local

Order Deny,Allow
Allow from all

9. #vi /usr/local/java/tomcat/conf/server.xml





appBase="/home/www/webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">



10. #cd /home

#mkdir www

#chown -R tomcat:tomcat www (tomcat은 톰캣서버 사용자 계정)

#chmod -R 777 www

/home/www/webapps/jsps 에 테스트 jsp 파일을 만들어 테스트해본다.

ip가 192.168.0.80이라면,

http://192.168.0.80/html--> /home/www/htdocs/html

http://192.168.0.80/jsps --> /home/www/webapps/jsps

이건 다른 얘기지만...mount -t vboxsf D_DRIVE /mnt/share

VirtualBox에서 윈도우(호스트)의 공유 폴더를 CentOS(게스트)에 마운트하기

이 카테고리에 사용된 모든 글은 CentOS 5.2를 기준으로 작성되었습니다.

apache라고 해도 특별한건 없다. 설치 시 웹서버를 선택하면 자동으로 설치가 된다.
혹시 설치 시 클릭하는걸 잊어먹었다고 해도 속상해 할 필요가 없다.

단지 yum install httpd 이거 하나만 설치가 되기때문이다.

하지만 CentOS는 특이하게 설치만 할뿐 부팅 시 자동으로 수행하게 해주질 않는다.
그렇다고 고민하지 말라..

#chkconfig --add httpd
#chkconfig httpd on

이거 한방이면 자동수행 완료...

그래고 데몬을 실행시키려면
#service httpd start

데몬을 중지시키려면
#service httpd stop

데몬을 다시 시작시키려면 (설정을 바꾼 후 재적용)
#service httpd restart

글을 쓰고 보니 진짜 강좌라고 하기에 미안할 정도로 쓸게 없다.
하지만 리눅스가 그만큼 쓰기 편할 정도로 발전하였다는 증거이기도 하다.

아~ 이렇게 했다고 해서 바로 웹서비스를 할 수 있는건 아니다. 방화벽이라는 장벽이 아직 가로 막고 있기때문이다.

자세한건 selinux 부분에서 설명하겠지만 가장 편하게 하려면
'setup' 을 친후 나오는 화면에서 '방화벽' 으로 들어간 후 '사용않음' 으로 하면 바로 사용이 가능하다.

그리고 CentOS 초기 설치 시 한국어로 설치를 하였다면 모든 메시지가 UTF-8로 표현이 되기때문에 자신이 쓰는 터미널의 Code를 꼭 UTF-8로 맞추고 접속을 하기 바란다.

Trackbacks 0 : Comments 0

Write a comment


[링크스크랩] centos 5 설정

┃ Linux 2008.09.06 12:34

Trackbacks 0 : Comments 0

Write a comment


각종 매체 mount 시키기

┃ Linux 2008.07.18 19:51

요즘 리눅스에서 작업하는 일이 많은데...쫌 답답한 면이 있네요..

빨 적응해야지...ㅜㅜ

출처 : http://blog.naver.com/devgate?Redirect=Log&logNo=4463176

(1) 플로피 디스크 마운트
mount /dev/fd0 /mnt/floppy
( /mnt 디렉토리 아래에 floppy디렉토리를 만들어야 한다.)

* 디스크를 교체하고자 할때는, 먼저 마운트된 프로피를 언마운트시키고 나서 새로운 디스크를 넣고 마운트 시켜야 새로운 디스크에 액세스가 가능하다. ( CD나 기타 다른 것도 마찬가지)
umount /mnt/floppy 또는 umount/dev/fd0

(2) CD-ROM 마운트
mount -t iso9660 /dev/cdrom /mnt/cdrom

* CD-ROM이 Primary Slave에 장착되었다면
mount -t iso9660 /dev/hdb/ mnt/cdrom

(3) MSDOS 마운트
mount -t msdos /dev/hda3 /mnt/msdos

(4) windows 98 마운트
mount -t vfat /dev/hda3 /mnt/window

(5) windows 2000 마운트
mount -t ntfs /dev/hda3 /mnt/win2000

(6) 리눅스
mount -t ex2 /dev/hda3 /mnt/linux

(7) ISO 이미지 파일
mount -t iso9660 -o loop mandrake...iso /mnt/iso

(8) NFS
mount -t nfs aaa.net:/home/nfs /mnt/nfs

(9) 기타
wowlinux 6.2 up을 깔아 봤는데, /(루트)에 도스영역이 나오더군요.
다른 곳에도 그런가...

파일 시스템을 자동으로 마운트 하실려면
/etc/fstab 을 보세요.

Trackbacks 0 : Comments 0

Write a comment


리눅스에서 CD 굽기

┃ Linux 2008.07.14 17:18

우선 CDRW가 잘 설정되어있는지부터 보면..
CD라이터는 EIDE장치라도 리눅스에서는 죄다 SCSI장비로 인식되더군요. 이게 제대로 설정되려면 부트로더를 좀 수정합니다.

리로를 쓴다면;

append="hdc=ide-scsi"

를 추가하고 그럽을 쓴다면;

title Red Hat Linux (2.4.9-34SGI_XFS_1.1custom)
root (hd1,0)
kernel /boot/vmlinuz-2.4.9-34SGI_XFS_1.1custom ro root=/dev/hdb1 hdc=ide-scsi

처럼 끝에 hdc=ide-scsi를 추가하면됩니다.
(물론 이 ODD장비가 hdc자리에 물려있다는 가정하에서.)

그리고 재부팅하면 /etc/fstab를 자동으로 업데이트하면서 원래;

$ ls -l /dev/cdrom
lrwxr-xr-x 1 root root 9 9월 28 14:58 /dev/cdrom -> /dev/hdc

이던것이;

$ ls -l /dev/cdrom
lrwxr-xr-x 1 root root 9 9월 28 14:58 /dev/cdrom -> /dev/scd0

0. 장치명 알아내기

1) 공시디를 넣고 다음 명령을 입력한다.

2) wodim --devices

or

cdrecord -devices

1. 하드의 파일을 iso파일로 만들기

# mkisofs -o 생성될파일.iso -R -V CD타이틀명 원본파일경로
1) -o 생성될파일.iso
생성될 ISO파일명을 지정하는 옵션

2) -R
Rock Ridge의 약자로 윈도우의 졸리엣처럼 긴파일명을 지원해주기 위한 옵션

3) -J
Rock Ridge의 약자로 윈도우의 졸리엣처럼 긴파일명을 지원해주기 위한 옵션

4) -V CD타이틀명
CD의 타이틀명을 지정하기위한 옵션. 띄어쓰기가 있을 경우 " " (따옴표)로 묶으면 된다.

5) 원본파일경로
CD로 제작할 파일이 들어있는 디렉토리를 지정하면 된다.
자동으로 용량을 제한하지는 않으므로 디렉토리에 알맞은 크기로 복사해놓아야 한다.

2. iso파일을 CD로 굽기

# cdrecord -v -eject speed=배속 dev=장치ID 원본파일.iso
1) -scanbus
CD레코더 장치가 있는지 있으면 어디로 연결되어 있는지 확인하는 옵션

2) -v
상세한 레코딩정보를 보여주는 옵션

3) -eject
레코딩이 완료된 경우 자동으로 CD를 꺼내는 옵션

4) -dummy
실제 레코딩을 하지 않고 정상적으로 레코딩이 되는지 확인하는 옵션

5) speed=배속
레코딩속도를 지정하는 옵션. 나의 경우는 안전한 CD굽기를 위해 16정도로 지정해준다.

6) dev=장치ID
CD레코더 장치의 고유ID를 의미하며, dev=0,0,0 과 같이 지정하는 것이 보통이며, -scanbus로 확인할 때 장치가 ATA로 표시되어 있다면, dev=ATA:0,0,0 으로 지정하면 된다. ATAPI로 장치가 표시되는 경우는 마찬가지로 ATA대신에 ATAPI로 쓰면 된다.

7) 원본파일.iso
레코딩할 원본파일의 경로를 적어준다.

3. ISO파일을 생성하지 않고 바로 CD로 만들기

# mkisofs -R -V CD타이틀명 원본파일경로 | cdrecord -v -eject speed=배속 dev=장치ID -
모든 옵션은 위에 있는 것과 동일하며 주의할 사항은 마지막에 ' - '를 꼭 붙여주어야 한다는 점이다.
이 경우 ISO파일을 생성하지 않는 것이라기보다는 파이프라인(unnamed pipe)이란 것을 이용하여 cdrecord로 ISO파일 내용을 넘겨주며 CD레코딩이 이루어진다.
그래서 ISO파일은 남지 않게 된다. 용량을 절약할 수 있으며, iso파일이 필요없다면 시간도 훨씬 절약할 수 있다.


4. CD를 iso파일로 이미지뜨기

# dd if=/dev/cdrom of=이미지.iso
1) if=원본이미지파일|원본장치
읽어들일려는 원본장치나 원본이미지파일을 지정하는 속성
CD의 경우 부팅시디도 부팅이미지로 읽을 수 있다.

2) of=복사이미지파일|복사장치
복사될 장치나 생성될 이미지파일을 지정하는 속성
이미지를 뜨는데 뿐만 아니라 하드백업할 때도 사용할 수 있다.
# cat /dev/cdrom > 이미지.iso
위의 명령과 같은 결과를 낳는다.
/dev/cdrom원본장치가 되고, 이미지.iso복사되서 생성될 이미지 파일명이 된다.
Trackbacks 0 : Comments 0

Write a comment


fedora 업데이트 빠른 미러사이트 설정하기

┃ Linux 2008.07.01 01:30

출처 : http://link.allblog.net/9433928

어찌하다 페도라를 사용하게 되었는데 업데이트를 하는데 무척 느리더군요.

미러사이트 문제 같아서 검색해보니 혹시나가 역시나 였습니다.

퍼온 곳에서 자세히 설명하고 있으니 참고하세요.

p.s. 빠른 미러사이트 찾는 플러그인(yum-fastestmirror)이 있지만 아예 아래처럼 미러사이트를 지정해 주는것이 시간적으로 더 빠를 것 같습니다.

1. /etc/yum.repos.d/local-fedora을 만드신 다음에 내용을 다음과 같이 추가합니다.
#ftp://ftp.riken.jp/pub/Linux/fedora/releases/$releasever/Everything/$basearch/os/
ftp://ftp.sayclub.com/pub/fedora/releases/$releasever/Everything/$basearch/os/

2. 이번에는 etc/yum.repos.d/local-fedora-updates 파일을 만드신다음에 아래와 같은 내용을 추가합니다.
#ftp://ftp.riken.jp/pub/Linux/fedora/updates/$releasever/$basearch/
ftp://ftp.sayclub.com/pub/fedora/updates/$releasever/$basearch/

#은 주석인데, 만약 세이클럽 안돌아가면 일본 사이트 쓰려고 해논 겁니다.

3. /etc/yum.repos.d 에 가면 fedora.repo랑 fedora-updates.repo가 있는데 이 안의 내용을 변경해 주시면 됩니다.

fedora.repo 내용은 다음과 같고

[fedora]
name=Fedora $releasever - $basearch
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY

[fedora-debuginfo]
name=Fedora $releasever - $basearch - Debug
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-debug-$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY

[fedora-source]
name=Fedora $releasever - Source
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/source/SRPMS/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-source-$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY

fedora-updates.repo 내용은 다음과 같습니다.

[updates]
name=Fedora $releasever - $basearch - Updates
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/updates/$releasever/$basearch/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora

[updates-debuginfo]
name=Fedora $releasever - $basearch - Updates - Debug
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/updates/$releasever/$basearch/debug/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-debug-f$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora

[updates-source]
name=Fedora $releasever - Updates Source
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/updates/$releasever/SRPMS/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-source-f$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora

4. 이중에 맨위의 미러들을 고쳐줍니다.

fedora.repo :
원본
[fedora]
name=Fedora $releasever - $basearch
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY

이렇게 변경 -->
[fedora]
name=Fedora $releasever - $basearch
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
mirrorlist=file:///etc/yum.repos.d/local-fedora
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY

fedora-updates.repo :
원본
[updates]
name=Fedora $releasever - $basearch - Updates
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/updates/$releasever/$basearch/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora

마찬가지로 이렇게 변경 -->
[updates]
name=Fedora $releasever - $basearch - Updates
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/updates/$releasever/$basearch/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
mirrorlist=file:///etc/yum.repos.d/local-fedora-updates
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora

그럼 미러리스트들을 local-fedora와 local-fedora-updates안의 주소로 인식하게 됩니다. 저장해주고 나온다음 yum update를 실행해 봅시다. 속도가 빨라진걸 느끼실수 있을 겁니다. 파일이 꼬여서 업데이트나 인스톨이 되지 않을 경우 yum clean all 명령으로 초기화 하신 후 사용하면 됩니다- 참고하세요-

**** 원문 소스에는 오타가 있습니다
http://appleparan.egloos.com/605441

Trackbacks 0 : Comments 0

Write a comment


Fedora 8 마우스 설정

┃ Linux 2008.06.30 13:56

관리자(root) 로그인

/etc/X11/xorg.conf 파일 수정

Section "InputDevice"

Identifier "VMMouse"

Driver "vmmouse"

Option"Device" "/dev/input/mice"

Option "Emulate3Buttons" "yes"

EndSection

을 다음과 같이 2줄을 추가한다.

Section "InputDevice"

Identifier "VMMouse"

Driver "vmmouse"

Option"Device" "/dev/input/mice"

Option "Emulate3Buttons" "yes"j

Option "Protocol" "ExplorerPS/2" <- 추가

Option "ZAxisMapping" "4 5" <- 추가

EndSection

Trackbacks 0 : Comments 0

Write a comment


리눅스 한글 UTF-8 환경 구축

┃ Linux 2008.03.23 13:47

vi편집기에서도 UTF-8기반 한글 텍스트를 다룰 수 있다고 해서 퍼왔습니다 ㅋㅋ

출처 : http://theeye.pe.kr/190

요즘의 웹 개발 추세가 UTF-8 환경으로 바뀌고 있어 EUC-KR환경의 서버로는 관리상에 애로사항이 발생하기 마련이다.

다음과 같은 방법으로 UTF-8기반의 서버로 변경할 수 있다.

/etc/sysconfig/i18n 다음 내용을 변경한다.

LANG="ko_KR.UTF-8"
SUPPORTED
="ko_KR.UTF-8:ko_KR:ko:en_US.UTF-8:en_US:en"
SYSFONT
="latarcyrheb-sun16"
SYSFONTACM
="8859-15"


/etc/bashrc 다음 내용을 추가한다.

export LANG="ko_KR.UTF-8"
export LC_ALL="ko_KR.UTF-8"


/etc/vimrc 다음 내용을 변경한다.

if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
set fileencodings
=utf-8,euc-kr
endif



SecureCRT를 사용할 경우 Session Option에서 위와 같이 옵션을 설정해 준다.

위와 같은 방법으로 vi에서도 UTF-8 기반의 한글 텍스트 파일을 자유자재로 수정할 수 있게 된다.
Trackbacks 0 : Comments 0

Write a comment


[본문스크랩] GPL(GNU General Public License) 버전3 - 주요내용 검토

┃ Linux 2007.12.02 14:22

Ⅰ. 들어가는 말


자유소프트웨어재단(FSF, Free Software Foundation)은 29일(미국시간) 정오에
보스톤 사무실에서 GPL버전 3(이하 GPLv3로 함)을 공식적으로 발표했다.
현재 사용되는 GPL버전2(이하 GPLv2)는 1991년 6월에 개정된 것으로서 GPLv2가
서버/클라이언트로 작성되었기 때문에 현재의 변화된 컴퓨팅 환경에서는 자유로운 SW의
사용을 보장하는 것이 조금은 부족할 수 있다는 의견이 많았다. 이러한 시간적 간격을
메우기 위해 GNU/FSF 저작권 팀에서 모글렌 교수를 중심으로 GPL 3판에 대한 논의가
진행되었으며 드디어 그 결실을 맺은 것이다.
이번 GPLv3는 GPLv2가 공개된 후 16년만에 이루어지는 것으로 18개월 동안의
논쟁과 4차례에 걸친 초안 작성 끝에 만들어졌다. 그 영향만큼 많은 논쟁과 이슈를
남겼으며 앞으로도 많은 논쟁의 여지를 남기고 있다.
본고에서는 GPL에 대한 간단한 소개와 GPLv3의 주요내용을 살펴보도록 한다.

Ⅱ. GPL이란 무엇인가?


GPL(GNU General Public License)은 리차드스톨만(Richard Stallman)에 의해 만들어진
라이선스로 GNU프로젝트에 가장 먼저 적용되었으며, 가장 널리 적용되고 사용되는
대표적인 공개소프트웨어의 라이센스이다. GPL로 배포된 SW는 누구나 쉽게 수정,
복제, 배포가 가능하지만 아래와 같은 일정한 조건하에서만 허용된다.
① 사용자가 소스코드를 쉽게 사용할 수 있어야 한다.
② 배포되는 소프트웨어에는 GNU GPL이 포함되어 있어야 한다. 배포된 소프트웨어를
사용하는 사람은 GPL상의 사용허가를 그대로 유지하는 조건하에 소스코드를
자유롭게 복제, 배포할 수 있다.
③ 쌍방향(interactive)프로그램의 경우, 프로그램이 시작될 때 이를 게시하여야 한다.
④ 프로그램을 수정할 경우에는 언제, 누구에 의해 수정되는지를 명시해야한다.
⑤ 파생품을 만들수 있으며 만들어진 파생품에는 GPL이 적용되어야 한다. 즉,
소프트웨어를 양도받은 자는 소프트웨어를 자유롭게 개작할 수 있고, 개작된
소프트웨어는 GPL을 그대로 유지하는 조건에서 배포할 수 있다.
⑥ GPL소프트웨어를 결합하여 만든 소프트웨어에는 반드시 GPL이 적용되어야 한다.
⑦ 소프트웨어가 오브젝트 파일(object code)이나 실행파일 형태로 배포될 경우
반드시 소스코드를 함께 제공하여야 한다.
⑧ GPL하에서 배포되는 소프트웨어는 무상으로 제공되는 것이므로 소프트웨어에
대한 어떠한 보증도 제공되지 않는다.
1984년 FSF를 설립한 이후 1989년에 FSF에 의해 GPL 1.0이 만들어 졌으며 1991년
FSF에 의해 GPL 2.0이 만들어져 현재까지 사용되고 있다.

Ⅲ. GPLv3의 주요내용

1. 배포(propagate)와 전송(convey)의 개념 도입(제0조)
기존의 GPL의 배포에서는 ‘distribute’라는 용어를 사용하여 온․오프라인의 배포를
포괄하는 개념으로 사용하였으나 GPLv3에서는 오프라인에서 배포의 개념으로 ‘propagate'
란 용어를, 온라인에서 전송의 개념으로 ’convey'라는 용어를 사용하고 있다.


2. GPLv3하의 SW에 대한 DRM 배제(제3조)
GPLv3에서는 GPLv3가 적용되는 코드를 사용하는 사람들은 WIPO저작권조약 제11조1)의
기술적 보호조치에 관한 의무규정과 기술적 보호조치를 우회하거나 제한하는 유사법률
에 의해 보장되는 권리를 자동적으로 포기하게끔 규정하고 있다.
DRM과 관련해서 FSF에서는 이미 사용자가 영화를 감상하거나 음악이나 그 외의
디지털 컨텐츠를 재생하거나 하는 방법의 제한을 목적으로 하는 DRM 기술은 FSF의
이념과 ‘본질적으로 호환되지 않는다’면서 DRM을 강하게 배척해왔으며 최종버전에
이를 반영한 것이다.


3. 안티-티보이제이션(anti-tivoization)’ 조항 신설(제6조)
‘티보(TiVo)’는 개인용 비디오 레코더로 리눅스를 사용하고 있는데도 티보를 사용된
리눅스를 수정하지 못하도록 했다. 이것이 문제가 되어 하드웨어에 설치된 공개SW를
수정하거나 개작하지 못하도록 하는 행위를 ‘Tivoization’이라고 한다.
GPLv3에서는 이러한 행위를 막기 위해 GPL 코드를 사용하는 프로그램이 내장된
기기의 소유자는 해당 기기의 코드를 수정할 수 있도록 규정하고 있다.


4. 「MS-노벨」계약과 유사한 협정을 막기 위한 특허보복조항 신설(제10조)
MS와 노벨의 계약이란 2006년 11월에 MS가 노벨의 수세 리눅스 기업용 서버를
위한 쿠폰을 판매하고 구매자를 특허 침해로 고소하지 않기로 합의한 노벨-MS 간의
계약을 말한다.
GPLv3 초안에서는 해당 거래가 적용되는 SW의 보급을 금지했지만 최종 버전에서는
향후 거래만을 금하고 있다.
GPLv3에서는 특정 소프트웨어를 당신으로부터 받아 사용하는 사람들에게 특허권을
보호할 수 있는 조처를 제공한다면, 다른 수단을 통해 해당 소프트웨어를 받아 사용하는
사람들에게도 자동적으로 그와 똑같은 혜택이 보장되도록 규정하고 있다.
따라서 MS의 쿠폰을 구입하지 않고 노벨의 수세리눅스를 탑재한 서버를 구매하더라도
MS의 쿠폰을 구매한 것과 똑같이 특허를 이용할 수 있게 된다.


4. 특허권 사용의 인정(제11조)
GPLv3에서는 명시적으로 특허권의 사용을 허용하고 있다. 하지만 GPL 프로젝트를
통해 SW를 개발하는 모든 개인 및 단체들은 SW에 적용된 모든 특허 기술을 로열티
없이 영구적으로 공개해야 한다고 하여 SW특허에 대한 문제를 다루고 있다.

5. Affero GPL2)의 호환하도록 규정(제13조)
Affero GPL(Affero General Public License)은 Affero사가 만든 라이선스를 말한다.
Affero사는 네트워크를 기반으로 서비스를 제공하는 회사로 이들은 자신의 웹서비스의
소스코드를 인터넷을 통해 제공하고 있었다.
그러나 기존의 GPLv2에 따를 경우 Affero의 웹서비스 소스코드를 무단으로 사용하여
서비스하여도 이를 복제․배포만 하지 않으면 아무런 문제가 발생하지 않았다. 이에
Affero는 사용자와 후원자, 그리고 개발자 공동체간의 일정한 권리를 보호해 궁극적으로
자유의 보장을 이룰 수 없다고 판단하고 웹서비스와 네트워크를 기반으로 동작하는
응용 프로그램의 배포의 경우에도 소스코드를 공개하도록 하였다.
Affero GPL(Affero General Public License)은 GPLv2를 기본 골자로 하고, 웹
서비스와 컴퓨터 네트워크를 기반으로 동작하는 응용 프로그램의 이용에 적용하기 위한
규정(제2조제4항3))을 추가한 것이다.
GPLv3에서는 이러한 Affero GPL라이선스와 호환되도록 규정하고 있다.

6. GPLv3의 LGPL 흡수
이번 발표에서는 GPLv3와 함께 LGPL(Lesser GNU General Public License)도 함께
발표했다. GPLv2에서는 LGPL이 별도의 라이선스로 적용이 되었지만 GPLv3에서는
LGPL은 GPL의 특별한 경우로 통합시켰다.

Ⅳ. 향후 과제

GPLv3가 발표된 지 3일밖에 안 되었기 때문에 앞으로 해결해야할 많은 문제들을
가지고 있다. 그 중에서도 리눅스 커널이 GPLv3를 채택할 것인가의 여부, 라이선스
문구에 대한 해석문제, GPLv2와 GPLv3의 혼용에 따른 개발자들의 혼란 등은 당장
해결해야할 시급한 문제가 될 것으로 예상된다.
3) 제2조. 피양도자는 자신이 양도받은 프로그램의 전부나 일부를 개작할 수 있으며, 이를 통해서 2차적 프로그램을 창작할 수
있습니다. 개작된 프로그램이나 창작된 2차적 프로그램은 다음의 사항들을 모두 만족시키는 조건에 한해서, 제1조의 규정에
따라 또다시 복제되고 배포될 수 있습니다.
제4항. 프로그램이 컴퓨터 네트워크를 통해 대화형으로 작동되도록 의도된 것이었고 양도받은 특정 판(version)이 이를 사
용하는 어떠한 사용자에 대해서도 전체 원시 코드의 전송을 요청할 수 있는 기능을 제공하고 있다면, 프로그램을 개작하
거나 2차적 프로그램을 창작할 때 이러한 기능을 제외시킬 수 없습니다. 또한 개작된 프로그램이나 2차적 프로그램의 전
체 원시 코드의 전송을 HTTP로 즉시 요청할 수 있는 기회를 컴퓨터 네트워크를 통해 프로그램을 작동시키는 모든 사용
자에게 동등하게 제공해야 합니다.
앞으로 몇 달간은 오픈소스와 관련해서 GPLv3가 이슈가 될 것으로 예상되며 이에
대한 지속적인 관심을 통해 올바른 GPL 가이드가 필요할 것이다.

출처 및 저자 -----------------------------

◈ SW지재권 이슈 분석 ◈
SW정책개발팀 이 진 태(lawboy@socop.or.kr)

Trackbacks 0 : Comments 0

Write a comment


[우분투7.10] 한글 입력기(nabi)설치와 폰트설치

┃ Linux 2007.12.02 12:03

출처 : http://blog.naver.com/chuchinhwan?Redirect=Log&logNo=40012921827

1. 한글 입력기 설정

: 나비(XIM 한글 입력기) 설치

코드:
$ sudo apt-get install nabi



: gnome setting

코드:
$ cd ~
$ vi .gnomerc
export XMODIFIERS="@im=nabi"
export GTK_IM_MODULE=xim
export VTE_USE_XFT=0



: 나비 자동 실행 설정

메뉴에서 시스템 -> 기본 설정 -> 세션
-> 시작 프로그램 탭에서 + 더하기(A) 버튼을 누르고 /usr/bin/nabi 를 등록합니다.



2. 폰트 및 볼드패치 설정

: 윈도우 폰트인 굴림,바탕,돋움 폰트 다운 (참고 : 아래 코드는 한줄입니다.)

코드:
$ wget -c ftp://ftp.haansoftlinux.com/pub/haansoftlinux/OS/2005/Workstation/RPMS/hanyang-ttf-2.0-2hs.noarch.rpm




: 한글 폰트설치 (alien 도구를 이용)

코드:
$ sudo apt-get install alien
$ sudoalien-i hanyang-ttf-2.0-2hs.noarch.rpm
$ sudo fc-cache



이제 메뉴에서 시스템 -> 기본 설정 -> 글꼴 을 선택하면
Gulim, Dotum, Batang 폰트를 볼 수 있습니다.

: 추가 글꼴 설치

코드:
$ sudo apt-get install ttf-alee ttf-unfonts


: 볼드 패치 패키지 설치

download Xft patch ( libxft2_2.1.2-6ubuntu1_i386.deb, libxft2-dbg_2.1.2-6ubuntu1_i386.deb )

설치

코드:

$ sudo dpkg -i libxft2_2.1.2-6ubuntu1_i386.deb

$ sudo dpkg -i libxft2-dbg_2.1.2-6ubuntu2_i386.deb

Trackbacks 0 : Comments 0

Write a comment


우분투 7.10 한글 예쁘게 나오게 하기

┃ Linux 2007.12.02 11:32

저같은 경우 6.x에서 은진체로 잘 나왔는데요 7.10 까니까 은진채로 하면 예쁘게 안나오고 꼭 깨진것처럼 나오드라구요

일단 antialias가 설정이 안되어 있기 때문에 발생한 경우인데요.

/etc/fonts/language-selector.conf 파일로 들어가셔서

로 시작하는 부분의 밑 부분을 보시면 false라고 적힌 부분이 있는데 모두 true로 바꾸신 후 xwindows 재부팅 하시면 됩니다.

Trackbacks 0 : Comments 0

Write a comment


[본문스크랩] 우분투(Ubuntu) 설치 후 사라진 Windows XP 복구 방법

┃ Linux 2007.12.01 19:04

우분투 7.10을 설치한 이후 윈도 XP가 뜨지 않는다는 제보(?)가 심심치 않게 들립니다. 이 경우에 어떻게 하는지에 대하여 아래 써 놓았는데도 많은 분들이 조금 혼동스럽게 생각하고 있습니다.

따라서 그림을 곁들여 우분투 7.10을 설치한 후 윈도 XP가 뜨지 않을 때의 복구 방법을 설명할까 합니다.

  • 윈도 XP의 복구가 가능한 경우
    • 우분투를 설치한 후 윈 XP가 뜨지 않음
    • 마운트된 드라이브를 보면 'sda1'(또는 개인 환경에 따라서 'sda2'로 존재할 경우도 있습니다.)이 존재하고 그 안 폴더를 보면 "Windows"폴더 및 XP환경에서의 여러 폴더가 존재함 - 마운트 된 하드에서 Windows"폴더 및 XP환경에서의 여러 폴더가 존재하는지 찾아 보시라는 이야기입니다.
  • 윈도 XP의 복구가 불가능한 경우
    • 우분투를 설치한 후 윈 XP가 뜨지 않음
    • 마운트된 드라이브를 열어 아무리 찾아 봐도 Windows"폴더 및 XP환경에서의 여러 폴더가 보이지 않음 - 기존 윈 XP 드리이브가 포멧된 경우입니다. 불가합니다.
  • 자신의 시스템이 복구 가능한지 확인하셨으면 아래 <그림 1>을 참고하여 터미널을 엽니다.

<그림 1>

  • 아래 <그림 2>를 참고하여 root 계정으로 gedit를 띄워 작업합니다.

계정@ubuntu:~$ sudo -s- root로 들어갑니다.
[sudo] password for 계정:- root 암호를 넣습니다.
root@ubuntu:~# gedit- gedit( 텍스트 편집기)을 엽니다.

<그림 2>

  • 'enu.lst'의 경로는 아래와 같으며 이해가 되지 않는 분은<그림 3>을 참조하시기 바랍니다.

/boot/grub/menu.lst

<그림 3>


  • 위 <그림 3>을 참조하시면 "menu.lst"가 열립니다. 이를 사정에 맞게 수정하시면 됩니다.
  • 아래는 제 시스템(우분투 7.10)의 "menu.lst"이며 이를 수정하는 방법을 간단하게 적었습니다.(파일로 첨부되어 있기도 합니다.) 영어로 되어 있지만 잘 읽어 보시면 어렵지 않게 되어 있습니다. 몇 번 만져보는 수고를 하시면 쉽게 수정하실 수 있습니다.

  • 나의 menu.lst
  • 전제 : 각 줄의 명령이 유효하게 하시려면 각 줄 맨 앞의 "#"표시를 지우시면 됩니다.
# menu.lst - See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-doc/.

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not use 'savedefault' or your
# array will desync and will not let you boot your system.
default 0

## timeout sec - 처음 grub가 뜰 때의 시간을 나타냅니다. 아마 이 시간을 0으로 하면 가장 위에 올라온 시스템(우분투)으로만 부팅되겠죠.
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 10 -10초로 지정되어 있습니다.

## hiddenmenu -말 그대로 메뉴를 숨기는 것입니다. "ESC"를 누르면 나타난다고 되어 있죠?
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu - 앞의 #을 지우시면 구동시 grub는 "hiddenmenu"를 실행합니다.

# Pretty colours
#color cyan/blue white/blue

## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret

#
# examples - 예를 적어 놨네요.
#
# title Windows 95/98/NT/2000
# root (hd0,0) - C드라이브의 첫번째 파티션
# makeactive
# chainloader +1
#
# title Linux
# root (hd0,1) - C드라이브의 첫번째 파티션
# kernel /vmlinuz root=/dev/hda2 ro
#

#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST

### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below

## DO NOT UNCOMMENT THEM, Just edit them to your needs

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=451e8690-c177-4720-8ee5-090837eae5e1 ro

## Setup crashdump menu entries
## e.g. crashdump=1
# crashdump=0

## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,2)

## should update-grub create alternative automagic boot options
## e.g. alternative=true
## alternative=false
# alternative=true

## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
## lockalternative=false
# lockalternative=false

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash

## should update-grub lock old automagic boot options
## e.g. lockold=false
## lockold=true
# lockold=false

## Xen hypervisor options to use with the default Xen boot option
# xenhopt=

## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
## altoptions=(recovery) single
# altoptions=(recovery mode) single

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
## howmany=7
# howmany=all

## should update-grub create memtest86 boot option
## e.g. memtest86=true
## memtest86=false
# memtest86=true

## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false

## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false

## ## End Default Options ## - 아래부터가 grub메뉴에 나타나는 OS들이 순서입니다.

title Ubuntu 7.10, kernel 2.6.22-14-generic - 우분투
root (hd0,2) - 디폴트 드라이브의 세번째 파티션
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=451e8690-c177-4720-8ee5-090837eae5e1 ro quiet splash
initrd /boot/initrd.img-2.6.22-14-generic
quiet

title Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)
root (hd0,2)
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=451e8690-c177-4720-8ee5-090837eae5e1 ro single
initrd /boot/initrd.img-2.6.22-14-generic

title Ubuntu 7.10, memtest86+
root (hd0,2)
kernel /boot/memtest86+.bin
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title Other operating systems:
root


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title Microsoft Windows XP Professional - 윈 XP
root (hd0,0) - 디폴트 하드의 첫번째 파티션
savedefault
makeactive
chainloader +1

여기까지가 제 "menu.lst"의 내용인데요, 빨간 글씨는 저의 설명입니다. 좀 어렵게 느껴 지실 것 같은데요, 쉽게 정리하면 아래와 같습니다.

1. root 계정으로 들어가 gedit를 연다.
2. 경로를 찾아( /boot/grub/menu.lst) menu.lst 파일을 연다.
3. menu.lst 파일을 아래와 같이 수정한다.

## ## End Default Options ##
여기
titleUbuntu gutsy (development branch), kernel 2.6.22-13-generic
root(hd0,2)
kernel/boot/vmlinuz-2.6.22-13-generic root=UUID=d4054918-443a-46cb-a7c7-864c0bd00dd7 ro quiet splash
initrd/boot/initrd.img-2.6.22-13-generic

부분이 나오는데, 이 부분 다음에

titleWindows 95/98/NT/2000
root(hd0,0)
makeactive
chainloader+1

라는 네 줄을 입력한다. 이 때 염두해야 할 점은 혹 윈도가 어디에 설치되었는지 확인해야 한다는 것입니다. 대부분은 마스터 드리이브의 처음 파티션("C"라고 하죠.)에 윈도를 설치하기 때문에 위와 같이 입력하면 됩니다만, 혹 파티션을 나눠 두번째 파티션("D")에 윈도를 설치하셨다면 그에 알맞게 위 입력 부분 중에서

root(hd0,0)

를 아래와 같이 조정하셔야 합니다.

root(hd0,0) - 마스터 하드의 첫번째 파티션("C")에 윈도 XP가 설치된 경우
root(hd0,1) - 마스터 하드의 두번째 파티션("D")에 윈도 XP가 설치된 경우
root(hd0,2) - 마스터 하드의 세번째 파티션("E")에 윈도 XP가 설치된 경우

root(hd1,0) - 슬래이브 하드의 첫번째 파티션("C")에 윈도 XP가 설치된 경우
root(hd1,1) - 슬래이브 하드의 두번째 파티션("D")에 윈도 XP가 설치된 경우
root(hd1,2) - 슬래이브 하드의 세번째 파티션("E")에 윈도 XP가 설치된 경우

4. 처음 부팅할 때 GRUB메뉴에서 윈도를 가장 윗 줄에 보이게 하려면 위 설정을 3번의 <여기>에 적어 주시면 됩니다.
Trackbacks 0 : Comments 0

Write a comment


ubuntu compiz fusion off

┃ Linux 2007.12.01 17:15

출처 : http://onlyperl.egloos.com/3911376

ubuntu compiz fusion off

우분투 7.10 부터는 compiz-fusion이 기본으로 탑재 된다.

이 기능을 끄기위해서

/etc/compizconfig/config 에서 general 섹션에서 true를 false로 바꾸면 간단하게 변경이 가능하다.

Trackbacks 0 : Comments 0

Write a comment


[링크스크랩] Apache 서버 소스 컴파일 설치하기

┃ Linux 2007.11.27 19:09
*보기- Apache 서버 소스 컴파일 설치하기
Trackbacks 0 : Comments 0

Write a comment


[우분투]OpenSSH 로 VPN 구축하기

┃ Linux 2007.11.23 16:41

출처 : http://swbae.egloos.com/1670161

OpenSSH 로 VPN 구축하기

예전에는 SSH 을 이용해 포트 포워딩을 하는 형태로 방화벽 우회를 많이 했지만, 최근의 OpenSSH 에서 터널링을 위한 tun 인터페이스를 제공하기 시작하면서 VPN 을 구축할 수 있게 되었습니다.

데비안 서버와 클라이언트 설정 하기 : http://www.debian-administration.org/articles/539
우분투에서 SSH VPN 구축하기 : https://help.ubuntu.com/community/SSH_VPN
(조금더 쉽게 설명한 자료는 http://www.perturb.org/display/entry/770/ )

이제 서버 중 단 1 대가 뚫려서 root 권한을 빼앗기게 되도, 해커가 내부 네트워크에 손쉽게 접근할 수 있는 시대라고 할까요?

참고자료 :
1. SSH Tips
2. SSH Howto
3. SSH Tunnelling

Trackbacks 0 : Comments 0

Write a comment


[우분투] EUC-KR설정

┃ Linux 2007.11.17 14:36

출처 : http://vsstar.egloos.com/1594857

[우분투] EUC-KR설정

sftp를 사용해서 교수님 ftp 사이트를 접속하다보니. 한글로된 폴더가 전혀(!) 보이지 않는 문제가 발생하였다.=_=

(처음엔 교수님이 일부러 디렉토리 초기화 작업을 하시는줄 알았다는..)

알고보니 우분투 시스템은 UTF-8이 gnome데스크탑의 기본으로 셋팅됨으로 인해.

EUC-KR을 지원하지 못해 생기는 현상이였다.:(

우선 EUC-KR을 설정하기 위해선 2가지 방법이 존재하는데 우선은 아래와 같은 명령어가 있다.

sudo locale-gen ko_KR.EUC-KR

두 번째 방법으로는 환경변수를 수정해 준다.

$cd /etc

$sudo vi enviroment

위의 세번째 라인을 코드에 추가해 준다. :)

다 설정 해준 후에는

sudo dpkg-reconfigure locales를 이용해서 문자셋을 설정해주고,

X-Window를 재시작(Alt+BackSpace)해주면 올바르게 문자가 출력되는 모습을 볼 수 있다. :)

Trackbacks 0 : Comments 0

Write a comment


우분투 7.10 설치 후 세팅 몇가지

┃ Linux 2007.11.16 23:44

출처 : http://onlyperl.egloos.com/3881283

우분투 7.10 설치 후 세팅 몇가지

우분투 7.10 설치후 추가 세팅
1. 한글세팅
설치 하자 마자 어설픈 한글화 패키징에 실망을 금할 수 없었다.
하지만 알게 되었다. 어설프게 설치 되었다는것을... 한국 리파지토리로 변경을 해야 정상적으로 세팅이 완료 되었다.

시스템 -> 기본설정 -> 관리 -> 시넵틱 꾸러미 관리자 실행
분류 -> 저장소 -> 다운로드 위치를 기타에서 ftp.daum.net으로 지정 및 업데이트.
시스템 -> 관리 -> 언어에서 korean 체크 및 추가 패키지 설치.


2. 폰트 세팅
리눅스에 사용할 걸출한 폰트가 부족한건 사실이다.
그래서 보통은 리눅스 고유의 폰트 보다는 "창문들" 폰트를 많이 쓴다.
보통 굴림을 많이 사용 하는데 이번에 새롭게 만들었다는 깨끗한 고딕을 세팅 해봤다.

우선
해당 폰트를 구한 다음 리눅스의 폰트 경로에 그냥 카피 한다.
이번에는 /usr/share/fonts/truetype/freefont 를 이용 했다. freefont라... 이름 참 마음에 든다.

시스템 -> 기본설정 -> 모양새 -> 글꼴에서 serif를 "깨끗한 고딕" 으로 열심히 바꿔준다.
바꿔줘도 일부 어플리케이션에서는 변동 사항이 안먹힌다. 대표적으로 firefox.
sans-serif는 실제 존재 하는 폰트가 아니다. 다른 폰트로 매핑 되어 있다.
이 매핑을 깨끗한 굴림으로 바꿔줘야 한다.

/etc/fonts/language-selector.conf
파일을 연후,

sans-serif

UnDotum
Guseul

이부분을 알래와 같이 바꿔준다.
sans-serif

Malgun Gothic

저장 후 ctrl + alt + backspace를 눌러서 X윈도우를 재시작 한다.

물론 각종어플리케이션을 위한 폰트는 깨끗한 고딕을 쓰지만, 웹에서는 역시 굴림이 최고다. 파이어 폭스 굴림 세팅!!

3. 백스페이스 세팅
파이어폭스를 실행 한다.
주소창에 about:config 를 입력 한다.
browser.backspace_action 값을 1(false)에서 0(true)으로 변경 한다.

4. 바탕화면 세팅
메뉴가 바뀌었다.
시스템 -> 기본설정 -> 모양새 에서 해야 한다.
해 뜨는 풍경인지 해지는 풍경인지 논란은 많지만 내가 애용 하고 있는 바탕화면으로 바꿨다.
물론 칙칙하다 이런 의견도 많지만 우분투 기본 테마랑도 잘 어울린다.

근데 오늘또 바꿨다 ㅡ.ㅡ;; 레오파트 꺼라고 하는데... 맞는지..ㅋㅋㅋ

5. tp-scroll 세팅
/etc/X11/xorg.conf 편집
세팅 수정.(vmware일 경우)
Option "Protocol" "imps/2"
세팅 추가.
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
Option "EmulateWheel" "on"
Option "Emulate3Timeout" "70"
Option "EmulateWheelButton" "2"
Option "Buttons" "5"


6. 네이트 온
요즘 가장 많이 사용하는 메신저가 네이트온이란 생각이 든다.
네이트온 공식 리파지 토리는 : http://kldp.net/frs/?group_id=1143&release_id=2329 이다.
하지만 deb로는 패키징을 안해 놓으셨다. ㅡ.ㅡ;; 밉다.
예전 버전이긴 하지만 랜덤의 여신님께서 패키징 해놓으셨다.(이분 남자다!)
사랑해요~~
http://barosl.com/blog/entry/nateon-for-linux-open-beta
여기에두개의 파일이 있는데 다운로드 받아서 더블 클릭만 해주면 알아서 설치 한다.
네이트온 1.0 베타 : knateon_1.0-1_i386.deb
네이트온 1.0 베타 통합메시지함 : messagebox_1.0-1_i386.deb

Trackbacks 0 : Comments 1
  1. Favicon of http://blog.naver.com/noota BlogIcon 누더기 2008.03.17 16:50 Modify/Delete Reply

    ㄳㄳ

Write a comment