본문 바로가기

IT

aix7.1 apm 설치

설치 환경

 os 

 aix7.1 

 http

 apache 2.4.3-1

 tomcat 7.0.57
 mysql 5.1.73


1. 기본 환경 설정

  1-1 hostname 부여

 # smitty hostname

  - Set the Hostname 선택

  - HOSTNAME란에 원하는 호스트명 입력 

  - enter후 쉘 상태에서 hostname 명령으로 변경 여부 확인

* smitty hostname으로 변경하면 /etc/hosts에 자동으로 등록된다

 

  1-2 ip 할당

ifconfig -a 명령어로 인터페이스 확인(lo인터페이스만 있을 것이다)

 # smitty mktcpip

  - en0 Standard Ethernet Network Interface 선택

    = Internet ADDRESS에 ip 입력

    = Network MASK에 서브넷 입력

    = 맨 밑에 START Now yes로 변경

혹, 기존에 설정된 인터페이스를 삭제하려면 ifconfig en0 detach 명령으로 삭제할 수 있다.


  1-3 wget 설치

 # ftp ftp.software.ibm.com

 Name> ftp

 Password> 이메일 형식 아무렇게나

 ftp> cd aix/freeSofrware/aixtoolbox/RPMS/ppc/wget

 ftp> binary

 ftp> get wget-1.9.1-1.aix5.1.ppc.rpm

 ftp> quit

rpm -hUv wget-1.9.1-1.aix5.1.ppc.rpm


  1-4 rpm.rte 설치

aix7.1은 기본적으로 rpm.rte가 설치되어 있으나 필요하다면 다음의 방법으로 설치가능

 http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/download.html

 접속 후 3번째 줄 정도에 있는 링크 버튼 클릭하여 다운로드하고, 파일질라등 ftp 툴로 서버에 업로드 한다.

 installp -qacXgd rpm.rte rpm.rte

 위 명령으로 설치

* 파일질라로 서버에 접속 실패할 때는 파일(F) -> 사이트관리자(S) -> 암호화 부분을 Only use plain FTP로 변경 후 접속을 시도하면 접속이 된다.


  1-5 dns 설정

 cp /usr/samples/tcpip/resolv.conf /etc/

 vi /etc/resolv.conf

   nameserver 168.126.63.1

   nameserver 8.8.8.8


  1-6 bash 설치

aix는 기본이 ksh로 지정되어 있다. 간편하고 빠른 bash쉘로 변경하자

 http://www-03.ibm.com/systems/p/os/aix/linux/toolbox/download.html

 또는 http://www.bullfreeware.com/download/wpar_tt/bash-3.0-1.aix5.1.ppc.rpm

 에서 다운로드하고 파일질라로 서버에 업로드 후

 # rpm --install bash-3.0-1.aix5.1.ppc.rpm

 /etc/shells에 /usr/bin/bash 추가

 /etc/security/login.cfg에파일에 shells = 끝부분에 /usr/bin/bash 추가

 # chsh

 # yes

 # /usr/bin/bash

* chsh 명령어를 사용했을 때 /usr/bin/bash가 뜨지 않는다면 /etc/security/login.cfg파일에 내용을 추가할 때 오타가 났기 때문이다. 다시한번 확인해서 오타는 없는지? 줄이 넘어가는부분이 엔터 쳐져 있는게 아닌지 확인(메모장으로 복사 붙여넣기하면 자동으로 엔터쳐지기때문에 이게 오타가될 수 있다)


2. httpd-2.4.3-1 설치

 http://www.perzl.org/aix/index.php?n=FAQs.FAQs 접속

 사이트 중간 즈음에 deps관련 설명이 되어 있는 부분에서 자신의 aix관련 버전을 선택하면 deps 파일들이 쭉 나열된 페이지로 이동하는데 여기서 원하는 rpm파일들의 목록을 확인할 수 있다(의존성에 해결)

 # mkdir /src/httpd

 # cd /httpd

 # wget -B ftp://www.oss4aix.org/everything/RPMS/ -i httpd-2.4.3-1.aix5.1.ppc.deps

 # rpm -Uvh *.rpm

