mysql

"select * from t_name limit 0, 1000"

MSSQL

"select row_number() as rownum, * from t_name  where rownum BETWEEN 0 and 1000"


mysql

"select * from t_name limit 3, 1000"

MSSQL

"select row_number() as rownum, * from t_name where rownum BETWEEN 3 and 3+1000"

2009/04/01 00:53 2009/04/01 00:53
Posted by 인생을 설계하는 프로그래머

Apache의 Tomcat ... 젠장
완전 깡패(Apache)에 양아치(Tomcat:여자뒤를 졸졸 따라다니는 남자)같은 놈들이다.
이놈들과 씨름한지 사흘째... 결국 결론을 찾았다.

첫째날..
Tomcat5를 Fedora6에 설치했다. Manager까지 띄우고 나서 설치할려고 하는 Web Application이 컴파일이 안되서 하루를 잡아먹었다.... 결국 컴파일 성공

둘째날
설치한 Web Applicaion과 MySQL 사이에 한글 에러가 나서 하루를 잡아먹었다.... 결국 GG...

셋째날
한글문제를 해결할 방법을 찾아내다... 여러분 더 이상 고민하지 마라... 간단한 길이 있다...
정답은 바로... Redhat... 그것도 9..   Enterprise Edition 아니다.  Redhat9.. kernel 2.4

지금 부터 설명하는건 회사 웹서버 설치 방법이 아니다....
그냥 개인적인 서버 돌릴때나 써먹어라..
그리고 redhat9 쓴다고 비웃는 사람들... 다시는 내 블로그 오지마라.

그럼 시작해볼까..

Step1. Redhat9 을 설치한다. kaist 서버에 가면 있다. 속도도 빠르고... CD 3장 밖에 않한다.
설치 옵션은 webserver + ftpserver + 편집기 + 개발용도구(gnu-java 제외) + mysql
그렇다... 기본적인 mysql 쓴다. 3.x 버전인데 쓸만하다. 서브쿼리는 안되지만...
위에도 말했듯이 개인적인 서버 꾸밀때 쓰는 방법이다. 물론 노력하면 4.x 버전으로 설치 할 수 있다. 그건 다른 사람이 쓴 글 보고 연구하기 바란다.

Step2. 세팅 시작
-- 리눅스의 한글 설정 확인 vi /etc/sysconfig/i18n
-- 첫번재 줄에 LANG="ko_KR.eucKR" 로 설정되어 있다면 pass 그렇지 않다면 설정하고 저장
-- setup에 가서 mysqld, vsftpd, httpd 을 시스템 서비스 자동시작으로 바꿔준다

Step3. JAVA SDK 설치
-- java.sun.com 으로 가서 jdk-6u3-linux-i586.bin을 다운로드 받는다. 버전에 따라 파일명이 약간 다를 수 있다.
--  /usr/local/src 로 jdk-6u3-linux-i586.bin을 복사한다.
-- %cd /usr/local/src
-- sh jdk-6u3-linux-i586.bin
-- 압축이 다 풀리면  %cp -R jdk1.6.0_03 ../jdk

Step4. ant 설치
-- www.apache.org 로 가서 apache-ant-1.7.0-bin.tar.gz 다운로드
-- Ant가 뭔지 궁금한 사람은 따로 찾아보도록 하고 java에서 쓰는 make 라고 생각하면 된다.
-- /usr/local/src로 복사
-- %cd /usr/local/src
-- %tar xfz apache-ant-1.7.0-bin.tar.gz
-- cp -R apache-ant-1.7.0 ../ant

Step5. tomcat 설치
-- www.apache.org로 가서 /apache-tomcat-5.5.25.tar.gz 다운로드
-- /usr/local/src로 복사
-- %tar xfz apache-tomcat-5.5.25.tar.gz
-- %cp -R apache-tomcat-5.5.25 ../tomcat

Step6. 환경변수 설정
자 여기까지 왔으면 벌써 5개 설치됐다. httpd, mysqld, jdk, ant, tomcat....
명령 몇개 쳤는데 벌써 다 됐다. 이제 환경변수 설정해줘야 한다.
우리가 하는건 편한 윈도가 아니고 리눅스이기 때문에 이런거 다 해줘야 한다.
귀찮으면 윈도 써라... 처음부터 끝까지 마우스로만 설치해도 되는거 많다.
% vi /etc/profile
가장 아랫 줄로 가서
JAVA_HOME=/usr/local/jdk
export JAVA_HOME
ANT_HOME=/usr/local/ant
export ANT_HOME
CATALINA_HOME=/usr/local/tomcat
export CATALINA_HOME
PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin
export PATH
CLASSPATH=$CLASSPATH:$JAVA_PATH/lib:$CATALINA_HOME/common/lib
export CLASSPATH
추가 한 다음 저장하고 나온다.
환경변수 적용 : % source /etc/profile

