1. 기존 설치된 패키지 제거
> OS에 포함되어 있거나 기존에 쓰던 서버를 활용하는 것이라면 버전 호환성을 위해 제거 후 다시 설치
yum -y remove \ httpd \ nginx \ java*jdk-devel \ php
>>>>>> description
– 설치여부 및 버전 확인 : yum list installed httpd* nginx* php* java*jdk-devel
2. APACHE OR NGINX
>>> 설치
## apache yum -y install --enablerepo=remi,remi-php56 \ httpd httpd-devel ## nginx yum -y install --enablerepo=remi,remi-php56 \ nginx nginx-devel
>>>>>> description
– remi repository를 사용
>>> 시스템 시작시 자동실행설정
## apache systemctl enable httpd ## nginx systemctl enable nginx
>>>>>> description
– 서비스는 설정파일 수정 후 시작함. (step5. 서비스 설정)
3. JDK & TOMCAT
>>> jdk 설치 가능여부 확인
yum list --enablerepo=remi java*jdk-devel
>>>>>> description
– 설치가능여부를 확인하고 필요한 버전의 패키지(1.7 or 1.8)를 설치
>>> jdk 설치
yum -y install --enablerepo=remi \ java-1.8.0-openjdk-devel.x86_64
>>>>>> description
– 의존성 있는 기타 패키지가 함께 설치됨
>>> jdk 설치 확인
java -version
>>>>>> description
– 버전정보가 확인된다면 정상설치된 것임
>>> tomcat7 설치 : yum 설치시 apache-common-collections 버전 충돌로 설치 되지 않는다. 직접 다운받아 설치하도록 한다.
## yum 설치 : 현재기준[2014-09-14] 의존성 에러발생 yum -y install --nogpgcheck \ tomcat7 tomcat7-admin-webapps tomcat7-webapps ## 다운로드 cd /usr/local/src wget http://server.opendocs.co.kr/apache-tomcat-8.0.21.tar.gz ## 압축해제 tar xvf apache-tomcat-8.0.21.tar.gz ## 폴더이동 mv apache-tomcat-8.0.21 ../ ## 시작 / 종료 / 재시작 스크립트 작성 vi /etc/init.d/tomcat ## 실행권한 변경 chmod 755 /etc/init.d/tomcat ## 시작시 자동실행 chkconfig --add tomcat chkconfig --level 234 tomcat on ## 서비스 시작 service tomcat start
## /etc/init.d/tomcat #!/bin/bash # description: Tomcat Start Stop Restart # processname: tomcat # chkconfig: 234 20 80 # 환경변수 등록 JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk export JAVA_HOME PATH=$JAVA_HOME/bin:$PATH export PATH CATALINA_HOME=/usr/local/apache-tomcat-8.0.21 case $1 in start) # 시작 sh $CATALINA_HOME/bin/startup.sh ;; stop) # 종료 sh $CATALINA_HOME/bin/shutdown.sh ;; restart) # 재시작 sh $CATALINA_HOME/bin/shutdown.sh sh $CATALINA_HOME/bin/startup.sh ;; esac exit 0
>>>>>> description
– 단순압축 해제만으로 설치가능
– 운영을 위하여 시작/종료/재시작의 스크립트를 작성
– 운영을 위하여 시작/종료/재시작의 스크립트를 작성
4. PHP
>>> 설치
yum -y install --enablerepo=remi,remi-php56 \ php php-devel php-pear
>>>>>> description
– remi repository를 사용
– PEAR : 재사용할 수 있는 PHP 컴포넌트를 관리해주는 시스템
– PECL : PHP 확장라이브러리 설치 및 업그레이드 기능을 제공하며 PEAR와 함께 설치됨
– PEAR : 재사용할 수 있는 PHP 컴포넌트를 관리해주는 시스템
– PECL : PHP 확장라이브러리 설치 및 업그레이드 기능을 제공하며 PEAR와 함께 설치됨
>>> 확장라이브러리 설치
yum -y install --enablerepo=remi,remi-php56 \ php-gd php-mbstring php-mhash \ php-mcrypt php-bcmath \ php-mysql php-mysqli
>>>>>> description
– remi repository를 사용
– PHP로 각종 라이브러리를 사용할 수 있도록 설치
– PHP로 각종 라이브러리를 사용할 수 있도록 설치
>>> PECL을 통한 확장라이브러리 설치 및 충돌해결
## 충돌해결 pecl upgrade igbinary pecl upgrade memcached redis ## 설치 yum -y install --enablerepo=remi,remi-php56 \ php-pecl-memcached php-pecl-redis \ php-pecl-zendopcache php-pecl-xdebug
## 설치시 충돌발생 PHP Warning: PHP Startup: igbinary: Unable to initialize module PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/redis.so' - /usr/lib64/php/modules/redis.so: undefined symbol: igbinary_unserialize in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/memcached.so' - /usr/lib64/php/modules/memcached.so: undefined symbol: igbinary_unserialize in Unknown on line 0
>>>>>> description
충돌내용
– 설치된 php컴파일 버전과 라이브러리의 컴파일 버전이 일치하지않음
– PECL로 라이브러리의 컴파일버전을 업그레이드 해야함
– 설치된 php컴파일 버전과 라이브러리의 컴파일 버전이 일치하지않음
– PECL로 라이브러리의 컴파일버전을 업그레이드 해야함
>>> yum으로 제공되지 않는 확장라이브러리 설치
## mongoDB 라이브러리 설치 pecl install mongo vi /etc/php.d/mongo.ini extension=mongo.so ## svn 라이브러리 설치 pecl install svn vi /etc/php.d/svn.ini extension=svn.so
>>>>>> description
– redis, memcached등은 자동으로 ini에 추가되나 mongo, svn의 경우 수동으로 추가해주어야 함
– 다음명령으로 PECL 설치내역 및 버전 확인
pecl list
– 다음명령으로 PECL 설치내역 및 버전 확인
pecl list
5. NodeJS
>>> 설치
# 패키지 설치 yum -y install --enablerepo=remi npm nodejs # 패키지 관리자 업데이트 npm -g update
>>>>>> description
– remi repository를 사용
– NPM(Node Package Manager) : nodejs와 함께 자동 설치됨
– NPM(Node Package Manager) : nodejs와 함께 자동 설치됨
>>> 서비스 운영을 위한 패키지 설치
npm -g install supervisor forever
>>>>>> description
– ‘-g’ : 글로벌 옵션을 주어 설치
– supervisor : js 파일 수정시 자동으로 재시작 해줌
– forever : 예외 발생시 데몬이 죽어도 자동으로 재시작(무한 또는 횟수 지정) 해줌
※ 상세 활용법은 별도 문서 작성 [forever], [supervisor]
– supervisor : js 파일 수정시 자동으로 재시작 해줌
– forever : 예외 발생시 데몬이 죽어도 자동으로 재시작(무한 또는 횟수 지정) 해줌
※ 상세 활용법은 별도 문서 작성 [forever], [supervisor]