[Micro Server G7 N54L] jdk 설치 /apache 설치 /tomcat 설치 /apache & tomcat connectors 연동 /OpenSSL 설정
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로 설명을 했지만 그래도만 따라하시면 성공 할 수 있습니다!!!
'Linux' 카테고리의 다른 글
[MicroServer G7 N54L] Linux Kernel compile (0) | 2014.10.10 |
---|---|
[MicroServer G7 N54L] rpmforge 다운 및 설치 (0) | 2014.09.30 |
[Micro Server G7 N54L] linux 부팅시 데몬 자동 시작하게 하는 방법 (0) | 2014.09.28 |
[Micro Server G7 N54L] VSFTP 설정 (0) | 2014.09.28 |
[Micro Server G7 N54L] linux 대기 모드 진입 방지 (0) | 2014.09.21 |