Step7. Tomcat 설정
cd /usr/local/tomcat/conf
vi tomcat-user.xml
<tomcat-users> 태그 안에  
<user name="admin"  password="admin"  roles="admin, manager" /> 추가
이렇게 추가하면 tomcat manager 에 admin//admin 으로 로그인 가능하다.
저장하고 나와서 톰켓을 실행한다.
$CATALINA_HOME/bin/startup.sh
경로들이 제대로 나오면서
http://server_ip:8080 으로 접속해서 tomcat manager 화면이 나오면 성공
----------------------------------------------------------------------------------
정리하면서...
Tomcat 자체가 너무 생소했고... 아파치 http 와는 차원이 다른 한글문제 등으로 오랜동안
좌절했다... redhat9 의 경우 설치부터 eucKR 로 설치 하기 때문에 unicode -> eucKR 에서 생기는 문제점을 해결 가능하다. 하지만 커널 버전이 낮기 때문에 사람들이 선호하지 않는다.
근본적으로 한글 문제를 해결하기 위해서는 모든 페이지를 unicode로 만드는 것이다.

지금 설정으로는 80포트로는 php, 8080 포트로는 jsp 서비스가 가능하다. 80 포트로 php와 jsp 동시에 서비스 하기 위해서는 jakarta-connection 설정을 하면 된다. 이부분에 대해서는 각자 찾아보길 바란다. 내 생각으로는 방문자가 많지 않은 홈페이지에서는 아파치 서버와 꼭 연결할 필요없이 tomcat을 80으로 세팅해서 쓰는 방법도 괜찮을것 같다. 사람들이 말하길 아파치가 성능이 좀 좋다고 하는데 그거야 엄청난 방문자들이 들어올때 이야기고 아파치가 jsp를 처리한다고 해서 tomcat이 돌지 않아도 된다는 얘긴 아니다. 그리고 한 서버에서 php와 jsp를 동시에 돌리는 것은 별로 좋은 방법이 아니라고 본다.

2008/01/05 06:05 2008/01/05 06:05
Posted by 인생을 설계하는 프로그래머
톰캣을 설치하고 나서

몇날 몇일을 고생하게 만들었다.

다음과 같이 해결

JAVA_HOME=/usr/local/jdk1.6.0
ANT_HOME=/opt/SDK/lib/ant
CATALINA_HOME=/usr/local/apache-tomcat-5.5.25
export CATALINA_HOME
export ANT_HOME
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:
                  $CATALINA_HOME/common/lib/servlet-api.jar:
                  $CATALINA_HOME/common/lib/jsp-api.jar:
                  $CATALINA_HOME/webapps/ROOT/WEB-INF/classes

2008/01/04 06:45 2008/01/04 06:45
Posted by 인생을 설계하는 프로그래머
Fedora Core developers make it rather hard to install and properly configure Sun’s JVM. All said and done Sun’s JVM (comes with JDK) is the best JVM implementation out there; not to mention that it is the reference implementation. Here is how you can easily install JDK 6 / Java SE 6 in 5 minutes or less. Here are the steps:

1. Login as root

2. First you need to download it from here. This works fine from GUI browsers like Firefox, Internet Explorer or Safari. However Sun makes it very hard (from java.sun.com) to download it for Linux console users (like those trying to install on their dedicated web server). You cannot access the download link from text based lynx browser. Fortunately there is a way. I found a secret location for you to easily download JDK 6 using wget or curl (console apps). This is also very useful if you are planning to use any download accelerators. The current binary (32 bit version) is here. This link will surely change with time so it is better to browse to the link above and then access this link from that page.

Download it using wget or curl. The command, for example, today will be:
wget http://www.java.net/…/jdk-6u2-ea-bin-b02-linux-i586-12_apr_2007-rpm.bin

Note: The link has been truncated for brevity, however it is hyperlinked to the actual link.

3. Now change the permission of the downloaded file to 755 like this:
chmod 755 jdk-6u2-ea-bin-b02-linux-i586-12_apr_2007-rpm.bin

4. Then run it:
./jdk-6u2-ea-bin-b02-linux-i586-12_apr_2007-rpm.bin

You will need to type yes to indicate your acceptance to their agreement and the installation will complete on its own. Unfortunately you are not yet done. Type java -version on the command line and you will see that it still points to the crappy old JVM from gcj.

5. Now you need to find the actual location of your JDK installation and indicate to Fedora to accept your choice.

Type the following:
updatedb;locate javac |grep bin

You will see an entry like this:
/usr/java/jdk1.6.0_02/bin/javac

Here /usr/java/jdk1.6.0_02 is the actual JAVA_HOME for your machine. Note this as you will need it to run the future commands.

Now you need to run the alternatives command to instruct Fedora to recognize Sun’s JVM.
alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_02/bin/java 100
alternatives --install /usr/bin/jar jar /usr/java/jdk1.6.0_02/bin/jar 100
alternatives --install /usr/bin/javac javac /usr/java/jdk1.6.0_02/bin/javac 100

You can do this for other Java executables too, should you need them, following the same pattern.

Note: If alternatives is not in your path then use locate alternatives to locate it.

Finally you should configure alternative to use Sun’s JVM as the default JVM. To do this type:
/usr/sbin/alternatives --config java

This will present you with at least 2 options. Choose the one for Sun’s JVM. Similarly repeat the process for other commands.

