아파치 (Apache )2016. 4. 21. 19:46

1.         JAVA 환경변수 설정

▶ 압축 해제

경로: /usr/java

 

tar zxvf jdk-7u79-linux-x64.gz

 

▶자바 환경 변수 설정

 1.사용자마다 공통된 자바 환경 설정을 적용하려면?

   # vi /etc/profile

   HISTSIZE 항목 밑에

   # Java Enviroment Configuration

   JAVA_HOME="/usr/java/jdk"

   CLASSPATH=".:/usr/java/jdk/lib/tools.jar"

   PATH="$PATH:/usr/java/jdk/bin/"

   export JAVA_HOME CLASSPATH

 

 2.새로운 환경 변수를 적용한다.

   # source /etc/profile

 

 3.아래처럼 메세지 발생하면 정상 설치

   # java -version

java version "1.7.0_79"

Java(TM) SE Runtime Environment (build 1.7.0_79-b15)

Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

 

호스트명 확인 및 호스트명 변경

# vi /etc/sysconfig/network (호스트명 변경)

# vi /etc/hosts          (호스트명 변경)

# hostname  호스트명  (호스트명 변경)

 

아래의 명령을 실행하여 의존 패키지를 설치합니다.

yum -y install wget gcc gcc-c++ openssl-devel

 

아래의 명령을 실행하여 Apache HTTPD 설치시 필요한 소스를 다운로드 받습니다.

다운로드

– apache : http://www.apache.org/dyn/closer.cgi
– apr/apr-util : https://apr.apache.org
– pcre :  
http://www.pcre.org

 

 

먼저 파일들을 다운받을 적당한 디렉토리를 선택한다. 여기선 /usr/local/src으로 가정합니다.

# 디렉토리를 이동

$ cd /usr/local/src

 

아래의 명령을 실행하여 다운로드 받은 Apache HTTPD Source 의 압축을 해제합니다.

# 아파치 패키지 파일을 다운 받습니다.

$ wget http://www.atblog.co.kr/file/package/httpd-2.4.10.tar.gz

 

# 그리고 압축을 해제 시켜두자

$ tar xvfz httpd-2.4.10.tar.gz

 

설치경로: /usr/local/apache

 

여기까지 완료되었으면 추가로 Apache설치를 하기 위한 존속성 패키지들을 설치 것이다.

apr 설치 하자.

# 패키지를 다운받고

$ wget http://www.atblog.co.kr/file/package/apr-1.5.1.tar.gz

# 압축을 해지시킨 후

$ tar xvfz apr-1.5.1.tar.gz

# 내부로 진입해 기본적인 세팅과 컴파일 과정을 거친다.

$ cd apr-1.5.1

$ ./configure

$ make

$ make install

$ /usr/local/apr (apr 설치 폴더명 확인)

 

다음 설치 것은 apr-util

# apr설치와 다를건 없다.

# 다시 디렉토리로 돌아와서

$ cd ..

$ wget http://www.atblog.co.kr/file/package/apr-util-1.5.4.tar.gz

$ tar xvfz apr-util-1.5.4.tar.gz

$ cd apr-util-1.5.4

$ ./configure --with-apr=/usr/local/apr

$ make

$ make install

 

끝으로 pcre 설치 합니다.

# 다시 디렉토리로 돌아와서

$ cd ..

$ wget http://www.atblog.co.kr/file/package/pcre-8.36.tar.gz

$ tar xvfz pcre-8.36.tar.gz

$ cd pcre-8.36

$ ./configure --prefix=/usr/local/pcre

$ make

$ make install

 

8.1         소스 컴파일 및 설치

여기까지 설치 하였다면 기본적은 패키지는 전부 설치되어 있다고 있습니다.
이제 아파치를 세팅할 것입니다.

$ cd ..

$ cd httpd-2.4.10

$ ./configure --prefix=/apache --enable-http  --enable-info --enable-cgi --enable-so --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr

$ make

$ make install

 

이제 설치가 완료되었으니 아파치를 구동시켜보자.

$ /usr/local/apache/bin/httpd -k start

 

8.2         설치 확인

정상적으로 설치가 되었는지 확인하기 위하여 아래의 명령을 실행합니다.

localhost:root:/usr/local/apache/bin># httpd -v

Server version: Apache/2.2.15 (Unix)

Server built:   Mar 22 2016 19:03:53

 

8.3         아파치 환경설정

localhost:root:/usr/local/apache/conf># vi httpd.conf

 

Listen@@Port@@ => 80으로 변경

User daemon => nobody으로 변경

Group daemon => nobody으로 변경

 

189 #ServerName (주석해제 후 해당 아이피 작성) => ServerName (호스트네임)

 

8.4         HTTPD 실행

설치 폴더의 bin 디렉토리로 이동합니다.

cd /usr/local/apache/bin

 

아래의 명령을 이용하여 Apache HTTPD를 실행합니다.

