[전자정부프레임워크] 개발환경 서버 구축 cheat sheet


설치 순서는

  1. ssh / ftp
  2. apache
  3. php
  4. mysql
  5. testlink
  6. jenkins
  7. nexus
  8. redmine
  9. git
입니다. 설치 테스트를 한 우분투 버전은 14.04 이지만 그 이하버전(12.04)에서도 가능하리라 생각됩니다.   

참고사항

  • 리눅스가 처음이거나 익숙하지 않다면 아래 치트가 별로 도움이 되지 않습니다. 
  • 전자정부프레임워크를 이용하여 개발을 진행하는 프로젝트를 위한 개발환경 서버 세팅입니다. (개발서버 아님)
  • 아래 대부분 apt-get으로 설치를 합니다. apt-get으로 설치한 것들은 대부분 /etc/***에 설치가 되고 해당 설정파일들도 그곳에서 찾을 수 있습니다. 예) apache --> /etc/apache2
  • 설치된 툴들을 모두 80포트로 처리하기위해 apache 를 이용합니다. apache 항목에 보면 virtualhost 설정법이 나옵니다. 
  • 상세 툴사용법은 설명하지 않습니다.
  • 콘솔에서 java -version으로 jdk가 설치되어있는지 확인해보기 바랍니다. 

ssh / ftp


------------------------------- ssh
-- 설치
sudo apt-get install openssh-server
(** sudo apt-get update)

-- 설정변경
sudo vi /etc/ssh/sshd_config
(** port 정도만 바꿔주면 )

-- 리스타트
sudo service ssh restart

-- sudo 그룹에 사용자 추가
sudo useradd -G sudo [추가할 ID]

-- 동작 확인
sudo netstat -ntlp | grep ssh

-=--------------------------------------ftp
sudo apt-get install vsftpd

sudo vi /etc/vsftpd.conf 내용 중 아래것 확인 
anonymous_enable = NO           
 local_enable = YES                   
 write_enable = YES 


apache 

sudo apt-get install apache2

---- virtualhost 설정 예제
<VirtualHost *:80>
        ServerName testlink.ohhoonim.com
        ServerAdmin webmaster@localhost
        DocumentRoot /home/hdju/www/testlink
        ErrorLog /home/hdju/log/testlink/error.log
        CustomLog /home/hdju/log/testlink/access.log combined
  <Directory /home/hdju/www/testlink >
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    allow from all
    Require all granted
  </Directory>
</VirtualHost>

ServerName에 세팅한 도메인은 각 개발자 pc에서 hosts 설정해주면 됨.

virtualhost 설정폴터는 /etc/apache2/sites-available/ 이며, 이곳에 [사이트].conf 형식으로 파일을 생성 후 /etc/apache2/sites-enabled/ 폴더에 링크걸어 준후 아파치를 재시작해야 virtaulhost 설정이 반영됨.

ln -s ../sites-available/nexus.conf nexus.conf

documentroot 예제처럼 별도 경로에 설정하려면 원하는 경로에 그룹권한을 변경해줘야한다.
/etc/apache2/envvars 설정에서

APACHE_RUN_GROUP=www-data 

부분을 확인. 여기서는 www-data로 그룹권한을 바꿔줌. 아래 툴들을 설치하다보면 permission 관련 에러가 자주 나오는데 그럴때 아래와 같이 그룹권한을 변경해서 처리하면됨

sudo chgrp -R www-data /home/hdju/www/testlink


php

sudo apt-get install php5 php5-cli curl memcached php5-curl php5-gd php5-memcache php5-mysql php-apc php5-xsl php5-imap libssh2-php libapache2-mod-php5 php5-gd php5-xmlrpc php5-intl

vi /etc/php5/apache2/php.ini
==> default_charset="iso-8859-1" default_charset="utf-8" 변경

mysql

sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql

sudo apt-get install phpmyadmin (<- 설치안해도됨)

vi /etc/mysql/my.cnf
==> 아래 내용 추가 
  default-character-set=utf8
  default-collation=utf8_general_ci
  init_connect=set collation_connection=utf8_general_ci
  init_connect=set names utf8
  character-set-server=utf8
  collation-server=utf8_general_ci
  character-set-client-handshake = TRUE

설치 중 root(MySQL의)의 암호를 입력(잘 기억해야 한다)
설치 확인 sudo netstat -tap | grep mysql
재 시작하기 sudo /etc/init.d/mysql restart
종료 mysql stop

-- root  접속이 필요하다면.
mysql -u root -p

testlink

testlink.org에서 파일 다운로드 apache document 경로나 별도 경로에 압축을
브라우저에서 [테스티링크url]/install 실행하여 설치 진행
퍼미션 에러나면 폴더 권한 체크

jenkins

wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

---- jenkins 설정파일
/etc/default/jenkins
파일 살펴보면 기본경로 설정 나와있음.
JENKINS_LOG=/var/log/jenkins/$NAME.log
JENKINS_HOME=/var/lib/jenkins
JENKINS_WAR=/usr/share/jenkins/jenkins.war
JENKINS_USER=jenkins
JENKINS_GROUP=jenkins
webroot=/var/cache/jenkins/war


---- apache 연동시 추가 필요사항
sudo a2enmod proxy
sudo a2enmod proxy_http

/etc/apache2/mods_enabled/proxy.conf 파일 수정
----------------------------------------
ProxyRequests Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
-----------------------------------------

jenkins.conf 파일에 아래처럼 세팅
--------------------------------------------------
<VirtualHost *:80>
        ServerName [원하는 url]
        ProxyPass / http://127.0.0.1:8080/
</VirtualHost>
-------------------------------------------------

nexus

-- 다운로드

-- 압축풀기
tar xvzf nexus-2.8.0-05-bundle.tar.gz
--> nexus-*** 디렉토리와 sonatype-work 디렉토리가 생김.

-- 실행
./bin/nexus start
--> 실행과정을 콘솔에서 보려면,,, ./bin/nexus console

-- 설치결과 확인

-- 초기 admin 계정
admin / admin123

------------- apache 설정

conf/nexus.properties 에서
nexus-webapp-context-path=/ 변경

/etc/apache2/sites-available/ nexus.conf 파일 생성
<VirtualHost *:80>
        ServerName nexus.ohhoonim.com
        ServerAdmin webmaster@localhost
        ProxyPass / http://127.0.0.1:8081/
</VirtualHost>



redmin


$ sudo apt-get install libapache2-mod-passenger
$ sudo apt-get install redmine redmine-mysql

sudo ln -s /usr/share/redmine/public /var/www/redmine

/etc/apache2/sites-available/ 에 redmine.conf 파일 생성
<VirtualHost *:80>
        ServerName redmine.ohhoonim.com
        ServerAdmin webmaster@localhost
        ProxyPass / http://127.0.0.1/
        DocumentRoot /var/www/redmine

        <Directory /var/www/redmine>
          RailsBaseURI /
          PassengerResolveSymlinksInDocumentRoot on
        </Directory>
</VirtualHost>

 sudo ln -s ../sites-available/redmine.conf redmine.conf

sudo chgrp -R www-data /var/www/redmine

-- 에러가 발생한다면...
sudo gem install bundler

sudo touch /usr/share/redmine/Gemfile.lock
sudo chown www-data:www-data /usr/share/redmine/Gemfile.lock


admin / admin 으로 로그인

git

sudo apt-get install git
git version 으로 설치된 버전 확인. 

협업환경의 구축 (server) http://opentutorials.org/course/303/2291을 참조하여 원격저장소 생성 
하단에 설명글을 읽지말고 반드시 동영상을 볼것. 글을 보면 헷갈림.

댓글

이 블로그의 인기 게시물

Session 대신 JWT를 사용하는 이유

VSCode에서의 VIM 단축키와 키보드 구매 가이드

우분투에서 테스트링크(testlink)와 맨티스(mantis)로 테스팅 서버 구성하기