Now you are done configuring Fedora for the most part. Type java -version and you should see something like this:

java version “1.6.0_02-ea”
Java(TM) SE Runtime Environment (build 1.6.0_02-ea-b02)
Java HotSpot(TM) Client VM (build 1.6.0_02-ea-b02, mixed mode, sharing)

Note: This works for most part, except Tomcat. The default installation of Tomcat has been hardwired to use GCJ. I changed the configuration file and it didn’t help. My solution for Tomcat is to ditch Fedora’s version and install directly from site. It works like a charm. Set JAVA_HOME to the value we found above and you are done.

2008/01/04 04:09 2008/01/04 04:09
Posted by 인생을 설계하는 프로그래머

어제 하나로 IDC 가서 페도라6 으로 갈아 치웠다.
대략 14시간의 삽질 끝에 모든 설치를 성공하고 이렇게 글을 남겨 본다.
Apache2.2 + PHP5 + MySQL5 + Tomcat6 + Resin3.1 + Oracle10g + JDK1.6 설치 가이드.
아마 가장 최신의 패키지들을 설치한것이 아닐까 하는 생각이 든다.
거두 절미하고 본격적으로 시작하니 잘 따라해보자.

모든 설치는 putty, realvnc를 이용하여 설치했다.
realvnc 설정 가이드도 있으니 무시하지 끝까지 보고 따라해보자.


1. APM 설치
Apache2.2 + PHP5 + MySQL5 는 RPM 패키지로 설치한다.
아마 대부분 설치가 됐을것이므로 자세한 가이드는 패스한다.

2. 페도라6 처음 설치시 해주면 좋은것들..
bash$> updatedb

mlocate를 사용할때 캐쉬를 이용한다.
페도라6 처음 설치 시 이 캐쉬파일이 없어 locate가 동작하지 않을것이니 앞으로의 편의를 위해 캐쉬를 만들어주자.


3. 필요없는 자바, 톰캣 관련 패키지 삭제
우리는 현재 최신버전의 JDK 1.6 을 설치할 것이다.
하지만, 페도라6 는 GNU 버전의 JDK1.4.2 를 기본 패키지로써 제공하고 있다.
구버전은 안키운다. 삭제해주자.
또한, 페도라6에서 기본적으로 설치되는 톰캣은 5.5 다.
구버전은 안키운다. 삭제해주자. (-_-)

bash$> yum -y remove tomcat\*
bash$> yum -y remove \*java\*

톰캣을 삭제하면 종속성에 의해 이클립스가 삭제된다.
뭐 필요없다 페도라6 에서 제공하는 이클립스는 3.1 이다.
이클립스 3.2 는 나중에 따로 가이드를 올리겠다.
앞에 \ 는 역슬러시다 java 라는 단어가 들어간 패키지명은 모두 삭제한다.
조금 시간이 걸릴것이므로 느긋하게 기다린다.


4. 필수 패키지 설치
앞으로 진행을 편히하기 위해 필요한 모든 패키지를 설치하고 가자.

bash$> yum -y install httpd-devel php-mysql libXp-devel libXp perl

httpd-devel: apxs mod_jk의 동적 모듈 컴파일을 위해
php-mysql: php에서 mysql에 연결하기 위해
libXp, LibXp-devle: 오라클 설치 때 필요한 openmotif 패키지 때문에..
perl: 펄은 대부분 설치 되었겠지만 없으면 설치해야한다.

-y 옵션은 모두건 yes 한다는거다.
뭐뭐 설치되는지 구경하고 싶으면 -y 옵션을 빼자

우선 필요한 패키지들을 설치해준다.
이젠 openmotif21-2.1.30-14.i386.rpm 를 설치해야 한다.
첨부된 파일을 다운로드 받고 압축을 풀면 openmotif21-2.1.30-14.i386.rpm 파일이 나온다.
적당히 서버에 업로드하고

bash$> rpm -Uvh openmotif21-2.1.30-14.i386.rpm

이젠 오라클 설치에 필요한 패키지를 설치해야한다.
아래 패키지는 꼭 설치해 주도록 하자.

bash$> yum -y install setarch-\* tcl-\* libXau-devel-\* libXp-\* compat-db-\* compat-db-\* compat-libstdc++-33\* compat-libf2c-34-\* compat-gcc-34-\* libaio-* compat-gcc-34-c++-\* compat-libstdc++-296\* compat-libgcc-296\*

여기서 중요한건 띄어쓰기다. 잘보고 한줄에 모두 입력하도록 한다.
너무 길어서 쓰기 힘들면 긁어다 입력하자. 다시한번 말하지만 \ 는 역슬러시다.

필수 패키지 설치가 끝났다.
이제 본격적으로 설치에 들어간다.


5. JDK 1.6 설치
첨부된 파일 중에 jdk-6-linux-i586.bin 이 있다.
이상한 사이비 사이트에서 받은것이 아닌, sun사 홈페이지에 직접 다운로드한 jdk 1.6 이므로 안심하고 설치하자. 뭐 못믿겠으면 직접 sun사 홈페이지가서 받아도 된다.

