레이블이 apache인 게시물을 표시합니다. 모든 게시물 표시
레이블이 apache인 게시물을 표시합니다. 모든 게시물 표시

2012년 2월 28일 화요일

apache httpd could not reliable determine 에러

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

/etc/ 밑에 hosts 파일좀 건드리다가 , httpd.conf 파일열고 #ServerName www.exampl.com:80 이라는 주석처리
밑에다가 ServerName localhost 입력하고 아파치 리스타트 시키니까 정상적으로 되네요.

일단은 급한 불은 끈거같은데 확실한 방법은 아닌거 같습니다. 조금 시간 여유 좀 생기면 SE로 일하는 지인에게 확실히
물어봐야 겠습니다. 혹시 위와 같은 에러가 발생하는 분 계시면 httpd.conf 파일에 
ServerName localhost 한번 추가해 보십시요. 

아파치 설치시 /usr/lib/libexpat.so: could not read symbols: File in wrong format 에러


아파치 설치시 /usr/lib/libexpat.so: could not read symbols: File in wrong format 에러


발생 하면 ln -s /lib64/libexpat.so.0.5.0 /usr/lib/libexpat.so


링크 생성시 안될경우 rm -rf /usr/lib/libexpat.so


로 삭제후 재시도...

2012년 2월 20일 월요일

json , apache 설치방법


Json 설치



 # yum install php-devel
 # yum install php-pear
 # yum install gcc
 # pear install pecl/json
 
 # cd /etc/php.d
 # echo "extension=json.so" > json.ini
 # service httpd restart
 
 After that phpinfo() would output
 
 json support     enabled
 json version     1.2.1 
 



Yum으로 아파치(Apache) 설치


1. Apache 설치
$ yum install httpd


2. MySQL 설치
$ yum install mysql


3. PHP 설치
$ yum install php


4. php-mysql 설치 (두 모듈 연계시 필요하다)
$ yum install php-mysql


5. 기타 필요한 라이브러리 설치 (zlib, libpng, freetype, gd, libxml, lib, iconv 같은것들)
$ yum -y install zlib, libpng, freetype, gd, libxml, lib, iconv


6. APM관련 프로그램 모두 설치
$ yum -y install httpd mysql-server mysql php php-devel php-gd php-mbstring php-mysql php-pear php-pecl-mailparse


1. Apache 점검

a) 설치여부 체크
$ yum list installed | grep http


b) apache port 가 떠 있는지 확인 (lntp 의 맨 앞글자는 소문자 엘 이다.)
$ netstat -lntp


<아파치 데몬이 떳을 경우에만 httpd 관련 메시지를 볼수있다. 포트번호는 80>
tcp        0      0 :::80                       :::*                        LISTEN      3640/httpd


c) Apache 설정파일 수정 ( 수정사항을 적용하려면 httpd 데몬을 재시작해야 한다. )
$ vi /etc/httpd/conf/httpd.conf


- 수정사항 : user별 웹 디렉토리 접근을 가능하게 하기
UserDir disable 앞에 # 을 붙이고
UserDir public_html 앞에 붙은 #을 제거한다.


설정완료후 httpd 데몬를 재시작하면 각 user의 home 폴더의 public_html 안에 있는 내용이 웹페이지로 보여지게 된다.

접근 주소는 (http://서버주소/~사용자ID) 이다.


d) Apache 데몬 구동


$ /usr/sbin/apachectl start         처음 시작시
$ /usr/sbin/apachectl restart       재시작시

2. Mysql 점검

a) 설치여부 확인 : apache 와 동일하다.
$ yum list installed | grep mysql


b) Mysql 서버 기동
$ /etc/rc.d/init.d/mysqld start


c) MySQL root 패스워드 변경
$ /usr/bin/mysqladmin -u root password '비밀번호'


3. PHP 점검

a) 설치여부 확인
$ which php


만약 php설치 경로가 아닌 에러메시지가 나온다면 제대로 설치 안한거다.


b) 아파치 설정파일 수정 ( php 로 인식하는 파일의 확장자를 등록한다.)


$ vi /etc/httpd/conf.d/php.conf


