KAE in Tistory
iadle's Blog

Subversion의 여러가지 단점을 보안할 분산형 버전 관리 시스템들이 떠오르고 있습니다. 현재 분산형 VCS들은 대략 10여가지 정도가 있는데, 상용으로는 Perforce, Bitkeeper등이 있고, 오픈소스로는 Mercurial과, Bazaar, monotone, Darcs, git, SVK 등이 있습니다. 그 중에서도 주목받고 있는 것이 Bazaar와 Git 입니다.

분산형 버전관리시스템은 중앙집중형 버전관리시스템(CVS나 SVN과 같은)과는 달리 저장소와 작업디렉토리가 따로 구별되어 있지않은 형태입니다. bazaar나 git 같은 경우에는 분산형과 중앙집중형을 모두 취하고 있기 때문에, 여러가지 형태의 효율적인 작업구조가 가능해진다고 합니다. bazaar workflows : http://bazaar-vcs.org/Workflows


사용자 삽입 이미지
이런거나,


사용자 삽입 이미지
기본적으로 이런 형태나,

사용자 삽입 이미지
이런 형태들이 가능해 진다는 것이죠.


현재 Bazaar은 ubuntu와 mysql등이 옮겨가서 사용하고 있고, Git는 linux 커널과 RubyonRails 가 옮겨가서 둘 중 어느것이 더 좋은지에 대한 의견이 분분한 상황이라고 합니다. Bazaar과 Git의 비교에 대한 글들도 눈에 띕니다. Bazaar은 편하고, Git는 빠르다는 식인데, 더 알아보고 좀더 자세한 글을 올려보겠습니다.


무료 프로젝트 포스팅:
SVN : Google Code Hosting
Git : GitHub
Bazaar: Launchpad

Trac Plugins : Trac-Git, Trac-Bzr

Bazaar vs Git
http://bazaar-vcs.org/BzrVsGit
http://info.wsisiz.edu.pl/~blizinsk/git-bzr.html
http://ranzzy.tistory.com/entry/Bazaar-Git

Bazaar review
http://www.pyrasis.com/blog/entry/PreviewBazaar