적당히 업로드하고 실행시켜서 설치해준다.
중요한건 설치할때 해당 경로에서 jdk1.6.0 이란 디렉토리를 만들면서 설치 된다.
그러니 반드시 내가 설치를 원하는곳으로 파일을 이동시켜서 설치하자
본인은 /usr/local 로 이동시켜서 아래 명령을 실행했다.
본인의 jdk 경로 (JAVA_HOME)은 /usr/local/jdk1.6.0 이 되겠다.

bash$> sh jdk-6-linux-i586.bin

요래요래 해주면 일단 jdk 가 설치 된다.
이제 각종 환경 변수들을 쌔려 줘야 한다.
글로벌하게 적용되야 하니 /etc/profile 맨 마지막에 적당히 추가해주자.

bash$> vi /etc/profile

JAVA_HOME=/usr/local/jdk1.6.0
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib
export PATH

여기서 JAVA_HOME, CLASSPATH 를 자신이 JDK를 설치한 경로로 적어줘야한다.
먼말인지 모르겠다면 앞으로 이 가이드를 따라올 수 없는것이니 일찌감치 포기하자.

추가해 줬으면 이제 putty 를 종료하고 다시 서버로 접속한다.
그래야만 위 환경변수가 적용된다.



5. Resin 3.1 설치
이제 레진을 설치해보자.
레진 또한 첨부 파일에 보면 resin-3.1.0.tar.gz 파일이 있다.
참고로 레진이랑 톰캣은 소스가 아니라 바이너리다.
즉, 압축만 풀면 바로 쓸 수 있는것이다.
하지만 약간의 설정이 필요하니 잘 따라오도록 하자.
본인은 /usr/local/etc 로 resin-3.1.0.tar.gz 파일을 이동시키고 압축을 풀었다.

bash$> tar xvzf resin-3.1.0.tar.gz

뭐 압축풀면 끝이다.
하지만 아파치와의 연동을 위해 환경설정과 컴파일을 한번 때려줘야 한다.
레진 디렉토리로 이동 후..

bash$> cd resin-3.1.0
bash$> ./configure --with-apache=/usr/include/httpd

요로코롬 해준다.
이게 뭐냐면 레진이 아파치랑 연동하기 위해 아파치 라이브러리를 참조하기 때문이다.
완료가 되면 아래 명령을 바로 때려주자.

bash$> make all
bash$> make install


요래 해주면 caucho_module.so 동적 라이브러리 모듈이 생성되고 자동으로 httpd.conf 에 넣어준다. 레진이 이래서 조낸 좋은거다.

이제 httpd.conf 파일을 열어서 추가가 됐는지 확인해보자

bash$> vi /etc/httpd/conf/httpd.conf

파일 맨 마지막에

LoadModule caucho_module /usr/lib/httpd/modules/mod_caucho.so
ResinConfigServer localhost 6802
CauchoConfigCacheDirectory /tmp
CauchoStatus yes

요렇게 추가가 된게 보일것이다.
하지만 바로 지워준다.

왜? 아래 따로 include 해서 쓸것이기 때문이다.
싫으면 걍쓰도록한다. 하지만 나중에 다른 버철호스트에도 레진이 영향을 받아 웹페이지가 안열리는 현상이 발생할 수도 있다.
그러니 왠만하면 본 가이드를 그대로 따라하자
본인은 다 나중에 편하고, 좋자고 하는것이지 막 각종 편법들을 남발해가면서 일단 설치만 되면 땡이지 하는건 딱 질색이기 때문이다.

이걸로 바로 사용할 수 있지만.. 간단하게 버철호스트랑 레진의 호스트와 차후 톰캣 설치 시 mod_jk 와 손쉽게 바꿔가며 사용할 수 있게 하기 위해 별도의 conf 파일로 만들어 준다.
아래처럼 따라해보자.

bash$> cd /etc/httpd
bash$> mkdir conf.custom
bash$> vi resin.conf


따로 include 해서 레진과 톰캣을 손쉽게 바꿔가면 쓰기 위한것이다.
vi resin.conf 한다음 아까 위에 지웠던 내용을 입력해준다. (-_-) (방금 욕하는 소리가 들렸다.)

LoadModule caucho_module /usr/lib/httpd/modules/mod_caucho.so
ResinConfigServer localhost 6802
CauchoConfigCacheDirectory /tmp
CauchoStatus yes

요래 하고 저장해주자.
설마 저장하는 법을 모르는 사람이 있을까봐 알려준다.
vi 편집기 상태에서  :wq! 라고 입력하고 엔터치면 된다.

참고로 아래 버철호스트는 newal.net 의 예제 이다.
자신에게 맞게 적당히 수정해주는 센스가 필요하다.
newal.net 이 돌아가는 DocumentRoot 는 /home/newal/www 이다
이 디렉토리 안에 index 파일이 존재한다. (에이 보안상 안좋은데.. 그래도 다 알려준다.)

NameVirtualHost 222.237.78.65

