'리눅스'에 해당되는 글 6건
- 2008/05/27 우분투 8.04에서 톰캣을 설치해 보아요.
- 2008/05/25 파일 이름에 오늘 날짜를 넣어 보아요.
- 2008/05/25 리눅스에서 프로세스를 백그라운드로 실행해 보아요.
- 2008/05/25 우분투 8.04에서 트랙(trac)을 설치해 보아요.
- 2008/05/25 우분투 8.04에서 서브버전을 설치해 보아요. (1)
- 2008/05/25 우분투 8.04에서 아파치 2.2를 설치해 보아요.
자바부터 설치해야죠.
오픈 소스 기반인 OpenJDK를 한번 써보아요.
JDK 6.0 버전이기는 한데.. 나중에 잘 안 되면 sun 자바로 바꾸면 되죠. ^^
오오.. 앤트(ant)까지 깔리는군요. +_+
톰캣 5.5를 설치해 보아요.
JAVA_HOME 환경변수가 필요하네요.
다음 패키지들을 설치하면 돼요.
만약 다음과 같은 메시지가 중간에 나오면서 에러가 나면..
이렇게 해야 해요.
톰캣이 시작될 때에도 JAVA_HOME 환경변수가 필요하므로, 실행스크립트를 수정해야 해요.
앞부분에 다음 라인을 추가하면 돼요.
아파치 2.2와 톰캣을 연동해 보자.
우선 아파치 2.2의 mod_jk 모듈부터 설치해야 해요.
mod_jk의 설정 파일을 만들어 주어야 해요.
mod_jk의 worker 설정 파일도 만들어 주어요.
다음 내용을 넣어 주어요.
mod_jk 모듈을 사용 가능하게 해 주어야 해요.
혹시 이미 mod_jk 모듈이 사용 가능한 상태라면 다음과 같이 해줘야 해요.
아파치 설정도 수정해야겠죠.
다음 내용을 적당한 곳에 추가해 주어요.
DocumentRoot가 이미 선언되어 있으면 그 뒤에 붙여넣어야 제대로 동작하겠죠?
톰캣과 아파치를 재시작해 주면 끝이에요. ^^
아직 아파치와 mod_jk에 대하여 자세하게 알지 못해서 미흡하네요.
앞으로 천천히 내용을 보강해 나가야 겠어요.
오픈 소스 기반인 OpenJDK를 한번 써보아요.
JDK 6.0 버전이기는 한데.. 나중에 잘 안 되면 sun 자바로 바꾸면 되죠. ^^
sudo apt-get install openjdk-6-jdk
오오.. 앤트(ant)까지 깔리는군요. +_+
톰캣 5.5를 설치해 보아요.
JAVA_HOME 환경변수가 필요하네요.
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk/
다음 패키지들을 설치하면 돼요.
sudo apt-get install tomcat5.5 tomcat5.5-admin tomcat5.5-webapps
만약 다음과 같은 메시지가 중간에 나오면서 에러가 나면..
* no JDK found - please set JAVA_HOME
이렇게 해야 해요.
sudo -E apt-get install tomcat5.5 tomcat5.5-admin tomcat5.5-webapps
-E 옵션을 사용하면 현재 쉘의 환경변수를 넘겨주네요.
톰캣이 시작될 때에도 JAVA_HOME 환경변수가 필요하므로, 실행스크립트를 수정해야 해요.
vi /etc/init.d/tomcat5.5
앞부분에 다음 라인을 추가하면 돼요.
JAVA_HOME=/usr/lib/jvm/java-6-openjdk/
아파치 2.2와 톰캣을 연동해 보자.
우선 아파치 2.2의 mod_jk 모듈부터 설치해야 해요.
sudo apt-get install libapache2-mod-jk
mod_jk의 설정 파일을 만들어 주어야 해요.
sudo vi /etc/apache2/mods-available/jk.conf
<ifmodule jk_module> JkWorkersFile /etc/apache2/jk/workers.properties JkShmFile /var/log/apache2/jk.shm JkLogFile /var/log/apache2/jk.log JkLogLevel info JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" JkRequestLogFormat "%w %V %T" </ifmodule>
mod_jk의 worker 설정 파일도 만들어 주어요.
sudo mkdir /etc/apache2/jk
sudo vi /etc/apache2/jk/workers.properties
sudo vi /etc/apache2/jk/workers.properties
다음 내용을 넣어 주어요.
worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300
mod_jk 설정 파일과 worker의 이름이 같아야 해요.
mod_jk 모듈을 사용 가능하게 해 주어야 해요.
sudo a2enmod jk
혹시 이미 mod_jk 모듈이 사용 가능한 상태라면 다음과 같이 해줘야 해요.
sudo a2dismod jk
sudo a2enmod jk
sudo a2enmod jk
아파치 설정도 수정해야겠죠.
sudo vi /etc/apache2/sites-available/ssl
/etc/apache2/sites-available/ssl은 기존에 존재하지 않는 파일이에요.
저는 모든 접속을 https://로 접근하게 하려고 ssl 사이트를 따로 만들어 주었어요.
아파치 설정에 의문점이 있다면 "우분투 8.04에서 아파치 2.2를 설치해 보아요."를 참고하세요.
저는 모든 접속을 https://로 접근하게 하려고 ssl 사이트를 따로 만들어 주었어요.
아파치 설정에 의문점이 있다면 "우분투 8.04에서 아파치 2.2를 설치해 보아요."를 참고하세요.
다음 내용을 적당한 곳에 추가해 주어요.
<ifmodule jk_module> DocumentRoot /usr/share/tomcat5.5-webapps/ROOT/ <directory /usr/share/tomcat5.5-webapps/root> AllowOverride None Order allow,deny allow from all </directory> JkMount / worker1 JkMount /index.jsp worker1 JkMount /manager/* worker1 JkUnMount /*.gif worker1 JkUnMount /*.jpg worker1 JkUnMount /*.png worker1 JkUnMount /*.xml worker1 JkUnMount /*.xsd worker1 JkUnMount /*.xsl worker1 Alias /manager "/usr/share/tomcat5.5/server/webapps/manager" Alias /tomcat-docs "/usr/share/tomcat5.5-webapps/tomcat-docs" <directory /usr/share/tomcat5.5/server/webapps/manager> AllowOverride None Order allow,deny Allow from all </directory> <directory /usr/share/tomcat5.5-webapps/tomcat-docs> AllowOverride None Order allow,deny Allow from all </directory> </ifmodule>
DocumentRoot가 이미 선언되어 있으면 그 뒤에 붙여넣어야 제대로 동작하겠죠?
그리고 ROOT 웹 어플리케이션을 연결해 주기위해 "/" 와 "/index.jsp" 에 대해서도 설정해 주었는데요.. ROOT 웹 어플리케이션의 내용이 바뀌게 되면 바꿔주어야 할 것 같아요. 임시방편일 뿐이죠.
결국 왠만하면 / 디렉토리는 톰캣으로 넘기지 않는 것이 상책인 것 같아요.
결국 왠만하면 / 디렉토리는 톰캣으로 넘기지 않는 것이 상책인 것 같아요.
톰캣과 아파치를 재시작해 주면 끝이에요. ^^
sudo /etc/init.d/tomcat5.5 restart
sudo apache2ctl restart
sudo apache2ctl restart
아직 아파치와 mod_jk에 대하여 자세하게 알지 못해서 미흡하네요.
앞으로 천천히 내용을 보강해 나가야 겠어요.
환경:
Ubuntu 8.04 Hardy Heron Server Edition - x86
Ubuntu 8.04 Hardy Heron Server Edition - x86
참고:
Ubuntu Community Document -ApacheTomcat5
ubuntu + apm + tomcat + eclipse
ubuntu에서 tomcat설치/apache2에 연동
The Apache Tomcat Connector - Generic HowTo
Ubuntu Community Document -ApacheTomcat5
ubuntu + apm + tomcat + eclipse
ubuntu에서 tomcat설치/apache2에 연동
The Apache Tomcat Connector - Generic HowTo
'개발 > 서버' 카테고리의 다른 글
| 우분투 8.04에서 톰캣을 설치해 보아요. (0) | 2008/05/27 |
|---|---|
| 우분투 8.04에서 트랙(trac)을 설치해 보아요. (0) | 2008/05/25 |
| 우분투 8.04에서 서브버전을 설치해 보아요. (1) | 2008/05/25 |
| 우분투 8.04에서 아파치 2.2를 설치해 보아요. (0) | 2008/05/25 |
윈도우
%date% 변수 이용하면 되요.
%time% 변수도 있어요. +_+
다음은 set /? 명령을 통해 나온 도움말에서 동적 환경 변수의 목록이에요.
상위의 4개는 유용하게 쓸 수 있겠네요. ^^
리눅스
명령어 중간에 `` 를 사용하여 다른 명령어를 실행할 수 있어요.
멋진 기능이네요.. +_+
copy test.txt test.%date%.txt
%date% 변수 이용하면 되요.
%time% 변수도 있어요. +_+
다음은 set /? 명령을 통해 나온 도움말에서 동적 환경 변수의 목록이에요.
상위의 4개는 유용하게 쓸 수 있겠네요. ^^
%CD% - 현재 디렉터리 문자열로 확장합니다.
%DATE% - DATE 명령과 같은 포맷을 사용하여 현재 날짜로 확장합니다.
%TIME% - TIME 명령과 같은 포맷을 사용하여 현재 시간으로 확장합니다.
%RANDOM% - 0과 32767 사이에 있는 임의 숫자로 확장합니다.
%ERRORLEVEL% - 현재 ERRPRLEVEL 값으로 확장합니다
%CMDEXTVERSION% - 현재 명령 프로세서 확장자 버전 번호로 확장합니다.
%CMDCMDLINE% - 명령 프로세서를 호출하는 원본 명령줄로 확장합니다.
%DATE% - DATE 명령과 같은 포맷을 사용하여 현재 날짜로 확장합니다.
%TIME% - TIME 명령과 같은 포맷을 사용하여 현재 시간으로 확장합니다.
%RANDOM% - 0과 32767 사이에 있는 임의 숫자로 확장합니다.
%ERRORLEVEL% - 현재 ERRPRLEVEL 값으로 확장합니다
%CMDEXTVERSION% - 현재 명령 프로세서 확장자 버전 번호로 확장합니다.
%CMDCMDLINE% - 명령 프로세서를 호출하는 원본 명령줄로 확장합니다.
리눅스
touch test.`date +%Y-%m-%d`.txt
명령어 중간에 `` 를 사용하여 다른 명령어를 실행할 수 있어요.
멋진 기능이네요.. +_+
리눅스 쪽이 다양한 포맷으로 지정할 수 있어서 더 유리하겠네요.
'개발 > 기타' 카테고리의 다른 글
| 웹 페이지를 자동으로 리프레시하게 해보아요. (0) | 2008/05/25 |
|---|---|
| 익셉션(exception) 처리 전략에 대하여.. (0) | 2008/05/25 |
| log4j에 대하여.. (0) | 2008/05/25 |
| 파일 이름에 오늘 날짜를 넣어 보아요. (0) | 2008/05/25 |
| 리눅스에서 프로세스를 백그라운드로 실행해 보아요. (0) | 2008/05/25 |
| 이클립스 서버 플러그인에서 톰캣 5.5가 로그 파일을 남기도록 해봐요. (0) | 2008/05/25 |
로그아웃해도 프로세스를 죽이지 않고 백그라운드에서 돌게 하는 명령어
예를 들면..
위와 같이 시간이 오래 걸리는 명령어를 실행할 때 사용하면 돼요.
결과가 저장될 파일이름을 지정하지 않으면 기본적으로 nohup.out에 저장된답니다.
nohup 명령어 > 결과가_저장될_파일_이름 &
예를 들면..
nohup find / -name *.c > result.txt &
위와 같이 시간이 오래 걸리는 명령어를 실행할 때 사용하면 돼요.
결과가 저장될 파일이름을 지정하지 않으면 기본적으로 nohup.out에 저장된답니다.
'개발 > 기타' 카테고리의 다른 글
| 웹 페이지를 자동으로 리프레시하게 해보아요. (0) | 2008/05/25 |
|---|---|
| 익셉션(exception) 처리 전략에 대하여.. (0) | 2008/05/25 |
| log4j에 대하여.. (0) | 2008/05/25 |
| 파일 이름에 오늘 날짜를 넣어 보아요. (0) | 2008/05/25 |
| 리눅스에서 프로세스를 백그라운드로 실행해 보아요. (0) | 2008/05/25 |
| 이클립스 서버 플러그인에서 톰캣 5.5가 로그 파일을 남기도록 해봐요. (0) | 2008/05/25 |
일단 트랙을 설치해야겠네요.
기본적으로 python-setuptools와 trac 패키지가 필요하구요.
아파치와 파이썬을 연동하기 위해 libapache2-mod-pyhon 패키지도 필요하네요.
아파치로 트랙을 실행하도록 해요.
저는 HTTPS로만 접근하도록 하려고 해요. 그래서 다음과 같이..
적당한 곳에 다음 내용을 넣어 주면 되요.
트랙의 저장소를 만들어요.
/project/repository/issue 에 trac 프로젝트를 저장하기로 하죠.
일단 디렉토리를 만들구요.
새로운 프로젝트를 만들어 보아요.
저장소 위치에서 trac-admin을 사용해서 만들 수 있어요.
project라는 이름으로 저장소를 만든다고 하죠.
트랙에 접근 가능한 사용자 그룹을 만들도록 해요.
trac 이라는 그룹을 사용하도록 하죠.
trac 그룹을 만들어 주어요.
/etc/group 파일을 수정해요.
다음과 같이 /etc/group 파일에서 trac 그룹에 서브버전을 사용할 사용자 아이디를 추가하면 돼요.
아파치에서 접근할 수 있도록 www-data 사용자는 반드시 추가하도록 해요.
trac 저장소의 권한을 trac 그룹에게 주고, 쓰기 권한도 주도록 해요.
마지막으로 아파치를 재시작 하면 돼요.
기본적으로 python-setuptools와 trac 패키지가 필요하구요.
아파치와 파이썬을 연동하기 위해 libapache2-mod-pyhon 패키지도 필요하네요.
sudo apt-get install libapache2-mod-python python-setuptools trac
아파치로 트랙을 실행하도록 해요.
저는 HTTPS로만 접근하도록 하려고 해요. 그래서 다음과 같이..
sudo vi /etc/apache2/sites-available/ssl
적당한 곳에 다음 내용을 넣어 주면 되요.
Alias /trac "/project/repository/issue" <directory /project/repository/issue> AllowOverride None Options Indexes +ExecCGI MultiViews FollowSymLinks AddHandler cgi-script .cgi Order allow,deny Allow from all <locationmatch /trac/[[:alnum:]]+/login> AuthType Basic AuthName "trac" AuthUserFile /etc/apache2/passwd Require valid-user </locationmatch> <location /trac> SetHandler mod_python PythonInterpreter main_interpreter PythonHandler trac.web.modpython_frontend PythonOption TracEnvParentDir /project/repository/issue PythonOption TracUriRoot /trac </location>
트랙의 저장소를 만들어요.
/project/repository/issue 에 trac 프로젝트를 저장하기로 하죠.
일단 디렉토리를 만들구요.
sudo mkdir /project/repository/issue
새로운 프로젝트를 만들어 보아요.
저장소 위치에서 trac-admin을 사용해서 만들 수 있어요.
project라는 이름으로 저장소를 만든다고 하죠.
cd /project/repository/issue/
sudo trac-admin project initenv
sudo trac-admin project initenv
트랙에 접근 가능한 사용자 그룹을 만들도록 해요.
trac 이라는 그룹을 사용하도록 하죠.
trac 그룹을 만들어 주어요.
sudo groupadd trac
/etc/group 파일을 수정해요.
sudo vi /etc/group
다음과 같이 /etc/group 파일에서 trac 그룹에 서브버전을 사용할 사용자 아이디를 추가하면 돼요.
아파치에서 접근할 수 있도록 www-data 사용자는 반드시 추가하도록 해요.
trac:x:1002:kjunine,www-data
trac 저장소의 권한을 trac 그룹에게 주고, 쓰기 권한도 주도록 해요.
sudo chgrp trac /project/repository/issue -R
sudo chmod g+w /project/repository/issue -R
sudo chmod g+w /project/repository/issue -R
마지막으로 아파치를 재시작 하면 돼요.
sudo apache2ctl restart
환경:
Ubuntu 8.04 Hardy Heron Server Edition - x86
Ubuntu 8.04 Hardy Heron Server Edition - x86
'개발 > 서버' 카테고리의 다른 글
| 우분투 8.04에서 톰캣을 설치해 보아요. (0) | 2008/05/27 |
|---|---|
| 우분투 8.04에서 트랙(trac)을 설치해 보아요. (0) | 2008/05/25 |
| 우분투 8.04에서 서브버전을 설치해 보아요. (1) | 2008/05/25 |
| 우분투 8.04에서 아파치 2.2를 설치해 보아요. (0) | 2008/05/25 |
서브버전을 설치해 보아요.
우분투에서 서브버전을 설치하고 svn+ssh 프로토콜로 접근하는 방법에 대해서 알아보아요.
먼저 서브버전을 설치하도록 해요.
완전 간단~! +_+ 이런게 우분투의 매력이네요. ^-^
사용자 그룹을 설정해요.
서브버전을 svn+ssh 프로토콜로 접근하려면 먼저 사용자 그룹을 설정해야 해요.
subversion 이라는 그룹을 사용하도록 하죠.
subversion 그룹을 만들어 주어요.
/etc/group 파일을 수정해주어요.
다음과 같이 /etc/group 파일에서 subversion 그룹에 서브버전을 사용할 사용자 아이디를 추가하면 돼요.
kjunine 이라는 아이디를 추가할께요.
서브버전 저장소를 만들어요.
이젠 서브버전에서 사용할 저장소를 만들어야겠죠?
일단 저장소 디렉토리를 만들어 주어요.
/project/repository/source 라고 하죠.
저장소를 버클리 디비 방식으로 만들어주고, subversion 그룹이 접근할 수 있도록 권한을 바꿔주어요.
project라는 이름으로 저장소를 만든다고 하죠.
svn+ssh:// 프로토콜로 접속해 보아요.
여기까지만 해도 서브버전에 접속할 수 있어요.
예를 들면, 다음 URL로 접속하면 되죠.
그러나 클라이언트에서 요청 시마다 비밀번호를 입력해줘야 하는 문제점이 있어요!!
다음과 같은 방법으로 해결해야 해요.
서버부터 설정해 보죠.
서브버전의 사용자마다 다음 단계를 수행해야 해요.
우선 SSH에서 사용할 개인키와 공개키를 만들어야죠.
키 이름을 kjunine으로 한다고 하죠.
암호를 입력하는 것이 나오는데.. 이 때 입력한 암호는 반드시 기억해야 해요!!
그럼 개인키 파일(kjunine)과 공개키 파일(kjunine.pub)이 만들어져요.
공개키는 ~/.ssh/authorized_keys 파일로 복사해 주어요.
개인키는 클라이언트에 다운로드 받아야 해요.
클라이언트도 설정해 보아요.
PuTTY라는 프로그램을 이용해야 해요.
PuTTY에는 putty.exe 말고도 plink.exe, pagent.exe, puttygen.exe 등 여러 프로그램들이 있어요.
그 중에서 pagent.exe와 puttygen.exe를 사용할 거에요.
plink.exe 대신에 TortoiseSVN 의 tortoiseplink.exe라는 plink.exe의 변형 프로그램을 이용할 거에요.
plink.exe는 자꾸 콘솔창이 떠서 방해가 되거든요.
다운받은 개인키를 PuTTY에서 인식할 수 있는 형태로 변환해야 해요.
다음과 같이 하면 돼요.
매번 비밀번호를 입력하지 않아도 되도록 pagent.exe를 항상 띄워 놓아야 해요.
C:\Documents and Settings\{사용자_이름}\Application Data\Subversion\config 파일 내용을 다음과 같이 수정해야 해요.
[tunnels] 밑에 있는 다음 부분을..
주석을 제거하고 다음과 같이 고쳐 주세요.
그리고 pagent.exe의 바로가기를 만들어요.
바로가기의 속성에서 대상(T) 항목 끝에 한 칸 띄우고 위 단계에서 저장한 PuTTY용 개인키(ppk 파일)의 위치를 써주세요. (파일 이름까지)
바로가기를 실행하세요.
개인키의 비밀번호를 입력하세요.
이제 끝이에요. ^^
위의 URL로 다시 접속해 보아요. 비밀번호를 묻지 않아요.
그리고 이제부터는 PuTTY로 접속할 때도 비밀번호를 입력 안 해도 되네요.
https:// 프로토콜로도 접속해 보아요.
아파치와 서브버전을 연동하려면 libapache2-svn 패키지를 설치해 주어야 해요.
그리고 제한된 사용자만 접근할 수 있게 하려면 아파치에서 사용할 비밀번호 파일을 만들어 주어야 해요.
/etc/apache2/passwd 파일로 하도록 해요.
kjunine이라는 사용자를 만들어 보아요.
그리고 적당한 곳에 다음에 나올 내용을 추가해 주면 되요.
https:// 로 접근하고자 하니까.. /etc/apache2/sites-available/ssl 파일을 수정해야 겠네요.
<VirtualHost *:443>와 </VirtualHost> 사이 적당한 곳에 다음 내용을 넣죠.
www-data 사용자를 서브버전 리포지토리의 소유 그룹에 추가해야 해요.
리포지토리 소유 그룹이 subversion이라고 하죠.
/etc/group 파일의 subversion 그룹에 www-data 사용자를 추가하도록 하죠.
그리고 아파치를 새로 시작하면 돼요.
사용자별로 접근 권한을 다르게 설정해 보아요.
특정 Location(svn/project)에 대하여 다음과 같이 사용자에 따라 접근 권한을 다르게 설정할 수 있어요.
등록된 사용자만이 읽고 쓸수 있게..
아무나 읽을 수 있고 등록된 사용자만이 쓸 수 있게..
등록된 사용자만이 읽을 수 있고 특정한 사용자(kjunine)만이 쓸 수 있게..
우분투에서 서브버전을 설치하고 svn+ssh 프로토콜로 접근하는 방법에 대해서 알아보아요.
먼저 서브버전을 설치하도록 해요.
sudo apt-get install subversion
완전 간단~! +_+ 이런게 우분투의 매력이네요. ^-^
사용자 그룹을 설정해요.
서브버전을 svn+ssh 프로토콜로 접근하려면 먼저 사용자 그룹을 설정해야 해요.
subversion 이라는 그룹을 사용하도록 하죠.
subversion 그룹을 만들어 주어요.
sudo groupadd subversion
/etc/group 파일을 수정해주어요.
sudo vi /etc/group
다음과 같이 /etc/group 파일에서 subversion 그룹에 서브버전을 사용할 사용자 아이디를 추가하면 돼요.
kjunine 이라는 아이디를 추가할께요.
subversion:x:1001:kjunine
콤마(,)로 구분하면 여러 개의 아이디를 추가할 수 있어요.
서브버전 저장소를 만들어요.
이젠 서브버전에서 사용할 저장소를 만들어야겠죠?
일단 저장소 디렉토리를 만들어 주어요.
/project/repository/source 라고 하죠.
sudo mkdir /project/repository/source -p
-p 옵션을 사용하면, 부모 디렉토리가 없으면 만들어 주네요.
저장소를 버클리 디비 방식으로 만들어주고, subversion 그룹이 접근할 수 있도록 권한을 바꿔주어요.
project라는 이름으로 저장소를 만든다고 하죠.
cd /project/repository/source
sudo svnadmin create --fs-type bdb project
sudo chgrp -R subversion project
sudo chmod -R g+w project
sudo svnadmin create --fs-type bdb project
sudo chgrp -R subversion project
sudo chmod -R g+w project
svn+ssh:// 프로토콜로 접속해 보아요.
여기까지만 해도 서브버전에 접속할 수 있어요.
예를 들면, 다음 URL로 접속하면 되죠.
svn+ssh://user.id@server.ip/project/repository/source/project
사용자 아이디를 반드시 써주어야 해요.
그러나 클라이언트에서 요청 시마다 비밀번호를 입력해줘야 하는 문제점이 있어요!!
다음과 같은 방법으로 해결해야 해요.
서버부터 설정해 보죠.
서브버전의 사용자마다 다음 단계를 수행해야 해요.
우선 SSH에서 사용할 개인키와 공개키를 만들어야죠.
키 이름을 kjunine으로 한다고 하죠.
cd ~/.ssh
ssh-keygen -b 1024 -f kjunine
ssh-keygen -b 1024 -f kjunine
암호를 입력하는 것이 나오는데.. 이 때 입력한 암호는 반드시 기억해야 해요!!
그럼 개인키 파일(kjunine)과 공개키 파일(kjunine.pub)이 만들어져요.
공개키는 ~/.ssh/authorized_keys 파일로 복사해 주어요.
cp kjunine.pub authorized_keys
개인키는 클라이언트에 다운로드 받아야 해요.
클라이언트도 설정해 보아요.
PuTTY라는 프로그램을 이용해야 해요.
PuTTY에는 putty.exe 말고도 plink.exe, pagent.exe, puttygen.exe 등 여러 프로그램들이 있어요.
그 중에서 pagent.exe와 puttygen.exe를 사용할 거에요.
plink.exe 대신에 TortoiseSVN 의 tortoiseplink.exe라는 plink.exe의 변형 프로그램을 이용할 거에요.
plink.exe는 자꾸 콘솔창이 떠서 방해가 되거든요.
다운받은 개인키를 PuTTY에서 인식할 수 있는 형태로 변환해야 해요.
다음과 같이 하면 돼요.
puttygen.exe를 실행해요.
메뉴에서 Conversions > Import key를 실행해요.
다운받은 개인키를 지정해야 해요.
키 생성 시에 입력한 비밀번호를 입력해요.
Save private key 버튼을 클릭해서 개인키를 저장해요. (ppk 파일로 저장돼요.)
메뉴에서 Conversions > Import key를 실행해요.
다운받은 개인키를 지정해야 해요.
키 생성 시에 입력한 비밀번호를 입력해요.
Save private key 버튼을 클릭해서 개인키를 저장해요. (ppk 파일로 저장돼요.)
매번 비밀번호를 입력하지 않아도 되도록 pagent.exe를 항상 띄워 놓아야 해요.
C:\Documents and Settings\{사용자_이름}\Application Data\Subversion\config 파일 내용을 다음과 같이 수정해야 해요.
저는 클라이언트에도 Subversion을 설치해서 이 파일이 존재할지도 모르겠네요.
아니면 TortoiseSVN만 설치해도 위 파일이 존재하는 건가..?
아니면 TortoiseSVN만 설치해도 위 파일이 존재하는 건가..?
[tunnels] 밑에 있는 다음 부분을..
# ssh = $SVN_SSH ssh
주석을 제거하고 다음과 같이 고쳐 주세요.
ssh = {TortoiseSVN_설치_경로}/bin/TortoisePlink.exe
위에서 경로 입력 시 디렉토리 구분은 반드시 슬래쉬(/)로 해야 해요!!
그리고 pagent.exe의 바로가기를 만들어요.
바로가기의 속성에서 대상(T) 항목 끝에 한 칸 띄우고 위 단계에서 저장한 PuTTY용 개인키(ppk 파일)의 위치를 써주세요. (파일 이름까지)
{PuTTY_설치_경로}\PAGEANT.EXE {개인키_파일_경로}
여러 개의 키를 입력할 때는 띄워쓰기로 구분해서 여러 개를 입력해 주면 되요.
바로가기를 실행하세요.
개인키의 비밀번호를 입력하세요.
이제 끝이에요. ^^
위의 URL로 다시 접속해 보아요. 비밀번호를 묻지 않아요.
그리고 이제부터는 PuTTY로 접속할 때도 비밀번호를 입력 안 해도 되네요.
방금 만든 바로가기를 시작프로그램에 등록해두면 편하게 사용할 수 있어요.
https:// 프로토콜로도 접속해 보아요.
아파치와 서브버전을 연동하려면 libapache2-svn 패키지를 설치해 주어야 해요.
sudo apt-get install libapache2-svn
그리고 제한된 사용자만 접근할 수 있게 하려면 아파치에서 사용할 비밀번호 파일을 만들어 주어야 해요.
/etc/apache2/passwd 파일로 하도록 해요.
kjunine이라는 사용자를 만들어 보아요.
sudo htpasswd -c /etc/apache2/passwd kjunine
비밀번호 파일을 처음 만들 때에는 -c 옵션을 사용해야 해요.
그리고 적당한 곳에 다음에 나올 내용을 추가해 주면 되요.
https:// 로 접근하고자 하니까.. /etc/apache2/sites-available/ssl 파일을 수정해야 겠네요.
vi /etc/apache2/sites-available/ssl
<VirtualHost *:443>와 </VirtualHost> 사이 적당한 곳에 다음 내용을 넣죠.
<location /svn/project> DAV svn SVNPath /project/repository/source/project AuthType Basic AuthName "Subversion" AuthUserFile /etc/apache2/passwd Require valid-user </location>
www-data 사용자를 서브버전 리포지토리의 소유 그룹에 추가해야 해요.
리포지토리 소유 그룹이 subversion이라고 하죠.
/etc/group 파일의 subversion 그룹에 www-data 사용자를 추가하도록 하죠.
sudo vi /etc/group
subversion:x:1001:kjunine,www-data
그리고 아파치를 새로 시작하면 돼요.
sudo apache2ctl restart
사용자별로 접근 권한을 다르게 설정해 보아요.
특정 Location(svn/project)에 대하여 다음과 같이 사용자에 따라 접근 권한을 다르게 설정할 수 있어요.
등록된 사용자만이 읽고 쓸수 있게..
<location /svn/project> Require valid-user </location>
아무나 읽을 수 있고 등록된 사용자만이 쓸 수 있게..
<location /svn/project> <limitexcept GET PROPFIND OPTIONS REPORT> Require valid-user </limitexcept> </location>
등록된 사용자만이 읽을 수 있고 특정한 사용자(kjunine)만이 쓸 수 있게..
<location /svn/project> <limit GET PROPFIND OPTIONS REPORT> Require valid-user </limit> <limitexcept GET PROPFIND OPTIONS REPORT> Require user kjunine </limitexcept> </location>
환경:
서버: Ubuntu 8.04 Hardy Heron i386 Server Edition
클라이언트: Windows XP Service Pack 2
PuTTY 0.60
TortoiseSVN 1.4.8, Build 12137
서버: Ubuntu 8.04 Hardy Heron i386 Server Edition
클라이언트: Windows XP Service Pack 2
PuTTY 0.60
TortoiseSVN 1.4.8, Build 12137
참고:
Community Ubuntu Documentation - Subversion
Subversion 사용 HOWTO
Subversion svn+ssh PuTTY Subclipse/TortoiseSVN
KLDP Wiki - Subversion Tips
Setting up a Subversion Server on Ubuntu Gutsy Gibbon server
Community Ubuntu Documentation - Subversion
Subversion 사용 HOWTO
Subversion svn+ssh PuTTY Subclipse/TortoiseSVN
KLDP Wiki - Subversion Tips
Setting up a Subversion Server on Ubuntu Gutsy Gibbon server
'개발 > 서버' 카테고리의 다른 글
| 우분투 8.04에서 톰캣을 설치해 보아요. (0) | 2008/05/27 |
|---|---|
| 우분투 8.04에서 트랙(trac)을 설치해 보아요. (0) | 2008/05/25 |
| 우분투 8.04에서 서브버전을 설치해 보아요. (1) | 2008/05/25 |
| 우분투 8.04에서 아파치 2.2를 설치해 보아요. (0) | 2008/05/25 |
먼저 아파치를 설치해 보아요.
역시 설치가 매우 간단하네요. 이런 게 우분투의 매력이겠죠? ^^;
sudo apt-get install apache2
아파치 2.2 버전이 깔리네요.
서브버전이나 파이썬 연동을 위해서 앞으로 다른 패키지들을 설치할 필요가 있겠지만, 지금은 딱 여기까지만 하면 돼요.
개인키와 공개키(인증서)를 만들어 보아요.
처음에 기본으로만 설치를 했더니 openssl도 설치되어 있지 않네요.
설치해 보죠.
sudo apt-get install openssl
개인키 파일과 인증서 파일을 만들죠.
다음에 나오는 3가지 방법 중 아무거나 해도 되네요.
(파일 이름은 kjunine.key, kjunine.crt로 만들께요.)
openssl genrsa -des3 -out kjunine.key 1024
openssl req -new -key kjunine.key -out kjunine.csr
openssl x509 -req -days 1825 -in kjunine.csr -signkey kjunine.key -out kjunine.crt
openssl x509 -req -days 1825 -in kjunine.csr -signkey kjunine.key -out kjunine.crt
openssl genrsa -des3 -out kjunine.key 1024
openssl req -new -x509 -nodes -sha1 -days 1825 -key kjunine.key -out kjunine.crt
openssl req -new -x509 -keyout kjunine.key -out kjunine.crt -days 1825
어떤 식으로 하든 결국 필요한 것은 개인키 파일(key 파일)과 인증서 파일(crt 파일)이구요.
중간에 입력하는 개인키의 비밀번호를 반드시 기억해야 해요.
그리고 가능하면 csr 생성 시에 Common Name에는 서버의 도메인 네임을 입력해야 해요.
중간에 입력하는 개인키의 비밀번호를 반드시 기억해야 해요.
그리고 가능하면 csr 생성 시에 Common Name에는 서버의 도메인 네임을 입력해야 해요.
다음 위치에 복사하도록 하죠. (굳이 어디에 있든 별로 상관은 없어 보이지만..)
sudo cp kjunine.crt /etc/ssl/certs/
sudo cp kjunine.key /etc/ssl/private/
아파치에서 SSL을 사용해 보아요.
우선 다음 명령어로 SSL 모듈을 가능하게 하죠.
sudo a2enmod ssl
위 명령어는 /etc/apache2/mods-available/ssl 파일을 /etc/apache2/mods-enable/ssl 파일에 링크시켜주는 것과 동일한 효과를 내어요.
그리고 default 사이트를 수정하죠.
sudo vi /etc/apache2/sites-available/default
NameVirtualHost *:80 <virtualhost *:80> ServerAdmin kjunine@kjunine.net ServerName dev.kjunine.net DocumentRoot /var/www/ ServerSignature On <directory> Options -Indexes -FollowSymLinks AllowOverride None Order deny,allow Deny from all </directory> <directory /var/www> AllowOverride None Order allow,deny allow from all </directory> ErrorLog /var/log/apache2/error.log LogLevel warn CustomLog /var/log/apache2/access.log combined </virtualhost>
그리고 ssl 사이트를 만들어 주어요.
sudo vi /etc/apache2/sites-available/ssl
<ifmodule ssl_module>
NameVirtualHost *:443
<virtualhost *:443>
ServerAdmin kjunine@kjunine.net
ServerName dev.kjunine.net
DocumentRoot /var/www/
ServerSignature On
SSLEngine on
SSLCertificateFile /etc/ssl/certs/kjunine.crt
SSLCertificateKeyFile /etc/ssl/private/kjunine.key
<directory>
Options -Indexes -FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</directory>
<directory /var/www>
AllowOverride None
Order allow,deny
allow from all
</directory>
<location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from localhost ip6-localhost
Allow from 192.168.10.
</location>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
CustomLog /var/log/apache2/ssl_access.log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</virtualhost>
</ifmodule>
ssl 사이트를 사용 가능하게 하죠.
sudo a2ensite ssl
위 명령어는 /etc/apache2/sites-available/ssl 파일을 /etc/apache2/sites-enable/ssl 파일에 링크시키는 것과 동일한 효과를 내어요.
a2enmod, a2dismod, a2ensite, a2dissite 명령어는 우분투에서 모듈과 사이트를 사용 가능/불가능하게 변경하는 명령어에요.
Apache 설정 파일에 대해서는 여기서 설명하기는 힘드네요. 아파치 문서를 참고하세요.
Apache 설정 파일에 대해서는 여기서 설명하기는 힘드네요. 아파치 문서를 참고하세요.
아파치를 다시 시작해야 해요.
개인키 파일을 루트 권한으로만 읽을 수 있기 때문에 sudo 명령어를 사용해야 하네요.
sudo apache2ctl restart
리스타트가 잘 안 되면 일단 정지시켰다가 새로 시작하도록 해보아요.
sudo apache2ctl stop
sudo apache2ctl start
sudo apache2ctl start
다시 시작할 때 개인키 파일의 비밀번호를 입력해야 해요.
그러나..
서버를 재시작(reboot)할 때 비밀번호를 입력해야 하는데 불가능하다는 문제점이 있네요.
비밀번호가 안 걸려 있는 키 파일을 하나 만들어야 겠네요.
openssl rsa -in kjunine.key -out kjunine.key.for.apache2
새로 만든 키 파일을 /etc/ssl/private 디렉토리에 복사해 주어요.
sudo cp kjunine.key.for.apache2 /etc/ssl/private/
아시겠지만 /etc/ssl/private 폴더는 오직 루트 권한으로만 접근이 가능하답니다.
그리고 /etc/apache2/sites-available/ssl 파일을 수정해야죠.
sudo vi /etc/apache2/sites-available/ssl
아래 부분을..
SSLCertificateKeyFile /etc/ssl/private/kjunine.key
다음과 같이 고쳐 주세요.
SSLCertificateKeyFile /etc/ssl/private/kjunine.key.for.apache2
마지막으로 다시 서버를 재시작하면 되겠네요.
sudo apache2ctl restart
환경:
Ubuntu 8.04 Hardy Heron Server Edition - x86
Ubuntu 8.04 Hardy Heron Server Edition - x86
참고:
Ubuntu Server Guide
Ubuntu Server Guide - HTTPD - Apache 2 Web Server
Ubuntu Server Guide - Certificates
Apache HTTP Server Version 2.2 문서
Ubuntu Server Guide
Ubuntu Server Guide - HTTPD - Apache 2 Web Server
Ubuntu Server Guide - Certificates
Apache HTTP Server Version 2.2 문서
'개발 > 서버' 카테고리의 다른 글
| 우분투 8.04에서 톰캣을 설치해 보아요. (0) | 2008/05/27 |
|---|---|
| 우분투 8.04에서 트랙(trac)을 설치해 보아요. (0) | 2008/05/25 |
| 우분투 8.04에서 서브버전을 설치해 보아요. (1) | 2008/05/25 |
| 우분투 8.04에서 아파치 2.2를 설치해 보아요. (0) | 2008/05/25 |

Prev
RSS FEED