+ Analysis of Git and Mercurial(Google):
http://code.google.com/p/support/wiki/DVCSAnalysis
컴퓨터 사양이 점점 더 좋아지고, 메모리가 2GB 이상인 컴퓨터가 그리 놀라운 사양이 아니게 되면서, 가상으로 여러 OS를 돌리는 일이 점점 더 무리한 일이 아니게 되었습니다. 서버와 데스크탑의 가상화 기술은 지속적으로 개발되었고, VMware (http://www.vmware.com) 는 그 중 대표적인 솔루션입니다.
최근 Windows Vista가 설치된 컴퓨터를 새로 구입했는데, 메모리가 넉넉하므로 Vista 위에 가상으로 Ubuntu desktop을 돌려보기로 하였습니다. VMware 6 버전은 예전버전보다 더 안정적이고 쉽게 동작하였습니다.

Windows Vista에 VMware로 Ubuntu Hardy 돌리기
  • Main OS: Windows Vista
  • Vmware Workstation 6.04
  • Ubuntu Hardy 8.04 desktop i386

1. VMware Workstation Windows용 구하기

1.1. Vmware 홈페이지에서 다운로드
VMware Workstation - Desktop Virtualization:
http://www.vmware.com/download/ws/

VMware 홈페이지에서 데스크탑용 VMware Workstation을 다운받을 수 있습니다. 윈도우와 리눅스용을 지원합니다. 라이센스 비용을 지불하거나, 아닐 경우에는 쉐어웨어판으로 30일 정도 사용해볼 수 있습니다.
윈도우 위에 설치할 경우에는 VMware Workstation 6.0.4 for Windows를 선택하면 됩니다.

* VMware Player는 오픈소스이며 무료로 다운받을 수 있으나, 새로운 가상머신을 직접 생성할 수는 없고 플레이만 가능합니다.

1.2. 다른 경로로 다운로드



2.
VMware Workstation 설치하기

Windows Vista에서 다운받은 프로그램을 설치합니다.

3. Ubuntu 최신버전 구하기

Ubuntu 홈페이지에서 Ubuntu 최신버전을 구할 수 있습니다.

Ubuntu Hardy 8.04 desktop version :
http://www.ubuntu.com/getubuntu/download

현재 최신버전은 ubuntu hardy 8.04 입니다.
데스크탑 버전을 원한다면 Ubuntu LTS Hardy Desktop Edition에 체크하고, 64bit 컴퓨터인 경우에는 64bit에 체크하여 다운받습니다.

4. VMware에서 Ubuntu 설치하기
이제 설치에 필요한 준비는 다 되었습니다.

4.1 새로운 가상머신 만들기

VMware WS를 실행시키고, New Virtualmachine을 만듭니다.
Guest Operating system에서 linux와 ubuntu를 선택합니다(ubuntu 64bit 버전을 받았을 경우 ubuntu 64bit를 선택합니다).
네트워크 설정은 일단 넘깁니다. 나중에 변경 가능합니다.
가상의 하드공간은 원하는 만큼 적당히 지정합니다. 기본값인 8G로도 충분합니다.

생성하고 나면 아래 그림과 같이 새로운 탭이 생깁니다.
사용자 삽입 이미지

CDROM을 선택하여 ubuntu-8.04-desktop ISO 파일을 CD로 인식하도록 설정합니다.


4.2 가상머신에 Ubuntu 설치하기

플레이 버튼을 누르면 가상머신이 동작합니다. 실제 컴퓨터가 부팅할때와 비슷한 화면들이 지나갑니다.
사용자 삽입 이미지

언어를 한국어로 설정하고, 우분투 설치하기를 선택하여 설치를 시작합니다.
가상머신 밖으로 나올 때에는 Ctrl+Alt 키를, 가상머신 안으로 다시 들어갈 때에는 화면을 클릭하면 됩니다.

파티션분할 시에는 가상머신을 만들 때 설정해주었던 공간을 하드로 인식합니다.
사용자 삽입 이미지
데스크탑용이므로 특별히 분할하지 않고 자동으로 선택합니다.


4.3 네트워크 설정하기

설치가 잘 끝났다면 네트워크가 잘 잡히는지 확인해봅시다.
VMware의 이더넷 설정에는 4가지가 있습니다. 4가지 방법 중 사용가능한 방법으로 선택합니다.
  • bridged : 가상머신을 위한 bridge를 만들고 내부 ip를 할당합니다.(기본값)
  • NAT : host의 ip를 공유합니다. 특정 ip 외에 다른 ip들이 막혀있을 때 사용합니다.
  • Host-only : 내부 네트웍을 host와 공유합니다.
  • Custom: 사용자가 직접 정의

4.4 ubuntu 업그레이드

터미널 창을 열고 아래 명령어로 모든 패키지를 최신버전으로 업그레이드합니다.
sudo apt-get update && sudo apt-get dist-upgrade -y



이제 윈도우 데스크탑 속의 리눅스 데스크탑이 가능해졌습니다.
사용자 삽입 이미지


많이 허접한 글이네요. 부족한 부분이나 잘못된 점을 지적해주시면 감사하겠습니다(__)

MetaBBS 설치하기

분류없음 2007/10/20 01:03 by iadle
예전에 게시판을 고르는 포스팅을 한 적이 있습니다. 물론 지금은 그 때와는 달리 제로보드는 XE버전이 나왔고, 그동안 저는 rubyonrails 웹프레임워크를 사용하여 직접 게시판을 작성해서 사용했었습니다.

그리고 한동안 주변 사람들이 사용하는 게시판들을 눈여겨 보다, 작고 구조가 좋다는 평을 듣는 metabbs로 정했습니다. GPL 라이센스를 따르고 있다는 점도 큰 매력중의 하나입니다. 주변의 요청이 있어 MetaBBS 설치하는 방법을 설명합니다.

자신의 계정에 MetaBBS(http://metabbs.org)를 설치하기.


MetaBBS는 PHP/MySQL 기반의 오픈 소스 웹 게시판 엔진입니다. 그러므로 php와 mysql를 지원하는 웹계정이 필요합니다.

1. metabbs를 다운받아, 자신의 웹계정에 올립니다.
    1.1 metabbs 최신버전(현재 0.9RC4)
    1.2 metabbs 개발버전
2. metabbs 설치하기
    2.1 permission(허가권) 설정
    2.2 Database(MySQL) 설정과 관리자 설정
        2.2.1 [Database ID], [Database 비밀번호], [DB name] 확인/생성하기
        2.2.1 만약 database 설정이 잘못되었다면 다음과 같은 에러가 뜹니다.
    2.3 설치 끝
3. 관리자 페이지에서 게시판 생성
    3.1 관리자로 로그인을 합니다.
    3.2 게시판을 하나 생성해봅시다.
    3.3 기본 게시판의 모습


1. metabbs를 다운받아, 자신의 웹계정에 올립니다.

1.1 metabbs 최신버전(현재 0.9RC4)
  • MetaBBS 홈페이지(http://metabbs.org)에서 최신 버전을 내려받습니다.
  • ftp 등을 사용하여 자신의 웹계정에 올립니다.
    (자신의 웹 루트 안에 올립니다. ex. public_html/metabbs-0.9rc4.tar.gz)
    • ** 일련의 과정이 귀찮다면 그냥 자신의 계정으로 로그인(ssh, telnet)하여 wget을 사용하여 다운받읍시다.
      1. cd public_html (<- 자신의 웹 루트로 이동)
      2. wget http://kldp.net/frs/download.php/4020/metabbs-0.9rc4.tar.gz
  • 그리고 압축을 풉니다.
    1. tar xfz metabbs-0.9rc4.tar.gz
1.2 metabbs 개발버전
  • Subversion을 사용하여 개발 버전을 내려받을 수 있습니다.
    1. svn co http://svn.metabbs.org/trunk metabbs

2. metabbs 설치하기

이제 install.php로 접속해봅시다.

http://자신의 계정주소/metabbs/install.php
** 개발버전을 다운받았다면 경로가 metabbs/metabbs/install.php로 되어있습니다.

그리고 이제부터 화면에서 요구하는데로 따라가면 됩니다.

2.1 permission(허가권) 설정
사용자 삽입 이미지

metabbs 폴더의 허가권(permission)을 0707 으로 달라는군요.
  1. chmod 0707 metabbs
새로고침을 해 봅시다.

2.2 Database(MySQL) 설정과 관리자 설정
사용자 삽입 이미지

database and admin configure


혹자는 제로보드가 막 등장했던 시점부터, 혹은 그 이전부터 보아왔던 친숙한 화면입니다.:) [Database ID][Database 비밀번호][DB name]을 달라는군요. (잘 모르겠다면 2.2.1을 참고합니다.)
관리자 ID와 비밀번호도 적절히 입력하고, 왠만하면 잊어먹지 맙시다..;

다 제대로 입력했으면 설치 버튼을 누릅니다.

2.2.1 [Database ID], [Database 비밀번호], [DB name] 확인/생성하기

1) 만약 자신이 관리자가 아닐경우, 관리자에게 가서 달라고 하면 됩니다~.
2) 그러나 만약 자신이 관리자일 경우, 혹은 관리자가 불친절하거나 어떻게 만들어야 하는지 몰라서 방법을 물을을 정도로 가까운 친구일 경우, 직접 만듭시다. :p


