[전자정부프레임워크] 개발환경 서버 구축 cheat sheet
설치 순서는
- ssh / ftp
- apache
- php
- mysql
- testlink
- jenkins
- nexus
- redmine
- 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
(설치 참조 링크) http://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_on_Ubuntu_step_by_step
$ 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
협업환경의 구축 (server) http://opentutorials.org/course/303/2291을 참조하여 원격저장소 생성
하단에 설명글을 읽지말고 반드시 동영상을 볼것. 글을 보면 헷갈림.
git version 으로 설치된 버전 확인.
댓글
댓글 쓰기