명령어를 입력하면 알아서 의존성 있는 모든 파일들을 순차적으로 다운로드 한다


3. java 설치

  3-1 다운로드

 http://www.ibm.com/developerworks/java/jdk/aix/service.html

  - 원하는 버전을 받는다 여기서는 java se 6

 http://dev.mysql.com/downloads/connector/j/ 

 - 나중에 tomcat과 연동할 커넥터이다

* java 6버전가지는 sdk만 다운로드 받아서 깔면 자동으로 jre가 설치되어 설치가 간편하였으나, 7버전부터는 jre를 함께 다운로드 받아야 한다. 즉 jre와 sdk 두개를 받아서 설치해야 한다.

* 다운로드 버튼을 클릭하면 로그인 화면이 나오고 로그인한 뒤 tar파일을 다운 받는다


  3-2 설치

 # tar vxf Java6_64.sdk.6.0.0.470.tar

 # installp -a -Y -d '.' Java6_64.sdk 

* 명령어 실행 후 /usr 디렉토리 밑에 java6_64 디렉토리가 자동으로 생성된다

* 위에서 2번째로 받은 커넥터는 다운로드 받아서 압축을 풀고 생성된 디렉토리에 가서 "bin.jar"로 끝나는 파일을 java설치 후 생성된 파일 아래 jre/lib/ext/ 밑에 복사한다.


  3-3 PATH 입력 및 설치 확인

 # vi /etc/profile (vi ~/.profile) - 둘 다 해준다

 export JAVA_HOME=/usr/java6_64

 export PATH=/usr/java6_64/bin:/usr/java6_64/jre/bin:/usr/bin:/usr/local/bin:/usr/sbin:$PATH

 # source /etc/profile (source ~/.profile

* 나중에 jdbc로 tomcat & mysql 연동할때 명령어로 연동 확인 하려면 다음의 PATH를 저 파일에 넣어주든 쉘에서 입력하든 한다. export CLASSPATH=/usr/java6_64/jre/lib/ext/mysql-connector-java-5.1.26-bin.jar

* PATH는 명령어로 확인할때 지정해주는 것이다. 저렇게 설해놓고 연동 테스트 웹페이지 만들어서 테스트하면 에러만 뜰것이다. 왜냐하면 내가 지정한 CLASSPATH는 명령어를 위한 PATH지 tomcat을 위한 PATH가 아니고 tomcat을 시작할때 메시지를 잘 보면 CLASSPATH가 나온다

* 명령어도 하고 싶고 웹페이지로도 확인하고 싶다면? 위의 PATH를 해서 명령어로 확인한 다음 unset CLASSPATH명령어로 PATH를 지우고 웹페이지를 열면 된다(톰캣 재기동)

* 연동 확인 명령어 javap org.gjt.mm.mysql.Driver

* 그냥 쉘에서 입력할 때는 기존의 PATH 설정을 지워야 해서 아래와 같이 입력한다

 # unset LIBPATH

 # unset CLASSPATH

 # export JAVA_HOME=/usr/java6_64

 # export PATH=/usr/java6_64/bin:/usr/java6_64/jre/bin:/usr/bin:/usr/local/bin:/usr/sbin:$PATH

* unset 명령을 잘 못 사용하면 ls 같은 명령도 못쓰게 되니 유념하자 unset PATH 이런식으로 실수로라도 입력하면 ls 안먹는다 


4. tomcat-7.0.57 설치

  4-1 다운로드

 http://tomcat.apache.org/download-70.cgi#7.0.57

  - 접속 후 'core'부분에서 tar.gz 형태의 파일 다운로드 


  4-2 설치

 # gunzip apache-tomcat-7.0.57.tar.gz

 # tar vxf apache-tomcat-7.0.57.tar 

 # mv apache-tomcat-7.0.57 /usr/local/tomcat


  4-3 시작 & 종료

 # /usr/bin/tomcat/bin/startup.sh

 # /usr/bin/tomcat/bin/shutdown.sh 