<VirtualHost 222.237.78.65>
   ServerAdmin newal@newal.net
   DocumentRoot /home/newal/www
   ServerName newal.net
   ServerAlias www.newal.net
   DirectoryIndex index.jsp index.php index.html index.htm
   ErrorLog logs/error_newal.net
   CustomLog logs/access_newal.net common

  # 레진을 사용하기 위해..
   Include conf.custom/resin.conf

  # 테터툴즈 사용을 위해..
   <Directory /home/newal/www>
       Options FollowSymLinks
       AllowOverride FileInfo
   </Directory>
</VirtualHost>

자 Include conf.custom/resin.conf 보이지 않는거 바로 이 버철호스트에서만 레진을 쓰겠다는것이다.

다른 버철호스트에도 레진을 적용하고 싶으면 그냥 Include conf.custom/resin.conf 요 문구만 갔다 붙여넣기 해주면 된다. 조낸 좋지 않은가?

자 이제 레진의 호스트를 잡아줘야 한다.

bash$> cd /usr/local/etc/resin-3.1.0/conf
bash$> vi resin.conf


아래 부분을 추가해줘야하는데 어디다 하는지 모를것이다.
자세하게 알려주겠다.
대략 250번째 라인을 보면 Configuration for the web-tier/load-balancer 주석이 보인다.
뭐 약간 틀릴 수도 있으니 +- 20줄 내에서 잘 찾아보자.

이 주석 바로 위에 </cluster> 가 보일것이다.
</cluster> 위에다가 추가해주면 된다.
아래가 아니라 위에다 추가하는것이다. 잘보고 추가 하자.

    <host id="newal.net" root-directory=".">
      <web-app id="/" root-directory="/home/newal/www"/>
      <web-app id="/resin-admin" root-directory="${resin.home}/php/admin">
        <prologue>
          <resin:set var="resin_admin_password"  default=""/>
          <resin:set var="resin_admin_localhost" default="true"/>
        </prologue>
      </web-app>
    </host>

잘 보면 root-directory 가 아파치에서 적은 DocumentRoot 와 일치하는것을 볼 수 있다.
당연하지만 레진이 도메인이 newal.net 일때 /home/newal/www/index.jsp 파일을 읽을 것이다.

자 이제 끝났다.
레진을 시작시켜 보자.

bash$> cd /usr/local/etc/resin-3.1.0/bin
bash$> sh httpd.sh start


요래 해주면 레진이 시작 된다. 뭐 한줄 나오고 끝이다.
이제 바로 아파치를 재시작 해준다.

bash$> /etc/init.d/httpd restart


이제 /home/newal/www 디렉토리에 index.php 파일을 만들고 파일 내용은 아래처럼 한다.

<?
phpinfo();
?>

또하나 index.jsp 파일을 만들고 내용은 아래처럼 한다.

<%
out.println("Hello World");
%>


위와 같이 대충 만들어놓고 브라우저에서 접근해보자

http://newal.net/index.php
http://newal.net/index.jsp

php정보가 나오고, Hello World 가 뜨면 성공한것이다.



더 쓰고 싶은데 귀찮아서 여기까지 쓰고 나머지는 다음에 쓰겠다..



출처 : http://newal.net/

2008/01/04 03:40 2008/01/04 03:40
Posted by 인생을 설계하는 프로그래머
다음은 생전 처음으로 리눅스에 톰캣을 설치한 내용을 적은 메모이다.



톰캣 다운로드

다운로드 URL : http://tomcat.apache.org/

위의 URL에서 톰캣을 다운받는다.

이 문서에서는 apache-tomcat-5.5.17.tar.gz 를 다운받았다.



톰캣 설치

다운 받은 apache-tomcat-5.5.17.tar.gz를 /usr/local/src 로 옮겼다.

#tar xvfz apache-tomcat-5.5.17.tar.gz [enter]

/usr/local/src/apache-tomcat-5.5.17 디렉토리가 생기고 그 안에 톰캣이 깔린다.

이 디렉토리를 /usr/local 로 옮겼다.

#mv apache-tomcat-5.5.17 /usr/local [enter]



톰캣 실행

# cd /usr/local/apache-tomcat-5.5.17/bin [enter]
# ./startup.sh [enter]



톰캣 실행 확인

브라우저에서 http://192.168.0.2:8080 를 넣어 고양이가 나오는지 확인




톰캣 관리화면 활성화 시키기

다음 파일을 편집한다.
# vi /usr/local/apache-tomcat-5.5.17/tomcat-users.xml [enter]

다음 내용을 추가시킨다.
<role rolename="manager"/>
<user username="admin" password="admin" roles="manager"/>

톰캣을 다시 재실행한다.

#/usr/local/apache-tomcat-5.5.17/bin/shutdown.sh [enter]
#/usr/local/apache-tomcat-5.5.17/bin/startup.sh [enter]


톰캣 관리화면을 열어본다.

브라우저에서 http://192.168.0.2:8080/manager/html
ID : admin
Password : admin



톰캣 클래스패스 설정하기

#vi /etc/profile [enter]