./apachectl start

 

정상적으로 프로세스가 실행이 되었는지 확인하기 위하여 아래의 명령을 실행하여 HTTPD 의 프로세스를 확인합니다

ps -ef | grep httpd

root     13729     1  0 18:06 ?        00:00:00 /app/httpd-2.4.9/bin/httpd -k start

daemon   13730 13729  0 18:06 ?        00:00:00 /app/httpd-2.4.9/bin/httpd -k start

daemon   13731 13729  0 18:06 ?        00:00:00 /app/httpd-2.4.9/bin/httpd -k start

daemon   13732 13729  0 18:06 ?        00:00:00 /app/httpd-2.4.9/bin/httpd -k start

root     13815 14640  0 18:06 pts/0    00:00:00 grep httpd

 

정상적으로 실행이 되면 아래와 같이 프로세스 정보가 나타납니다. 만약 아래와 같이 정상적으로 프로세스가 실행되지 않거나 오류 메시지가 나타나면 아래의 오류대응을 참고하시면 됩니다.

 

파일에 위의 것이 없으면 추가해주고 저장하고 나온다.

[root@192 apache]# vi /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

 

[root@192 apache]# /etc/init.d/iptables restart  (방화벽 서비스 다시 시작)

It works!가 나온다면 설치 성공~!

apr_sockaddr_info_get() failed for node01

 

10.1      오류 내용

Apache HTTPD 시작시 아래와 같은 오류 메시지가 출력되며, 실제 기동이 되지 않습니다. node01 이라는 호스트명에 대한 실제 IP 를 찾지 못해서 발생하는 문제입니다.

AH00557: httpd: apr_sockaddr_info_get() failed for node01

 

10.2      오류 해결

아래의 명령을 실행하여 /etc/hosts 파일을 편집합니다.

아래와 같이 해당 호스트명 (node01) 을 등록한 후 저장합니다.

vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 node01

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

 

10.3      오류 내용

httpd: Could not reliably determine the server's fully qualified domain name

 

10.4      오류 해결

httpd.conf 파일 수정

ServerName localhost:80   / ServerName 127.0.0.1


Posted by 랩퍼우
아파치 (Apache )2016. 4. 21. 19:45

Tomcat 홈페이지에서 먼저 Connectors(mod_jk) 다운받는다.

http://tomcat.apache.org/download-connectors.cgi

다운로드가 완료되면 받은 파일을 리눅스 서버에 옮긴다.

 

다운받은 Connectors 파일의 압축을 해제한다.

압축해제가 완료되면 {Connectors 디렉토리}/native 디렉토리로 이동한다.

tar zxvf tomcat-connectors-1.2.37-src.tar.gz

cd tomcat-connectors-1.2.37-src/native

./configure --with-apxs=/usr/sbin/apxs  (yum install 설치했을 때의 위치)

 or

./configure --with-apxs=/usr/local/httpd/jboss-ews-2.1/httpd/sbin/apxs (아파치 설치 서버 경로)

 

make

make install

위의 명령어를 실행하면 httpd/modules 디렉토리 아래에 mod_jk.so 파일이 생성된다.

이때 apxs 위치는 Apache 어떻게 설치했는지에 따라 다르다.

위의 경로는 yum install 설치했을 때의 위치이다.

 

./configure --with-apxs=/usr/sbin/apxs

위와 같은 에러메세지가 나온다면 

#> yum -y install httpd-devel

패키지를 설치한다

 

apache/modules/mod_jk.so     #해당 파일이 존재하는지 확인.

 

httpd/modules 디렉토리에 mod_jk.so 생성 됬다면 Connectors 재대로 설치된 것이다.

설치가 완료되면 httpd.conf 파일에 맨마지막 줄에 아래와 같이 내용을 추가한다

#

# apache - tomcat connector module

#

LoadModule jk_module modules/mod_jk.so

 

<IfModule jk_module>

    JkWorkersFile "conf/workers.properties"

    JkLogFile "logs/mod_jk.log"

    JkLogLevel info

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

    JkRequestLogFormat "%w %V %T"

</IfModule>

# mount file list