5. mysql-5.1.73 설치

*mysql은 aix에 대해 더이상 지원을 하지 않는다. 관련 카테고리도 삭제되어 mysql binary 버전을 구해서 쉽게 설치하는 건 힘들어졌다

* httpd 처럼 perzl에서 rpm으로 받으려 시도했으나 url이 틀린건지 파일이 삭제된 것인지 명령어를 사용해서는 파일을 찾을 수 없었고 deps 파일을 보고 하나하나 다운받아 설치했을때는 mysql-server를 설치할 때 에러가 발생했다. 에러 발생 후 mysql이 기동되지 않았다. 이때가 깜빡하고 mysql_install_db를 실행하기 전에 기동테스트한거라 제대로 설치가 된건지 안된건지 지금은 알 수가 없다. 아마 설치는 제대로 되었으리라 생각한다. 에러가 나면서 같이 나오는 말이 대충 데몬 기동하고 시작하라는 의미였으니까.. 무튼 제대로 안깔린 줄 알고 소스 컴파일 했는데 aix는 소스컴파일이 굉장히 어렵다 일단 gcc버그가 존재하여 아무 gcc나 깔면 안되고 aix용 gcc를 깔아서 진행해야하는데 이 gcc로도 apache는 소스 컴파일할때 오류가 났다. 무튼 rpm을 추천하는데 정~ 안될때 소스컴파일을 시도하길 바란다

rpm으로 설치시 libcrypto 관련 에러가 발생하면 openssl을 최신버전으로 깔아보자 libcrypto는 openssl이 설치되면서 같이 설치되는 애인데 openssl-1.0.1c에서 안되서 openssl-1.0.1j로 하니까 잘 되었다

  5-1 다운로드

 http://dev.mysql.com/downloads/mysql/5.1.html#downloads

  - source code로 설정하고 맨마지막 tar.gz을 다운로드 받는다 


  5-2 설치

 # gunzip mysql-5.1.73.tar.gz

 # tar vxf mysql-5.1.73.tar

 # cd mysql-5.1.73

 # ./configure

 # make

 # make install

*gcc 설치 내용은 적지 않는다(직접 설치한게 아니라서 확실치 않기 떄문에)


  5-3 신규 데이터 생성 및 데몬 실행 & 종료

 # /usr/local/bin/mysql_install_db

 # /usr/local/bin/mysqld_safe &  - 실행

 # /usr/local/bin/mysqladmin shutdown  - 종료


6. 연동

* tomcat과 mysql 연동은 java 설치부분에서 이미 설명했다 파일을 복사해주기만 하면 된다.

* 여기서는 apache와 tomcat의 연동을 설명하며 연동 방식은 proxy와 rewrite 모듈을 이용한 연동이다 바로 위에서도 설명했다시피 gcc버그로 인해 tomcat 커넥터를 설치할 수 없어 jk_mod를 이용한 연동이 불가능했기에 사용한 방법이다

* 따로 다운로드 받을 파일은 없다

  

  6-1 httpd.conf 파일 설정

 LoadModule proxy_module /opt/freeware/lib/httpd/modules/mod_proxy.so

  - 주석제거(주석이 제거되어 있었다)

 LoadModule rewrite_module /opt/freeware/lib/httpd/modules/mod_rewrite.so

  - 주석제거

 ServerName 192.168.1.10

  - ServerName부분에 입력해준다 안해주면 실행할때마다 머라머라해서 걸리적거린다

 Include conf/extra/httpd-vhosts.conf

  - Virtual hosts 아래 부분 주석제거

다음 부분은 혹시 몰라서 설정한 부분들이다 안해도 될거 같은데 일단 적어는 놓는다 나중에 테스트가 필요한 부분이다

 <Directory />

     AllowOverride All

 </Directory>

  - 기본이 AllowOverride None이다


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

  - 이 설정이 여기서 먹는건지 extra/httpd-vhosts.conf 여기서 먹는지 모르겠다

