블로그 이미지
은총애비!!

카테고리

분류 전체보기 (2737)
Linux (35)
Error 해결 방법 (5)
소소한 일상 (1801)
사진실 (0)
책책책, 책을 읽읍시다!! (21)
기타(JSP & DB & 등등) (4)
미국 주식 관련 (572)
아침형 인간 프로젝트 (292)
Total
Today
Yesterday
반응형

jdk 설치 /apache 설치 /tomcat 설치 /apache & tomcat connectors 연동 /OpenSSL 설정

Micro Server G7 N54L을 작년 9월에 구입후 얼마전부터 Linux 설치 및 연동 테스트에 들어갔습니다.

서버에 관심이 많아서 이것저것 만져보다가 VMWARE로 먼저 테스트 한 것을 TEXT로 옮겨놓은 겁니다.

저도 인터넷에 돌아다니는 문서로 여러번 테스트를 해봤지만 설치는 그렇다 치더라도 설정이 적용 안되는 부분이 많아서 문서에 나와있는 버전으로 해본 경험이 많습니다. 지금 제가 설치한 버전은 시대에 뒤떨어진 구버전입니다. 혹시라도 문서의 버전이 필요하시면 댓글로 메일 주소를 알려주시면 보내드리겠습니다.

차후에 ORACLE 11 R2 설치 글을 올리겠습니다. 그때는 TEXT와 그림으로 같이 올리겠습니다.

 

시스템 사양

VMWARE : Workstation 7.1.3

LINUX : fedora 12

JDK : jdk-6u16-linux-i586.bin

APACHE : httpd-2.2.13.tar.gz

TOMCAT : tomcat-6.0.20.tar.gz

apache & tomcat connectors : tomcat-connecors-1.2.28-src-tar.gz

OPENSSL : fedora 12 기본 버전(OPENSSL을 삭제하고 source버전으로 설치 하려 했으나 실패)

 

 

rpm으로 설치 하려고 하는 패키지가 있는지 확인!!(java/jdk/tomcat/apache/http)

기본 gcc/zlib가 있어야 함.

selinux disabled

 

1. jdk 설치 & /etc/profile 수정

[root@www local] # chmod +x jdk-6u16-linux-i586.bin

[root@www local] # ./jdk-6u16-linux-i586.bin

[root@www local] # mv jdk-6u16-linux-i586.bin /usr/local/src/java

[root@www local] # vi /etc/profile

JAVA_HOME=/usr/local/src/java

export JAVA_HOME

PATH=$PATH:$JAVA_HOME/bin

CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/*:.

추가한 후 저장하고 나온다.

[root@www local] # source /etc/profile

[root@www local] # java –version 해서 에러없이 버전 정보 나오면 설치 성공

(/etc/profile 설정만 잘 해주면 된다.)

 

2. apache 설치 & /etc/profile 수정(gcc 설치 확인)

[root@www local] # tar zxvf httpd-2.2.13.tar.gz

[root@www local] # cd httpd-2.2.13.tar.gz

[root@www httpd-2.2.13.tar.gz ] # ./configure \

--prefix=/usr/local/src/apache \ <---아파치 설치 할 위치

--enable-modules=ssl \

--with-ssl=/usr/local/openssl \ <--- openssl을 설치한 폴더

--enable-mods-shared=all \

--enable-so \

--enable-rewrite \

--enable-proxy \

--enable-proxy-ajp \

--enable-proxy-balancer \

--enable-proxy-http \

--enable-proxy-connect \

--enable-ssl <----------- 이부분이 중요합니다.

[root@www httpd-2.2.13.tar.gz ] # ./config.nice

[root@www httpd-2.2.13.tar.gz ] # make && make install

[root@www local] # vi /etc/profile

export APACHE_HOME=/usr/local/src/apache

export PATH=$PATH:$APACHE_HOME/bin

추가한 후 저장하고 나온다.

[root@www local] # source /etc/profile

[root@www local] # apachectl [start|stop]

[root@www local] # system-config-firewall에서 방화벽에가서 80포트를 열어 줌.

http://localhost에서

It works! 나오면 성공!!

 

3. tomcat 설치 & /etc/profile 수정

[root@www local] # tar zxvf tomcat-6.0.20.tar.gz

[root@www local] # mv tomcat-6.0.20 /usr/local/src/tomcat

(tomcat-6.0.20폴더를 /usr/local/src/에 이동하며 tomcat으로 폴더명 변경)

[root@www local] # vi /etc/profile

export CATALINA_HOME=/usr/local/src/tomcat

#export CATALINA_OPTS=“-server”

export PATH=$PATH:$CATALINA_HOME/bin

export CLASSPATH=$CLASSPATH:$CATALINA_HOME/lib/servlet-api.jar:.

추가한 후 저장하고 나온다.

[root@www local] # source /etc/profile

[root@www local] # catalina.sh [start|stop]

http://localhost:8080에서

고양이 나오면 성공!!

tomcat/conf폴더에서 web.xml안에 invoker 주석 2군데 삭제.

tomcat/conf폴더에서 context.xml에서

<context> 이 부분을 -> <context reloadable=“true” Privileged=“true”>로 수정

 

4. apache & tomcat connectors 연동

[root@www local] # tar zxvf tomcat-connecors-1.2.28-src-tar.gz

[root@www local] # cd tomcat-connecors-1.2.28-src/native

[root@www native] # ./configure --with-apxs=/usr/local/src/apache/bin/apxs

[root@www native] # make && make install

[root@www native] # vi /usr/local/src/apache/conf/mod_jk.conf (mod_jk.conf파일 생성)

<IfModule mod_jk.c>

JkWorkersFile “/usr/local/src/apache/conf/workers.properties”

JkLogFile “/usr/local/src/tomcat/logs/mod_jk.log”

JkLogLevel info

JkMount /*.jsp ajp13

JkMount /servlet/* ajp13

JkMount /examples/*.jsp ajp13

JkLogStampFormat "[%a %b %d %H:%M:%S %Y]“

JkOptions +ForwardKeySize +ForwardURICompatUnparsed –ForwardDirectories

JkRequestLogFormat "%w %V %T"

</IfModule>

위와 같이 작성하고 저장하고 나온다.

[root@www native] # vi /usr/local/src/apache/conf/workers.properties (workers.properties파일 생성)

#workers.properties

workers.tomcat_home=/usr/local/src/tomcat

workers.java_home=/usr/local/src/java

ps=/

worker.list=ajp13

worker.ajp13.port=8009

worker.ajp13.host=localhost

worker.ajp13.type=ajp13

위와 같이 작성하고 저장하고 나온다.

[root@www native] # vi /usr/local/src/apache/conf/httpd.conf 제일 마지막에 아래와 같이 추가한다.

#mod_jk.so

LoadModule jk_module modules/mod_jk.so

#JK Connection Configuration

include conf/mod_jk.conf

[root@www native] # catalina.sh stop -> start

[root@www native] # apachectl restart

Syntax error on line 2 of /usr/local/src/apache/conf/mod_jk.conf:

JkWorkersFile: Can't find the workers file specified

에러가나오면 위의 mod_jk.conf 파일안에

<IfModule mod_jk.c>

JkWorkersFile /usr/local/src/apache/conf/workers.properties

JkLogFile /usr/local/src/tomcat/logs/mod_jk.log

JkLogLevel info

JkMount /*.jsp ajp13

JkMount /servlet/* ajp13

JkMount /examples/*.jsp ajp13

JkLogStampFormat "[%a %b %d %H:%M:%S %Y]“

JkOptions +ForwardKeySize +ForwardURICompatUnparsed ForwardDirectories

JkRequestLogFormat "%w %V %T"

</IfModule>

""(쌍따옴표)랑 -(ForwardDirectories 앞 하이픈)을 지우고 다시 쓰면 OK!

이렇게 설정하면 http://localhost 하면 localhost:8080 한 것 과 같이 고양이가 나오면 성공!!!

http://localhost해서 고양이가 안나오면 http://localhost/index.jsp 하면 고양이가 나온다!!!

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

5. OpenSSL 설정

SSL생성

1. openssl을 이용해서 개인키(비밀키) 생성

2. 개인키 확인

3. openssl로 CSR생성

4. CSR확인

5. 개인키 백업

6. 인증기관에 CSR접수

7. 네트워크 확인. SSL적용에 따른 방화벽(443번 포트 열어야 함)

8. 인증기관에서 CSR 파일 답긴 확인

[root@www native] # cd /usr/local/src/apache/conf

[root@www native] # mkdir sslkeys

[root@www native] # cd sslkeys

# openssl req -new -x509 -nodes -out server.crt -keyout server.key

Generating a 1024 bit RSA private key

.......................++++++

....++++++

writing new private key to 'server.key'

.....

Country Name (2 letter code) [GB]: KR <-------------한국이면 KR

(국가코드)

State or Province Name (full name) [Some-State]: Incheon <----- 도이름 (없으면 그냥 엔터)

Locality Name (eg, city) []:Incheon <------- 도시이름

Organization Name (eg, company) [Internet Widgits Pty Ltd]:com <------ 회사명

Organizational Unit Name (eg, section) []:development <-------부서명

Common Name (eg, YOUR name) []:xxxxxxxxxx <--- 사이트명 (정확히 기입을 해줘야 한다.)

Email Address []: (엔터)

# ls

server.crt server.key

# chmod 600 server.key

[root@www native] # vi /usr/local/src/apache/conf/httpd.conf

... (중략) ...

LoadModule ssl_module modules/mod_ssl.so <----------이부분이 없다면 좀 이상한건데 일단 적고 파일이 존재하는지 확인 해본다.

... (중략) ...

# Secure (SSL/TLS) connections

Include conf/extra/httpd-ssl.conf <---------- # 주석 해제

<IfModule ssl_module>

SSLRandomSeed startup builtin

SSLRandomSeed connect builtin

</IfModule>

[root@www native] # vi /usr/local/src/apache/conf/extra/httpd-ssl.conf

SSLCertificateFile “/usr/local/src/apache/conf/sslkeys/server.crt”

SSLCertificateKeyFile “/usr/local/src/apache/conf/sslkeys/server.key”

#JSP 페이지 보이게 하기

JkMount /*.jsp ajp13

[root@www native] # vi /usr/local/src/apache/conf/httpd.conf (파일 제일 밑에 추가)

#HTTP로 들어오는 것을 HTTPS로 변환

RewriteEngine On

RewriteCond %{HTTPS} !=on

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI}

[root@www native] # system-config-firewall에서 방화벽에가서 443포트를 열어 줌.

 

그림 설명 없이 TEXT로 설명을 했지만 그래도만 따라하시면 성공 할 수 있습니다!!!

반응형
Posted by 은총애비!!
, |
반응형

[Micro Server G7 N54L] linux 부팅시 데몬 자동 시작하게 하는 방법

 

# 런레벨 0~6

0

halt

시스템 종료

1

single-user mode

시스템 복원모드나 파일 시스템 점검시 사용

2

multi-user mode

(without networking)

NetWork File System을 지원하지 않는 다중

사용자 모드

3

multi-user mode

(only console logins)

다중 사용자 모드

4

not used

사용되지 않음

5

multi-user mode

(with display manager)

GUI 환경

6

reboot

재시작

 

 

사용방법

[root@localhost /]# chkconfig 
NetworkManager  0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제
abrtd           0:해제  1:해제  2:해제  3:활성  4:해제  5:활성  6:해제
acpid           0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제
atd             0:해제  1:해제  2:해제  3:활성  4:활성  5:활성  6:해제
auditd          0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제
avahi-daemon    0:해제  1:해제  2:해제  3:활성  4:활성  5:활성  6:해제
bluetooth       0:해제  1:해제  2:해제  3:활성  4:활성  5:활성  6:해제
btseed          0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
bttrack         0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
cpuspeed        0:해제  1:활성  2:활성  3:활성  4:활성  5:활성  6:해제
crond           0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제
cups            0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제
dnsmasq         0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
firstboot       0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
haldaemon       0:해제  1:해제  2:해제  3:활성  4:활성  5:활성  6:해제
httpd           0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
ip6tables       0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제
iptables        0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제
irda            0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
irqbalance      0:해제  1:해제  2:해제  3:활성  4:활성  5:활성  6:해제
lvm2-monitor    0:해제  1:활성  2:활성  3:활성  4:활성  5:활성  6:해제
mdmonitor       0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제
messagebus      0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제
multipathd      0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
netconsole      0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
netfs           0:해제  1:해제  2:해제  3:활성  4:활성  5:활성  6:해제
netplugd        0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
network         0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
nfs             0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
nfslock         0:해제  1:해제  2:해제  3:활성  4:활성  5:활성  6:해제
nscd            0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
ntpd            0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제
ntpdate         0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
openvpn         0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
pcscd           0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제
portreserve     0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제
psacct          0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
rdisc           0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
restorecond     0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
rpcbind         0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제
rpcgssd         0:해제  1:해제  2:해제  3:활성  4:활성  5:활성  6:해제
rpcidmapd       0:해제  1:해제  2:해제  3:활성  4:활성  5:활성  6:해제
rpcsvcgssd      0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
rsyslog         0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제
saslauthd       0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
sendmail        0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제
smartd          0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
smolt           0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
sshd            0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제
udev-post       0:해제  1:활성  2:활성  3:활성  4:활성  5:활성  6:해제
vmware-tools    0:해제  1:해제  2:활성  3:활성  4:해제  5:활성  6:해제
vsftpd          0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
wpa_supplicant  0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
ypbind          0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
[root@localhost /]#
 

 

chkconfig  <- 현재 커널에서 작동하는 데몬리스트 출력 0~6 (런레벨: runlevel 참조) (활성 = on 해제 = off )

 

chkconfig --add [이름] 프로세스추가

chkconfig --del [이름]  제거

chkconfig [--level levels] 이름 [on|off|reset] 

 

ex) chkconfig 확인

[root@localhost /]# chkconfig |grep vsftpd           -> chkconfig 확인
vsftpd          0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
[root@localhost /]#

 

[root@localhost /]# chkconfig --level 345 vsftpd on ->chkconfig level 345에 등록
[root@localhost /]# chkconfig |grep vsftpd             -> chkconfig 등록 확인
vsftpd          0:해제  1:해제  2:해제  3:활성  4:활성  5:활성  6:해제
[root@localhost /]#

 

[root@localhost /]# chkconfig --level 345 vsftpd off ->chkconfig level 345에 해지
[root@localhost /]# chkconfig |grep vsftpd             -> chkconfig 해지 확인
vsftpd          0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제
[root@localhost /]#


 

특정 프로세스 확인 

chkconfig |grep sshd

ex) [root@localhost /]# chkconfig |grep sshd
sshd            0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제
[root@localhost /]#

 

반응형
Posted by 은총애비!!
, |
반응형

[Micro Server G7 N54L] VSFTP 설정

# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=YES

anonymous_enable=YES     => anonymous(익명) 로그인 허용

NO로 변경합니다.

 

접속유저가 상위디렉토리로 가는것 제한을 합니다.

vsftp 기본 설정에 모든 사용자가 상위 디렉토리로 이동할 수 있게 되어있습니다.

유저들이 상위 디렉토리로 접근해 리눅스 커널파일/ 중요한 파일들을 삭제해버리면 어떻게 될까요? 그러므로 상위 디렉토리로 올라가는 것을 막아주어야 합니다.

그런데 막는건 간단하지만 특정 유저에게는 허용해주고 싶다면 어떻게 하는가?

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

vi /etc/vsftpd/vsftpd.conf

# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
chroot_local_user=YES    => 주석을 제거합니다.
chroot_list_enable=YES    => 주석을 제거합니다.
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list    => 주석을 제거합니다.

chroot_list 파일을 생성하고 상위 폴더로 가고 싶은 user명을 씁니다.

그러면 chroot_list 파일에 있는 user만 상위 폴더로 이동이 가능합니다.

 

- xferlog_enable=YES : FTP 접속자들의 업/다운로드 상황 로그파일 저장 여부 설정
# Activate logging of uploads/downloads.
xferlog_enable=YES

- xferlog_file=/var/log/vsftpd.log : 로그파일 경로 설정
# You may override where the log file goes if you like. The default is shown
# below.
xferlog_file=/var/log/vsftpd.log

 

# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().

- chroot_local_user=YES : 홈 디렉토리 위로 이동 제한 여부 설정(기본값 NO)5

chroot_local_user=YES

- chroot_list_enable=YES : chroot에서 제외할 사용자 목록 파일 사용 여부 설정(기본값 NO)chroot_list_enable=YES


# (default follows)

- chroot_list_file=/etc/vsftpd.chroot_list : chroot에서 제외할 사용자 목록 파일과 경로 설정
chroot_list_file=/etc/vsftpd/chroot_list

 

반응형
Posted by 은총애비!!
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함