ex)
[Database ID] iadle
[Database Password] iadlelove
[DB name] iadle_meta_database

mysql에 root 계정으로 접속합니다.
  1. $ mysql -uroot -p ( *mysql 루트계정에 비밀번호가 없을경우;ㅁ;, mysql -uroot 로 접속합니다; )
Dabatase를 만듭시다.
  1. mysql> create database iadle_meta_database;
아래와 같은 명령으로 자신의 계정과 비밀번호를 만들고 database의 권한을 줍시다.
  1. mysql> GRANT ALL PRIVILEGES ON iadle_meta_database.* TO iadle@localhost IDENTIFIED BY 'iadlelove' WITH GRANT OPTION;

mysql> quit

2.2.2 만약 database 설정이 잘못되었다면 다음과 같은 에러가 뜹니다.  
사용자 삽입 이미지

database configuration error

뭔가 설정이 잘못된 것이니, 데이터베이스 설정을 다시 확인합시다. 특정 호스팅 업체의 경우,  Hostname 이 localhost가 아니기도 합니다.

2.3 설치 끝.
사용자 삽입 이미지

설치끝

순식간에 설치가 끝났습니다. :-) 링크를 따라 관리자페이지로 가 봅시다.

3. 관리자 페이지에서 게시판 생성
3.1 관리자로 로그인을 합니다.
사용자 삽입 이미지