AddType 앞에 샵 제거후 아래와 같이 변경한다.


AddType application/x-httpd-php-source .phps .php .html .htm .inc


c) 아파치 재실행
$ /usr/sbin/apachectl restart



Json 설치

# yum install php-devel
# yum install php-pear
# yum install gcc
# pear install pecl/json

# cd /etc/php.d
# echo "extension=json.so" > json.ini
# service httpd restart

After that phpinfo() would output

json support     enabled
json version     1.2.1 

2012년 2월 8일 수요일

64비트 centos APM설치

환경 : CENTOS 5.X  (64BIT)

설치 내용

설치 내용
APACHE 2.2 ( mod_url + mod_security )
PHP 5.2.5
MYSQL 4.0.20 (euckr)

MYSQL은 상황에 따라 5.X로 설치해도 무관하다

이 APM을 설치하기 앞서 CENTOS5 버전은 SELINUX를 기본 사용한다
꼭 이것을 disable 한 후 리부팅 한 후에 APM 설치한다
[root@localhost ~]# vi /etc/selinux/config
SELINUX=enforcing  ---> SELINUX=disabled

[root@localhost ~]# init 6  (리부팅)

1. 라이브러리 설치하기  (기존에는 라이브러리를 일일이 컴파일 하였지만 기본적으로 제공되는 yum
  패키지를 이용하여 라이브러리를 설치 하면 된다

[root@idccc ~]# yum -y install gcc gcc-c++ termcap libtermcap libtermcap-devel gdbm-devel zlib* libxml* freetype* libpng* libjpeg* gd gd-devel libmcrypt libmcrypt-devel mhash mhash-devel apr apr-* libc-client-devel openssl-devel krb5-devel 

php설치시에 iconv에러가 발생되기 때문에 iconv만 따로 컴파일 작업을 진행한다

[root@loca ~]# wget mirror.koreaidc.com/library/libiconv-1.13.tar.gz
[root@loca ~]# tar xvfz libiconv-1.13.tar.gz
[root@loca ~]# cd libiconv-1.13
[root@loca libiconv-1.13]# ./configure && make && make install

심벌릭 링크
[root@loca libiconv-1.13]# ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
[root@loca libiconv-1.13]# ln -s /usr/local/lib/libiconv.so.2 /usr/lib64/libiconv.so.2


3. dovecot 설치 ( pop3기능을 하면서 PHP 설치시에 IMAP 기능을 활성하 하기 위해서 설치한다)
  하지만 dovecot 을 설치하면 의존성 관계로 mysql이 같이 설치되는데 이것은 추후 삭제하면 된다

[root@idccc ~]# yum -y install dovecot

강제로 mysql을 삭제

[root@idccc ~]# rpm -e mysql --nodeps

4. MYSQL 설치

  mysql 4.x 설치시 에러가 발생되는 경우가 있는데 이는 쓰레드 옵션때문이다
  쓰레드를 사용하기 위해서 아래와 같이 옵션을 추가해준다

[root@idccc ~]# echo "/* Linuxthreads */" >> /usr/include/pthread.h

 버전에 따라 mysql을 다운로드 하면 된다

[root@idccc ~]# wget mirror.koreaidc.com/mysql/mysql-4.0.20.tar.gz
[root@idccc ~]# tar xvfz mysql-4.0.20.tar.gz
[root@idccc ~]# cd mysql-4.0.20
[root@idccc mysql-4.0.20]# ./configure --prefix=/usr/local/mysql \
--with-unix-soket-path=/usr/local/mysql/tmp --enable-thread-safe-client \
--with-charset=latin1 --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static \
--without-debug --with-innodb --with-readline --with-berkeley-db --without-bench \
--with-extra-charsets=complex --with-charset=euc_kr --localstatedir=/free/mysql_data

[root@idccc mysql-4.0.20]# make
[root@idccc mysql-4.0.20]# make install

데이터베이스 인스톨

[root@idccc mysql-4.0.20]# cd /usr/local/mysql/bin
[root@idccc bin]# ./mysql_install_db

환경설정 파일 복사 및 퍼미션 변경

[root@idccc bin]# cd /usr/local/mysql/share/mysql
[root@idccc mysql]# cp -p ./mysql.server /usr/bin
[root@idccc mysql]# cp -a /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysql
[root@idccc mysql]# ln -s /etc/rc.d/init.d/mysql /etc/rc.d/rc3.d/S97mysql
[root@idccc mysql]# chown -R root /usr/local/mysql
[root@idccc mysql]# chown -R mysql /free/mysql_data
[root@idccc mysql]# chgrp -R mysql /usr/local/mysql
[root@idccc mysql]# cp /usr/local/mysql/share/mysql/my-huge.cnf /etc/my.cnf

5. APACHE 설치

[root@idccc mysql]# cd /root
[root@idccc ~]# wget http://mirror.koreaidc.com/apache/httpd-2.2.14.tar.gz
[root@idccc ~]# tar xvfz httpd-2.2.14.tar.gz
[root@idccc ~]# cd httpd-2.2.14

기본값으로 설치시에는 최대 접속자수가 256이다 이것을 2048까지 늘려주기 위해 파일을 수정한다
여기서는 vi를 이용하지 않고 perl을 이용해 바로 수정하였다

[root@idccc httpd-2.2.14]# perl -pi -e "s/LIMIT 256/LIMIT 2048/g" server/mpm/prefork/prefork.c
[root@idccc httpd-2.2.14]# perl -pi -e "s/LIMIT 16/LIMIT 128/g" server/mpm/worker/worker.c

컴파일 작업 (옵션 내용중에서 prefork 방식과 worker 방식이 있는데 쓰레드 방식을 이용한다면
worker 선택하면 된다 즉 자식 프로세서를 이용한다는 것이다)

[root@idccc httpd-2.2.14]# ./configure --prefix=/usr/local/apache --enable-mods-shared=all --enable-module=shared --enable-rewrite --enable-ssl --with-ssl --with-mpm=worker
[root@idccc httpd-2.2.14]# make
[root@idccc httpd-2.2.14]# make install


mod_url 설치 (한글로 된 파일 오류 표시 수정)

[root@idccc ~]# wget mirror.koreaidc.com/apache/mod_url-apache2-1[1].15.tar.bz2
[root@idccc ~]# tar xvfj mod_url-apache2-1\[1\].15.tar.bz2
[root@idccc ~]# cd mod_url-apache2
[root@idccc mod_url-apache2]# /usr/local/apache/bin/apxs -iac mod_url.c

이제 APACHE는 설치가 완료되었으므로 상황에 맞게 APACHE를 튜닝하면 된다 

6.PHP 설치

PHP설치에 앞서 라이브러리를 인식시키는 작업을 한다

[root@loca ~]# echo "/lib" >> /etc/ld.so.conf
[root@loca ~]# echo "/lib64" >> /etc/ld.so.conf
[root@loca ~]# echo "/lib" >> /etc/ld.so.conf
[root@loca ~]# echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
[root@loca ~]# echo "/usr/local/apache/modules" >> /etc/ld.so.conf
[root@loca ~]# echo "/usr/lib64" >> /etc/ld.so.conf
[root@loca ~]# echo "/usr/local/lib64" >> /etc/ld.so.conf
[root@loca ~]# ldconfig

PHP 다운로드 및 설치

[root@idccc ~]# wget http://mirror.koreaidc.com/php/php-5.2.5.tar.gz
[root@idccc ~]# tar xvfz php-5.2.5.tar.gz
[root@idccc ~]# cd php-5.2.5
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/apache/conf --with-png-dir=/usr/lib64 --with-zlib-dir=/usr/lib64 --with-gdbm=/usr/lib64 --with-gif-dir=/usr/lib64 --with-iconv=/usr/local --with-libidn=/usr/lib64 --with-freetype-dir=/usr --with-jpeg-dir=/usr --enable-mod-charset --with-language=korean --with-charset=euc_kr --with-gettext --with-ldap-dir=/usr/lib --with-imap --with-imap-ssl --with-ttf --with-kerberos --with-curl --with-db --with-png --with-zlib --with-xml --with-idn --with-gd --enable-exif --enable-trans-sid --enable-wddx --enable-magic-quotes --enable-calendar --enable-sockets --enable-ftp --enable-gd-imgstrttf --enable-bcmath --enable-force-cgi-redirect --enable-track-vars=yes --enable-mbstring --enable-mbregex --enable-mbstr-enc-trans --enable-sigchild --enable-idn --enable-sockets --enable-dbx --enable-dbase
[root@idccc php-5.2.5]# make
[root@idccc php-5.2.5]# make install

php.ini 파일 복사 및  환경설정 내용 변경  (vi로 변경해도 되지만 쉽게 perl로 변경)

[root@idccc php-5.2.5]# cp -a php.ini-dist /usr/local/apache/conf/php.ini
[root@idccc php-5.2.5]# perl -pi -e "s/register_globals = Off/register_globals = On/g" /usr/local/apache/conf/php.ini
[root@idccc php-5.2.5]# perl -pi -e "s/upload_max_filesize = 2M/upload_max_filesize = 12M/g" /usr/local/apache/conf/php.ini
[root@idccc php-5.2.5]# perl -pi -e "s/allow_url_fopen = On/allow_url_fopen = Off/g" /usr/local/apache/conf/php.ini

일반 사용자도 php를 사용할수 있게 심벌릭 링크

[root@idccc php-5.2.5]# ln -s /usr/local/php/bin/php /usr/bin/php

아파치에 모듈 추가

[root@idccc php-5.2.5]# vi /usr/local/apache/conf/httpd.conf

LoadModule php5_module        modules/libphp5.so

7. ZendOptimizer 설치 (php 가속도를 위해서 설치)

[root@idccc ~]# wget http://mirror.koreaidc.com/Zend/ZendOptimizer-3.3.3-linux-glibc23-x86_64.tar.gz
[root@idccc ~]# tar xvfz ZendOptimizer-3.3.3-linux-glibc23-x86_64.tar.gz
[root@idccc ~]# cd ZendOptimizer-3.3.3-linux-glibc23-x86_64
[root@idccc ZendOptimizer-3.3.3-linux-glibc23-x86_64]# ./install

php.ini  위치 입력시 다음과 같이 입력  :  /usr/local/apache/conf   

8. 이제 최종 모두 설치가 완료 되었다
  각 데모은 실행시켜보면 동작이 되는지를 확인하며 된다

CentOS APM설치 (YUM 사용)


CentOS는 RedHat Enterprise의 클론 리눅스다.. 무료로 RHEL의 검증되고 안정된 서버를 구축할 수 있다는 장점을 가지고 있다.

서버용으로 설치한다고는 해도 설치과정은 GUI로 할 수 있으니 파티션 잡는 것만 잘 넘어간다면 어려운 것은 없으니 언급하지 않겠다. 기회가 되면 이것도 한번 다뤄보는 것도 좋을 듯 싶기도 하고..
참고로 좀 안다 싶은 사람들을 위한 것이 아닌 본인처럼 완전 개초보를 위한 글이므로 이 글을 읽는 사람 중에 이건 아니다 싶은 사람은 미련 없이 "GET OFF!!"하기 바란다. 

사실 APM설치에 대해 인터넷에서 검색해보면 굉장히 많은 자료가 나오고 그 자료 마다 컴파일 하는데 있어서의 방법 등에 있어서 상당히 다른 방법을 제시하는 경우가 많다.

그들을 무시 하는 것은 아니지만 초보가 보기에는 상당히 혼란스럽고 어렵기만 하다. 또한 안정적으로 검증된, 제공된 방법으로 설치를 하고 싶을 수도 있고..
세세한 커스터마이즈는 나중에 해보기로 하고 지금 당장 설치를 원하는 초보들을 위해 yum으로 설치하는 방법을 소개하고자 한다. (더 쉬운 건 첨에 설치할 때 패키지 설치 해버리면 끝이겠지만......)
더보기
일단 인터넷이 되는지 확인 해보자 그래야 yum이던 뭐든 할것이다. 구글사마께 핑을 드려보자.
# ping -c3 google.com
자 핑이 잘 뜨면 인터넷은 잘 된다고 보고~ 이제 본격적으루다가..

준비작업(현 단계에서는 필수가 아니고 약간의 편의를 위해서 이므로 넘어가도 되고 아래 실제 설치 단계에서도 사용하지는 않는다.)1. putty
   리눅스 자체 콘솔 보다는 Putty가 다루는데 많은 편의를 제공 할 것이다.
   "창 - 변환 - 수신 데이터의 문자 셋 변환"에서 UTF8로 설정하고 접속 하면 한글도 잘 보이고 좋다.

2. FTP서버
  ftp서버 환경을 미리구성하고 놓고 작업을 하면 조금은 더 편하다. 언젠가는 설치 해야 하니까 FTP환경을 구축해보자. 설치는 vsftpd를 해보자.
# yum -y install vsftpd

설정 편집은 다음과 같이 하자.
# vi /etc/vsftpd/vsftpd.conf
편집은 i키를 누르고 수정, esc키를 눌러 편집 종료, :wq 라고 입력하고 엔터 하면 저장 하고 종료.
특별히 지금은 설정할 필요가 별로 없다. 나중에 인터넷의 각졸 글들을 참조 해서 설정해주고 일단 chroot_list만 비활성또는 주석 되어 있는지 확인만 하자. 이유는 내 폴더의 상위에 접속 할 수 있어야 설치 단계에서는 그나마 편하기 때문인데 나중에 보안의 문제가 있으니 나중에는 막아 두길 권장한다.

뿌띠와 FTP서버가 준비 되었으면 설치 작업을 시작 한다.

알림. 아래  방법대로 설치시 PHP 5.1.6으로 설치 된다. 이러저러한 이유로 상위 버전으로 설치하고 싶다면 이 글의 제일 아래부분을 확인 하자.
apacahe, mysql, php순으로 APM 설치
# yum -y install httpd
# yum -y install mysql
# yum -y install php

보통 알아서 빠른 미러를 찾아 의존성까지 확인해서 연계된 필수 패키지까지 알아서 설치 해준다.

관련 라이브러리 설치
# yum -y install gd gd-devel# yum -y install libpng libpng-devel# yum -y install libjpeg libjpeg-devel# yum -y install freetype freetype-devel
# yum -y install fontconfig  fontconfig-devel
# yum -y install libxml2 libxml2-devel
# yum -y install openssl openssl-devel# yum -y install gmp gmp-devel# yum -y install mhash mhash-devel# yum -y install libmcrypt libmcrypt-devel
# yum -y install mysql-server# yum -y install php-mysql
# yum -y install php-devel
# yum -y install php-gd
# yum -y install php-mbstring
# yum -y install php-mhash
이 밖에도 pear나 pear-MDB2등 원하는 패키지를 설치 할 수도 있다.
* 제일 처음에 나오는 gd를 설치하면 뒤에 나오는 libjpeg, libpng, freetype, fontconfig과 같이 자동으로 설치되지만 혹시나 하는 분들은 확인겸 설치 해보기 바란다.

MYSQL 설정 - 안하고 패스 해도 됨
이제 설정을 하자...
mysql에서 사용할 환경 설정파일을 복사해야 하는데 시스템에 따라서 좀 다르다. 아래를 참조하자
my-huge.cnf       1GB 이상 메모리
my-large.cnf       512MB ~ 1GB
my-medium.cnf  128MB ~ 256MB
my-small.cnf      64MB 이하
# cp /usr/share/mysql/my-large.cnf /etc/my.cnf
본인은 Virtual Box로 설치해봤는데 512여서 large를 사용했다.

기본관리 db를 설정하고, 권한지정도 해주자
# /usr/bin/mysql_install_db --user=mysql
# chown -R root /usr/bin/
# chgrp -R mysql /usr/bin/
# chown -R mysql /var/lib/mysql/

이제 콘솔에서도 mysql 명령들을 사용 할 수 있도록 등록해보자.
# vi ~/.bash_profile
PATH부분에 다음과 같이 추가 한다
PATH=$PATH:$HOME/bin:/usr/bin

지루한 mysql 설정은 이제 다 끝났다 다만 재부팅 후 자동으로 실행 할 수 있도록 등록만 해주면 된다. 일단 확인 해보자.
# chkconfig  --list | grep mysqld
mysqld  0:off 1:off 2:on 3:on 4:on 5:on 6:off
위와 같이 나오지 않는다면?
# chkconfig --level 2345 mysqld on
다시 확인해 보면 원하는 대로 되어 있을 것이다.

이제 mysql를 시작하고 루트 비밀번호를 설정하고 동작 하는지 확인한 후 mysql은 끝내자.
# /etc/rc.d/init.d/mysqld start
# /usr/bin/mysqladmin -uroot password 비번
동작은 하나?
# netstat -lntp
위와 같은 명령에서 보이는 결과중 "mysqld"  ":::3306" 뭐 이런 글귀가 보이면 정상적으로 동작한다고 생각해도 된다.

PHP설정
# vi /etc/httpd/conf.d/php.conf
아래 두줄을 찾아 아래처럼 고친다. 
AddHandler php5-script .php .htm .html
AddType application/x-httpd-php-source .phps .php .htm .html

수정이 끝났으면 저장 하고  같은 방법으로 httpd.conf 파일을 아래와 같은 부분들을 찾아 수정/추가한다.

# vi /etc/httpd/conf/httpd.conf

#ServerName www.example.com:80 (자신의 서버이름이니 알아서 적당히)
   => ServerName localhost:80 
Options Indexes FollowSymLinks
  => Options -Indexes
AllowOverride None
  => AllowOverride All
DirectoryIndex index.html index.html.var
 => DirectoryIndex index.html index.htm index.php
AddType application/x-gzip .gz .tgz 을 찾아 그 다음줄에 아래 두줄  내용 추가
AddType application/x-httpd-php .htm .html .php .ph php3 .php4 .phtml .inc
AddType application/x-httpd-php-source .phps
#AddHandler cgi-script .cgi 주석 삭제
  => AddHandler cgi-script .cgi


*  
사실 vi 나 vim등 리눅스의 에디터는 윈도우즈에 익숙한 사람에게는 더 없이 당황하게 만드는 소프트웨어중 하나인데(적응만 한다면 더 없는 최고의 에디터라지만 적응은 요원하기만 하다!) 좀 쉽게 사용을 원한다면 "#yum -y install mc" 해서 mc를 사용해 보라 조금은 편하게 사용 할 수 있을것이다.
 사실 제일 편한건 콘솔에서 직접 하는 것보다 뿌띠로 열어서  하는것과 FTP로 수정 하는것이다.. 위에서 FTP로는 에디트플러스 같은걸로 바로 수정하면 되니까..

여기서 수정하고 추가 할것이 많기는 많다. 엄청.. 인터넷을 뒤져 보면 이부분에 대한 많은 분서를 접할 수 있을 거라고 생각 되는데  이 문서가 부족하다고 느끼는 사람이 있거나 입맛에 맞는 설정을 원하는 사람은 맛보기로 설치 해보고 제대로 공부 해보자. 친절히 설명된 많은 문서를 볼 수 있을것이다(검색의 수고로움이 더해져야 하지만.. 대부분 자기는 안다고 휘리릭 넘어가는 경우가 많다....)

자 마지막으로 apache다!
설정 할 것은 일단 하나뿐이고 어렵 않으니 후딱하도록 하자!

특별히 다른 것은 없고 부팅 시 자동 실행이 되도록 되어 있나 확인만 해보자
# chkconfig  --list | grep httpd
httpd  0:off 1:off 2:on 3:on 4:on 5:on 6:off
역시나 위처럼 나오지 않는다면 아래와 같이 설정한다.
# chkconfig --level 2345 httpd on
다시 확인해 보면 원하는 대로 되어 있을 것이다.

이제 apache를 시작해보고 동작이 되는지 확인한다
# /usr/sbin/apachectl start
# netstat -lntp
위와 같은 명령에서 보이는 결과중 "httpd"  ":::80" 뭐 이런 글귀가 보이면 정상적으로 동작한다고 생각해도 된다.

끝으로 시스템을 전체적으로 업데이트 해보자
# yum update
주루룩 뭔가 많이 지나가고 업데이트 된다. 끝났다면
# reboot
으로 시스템을 재시작 함으로서 모든 설치 과정은 끝난다.

테스트 설치 환경
VM : VirtualBox
RAM :  512MB
HDD : 80GB
OS image : CentOS-5.3-i386-bin-DVD.iso
 설치 시 네트워크는 NAT로 사용했고 테스트는 호스트 OS에서 접근을 해야 하므로 HOST-Only로 테스트 했다.
 Virtual Box는 아쉽게도 본인이 사용법을 정확히 이해하지 못했는지 호스트 OS가 바로 게스트 OS에 접근이 불가능했다. 하지만 공유기를 이용하고IP를 Virtual Box 호스트 어댑터와 같은 대역으로 맞춘다면 인터넷도 가능 하리라 생각해본다. (귀찮아서 공유기 연결 안 했음)

아래는 위 설정 방법으로 설치된 스크린샷이다.
더보기

사실 apache의 httpd.conf의 설정 등 세세한 것이 아~~~주 많이 남았지만 위에 설명한 것 만으로도 처음 글을 시작할 때 yum으로 간단히 설치하기의 취지에 조금 벗어나지 않았나 싶을 정도로 긴 설치였다.

하지만 차근히 따라만 한다면 쉽게 끝낼 수 있으리라 본다. 다만 vi의 사용법이 더 어려울지도 모르겠다. ^^a

 그리고 실제 릴리즈된 버전보다 YUM으로 설치하면 버전이 낮은 경우가 많은데 글의 서두에 말했다시피 CentOS는 RHEL의 클론이다. 즉 안정성에 우선된 검증된 릴리즈를 이용한다는 것이라고 보면 틀리지 않다고 생각된다. 
 엔터프라이즈 환경에서의 가장 중요한 점은 성능도 성능이지만 안정성이 최우선시 되는 게 당연하다고 본인은 느끼기 때문에 버전이 현재 릴리즈보다 낮다고 나쁠 건 없지 않겠는가?

추가. 위 방법대로 설치시 PHP 5.1.6으로 설치 된다. 이러저러한 이유로 상위 버전으로 설치하고 싶다면 아래처럼 해보자.
 
# cd /etc/yum.repos.d
# wget http://dev.centos.org/centos/5/CentOS-Testing.repo
$ yum --enablerepo=c5-testing update php
이렇게 하면 5.2.10으로 설치된다.
나중에 상위버전으로 설치한 경우 반드시 yum update 해줘야 함을 잊지말자! 꼭..

리눅스에 tomcat, confluence, jira, bamboo 설치, apache 연동



리눅스에 tomcat, confluence, jira, bamboo 설치, apache 연동


오늘은 드뎌 프로젝트 시작이라 서버 세팅을 시작했습니다. 제가 공부를 안하면 재미있는 건 사부님이 다 하고 재미없는 거랑 노가다만 시키신다고 하셨기 때문에, 빨리하고 공부를 하고 싶었는데 너무 오래 걸렸습니다. 그나마도 예전에 정리해 놓은 블로그 글들 때문에 오늘 안에 무사히 마칠 수 있었던 것 같습니다.
전달 받은 사항은 이렇습니다. 현재 confluence, jira, bamboo를 백업하고, 새 버전으로 설치하는데 URL을 wiki.whiteship.me, jira.whiteship.me 형태가 아니라. www.whiteship.me/wiki, www.whiteship.me/jira 형태로 하고, WAR 배포를 하라는 것이었습니다.
백업부터 시작했습니다. 위 제품들은 백업 기능을 제공하기 때문에 수월했습니다. DB와 DB의 인코딩도 확인했습니다. 해보고 나서 안 사실이지만, 이 제품들은 DB는 달라도 괜찮은데 인코딩이 다르면 좀 골치아픈 것 같습니다.
다음 제품 설치를 시작했습니다. 먼저 톰캣부터 새로 설치했습니다.
톰캣 설치
http://tomcat.apache.org/download-60.cgi
wget 사용해서 다운로드.
tar xvzf 사용해서 압축 풀기.
rm -rf 사용해서 다운 받은 파일 삭제.
vi 사용해서 conf/server.xml에서 포트 수정.
vi 사용해서 bin/run.sh 파일 작성.
export CATALINA_HOME=/app/webapp/slt/server/apache-tomcat-6.0.18
./startup.sh
간단했습니다. 그냥 다운받아서 압축 풀고, 다른 것과 겹치지 않게 포트를 변경해주고, 간단한 실행 스크립트 하나를 작성했습니다.
다음은 컨플루언스를 설치했습니다.
컨플루언스 설치
wget 사용해서 atlassian에서 다운로드.
tar xvzf 사용해서 압축 풀기.
mysql DB 만들기.
mysql -u root -p
create database db이름 DEFAULT CHARACTER SET utf8 collate utf8_general_ci
show databases;
/confluence/WEB-INF/classes로 이동하기.
vi confluence~ 하여 data 폴더 설정하기
/app/webapp/slt/index/confulence로 설정하였음.
build.sh 사용하여 confuluence war 파일 빌드하기.
dist 폴더에 생성된 war 파일명을 confluence.war로 변경한 다음 톰캣 webapp 폴더에 배포하기.
http://~~/confluence 로 접속하여 컨플루언스 설정하기.
컨플루언스는 조금 복잡한데요, 전체적으로 봤을 때는 빌드 해서 WAR 파일을 만든 다음에 톰캣에 배포하는 겁니다. 다만, WAR 파일을 만들기 전에 DB를 만든다던가, 빌드에 필요한 환경 설정을 하는 부분이 추가되어 있습니다.
다음은 설치가 상당히 까다로운 Jira 설치입니다. 이번에도 어김없이 세번 실수를 하고 네번째에서야 제대로 설치했습니다.
Jira 설치


이전에 작성한 글 참조
톰캣에 Jira ear/war 버전 설치하기
설치 뒤에 반드시 할 일: 톰캣 메모리 늘려주기
톰캣/bin 폴더에 setenv.sh 파일을 만들고 다음과 같이 작성합니다.
export JAVA_OPTS=”-server -XX:+UseParallelGC -Xmx768m -XX:MaxPermSize=160m -Djava.awt.headless=true”
export CATALINA_OPTS=”$CATALINA_OPTS -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true”
지라는 컨플루언스와 설치 방법이 약간 다릅니다. WAR 빌드에 필요한 정보들을 설정하고 WAR 빌드를 하는 것 까지는 동일합니다. 하지만, 그 뒤부터는 좀 다릅니다. 컨텍스트 정보를 담고 있는 jira.xml 파일을 서버의 /conf/Catalina/localhost에 복사하고, 해당 파일을 편집하여 데이터소스 정보를 환경에 맞게 수정해 줘야 합니다. 이부분에서 DB에 따라 설정이 제각각이기 때문에 실수가 빈번하게 발생합니다. 그리고 톰캣/lib 폴더에도 지라에 필요한 라이브러리를 추가해줘야 하죠. 여간 깐깐한 녀석이 아닙니다.
이제 마지막 제품 밤부가 남았습니다.
Bamboo 설치
단순 WAR 파일 배포.
설정 파일 변경.
이 녀석은 아예 WAR 파일로 다운로드를 제공합니다. 따라서 해당 WAR 파일을 톰캣/webapp에 넣은 다음 실행하면, 어떤 설정 파일을 수정해서 밤부 홈을 설정하라는 에러 메시지를 보여주는데 그렇게 시키는대로 하고 서버를 재기동하면 잘 동작합니다. 위에 것들에 비하면 상당히 편리한 설치입니다.
제품 설치는 끝났고 이제 아파치/톰캣 연동이 남았습니다.
아파치/톰캣 연동하기
이전 글 참조
아파치 톰캣 연동

이 중에서도 VirtualHost 설정에서 가장 중요한 부분은 JkMount 입니다.