JkMount /*.do worker1

JkMount /*.jsp worker1

JkMount /servlet/* worker1

모듈을 설정한 worker 파일을 생성한다.

httpd/conf 디렉토리에 workers.properties 파일을 생성한다.

 

5.           workers 설정 파일 (/usr/local/apache/conf/ 에 생성)

# vi workers.properties

 

worker.list=worker1

 

worker.worker1.type=ajp13

worker.worker1.host=localhost

worker.worker1.port=8009

worker.worker1.lbfactor=1

여기까지 완료되면 mount file list 설정한 .do .jsp 등으로 접속을 시도할 경우 Apache 아닌 Tomcat 설정된 경로의 파일이 실행된다.

예를 들어서 aaa.swcode.net으로 접속할 경우 해당 주소로 연결된 디렉토리의 index.html 파일이 열리지만 aaa.swcode.net/index.jsp 접속할 경우 Tomcat 설정된 경로의 index.jsp 실행된다.

 

 

 

  - apache 서비스 재시작

  - tomcat 서비스 재시작

- 웹페이지 localhost/index.jsp 했을 Apache Tomcat 페이지가 나오면 정상적으로 연동된 것입니다.

-  localhost했을 때는 아파치 시작 페이지가 나옵니다.

 

Posted by 랩퍼우
아파치 (Apache )2016. 4. 21. 19:44


1.2       설치 전 준비 자료

구 분

설 명

jdk

jdk 1.7

X-Window

-

Oracle10g

-

Swap memory

10GB

 

1.3       설치 환경

구 분

설 명

OS

CentOS 6.7

bit

64bit

Kernel

2.6.18-398.e15


 

Jdk1.5, Oracle 환경설정 및 설치.

 

2.1         Jdk 설치 환경설정

2.1.1  설치

Jdk jdk1.4.2 version 이상 설치한다. 여기서는 jdk1.7 버전을 설치 하였다.

Jdk설치 과정은 생략한다.

 

2.1.2  환경설정

Jdk가 설치된 경로에 맞게 환경변수를 설정 해준다.

-    설치경로 : /usr/jdk1.7.0_79

-    /etc/profile에 아래 path추가

vi /etc/profile

# javapath

export JAVA_HOME="/usr/jdk1.7.0_79"

PATH="$JAVA_HOME/bin:$PATH"

 

Java가 정상적으로 설치 됬는지 확인.

Java -version

설치 한 버전에 맞게 정보가 출력 되는지 확인한다.

 

3.1    네임서버 설정

#vi /etc/resolv.conf

nameserver 168.126.63.1

nameserver 168.126.63.2

 

 

 

3.2    Gcc 패키지 설치 (필수 패키지)

yum -y install wget gcc gcc-c++ openssl-devel

 

3.3    기존에 httpd 패키지 확인

httpd 삭제

[root@localhost apr-1.4.8]# rpm -qa |grep httpd (패키지 확인)

[root@localhost apr-1.4.8]# which httpd (설치 되어있는지 확인)

[root@localhost apr-1.4.8]# yum remove httpd (삭제)

 

4.         Apache (아파치) 설치

4.1    설치파일 다운로드

– apache : http://www.apache.org/dyn/closer.cgi
– apr/apr-util : https://apr.apache.org
– pcre :  http://www.pcre.org

 

먼저 파일들을 다운받을 적당한 디렉토리를 선택한다. 여기선 /usr/local/src으로 가정합니다.

# 디렉토리를 이동 하자.

$ cd /usr/local/src

 

4.2    Apache HTTPD 압축 해제

아래의 명령을 실행하여 다운로드 받은 Apache HTTPD Source 압축을 해제합니다.

# 아파치 패키지 파일을 다운 받는다.

$ wget http://www.atblog.co.kr/file/package/httpd-2.4.10.tar.gz

# 그리고 압축을 해제 시켜두자

$ tar xvfz httpd-2.4.10.tar.gz

설치경로: /usr/local/apache

 

4.3    Apr (Apache Portable Runtime)  소스

여기까지 완료되었으면 추가로 Apache설치를 하기 위한 존속성 패키지들을 설치 것이다.

apr 설치 하자.

# 패키지를 다운받고

$ wget http://www.atblog.co.kr/file/package/apr-1.5.1.tar.gz

# 압축을 해지시킨

$ tar xvfz apr-1.5.1.tar.gz

# 내부로 진입해 기본적인 세팅과 컴파일 과정을 거친다.

$ cd apr-1.5.1

$ ./configure

$ make

$ make install

$ mv apr-1.5.1 apr

 

4.4    apr-util 설치

# apr설치와 다를건 없다.

# 다시 디렉토리로 돌아와서

$ cd ..

$ wget http://www.atblog.co.kr/file/package/apr-util-1.5.4.tar.gz

$ tar xvfz apr-util-1.5.4.tar.gz

$ cd apr-util-1.5.4

$ ./configure --with-apr=/usr/local/apr

$ make

$ make install

 

4.5    PCRE 설치

# 다시 디렉토리로 돌아와서

$ cd .

$ wget http://www.atblog.co.kr/file/package/pcre-8.36.tar.gz

$ tar xvfz pcre-8.36.tar.gz

$ cd pcre-8.36

$ ./configure --prefix=/usr/local/pcre

$ make

$ make install

 

4.6     HTTPD 설치

4.6.1        소스 컴파일 및 설치

여기까지 설치 하였다면 기본적은 패키지는 전부 설치되어 있다고 있습니다.
이제 아파치를 세팅할 것입니다.

$ cd ..

$ cd httpd-2.4.10

$ ./configure --prefix=/apache --enable-http  --enable-info --enable-cgi --enable-so --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr

$ make

$ make install

 

이제 설치가 완료되었으니 아파치를 구동시켜보자.

$ /usr/local/apache/bin/httpd -k start

 

4.7    설치 확인

정상적으로 설치가 되었는지 확인하기 위하여 아래의 명령을 실행합니다.

localhost:root:/usr/local/apache/bin># httpd -v

Server version: Apache/2.2.15 (Unix)

Server built:   Mar 22 2016 19:03:53

 

4.8    아파치 환경설정

localhost:root:/usr/local/apache/conf># vi httpd.conf

 

Listen@@Port@@ => 80으로 변경

User daemon => nobody으로 변경

Group daemon => nobody으로 변경

189 #ServerName (주석해제 해당 아이피 작성) => ServerName (호스트네임)

 

4.9     HTTPD 실행

설치 폴더의 bin 디렉토리로 이동합니다.

cd /usr/local/apache/bin

 

아래의 명령을 이용하여 Apache HTTPD 실행합니다.

./apachectl start

 

정상적으로 프로세스가 실행이 되었는지 확인하기 위하여 아래의 명령을 실행하여 HTTPD 프로세스를 확인합니다

ps -ef | grep httpd

root     13729     1  0 18:06 ?        00:00:00 /app/httpd-2.4.9/bin/httpd -k start

daemon   13730 13729  0 18:06 ?        00:00:00 /app/httpd-2.4.9/bin/httpd -k start

daemon   13731 13729  0 18:06 ?        00:00:00 /app/httpd-2.4.9/bin/httpd -k start

daemon   13732 13729  0 18:06 ?        00:00:00 /app/httpd-2.4.9/bin/httpd -k start

root     13815 14640  0 18:06 pts/0    00:00:00 grep httpd

 

정상적으로 실행이 되면 아래와 같이 프로세스 정보가 나타납니다. 만약 아래와 같이 정상적으로 프로세스가 실행되지 않거나 오류 메시지가 나타나면 아래의 오류대응을 참고하시면 됩니다.

 

4.10  방화벽 오픈

파일에 위의 것이 없으면 추가해주고 저장하고 나온다.

[root@192 apache]# vi /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

 

[root@192 apache]# /etc/init.d/iptables restart  (방화벽 서비스 다시 시작)

 

Tomcat 설치하기 위해 먼저 Apache Tomcat 사이트에서 Tomcat 파일을 다운로드 받습니다.

http://tomcat.apache.org/

 

사이트로 이동하면 왼쪽 사이드바 부분에 있는 Download 에서 Tomcat7 클릭하여 다운로드 페이지로 이동후 다운로드 페이지에서 tar.gz  파일을 다운 받습니다..

5.1      압축해제 및 이동

apache-tomcat-7.0.50.tar.gz

 

#cd /usr/local/src

 

5.2      환경설정 추가

#vi /etc/profile

 

export CATALINA_HOME=/usr/local/tomcat7

export PATH=$PATH:$CATALINA_HOME/bin

 

#source /etc/profile

 

5.3      프로세스 확인

ps -ef |grep catalina

 

5.4      홈페이지 확인

http://localhost:8080

 

 

6.1      다운로드

http://tomcat.apache.org/download-connectors.cgi 에서 소스  download

 

6.2      압축 해제 및 설치

tar zxvf tomcat-connectors-1.2.37-src.tar.gz

cd tomcat-connectors-1.2.37-src/native

./configure --with-apxs=/usr/sbin/apx

make

make install

make install /usr/local/httpd/modules/mod_jk.so 복사됨을 확인

 

에러 발생시

./configure --with-apxs=/usr/sbin/apxs

위와 같은 에러메세지가 나온다면 

#> yum -y install httpd-devel

패키지를 설치한다

 

6.3      Apache httpd 설정

cd /apache/httpd-2.4.18/modules

make

make install

 

cd /apache/httpd-2.4.18/docs/conf

vim httpd.conf

 

LoadModule jk_module modules/mod_jk.so

 

 

6.4      mod_jk compile

RHEL6/CentOS 6 기준이며 compile 하려면 사전에 gcc httpd-devel 패키지가 설치되어 있어야 한다. (yum install gcc gcc-c++ httpd-devel)

mod_jk compile 귀찮으면 첨부되어 있는 pre-compiled connector 다운받은 후에/etc/httpd/moduels 복사해 준다.

mod_jk 받아 아파치의 modules 추가됨을 확인해야 정상적으로 완료된 것입니다.

 

6.5      apache/modules/mod_jk.so 해당 파일이 존재하는지 확인.

LoadModule jk_module /apache/httpd-2.4.18/modules/mod_jk.so

JkWorkersFile "conf/workers.properties"

JkLogFile "logs/mod_jk.log"

JkLogLevel info

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

JkRequestLogFormat "%w %V %T"

JkMount /*.do worker1

JkMount /*.jsp worker1

JkMount /servlet/* worker1

 

6.6      workers.properties 파일생성

workers.tomcat_home="/tomcat/tomcat8"

workers.java_home=" /usr/java/jdk"

ps=/

worker.list=ajp13

worker.ajp13.port=8009

worker.ajp13.host=localhost

worker.ajp13.type=ajp13

 

6.7      mod_jk.conf 파일생성

[root@localhost conf]# vi mod_jk.conf

 

<IfModule mod_jk.c>

        JkWorkersFile "/apache/httpd-2.4.18/docs/conf/extra/workers.properties"

        JkLogFile "/tomcat/tomcat8/logs/mod_jk.log"

        JkLogLevel info

        JkAutoAlias "/tomcat/tomcat8/webapps"

        JkMount /* ajp13

        JkMount /*.jsp ajp13

        JkMount /servlet/* ajp13

        JkMount /examples/*.jsp ajp13

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

        JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

        JkRequestLogFormat "%w %V %T"

</IfModule>

 

workers.tomcat_home 대입되는 경로는 톰캣디렉토리경로를 작성해주면 되겠습니다.

workers.java_home에는 JDK 디렉토리 설치경로를 작성해주시면 됩니다.

 

6.8      workers_uri.properties 생성

/apache/httpd-2.4.18/docs/conf/extra># vi workers_uri.properties

 

/*.do=ajp13

/*.jsp=ajp13

/*.do=ajp13

/*.jsp=ajp13

/*.js=ajp13

/*.gif=ajp13

/*.jpg=ajp13

/*.css=ajp13

 

  - apache 서비스 재시작

  - tomcat 서비스 재시작

 

-  웹페이지 localhost/index.jsp 했을 Apache Tomcat 페이지가 나오면 정상적으로 연동된 것입니다.

-  localhost했을 때는 아파치 시작 페이지가 나옵니다.

 

Posted by 랩퍼우
아파치 (Apache )2016. 4. 20. 15:23

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



# tomcat connector

Include conf/extra/httpd-jk.conf



# tomcat connector (주석처리)
# Include conf/extra/httpd-jk.conf




/usr/local/apache/bin># ./apachectl start (아파치 재실행)



/usr/local/apache/bin># ps -ef |grep httpd

root      2370     1  0 15:20 ?        00:00:00 /usr/local/apache/bin/httpd -k start

nobody    2371  2370  0 15:20 ?        00:00:00 /usr/local/apache/bin/httpd -k start

nobody    2372  2370  0 15:20 ?        00:00:00 /usr/local/apache/bin/httpd -k start

nobody    2373  2370  0 15:20 ?        00:00:00 /usr/local/apache/bin/httpd -k start

nobody    2374  2370  0 15:20 ?        00:00:00 /usr/local/apache/bin/httpd -k start

nobody    2375  2370  0 15:20 ?        00:00:00 /usr/local/apache/bin/httpd -k start

root      2377  1631  0 15:20 pts/0    00:00:00 grep httpd



Posted by 랩퍼우
아파치 (Apache )2016. 2. 22. 16:51

 Domain기반 서비스의 경우 DNS -> L4 Swich -> WebServer -> WebApplicationServer로 요청이 전달 되고 이런 구성에서는 보통 L4스위치에서 그리고 WebServer에서 또한번 Load Balancing이 가능합니다. L4에서는 클라이언트의 요청을 Load Balancing 알고리즘에 따라 WebServer로 분배합니다.

ㅇ WebServer에서도 Load Balancing을 수행합니다.
WEB-WAS를 연결하며 Load Balancing까지 함께 하는 모듈 중 하나가 mod_jk.so입니다. 설정된 
URI,  Worker mapping 정보에 따라 해당 컨텐츠를 JBoss 인스턴스로 전달합니다.

ㅇ 아파치 웹서버에 로드되는 mod_jk.so 모듈로 WEB-WAS연동 및 Load Balancing 설정방법을 알아보겠습니다.



* mod_jk.so 빌드하기

1. Tomcat Connectors(mod_jk) 모듈 설치파일 다운로드

  - URL : http://tomcat.apache.org/download-connectors.cgi

  - Apache Tomcat사이트에서 다운로드 or 서버에서 wget하세요

 # wget http://apache.mirror.cdnetworks.com/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.40-src.tar.gz


2. 컴파일 및 모듈확인

"--with-apxs=/apache/httpd2/bin/apxs"옵션으로 기설치된 아파치의 모듈을 가져다 빌드하면
   /apache설치경로/bin/module 에 mod_jk.so가 생성된 것을 확인할 수 있습니다.

 # tar -xvzf tomcat-connectors-1.2.40-src.tar.gz

 # cd /apache/tomcat-connectors-1.2.40-src/native

 # ./configure --with-apxs=/apache/httpd2/bin/apxs
,,,,,,,,,,,,,,,,,,,,,

 # make
,,,,,,,,,,,,,,,,,,,,,

 # make install
,,,,,,,,,,,,,,,,,,,,,,,

 # cd /apache/httpd2/modules

 # ls -l



※ --with -apxs[=FILE] : share된 아파치 모듈을 build하는 옵션으로 apache설치된 경로/bin/apxs를 
주면 됩니다.


* mod_jk.so 설정

1. mod_jk 모듈 설정

   - httpd.conf : mod_jk.conf파일을 로딩하도록 include라인 추가

   - mod_jk.conf : JkMountFile과 JkWorkersFile을 지정하여 처리할 URI와 JBoss인스턴스를 매핑

 # cd /apache/httpd2/conf

 # vi httpd.conf



# vi mod_jk.conf



※ JkMount         : 웹서버가 mod_jk모듈로 전송할 URL을 지정 Ex) JkMount /*.jsp lb
※ JkMountFile    : URL패턴 포함한 파일 지정 Ex) JkMountFile conf/uriworkermap.properties
※ JkWorkersFile : worker지정 및 관련 옵션설정

2. workers.properties 설정

   - worker는 JBoss인스턴스를 의미합니다. Apache와 연결되는 worker는 worker.properties에
     등록되어 있어야 
mod_jk가 적절한 부하분산을 해줍니다. 인스턴스별로 worker를 설정합니다

   - worker 설정: worker.<worker_name>.<directive>=<value>
   
 ※ worker_name은 JBoss의 인스턴스 id와 동일하게 맞춰야 합니다.

   - 1개의 인스턴스만으로 테스트 할 경우 아래 주황색 box만 추가하고, 여러 worker를 로드밸런싱 및 
      클러스터링 할 경우 인스턴스마다의 주황색 box를 설정합니다.
   - template는 ajp connection 전/후 ajp protocol로 CPING/CPONG 메세지 주고 받아 연결 이상여부
     확인하는 옵션들로 s or ms단위 입니다.

 # cd /apache/httpd2/conf

 # vi workers.properties


※ worker.worker_name.host : clustring 및 load balnancing 대상 host 
                                             두 대의 물리적 서버에 설치된 worker를 연동할 경우 IP를 넣어야 합니다
                                             DNS lookup하지 않도록 ip로 설정하는 것이 좋습니다.

※ worker.worker_name.port : Apache와 JBoss 통신하는 port로 단일 노드 기본 AJP  port는  "8009"

※ worker.worker_name.type : worker와 연결 시 사용할 프로토콜 type

※ Apache와 JBoss를 연결하게 되면 JBoss에서 기본으로 사용하던 8080 port는 더이상 유효하지 않습니다.
    8080은 http요청을 직접 받는 port이며, 이후 uriworkermap.properites의 설정으로 jmx-console의
    접속 정도 사용됩니다. 해당 port에 대해서는 JBoss의 아래 파일에도 설정되어 있습니다.
    - /JBoss설치경로/standalone/configuration/standalone*.xml
    - 
/JBoss설치경로/domain/configuration/domain.xml


3. uriworkermap.properties 설정

   - 웹서버와 JBoss가 처리할 요청을 분리하는 URI worker mapping 작업 설정하는 작업으로 
      properties에 패턴 추가 합니다.

 # cd /apache/httpd2/conf

 # vi uriworkermap.properties


※ worker.worker_name.host : clustring 및 load balnancing 대상 host로 두 대의 물리적 서버에
    설치된 worker를 연동 할 경우 IP를 넣어야 합니다
              

4. JBoss 설정

   - JBoss에서 AJP 프로토콜을 사용하도록 추가 설정해 줍니다.
   
-  8009port 도 바인딩하게 되어있는지 확인합니다.
   - JBoss기동하며 아래와 같이 8009 port에 대해 AJP 프로토콜 로그 확인 합니다.

 # cd /{JBOSS_HOME}/standalone/configuration

 # vi standalone.xml

......................

 # cd /{JBOSS_HOME}/bin

 # ./standalone.sh


※ http://localhost:8080 의 콘솔에 접속하여서도 간단히 AJP설정 할 수 있습니다.

1) Profile > Web (Servlet/HTTP) > Add         


2) ajp 프로토콜 추가

3) ajp 추가 완료

 

연동이 완료되었네요!
다음엔 간단한 디플로이 후 WAS 페이지를 띄워 연동까지 확인해 보겠습니다~


Posted by 랩퍼우
아파치 (Apache )2016. 2. 22. 16:35

#./apachctl stop

httpd: could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

 

위와 같은 메세지가 발생한다..

 

해결방법

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

먼저, 위와 같은 메세지는 오류는 아니고..단지 경고문에 불과하다. /usr/local/apache/conf/httpd.conf 파일을 보게 되면..ServerName 을 지정하는 부분이 있는데.. 이 부분은 DNS에 공인된 이름을 표기하기 위한 부분이다. 

위의 메세지가 나올경우 이 부분을 살펴보아 "#"주석처리가 되어 있으면 주석을 제거하고 도메인이름이나 IP를 넣어주면 된다.

 

ServerName 127.0.0.1                     //내부테스트용일 경우 'localhost'

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



Posted by 랩퍼우
아파치 (Apache )2016. 2. 17. 16:48


find / -name httpd.pid  (httpd.pid 파일 찻기)


/var/run/httpd.pid 



/usr/local/apache2/logs/httpd.pid (경로로 파일 복사)





-- httpd.conf -- (PidFile 경로추가)

  :

ServerRoot "/usr/local/apache2"

PidFile /usr/local/apache2/logs/httpd.pid


  :

  :



-- httpd.conf -- (경로: /usr/local/apache2/bin)


# apachectl start

# ps aux | grep httpd

root     30008  0.0  0.6   6344  3440 ?        Ss   01:52   0:00 /usr/local/apache/bin/httpd

nobody   30009  0.0  0.5   6344  2752 ?        S    01:52   0:00 /usr/local/apache/bin/httpd

nobody   30010  0.0  0.5   6344  2752 ?        S    01:52   0:00 /usr/local/apache/bin/httpd

nobody   30011  0.0  0.5   6344  2752 ?        S    01:52   0:00 /usr/local/apache/bin/httpd

nobody   30012  0.0  0.5   6344  2752 ?        S    01:52   0:00 /usr/local/apache/bin/httpd

nobody   30013  0.0  0.5   6344  2752 ?        S    01:52   0:00 /usr/local/apache/bin/httpd

root     30033  0.0  0.0   1944   512 pts/2    R+   01:55   0:00 grep httpd




- pid 파일을 삭제하면 apachectl로 아파치데몬을 stop 시킬 수 없다.

# rm -f  /usr/local/apache2/logs/httpd.pid

# apachectl stop

/usr/bin/apachectl stop: httpd (no pid file) not running


# netstat -nltp | grep 80

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      30008/httpd 


# ps aux | grep httpd | grep root

root     30008  0.0  0.6   6344  3440 ?        Ss   01:52   0:00 /usr/local/apache/bin/httpd

root     30098  0.0  0.0   1944   484 pts/2    R+   01:59   0:00 grep httpd



PidFile /usr/local/apache/logs/httpd.pid

# echo 30008 > /usr/local/apache/logs/httpd.pid

# apachectl stop





Posted by 랩퍼우
아파치 (Apache )2016. 1. 14. 11:18

아파치 싸이트에서  openssl이 포함되 있는 아파치 실행파일을 받는다(*.msi)

1. 아파치  기본 경로로  설정해준다

a) server information창에서  network도메인 서버 네임 어드민 이메일을 입력하라고 나오는데
서버내임과 네트워크 도메인 이름을같게 해주고 이름을 기억하자 나중에 꼭 필요하다


2. 아파치\bin 폴더에 있는 ssleay32.dll , libeay.dll 파일을 윈도우즈\system32 폴더에 복사해준다

3. 아파치 환경변수를 잡아준다(나는 잡을줄 모른다 --;; 고로 환경변수 안잡아도 인증서 발급을 가능하게 할꺼다)

4.아파치\conf\openssl.conf 요 파일이 있는지 확인하자

5. 명령프롬프트창에서 아파치\conf 까지 이동하자

a) ..\bin\openssl 입력하면 openssl이 실행된다
b) req -config openssl.cnf -new -out test.pem
ㄱ)PEM pass phrase : 라고 나오면 4자리 이상 암호를 입력해주고 한번더 나오면
같은 암호 입력해주자
ㄴ)다른건 전부 엔터로 넘어가도 되고
ㄷ)Common Name(eg,YOUR name)[]: 요거 아파치 설치할떄 입력한 이름을 적어준다
나머지는 걍 엔터
c)rsa -in test.pem -out test.key
ㄱ) -.rnd 파일이 생성되는데 위험이 있단다 지워주자
d)x509 -in test.pem -out test.cert -req -signkey test.key -days 365

6. 아파치\conf\안에 ssl 폴더를 추가해주고 생성된 3개의 파일들을 전부 이동시켜준다

7. 아파치\conf안에 있는 httpd.conf 수정

 a) 126줄 부분의 수정
LoadModule userdir_module modules/mod_userdir.so
# LoadModule usertrack_module modules/mod_usertrack.so
LoadModule version_module modules/mod_version.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule ssl_module modules/mod_ssl.so

8. 첨부파일에 있는 ssl.conf파일을 다운 받아서 아파치\conf 폴더 안에 복사하자

a)93줄 주변에 없으면 추가
#  General setup for the virtual host
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
#ServerName localhost:443
ServerName k2web.ac.kr:443
ServerAdmin parkkeunyul@nate.com
ErrorLog logs/error.log
TransferLog logs/access.log

<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
b) 123줄 근처 추가
SSLCertificateFile conf/ssl/test.cert
#SSLCertificateFile conf/ssl.crt/server-dsa.crt
c) 131 줄근처 추가
SSLCertificateKeyFile conf/ssl/test.key
#SSLCertificateKeyFile conf/ssl.key/server-dsa.key
 
% httpd.conf 파일에 주석 알맞게 수정
# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf
...

9. httpd.conf 설정파일 검사

a) bin 폴더에서 httpd -t 치고 Syntax OK라고 나오면 에러 없음

10.  아파치 재시작 httpd -k  restart

11. open port 확인

netstat -an

12. 443 포트 열려져 있으면 성공

13. 아파치 https://localhost/ 인증서 하면 성공



Posted by 랩퍼우
아파치 (Apache )2015. 12. 25. 00:22


아파치 설정 파일 /etc/httpd/conf/httpd.conf에 다음을 저장한다

 

- 차단
<directory "/var/www/html">
order deny,allow
deny from 192.168.1.0/24                #192.168.1.0~192.168.1.255 대역 c클래스 모두차단하기
deny from  192.168.0.2                 #192.168.0.2 ip 한개 차단
</directory>


- 허용

<Directory "/home/hosting/xxxxx/html">
  AllowOverride
  Order deny,allow
  Allow from  1.1.1.

  Deny from all
</Directory>

이렇게 해주면 1.1.1. 대역의 IP만 싸이트에 접속가능합니다.

Posted by 랩퍼우
아파치 (Apache )2015. 12. 25. 00:12

[아파치 보안 인증키 처리 방법]


/NCIA/APACHE/certs/new.cert.tar

# tar xvf new.cert.tar (압축풀기)

# mv new.www www.privacy.go.kr (파일명변경, 인터넷망)
# mv new.intra intra.privacy.go.kr  (파일명변경, 업무망)


/NCIA/APACHE/certs/intra.privacy.go.kr  intra.privacy.go.kr (I,인트라넷)

/NCIA/APACHE/certs/www.privacy.go.kr    www.privacy.go.kr (P, 업무망)



/NCIA/APACHE/jboss-ews-2.1/httpd/conf.d/conf_backup (경로이동)

# mv ssl.conf .. (상위단계로 이동)
# cp ssl.conf ssl.conf_20151125 (파일 복사, 백업)

# vim /NCIA/APACHE/jboss-ews-2.1/httpd/conf.d/ssl.conf


#LoadModule ssl_module modules/mod_ssl.so (주석처리)
---------------------------------인터넷망---------------------------------------------


SSLPassPhraseDialog exec:/NCIA/APACHE/certs/www.privacy.go.kr/passwd.sh

1.SSLCertificateFile /etc/pki/tls/certs/localhost.crt (기존)
1.SSLCertificateFile /NCIA/APACHE/certs/www.privacy.go.kr/cert.pem (변경)

2.SSLCertificateKeyFile /etc/pki/tls/private/localhost.key (기존)
2.SSLCertificateKeyFile /NCIA/APACHE/certs/www.privacy.go.kr/key.pem (변경)

3.SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt (기존, 이미주석처리됨)
3.SSLCertificateChainFile /NCIA/APACHE/certs/www.privacy.go.kr/caChain.pem (변경)

4.SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt (기존, 이미주석처리됨)
4.SSLCACertificateFile /NCIA/APACHE/certs/www.privacy.go.kr/ca.pem (변경)


---------------------------------업무망---------------------------------------------


SSLPassPhraseDialog exec:/NCIA/APACHE/certs/intra.privacy.go.kr/passwd.sh

1.SSLCertificateFile /etc/pki/tls/certs/localhost.crt (기존)
1.SSLCertificateFile /NCIA/APACHE/certs/intra.privacy.go.kr/cert.pem (변경)

2.SSLCertificateKeyFile /etc/pki/tls/private/localhost.key (기존)
2.SSLCertificateKeyFile /NCIA/APACHE/certs/intra.privacy.go.kr/key.pem (변경)

3.SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt (기존, 이미주석처리됨)
3.SSLCertificateChainFile /NCIA/APACHE/certs/intra.privacy.go.kr/caChain.pem (변경)

4.SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt (기존, 이미주석처리됨)
4.SSLCACertificateFile /NCIA/APACHE/certs/intra.privacy.go.kr/ca.pem (변경)

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

5. 아파치 서버 재기동
# /NCIA/APACHE/jboss-ews-2.1/httpd/sbin./apachectl stop (아파치 서비스 정지)

# /NCIA/APACHE/jboss-ews-2.1/httpd/sbin./apachectl start (아파치 서비스 시작)


6. 아파치 프로세스 기동 확인
# ps -ef | grep httpd

Posted by 랩퍼우