3.2 게시판을 하나 생성해봅시다. 게시판 이름쓰고, 생성 버튼을 꾸욱~
사용자 삽입 이미지
미리보기를 누르면 게시판이 보입니다. 이때 나오는 주소가 게시판 주소입니다.
http://자신의 주소/metabbs/metabbs.php/board/free

3.3 기본 게시판의 모습
사용자 삽입 이미지
기본 스킨이 적용된 게시판의 모습입니다. 게시물에 댓글을 다는 기능이라던가, 트랙백과 rss를 지원하는게 우선 눈에 띄는군요.

이것으로 MetaBBS 설치하기를 간단하게 마쳤습니다. 설치가 쉽고 간단하기 때문에 그동안 특별한 매뉴얼이 없었던게 아닌가 합니다~ 아니면 제가 못찾았던 것이겠지요? :)
이올린에 북마크하기(0) 이올린에 추천하기(0)
스프링노트에서 블로그로 글 내보내기 기능을 사용할 때, 블로그에서 code상자가 제대로 보이지 않습니다.

code 관련 tag를 살펴보면 이렇게 되어있습니다.

  1. hello, world!

<ol class="code">
    <li> hello, world! </li>
</ol>

이 부분이 springnote에서는 이미 정의되어 있기 때문에 잘 보이지만, blog skin css에는 정의되어 있지 않기 때문에 제대로 보이지 않는 것입니다.


그러므로 blog skin css에 ol.codeli 속성을 추가해 줍시다. [관리자]->[스킨]->[HTML/CSS 편집] 에서 아래와 같은 css 코드를 추가하면 됩니다. 자신이 원하는 모양으로 추가합시다.
저의 경우는 스프링노트에서 사용하는 css를 참고하여 정의했습니다.


