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

2014년 1월 3일 금요일

CentOS 6 에서 jetty 9 설치하기 + jenkins

jetty 9 (현재 최신 버전)을 설치하는 하고 거기에 jenkins 까지 올려보겠습니다

STEP1 : jetty 설치

rpm이나 yum을 이용하고 싶으나 공식적인 저장소가 없으므로 기본적인 방법을 이용해보겠습니다.

먼저 jetty 9의 경우 JDK 1.7 버전이 요구됩니다.
# yum install java-1.7.0-openjdk
우선 tmp 폴더에 jetty를 다운로드 받습니다.(http://download.eclipse.org/jetty/stable-9/dist/ 에서 최신 버전을 확인합니다.)
# cd /tmp
# wget wget http://download.eclipse.org/jetty/9.1.0.v20131115/dist/jetty-distribution-9.1.0.v20131115.tar.gz -O jetty.tar.gz
tar -xf jetty.tar.gz

jetty라는 사용자를 생성하고 jetty를 /srv/jetty 경로로 이동시킵니다. 이제 /srv/jetty 가 jetty 홈경로입니다. 그리고 권한까지 생성합니다.
# useradd jetty
# mv jetty /srv
# chown -R jetty:jetty /srv/jetty
서비스에 등록한다.
# ln -s /srv/jetty/bin/jetty.sh /etc/init.d/jetty
# chkconfig --add jetty
# chkconfig jetty on
등록된 서비스를 수정한다. 최초 주석 아래쪽에 하단 내용을 추가한다. (본인의 경우 8081을 작동포트로 하였다.)
# vi /etc/init.d/jetty

# jetty에 추가할 내용
JETTY_HOME=/srv/jetty
JETTY_USER=jetty
JETTY_ARGS=jetty.port=8081
JETTY_LOGS=/srv/jetty/logs

8081 방화벽을 해제한다.
# vi /etc/sysconfig/iptables

# 방화벽에 추가할 내용
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8081 -j ACCEPT
jetty를 기동하고 내용을 확인한다.
# service jetty start

# curl http://localhost:8081


1차적으로 jetty 가동까지는 확인하였습니다.


STEP2 : jenkins 설치


jetty 기본 webapps 경로에 jenkins.war 최신 버전을 다운로드합니다.
# cd /srv/jetty/webapps
# wget http://mirrors.jenkins-ci.org/war/latests/jenkins.war


권한 설정을 위해서 jenkins.xml 파일을 webapps에 생성합니다.
* jetty 9 부터는 contexts 폴더가 사라지고 관련 설정을 webapps 폴더에서 합니다.
#  /srv/jetty/webapps/jenkins.xml
<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">

<!-- ==================================================================
Configure and deploy the jenkins web application in $(jetty.home)/webapps/jenkins

Note. If this file did not exist or used a context path other that /jenkins
then the default configuration of jetty.xml would discover the jenkins
webapplication with a WebAppDeployer.  By specifying a context in this
directory, additional configuration may be specified and hot deployments 
detected.
===================================================================== -->

<Configure class="org.eclipse.jetty.webapp.WebAppContext">


  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  <!-- Required minimal context configuration :                        -->
  <!--  + contextPath                                                  -->
  <!--  + war OR resourceBase                                          -->
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  <Set name="contextPath">/jenkins</Set>
  <Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/jenkins.war</Set>

  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  <!-- Optional context configuration                                  -->
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  <Set name="extractWAR">true</Set>
  <Set name="copyWebDir">false</Set>
  <Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set>
  <!--<Set name="overrideDescriptor"><SystemProperty name="jetty.home" default="."/>/webapps/jenkins.d/override-web.xml</Set>-->

  <Get name="securityHandler">
    <Set name="loginService">
      <New class="org.eclipse.jetty.security.HashLoginService">
        <Set name="name">Jenkins Realm</Set>
        <Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set>
            <!-- To enable reload of realm when properties change, uncomment the following lines -->
            <!-- changing refreshInterval (in seconds) as desired                                -->
            <!-- 
           <Set name="refreshInterval">5</Set>
           <Call name="start"></Call>
           -->
      </New>
    </Set>
    <Set name="authenticator">
      <New class="org.eclipse.jetty.security.authentication.FormAuthenticator">
        <Set name="alwaysSaveUri">true</Set>
      </New>
    </Set>
    <Set name="checkWelcomeFiles">true</Set>
  </Get>
 
  <!-- Add context specific logger
 <Set name="handler">
   <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler">
     <Set name="requestLog">
    <New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">
      <Set name="filename"><Property name="jetty.logs" default="./logs"/>/jenkins-yyyy_mm_dd.request.log</Set>
      <Set name="filenameDateFormat">yyyy_MM_dd</Set>
      <Set name="append">true</Set>
      <Set name="LogTimeZone">GMT</Set>
    </New>
     </Set>
   </New>
 </Set>
 -->

</Configure>

만약 $JETTY_HOME/etc/realm.properties 파일이 존재하지 않으면 생성시켜줍니다.
  1. demo 에서 복사
# cp /srv/jetty/demo-base/etc/realm.properties /srv/jetty/etc
  2. 직접생성
# vi /srv/jetty/etc/realm.properties
#
# This file defines users passwords and roles for a HashUserRealm
#
# The format is
#  <username>: <password>[,<rolename> ...]
#
# Passwords may be clear text, obfuscated or checksummed.  The class
# org.eclipse.util.Password should be used to generate obfuscated
# passwords or password checksums
#
# If DIGEST Authentication is used, the password must be in a recoverable
# format, either plain text or OBF:.
#
jetty: MD5:164c88b302622e17050af52c89945d44,user
admin: CRYPT:adpexzg3FUZAk,server-administrator,content-administrator,admin,user
other: OBF:1xmk1w261u9r1w1c1xmq,user
plain: plain,user
user: password,user

# This entry is for digest auth.  The credential is a MD5 hash of username:realmname:password
digest: MD5:6e120743ad67abfbc385bc2bb754e297,user


마지막으로 다시 추가된 파일들을 위해서 권한 설정을 하고 재시작을 합니다.
# chown -R jetty:jetty /srv/jetty/webapps
chown -R jetty:jetty /srv/jetty/etc
# service jetty restart
curl http://localhost:8081

확인하시면 됩니다.!!!!!!!!!!!!!!!!!!!!!

2014년 1월 2일 목요일

RHEL6 / Centos6 에서 Yum 으로 Nginx 설치하기

Step #1: nginx 저장소 설치하기

Type the following wget command to install nginx yum configuration file:
# cd /tmp
CentOS Linux v6.x user type the following command:
# wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
# rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm

RHEL v6.x user type the following command:
# wget http://nginx.org/packages/rhel/6/noarch/RPMS/nginx-release-rhel-6-0.el6.ngx.noarch.rpm
# rpm -ivh nginx-release-rhel-6-0.el6.ngx.noarch.rpm

Sample outputs:
warning: nginx-release-rhel-6-0.el6.ngx.noarch.rpm: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEY
Preparing...                ########################################### [100%]
   1:nginx-release-rhel     ########################################### [100%]

Step #2: nginx 설치하기

Type the following yum command to install nginx web-server:
# yum install nginx
Sample outputs:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.tt.co.kr
 * extras: centos.tt.co.kr
 * updates: centos.tt.co.kr
nginx                                                                                                        | 2.9 kB     00:00     
nginx/primary_db                                                                                             |  25 kB     00:00     
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package nginx.x86_64 0:1.4.4-1.el6.ngx will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================
 Package                     Arch                         Version                                 Repository                   Size
====================================================================================================================================
Installing:
 nginx                       x86_64                       1.4.4-1.el6.ngx                         nginx                       311 k

Transaction Summary
====================================================================================================================================
Install       1 Package(s)

Total download size: 311 k
Installed size: 770 k
Is this ok [y/N]: Y
Downloading Packages:
nginx-1.4.4-1.el6.ngx.x86_64.rpm                                                                             | 311 kB     00:01     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing : nginx-1.4.4-1.el6.ngx.x86_64                                                                                     1/1 
----------------------------------------------------------------------

Thanks for using nginx!

Please find the official documentation for nginx here:
* http://nginx.org/en/docs/

Commercial subscriptions for nginx are available on:
* http://nginx.com/products/

----------------------------------------------------------------------
  Verifying  : nginx-1.4.4-1.el6.ngx.x86_64                                                                                     1/1 

Installed:
  nginx.x86_64 0:1.4.4-1.el6.ngx                                                                                                    

Complete!
 

Step #3: nginx 서비스 등록

Type the following command:
# chkconfig nginx on

How do I start / stop / restart nginx web-server?

Type the following commands:
# service nginx start
# service nginx stop
# service nginx restart
# service nginx status
# service nginx reload

Step #4: 설정파일

  1. Default configuration directory: /etc/nginx/
  2. Default SSL and vhost config directory: /etc/nginx/conf.d/
  3. Default log file directory: /var/log/nginx/
  4. Default document root directory: /usr/share/nginx/html
  5. Default configuration file: /etc/nginx/nginx.conf
  6. Default server access log file: /var/log/nginx/access.log
  7. Default server access log file: /var/log/nginx/error.log
To edit the nginx configuration file, enter:
# vi /etc/nginx/nginx.conf
Set or update worker_processes as follows (this must be set to CPU(s) in your system. Use thelscpu | grep '^CPU(s)' command to list the number of CPUs in the server)
worker_processes  2;
Turn on gzip support:
gzip  on;
Save and close the file. Edit the file /etc/nginx/conf.d/default.conf, enter:
# vi /etc/nginx/conf.d/default.conf
Set IP address and TCP port number:
    listen       202.54.1.1.1:80;
Set server name:
    server_name  www.cyberciti.biz;
Save and close the file. Start the server:
# service nginx start
Verify that everything is working:
# netstat -tulpn | grep :80
# ps aux | grep nginx

방화벽 설정: TCP 80 포트 오픈

Edit the file /etc/sysconfig/iptables, enter:
# vi /etc/sysconfig/iptables
Add the following lines, ensuring that they appear before the final LOG and DROP lines for the INPUT chain to open port 80:
 
-A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
 
Save and close the file. Finally, restart the firewall:
# service iptables restart

참조 : http://www.cyberciti.biz/faq/install-nginx-centos-rhel-6-server-rpm-using-yum-command/