* 설정부분은 테스트가 부족하나 서버를 더 건들수가 없어서 테스트를 못했다


  6-2 extra/httpd-vhosts.conf 파일 수정

 <virtualHost *:80>

  ServerAdmin dodo@enix.co.kr

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

  ServerName localhost

  ErrorLog "/usr/local/tomcat/logs/httpd-error_log"

  CustomLog "/usr/local/tomcat/logs/httpd-access_log" common


  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME| .(htm|html|xhtml|jpg|gif|png)

  RewriteRule (.*) – [L]

  RewriteRule (.*) ajp://localhost:8009$1 [P]

 </VirtualHost>

* ServerName 부분에 넣은 것과 server.xml에 넣을 것과 같아야 한다(테스트 못함, 확실치 않음, 서버의 hostname과 상관있는지 테스트 못함)

* RewirteCond 부분이 문제다. 원래의 설정은 RewriteCond %{REQUEST_FILENAME| \.(htm|html|xhtml|jpg|gif|png) $ 이거다. 그런데 \와 $를 넣었더니 tomcat은 반응하는데 아파치가 동작을 안했다. (http://서버ip 하면 It Works 뜨는데, http://서버ip/index.html하면 400에러bad request에러 발생), 어디가 문제인지 모르며 일단 성공한 옵션을 올린다


  6-3 server.xml 파일 설정

 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

  - 이 부분은 기본으로 되어 있더라. 번호 변경하고 싶으면 변경

 <Host name="localhost" appBase="/usr/local/tomcat/webapps/ROOT"

    unpackWARs="true" autoDeploy="true">

 <Context path="" docBase="/usr/local/tomcat/webapps/ROOT" debug="0" rel

oadable="false" crossContext="true" />

  - 성공한 옵션, hostname은 httpd-vhosts파일에서 설정한 것과 맞추고 appBase는 기본 웹 디렉토리를 지정


7. apache & tomcat 연동 테스트 페이지

 <html>

 <head><title>First JSP</title></head>

 <body>

 <%

   double num = Math.random();

   if (num > 0.95) {

 %>

    <h2>You'll have a luck day!</h2><p>(<%= num %>)</p>

 <%

    } else {

 %>

     <h2>Tomcat test page </h2><p>(<%= num %>)</p>

 <%

    }

 %>

 <a href="<%= request.getRequestURI() %>"><h3>Refresh</h3></a>

 </body>

 </html>

Tomcat test page 라고 뜨면 성공. 밑에 숫자는 신경쓰지 않아도 된다


tomcat & mysql 연동 테스트 페이지

 <%@ page import="java.sql.*"

          contentType="text/html;charset=utf-8"%>

 <%

          String DB_URL = "jdbc:mysql://localhost/mysql";

          String DB_USER = "root";

          String DB_PASSWORD= "비번";

          Connection conn;

          Statement stmt;

          try {

               Class.forName("com.mysql.jdbc.Driver");

               conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD

 );

               stmt = conn.createStatement();

               conn.close();

               out.println("MySQL Connection Success!");

          }

          catch(Exception e){

               out.println(e);

          }

  %>


MySQL Connection Success! 라고 뜨면 된다

aix에 apm 설치는 쉽지않은 과정이다. gcc버그도 존재하여 소스컴파일은 불가능하다시피하고, mysql은 지원을 중지해서 쉽게 설치하기도 쉽지 않으며, 최초에는 wget이나 bash도 없어서 불편하기 이를데없다. rpm으로 설치할때도 dependency hell에 빠질 수 있고 기껏 dependency다 찾아서 설치했더니 설치한 rpm끼리 서로 인식을 못해서 다시 처음부터 시작해야 할 수도 있다. aix 쓰지말자 아니면 aix 고수가 되자

'IT' 카테고리의 다른 글

장착된 메모리 갯수&용량 확인 명령어  (0) 2015.03.04
AIX6.1 설치 이후 최적화 작업(custom)  (0) 2014.12.20