다음 내용을 넣는다.(주로 가장 마지막에...)
CATALINA_HOME="/usr/local/apache-tomcat-5.5.17"
export CATALINA_HOME
CLASSPATH=".:$CATALINA_HOME/lib/servlet.jar"
export CLASSPATH


* 위에서 CLASSPATH의 경우는 이미 CLASSPATH가 정해져 있다면
  처음에 $CLASSPATH를 넣어주거나
  기존의 CLASSPATH 정의부분의 뒤쪽에 이어서 입력해 준다.

저장하고 나온 후
#source /etc/profile [enter]


---- 참고 ----
http://cafe.naver.com/bestreal.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=221
2007/12/14 06:00 2007/12/14 06:00
Posted by 인생을 설계하는 프로그래머
출처 : http://iparid.egloos.com/1709753

yum.repo.d 설정 (FC4)
/etc/yum.conf 설정은 레뎃9 시절 등등 예전 자료가 많았지만, FC3부터 /etc/yum.repos.d/* 여섯개의 파일로 분산되면서 새로운 설정 방법을 설명한 곳을 한참 뒤져보았다. 인터넷에서는 한 군데 FC3 기준으로 설명해 놓았다. 요걸 보고 조금 고쳐서 FC4에 맞게 설정하는 법, 또 원리 등등을 조금 적어 보겠다.

원래 들어있는 파일은 6개다.

fedora.repo
fedora-devel.repo
fedora-extras-devel.repo
fedora-extras.repo
fedora-updates.repo
fedora-updates-testing.repo

여기에서 인스톨에 fedora.repo, 업데이트에 fedora-updates.repo를 쓴다. 일단 요것만 고쳐보자.

<원본 fedora.repo>
name=Fedora Core $releasever - $basearch - Base한글
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os/
mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-$releasever
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora


baseurl에 주석 처리가 되어있으니 결국 mirrorlist 행이 관건인 셈이다. $releasever는 자기 페도라 버전에 따라 현재까지 1~5로 나타난다. 그럼 주소에 나와 있는 fedora-core-4 파일을 열어보자.

http://download.fedoraproject.org/pub/fedora/linux/core/4/$ARCH/os/
http://mirror.linux.duke.edu/pub/fedora/linux/core/4/$ARCH/os/
http://fedora.mirrors.tds.net/pub/fedora-core/4/$ARCH/os/
...
...


가능한 미러가 66개 나와있다. 그런데 제일 느린 서버가 1순위이므로 접속은 되지만 느려터져 답답하다. 따라서 커스텀 미러 리스트 파일을 작성하자. Updates가 들어있는 디렉토리 주소가 조금 다르다. 한국 서버가 가장 빠르기는 하지만 이 포스트를 작성하는 시점에서 404 에러를 토했기 때문에 속도는 조금 떨어져도(200-500kB/s 정도) 믿음직스러운 kernel.org를 1순위로 잡았다.

<custom-BASE>
http://mirrors.kernel.org/fedora/core/4/$ARCH/os
ftp://ftp.kreonet.re.kr/pub/Linux/fedora/core/4/$ARCH/os
ftp://mirror.hostway.co.kr/pub/fedora/4/$ARCH/os
ftp://ftp.kaist.ac.kr/pub/fedora/linux/core/4/$ARCH/os


<custom-UPDATES>
http://mirrors.kernel.org/fedora/core/updates/4/$ARCH
ftp://ftp.kreonet.re.kr/pub/Linux/fedora/core/updates/4/$ARCH
ftp://mirror.hostway.co.kr/pub/fedora/updates/4/$ARCH
ftp://ftp.kaist.ac.kr/pub/fedora/linux/core/updates/4/$ARCH


그럼 fedora.repo, fedora-updates.repo 기존의 mirrorlist를 주석처리하고, 새로운 주소로 설정하자.
gpgcheck도 꺼놓으면 성가시지 않다.

<고친 fedora.repo>
mirrorlist=file:///etc/yum.repos.d/custom-base
gpgcheck=0


<고친 fedora-updates.repo>
mirrorlist=file:///etc/yum.repos.d/custom-updates


다시 실행할 서비스 없이 다음에 yum 실행할 때 바로 적용된다.
2007/12/12 20:57 2007/12/12 20:57
Posted by 인생을 설계하는 프로그래머
mysqldump 사용



syntax

# mysqldump [options] database [tables]
# mysqldump [options] --databases [options] db1 [db2 db3...]
# mysqldupm [options] --all-databases [options]

1. 모든 DB 백업하기

# mysqldump -u root -p -A > all.sql

2 특정 DB만 백업하기

# mysqldump -u root -p testdb > testdb.sql

3. 원하는 DB 만 골라서 백업하기

# mysqldump -u root -p --databases testdb1 testdb2 > testdb.sql

4. 특정 테이블만 백업하기

# mysqldump -u root -p test sutdent > test_student.sql

2007/02/13 11:38 2007/02/13 11:38
Posted by 인생을 설계하는 프로그래머
출처 : http://infoncom.dongguk.ac.kr/%7Eswhong/cgi-bin/MoinMoin/wiki-moinmoin/ 

GRUB 부트로더에서 새로 컴파일한 커널올리기

커널을 건드리기 시작했다. 필자는 lilo를 사용해 새로 컴파일한 커널을 사용하기 위해 lilo.conf를 수정하는데는 익숙하지만,

GRUB을 사용해보지는 않았다. 커널을 수정하기 전에 GRUB 설정을 수정하는 방법을 소개한다.

/boot/grub

이 디렉토리에 가보면 (grub을 설치했다면) grub.conf 파일이 있다. 필자는 윈도우XP를 깔고, RHL9.0을 깔아 GRUB으로 멀티 부팅을 시켰다.

이제 새로운 커널을 컴파일해 보자. /usr/src/linux 에서 make (mrproper | clean | bzImage | modules | modules_install) 을 차례로 수행한다.

이제 /usr/src/linux/arch/i386/boot/bzImage 를 복사해서 /boot 디렉토리 밑으로 가져와 원하는 이름으로 바꾸자. 필자는 vmlinuz-2.4.20-test 라는 이름으로 복사했다.

그리고 나서 initial ramdisk를 만들어야 한다. 이것은 GRUB이 lilo와는 틀리게 1024 cylinder를 극복하기 위한 방안이다. 즉, bios에서 1024 cylinder주소값 이상을 가르치지

못함으로 해서 1024내에 적재된 boot partition만 인식할 수 있었던 것을 initial ramdisk안에서 좀더 넓은 boot partition address를 인식하기 위해 사용한다.

이때 initrd안에는 모듈이 포함되게 되는데, 커널 컴파일시 make modules; make modules_install; 을 수행하면 /lib/module/2.4.20 과 같이 커널 버전의 이름으로 모듈 디렉토리가 생긴다.

하지만, 기존에 있던 모듈을 덮어쓰지 않기 위해 /lib/module/2.4.20custom 이라는 디렉토리가 생기더라는 것이 중요하다.

이제 우리는 이 모듈들을 포함하여 initial ramdisk를 만들어야 하는데, 다음과 같이 생성한다.

mkinitrd target-file.img source-directory

즉, 필자는 initrd-2.4.20-test.img 라는 이름을 가진 initial ramdisk를 만들기 위해 다음과 같이 명령을 수행했다.

mkinitrd inird-2.4.20-test.img 2.4.20custom

자 이제 /boot 디렉터리안에 initrd-2.4.20-test.img가 생성되었을 것이다.

이제 새로운 커널로 부팅할 수 있도록 grub의 설정파일을 건드려 보자. grub의 설정파일은 /boot/grub/grub.conf 이다.

필자가 수정하기 전의 필자의 머쉰(windxp 와 redhat9.0 가 깔려있는)의 grub.conf는 다음과 같았다.

# grub.conf generated by anaconda #
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,5)
# kernel /vmlinuz-version ro root=/dev/hda9
# initrd /initrd-version.img
# boot=/dev/hda
default=2
timeout=10
fallback 0
splashimage=(hd0,5)/grub/splash.xpm.gz

title Red Hat Linux (2.4.20-8)
root (hd0,5) kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ hdc=ide-scsi
initrd /initrd-2.4.20-8.img



title DOS
rootnoverify (hd0,0)
chainloader +1

이것을 대충 보면 몇가지 궁금한 사항이 생긴다. root (hd0, 5) 라든가 kernel ... 라든가.. 하지만, 필자는 이것을 설명하기엔 시간이 너무 없다.

reference에 링크해 놓은 싸이트를 찾아보라. 아주 잘 설명되어 있다.

자, 그럼 이것을 다음과 같이 바꾸어 내가 새로 컴파일한 커널 이미지 /boot/vmlinuz-2.4.20-test 와 initial ramdisk인 /boot/initrd-2.4.20-test.img 를 넣어보자.

# grub.conf generated by anaconda #
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,5)
# kernel /vmlinuz-version ro root=/dev/hda9
# initrd /initrd-version.img
# boot=/dev/hda
default=2
timeout=10
fallback 0
splashimage=(hd0,5)/grub/splash.xpm.gz
title Red Hat Linux (2.4.20-8)
root (hd0,5)
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ hdc=ide-scsi
initrd /initrd-2.4.20-8.img



title Red Hat Linux (2.4.20-test)
root (hd0,5)
kernel /vmlinuz-2.4.20-test ro root=LABEL=/ hdc=ide-scsi
initrd /initrd-2.4.20-test.img
title DOS
rootnoverify (hd0,0)
chainloader +1

자, 뭐 대충 통밥으로 다 똑같이 하고 커널 이미지와 initial ramdisk 이름만 바꾸어 준 것을 알 수 있을 것이다. 카카...

하지만, 필자는 initial ramdisk 만드는 것을 몰라 많이 고생을 했다.... 그래서 적는 것이니... 허접하다고는 하지 말기 바란다.

마지막으로 할 일은 설정된 grub.conf를 bios에 굽는 일이다. 다음과 같이 하자.

grub-install /dev/hda

자 이제 모든 것이 완료 되었다.

이제 재부팅을 하여 grub 부트로더가 뜨면 내가 올린 커널을 선택해 보자... 두근두근... 카카... 이제 커널을 수정해 볼까?

2006/04/04 03:06 2006/04/04 03:06
Posted by 인생을 설계하는 프로그래머

레드햇(Red Hat)은 리눅스 배포본 「페도라 코어(Fedora Core)5」를 공개했다. 이 새로운 버전에는 그래픽이나 가상화 관련의 새로운 기능 외에도 MS의 소프트웨어 체제를 기반으로 개발한 데스크톱 유틸리티도 몇 가지 추가되었다.

레드햇은 페도라로 검증한 기능을 후에 동사의 유료 제품인 「레드햇 엔터프라이즈 리눅스(Red Hat Enterprise Linux)」에 탑재하고 있다. 또 페도라는 보다 새로운 기능을 요구하는 많은 리눅스 사용자의 욕구를 채우기 위해서 프로그래밍이나 테스트에는 사외의 사람들이 관여하고 있다.

이번에 발표된 버전5에는 수많은 새로운 기능이 추가되었으며, 리눅스의 2대GUI인 「GNOME」과「KDE」도 각각 버전2.14와 버전 3.5로 업데이트 되었다.

페도라 코어5는 고성능의 그래픽 기능을 가지는 머신 전용으로서 유저 인터페이스에 3 D 효과를 추가하는 「Accelerated Indirect GL X」를 지원하고 있다. 그러나 어떤 버그에 의해서 엔비디아(Nvidia)나 ATI에서 나오는 정품3 D그래픽 칩용 드라이버를 이용할 수 없는 것이 있다. 대부분의 유저는 이들의 최고 속도의 그래픽스 기능을 살리기 위해서 업데이트 된 커넬을 다운로드해야 한다.

페도라 코어의 새로운 버전은 MS가 윈도우 비스타의 발표를 다시-이번은 2007년 1월까지-연기하는 것을 발표한 것과 전후로 공개되었다. 그러나 리눅스 사용자가 오랜 세월 제품을 연마해 사용하기 쉬게 하려고 노력함에도 불구하고 윈도우는 여전히 데스크톱PC시장을 지배하고 있다.

페도라 코어5에는 「카이로(Cairo)」라는 다른 그래픽 관련 기능도 추가되었다. 카이로는 파이어폭스나 다른 애플리케이션이 2 D의 벡터 그래픽을 만드는데 이용 가능한 라이브러리다.

페도라 코어5의 그래픽 관련 하부조직에는 「Xorg 7.0」이 추가되었다. 이것은 소프트웨어의 컴포넌트를 독립한 모듈에 분할해, 프로그래머가 보다 신속히 개선할 수 있도록 하는 시도다.

노벨은 개발자 전용으로 페도라와 경쟁하는 「OpenSUSE」를 내고 있어 리눅스의 그래픽스 기능 강화를 위해 「Xgl」라는 다른 어프로치를 가지고 있다. 그에 대해 레드햇에서는 자사의 어프로치 쪽이 혼란이 적다고 생각하고 있다.

다만 레드햇은 경쟁사가 개발하고 싶은 기술을 실제로 채용하고 있다. 그것은 MS의 「.NET」소프트웨어의 오픈 소스 버전에 해당하는 「모노(Mono)」다. 페도라 코어5에는 모노를 기반으로 개발된 세 개의 애플리케이션--데스크톱 검색용의 「Beagle」, 사진 파일 관리용의 「F-Spot」, 메모용의 「Tomboy」가 포함되어 있다.

그 외 유틸리티 관련해서는 GNOME의 전원 관리용 모듈이나 스크린 세이버용 모듈도 업데이트 되었다. 「GStreamer」라이브러리의 버전 0.10은 미디어 플레이어나 비디오 편집 소프트웨어등의 애플리케이션 전용의 기초로 포함되어 있다.

페도라 코어5의 서버 관련 기능에서는 데이터베이스 소프트웨어도 업데이트되어 MySQL는 버전 5.0에, 또 PostgreSQL는 버전 8.1으로 업그레이드 되었다. 또 이 OS에는 「젠(Xen)」의 새로운 관리툴도 포함되어 있다. 젠은 복수의 OS를 동시에 움직이기 위한 「하이퍼바이저(hypervisor)」소프트웨어다.

페도라 코어5에 채용되고 있는 리눅스 커널은 버전 2.6.16이다.

덧붙여 페도라 프로젝트의 웹 사이트에는 Fedora Core 6에 관한 다양한 아이디어가 게재되고 있다. @

Stephen Shankland ( CNET News.com )

2006/04/03 06:49 2006/04/03 06:49
Posted by 인생을 설계하는 프로그래머

BLOG main image
by 인생을 설계하는 프로그래머

카테고리

Life Designer (139)
컴퓨터공학박사 (80)
세상 (24)
건강한 삶 (8)
I Love Korea (2)
海兵隊 (3)
Common Sense! (4)
Game is Life! (12)
Life of Digital (4)
추억으로의 여행 (0)
애마 카돌이! (1)
세상속으로! (1)

글 보관함

달력

«   2010/09   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30