- kkamagui님의 정의: 출처
    1. hello, world!
  • ol.code { border: dashed; border-width: thin; width: 100%; color: white; background: #151515; PADDING: 5PX;  line-height:2.0em}

- 스프링노트 원본
    1. hello, world!
  • ol.code {margin: 0; padding:0; padding-left:38px; line-height:1.8em; font-family: courier, monospace; background:#EFEFEF url(/images/icon/contextCodeBg.gif) no-repeat 8px 7px }
  • ol.code li {list-style-type: none}

- 저의 정의
    1. hello, world!
  • #content .article ol.code {margin: 0; padding:0; padding-left:38px; margin-top:5px; margin-bottom:5px; line-height:1.8em; font-family: verdana, monospace; background:#EFEFEF no-repeat 8px 7px}
  • #content .article ol.code li { list-style-type:none; }

  • (#content .acticle) 부분은 각자의 스킨에 맞게 고쳐주세요. 현재 스킨의 본문 너비와 맞추기 위해서 넣었습니다.
  • springnote의 code icon은 가져다 써도 되는 것인지 몰라서 제외했습니다~


관련문서 : 스프링노트로 쓴 글 이글루스에 보냈을 때 코드 상자 표시
이올린에 북마크하기(0) 이올린에 추천하기(0)


Apache 2.2.3 + ProxyBalancer + Mongrel in Ubuntu Feisty server#



1. apache2, ruby, rubygems, rails, mongrel, mongrel_cluster 설치#

  1. apache2 설치

    1. sudo apt-get install apache2
  2. ruby, rubygems, rails 설치

    1. sudo apt-get install ruby rubygems rails
  3. mongrel 과 mongrel_cluster 설치

    1. sudo gem install daemons gem_plugin mongrel
      sudo gem install mongrel_cluster

2. mongrel로 rails project 띄우기#

  1. rails project를 서버에 올립니다. (/home/lforce/project/roadmap)

    1. svn co file:///var/lib/svn/roadmap
    2. chown -R www-data.www-data roadmap
      *꼭 www-data 로 바꾸어야 하는지는 잘 모르겠습니다;;
  2. mongrel 설정

    1. 먼저 원하는 rails project 폴더로 이동합니다.

      1. cd /home/lforce/project/roadmap
    2. mongrel cluster 설정

      1. sudo mongrel_rails cluster::configure -e development \
      2. -p 8000 \
      3. -N 3 \
      4. -c /home/lforce/project/roadmap \
      5. -a 127.0.0.1 \
      6. --user {user} --group {group}
  3. mongrel의 실행을 위한 gem package 추가 설치

    MESSAGE: ** Ruby version is not up-to-date; loading cgi_multipart_eof_fix

    1. 만약 다음과 같은 메시지를 내며 제대로 동작하지 않을 경우, cgi_multipart_eof_fix 패키지를 추가로 설치합시다.

      1. sudo gem install cgi_multipart_eof_fix
    2. cgi_multipart_eof_fix 패키지를 설치하고 난 후에는 mongrel이 잘 동작하지만, 계속 Ruby version isb not up-to-date라고 뜹니다. 그 이유는 ruby를 apt-get으로 설치했기 때문에, gem 에서 ruby를 관리하지 않아 최신버전을 인식하지 못하기 때문에 생기는 문제인듯 합니다.
  4. mongrel cluster test

    1. mongrel_rails cluster::start
    2. mongrel_rails cluster::stop
  1. http://localhost:8000/  http://localhost:8001/  http://localhost:8002
    에서 잘 동작함을 확인할 수 있습니다.

3. apache2 설정하기#

1) apache2 모듈 추가#

  1. 모듈 설치

    1. 필요한 모듈: mod_proxy,  mod_proxy_balancer,  mod_proxy_http, mod_proxy_html, mod_rewrite
      * 추가할 module :mod_proxy_html.c
      * libxml2 라이브러리가 설치되어 있어야함
    1. sudo apt-get install libapache2-mod-proxy-html libxml2
  2. 모듈 설치 확인: /etc/apache2/mods-available
  3. 모듈 추가(enable) : /etc/apache2/mods-enable 에서 추가되지 않은 module 이 있는지 확인해보고, 없으면 추가시킵니다.

    1. sudo a2enmod proxy; sudo a2enmod proxy_html; sudo a2enmod proxy_balancer; sudo a2enmod rewite
  4. /etc/apache2/apache2.conf 에 cgi 부분의 주석을 해제합니다.

    1. vi /etc/apache2/apache2.conf
    2. ###..
    3. AddHandler cgi-script .cgi

2) VirtualHost 추가#

  1. VirtualHost 추가 ( solux.sookmyung.ac.kr:3000 )

    1. vi /etc/apache2/sites-available/roadmap

    2. <VirtualHost *:3000>
        ServerName solux.sookmyung.ac.kr
        DocumentRoot /home/lforce/project/roadmap/public

        RewriteEngine On
        RewriteRule ^/$ /index.html [QSA]
        RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
        RewriteRule $/(.*)$ balancer://mongrel_cluster%{REQUEST_URI} [P,QSA,L]

        <Directory /home/lforce/project/roadmap/public/>
           AllowOverride all
           Options ExecCGI FollowSymLinks
           Order allow,deny
           Allow from all
        </Directory>
        <Proxy balancer://mongrel_cluster>
           BalancerMember http://127.0.0.1:8000
           BalancerMember http://127.0.0.1:8001
           BalancerMember http://127.0.0.1:8002
        </Proxy>
      </VirtualHost>
  2. roadmap을 site-enable에 추가시킵니다.

    1. sudo a2ensite roadmap
  3. apache2 재시작

    1. sudo /etc/init.d/apache2 restart
    • 만약 문법오류가 나서 <proxy 등을 인식할 수 없다고 에러 메시지가 뜬다면, module들이 mods-enabled에 모두 추가되었나 확인해봅니다.
  4. 이제 http://solux.sookmyung.ac.kr:3000/ 으로 서비스를 시작하게 됩니다.
    그리고 http://solux.sookmyung.ac.kr:8000 http://solux.sookmyung.ac.kr:8001 http://solux.sookmyung.ac.kr:8002 로 각각 로드밸런싱 되게 됩니다.

이 글은 스프링노트에서 작성되었습니다.

이올린에 북마크하기(0) 이올린에 추천하기(0)
1 2 3 4 
분류 전체보기 (17)
Ruby on Rails (3)
log (7)
diary (2)
scrap (0)
Linux (1)