4월, 2011의 게시물 표시

CentOS+Apache+PHP+CodeIgniter+PGSQL

예전에 Debian+Apache+PHP+CodeIgniter+MySQL 를 올린 적이 있다. 이번엔 CentOS에서 설치하는 법도 한 번 알아보도록 하자. DBMS 도 MySQL 이 아닌 PostgreSQL을 설치한다. 아래의 설치방법은 CentOS 5.6 과 Scientific Linux 5.5 에서 적용 가능하다. 기본 프로그램 설치 # yum groupinstall "Development Tools" # yum install git htop ntp Apache + mod_php 설치 # yum install php PostgreSQL 8.4.7 설치 설치 # yum install postgresql84 postgresql84-devel postgresql84-libs postgresql84-contrib postgresql84-server DB 초기화 # service postgresql initdb /var/lib/pgsql/data 에 초기화된 파일들이 생성된다. 설정파일 위치 : /var/lib/pgsql/data 시스템 부팅시 자동으로 실행되게 하려면, ntsysv 에서 postgresql 을 체크해주어야 한다. 사용자, DB 생성 사용자, DB 생성 # su - postgres # psql postgres = # CREATE USER 아이디 WITH PASSWORD '비밀번호' ; postgres = # CREATE DATABASE 디비이름 WITH ENCODING = 'utf-8' OWNER 아이디; 계정으로 로그인할 수 있도록 연결설정 # su - # cd /var/lib/pgsql/data/ # vi pg_hba.conf 모두 주석으로 막고 아래만 남김 host all all 0.0.0.0 0.0.0.0 password local all postgres

초간단 Git 사용법

요즘 분산 SCM 많이 사용하고 있죠. 가장 많이 이용되는 것으로는 Git, Mercurial, Bazazr 등이 있지요~ 이중에서 우리는 Git 사용법을 아주 간단하게 알아보겠습니다. http://git-scm.com/ Install 래드햇 계열 (CentOS) # yum install git 데비안 계열 (Debian, Ubuntu) # apt-get install git Setup # git config --global user.name "Your Name" # git config --global user.email youremail@example.com # git config --global alias.co checkout # git config --global alias.st status 홈디렉토리에 .gitconfig 에 생성된 것 확인 [user] name = Your Name email = youremail@example.com [alias] co = checkout st = status Create Repository # cd 프로젝트디렉토리 # git init Initialized empty Git repository in /Users/mhartl/rails_projects/first_app/.git/ .gitignore 작성 web/logs web/tmp web/server.pid *.swp *~ .DS_Store Add and Commit # git add . # git commit -m "Initial commit" 상태 및 로그 확인 # git status or git st # git log

Play 1.1.1 에서 1.2 로 마이그레이션시 문제점

Play Framework 1.2 가 새로 릴리즈 되어, 기존에 Play 1.1.1 로 구현이 되어 있는 어플리케이션을 마이그레이션 하려고 하는데, 문제가 발생하였다. 릴리즈 문서에 보면, 레이아웃이 변경된 것이 없기 때문에, 바로 동작 될 것이라는 부분이 있긴 하지만, 역시 문제가 있다. ^^; 문제가 있는 부분은 모델 쪽이었으며, DBMS를 PostgreSQL을 사용하고 동시에 아래와 같이 @Lob 어노테이션을 사용하는 경우에 @Lob @Column(name = "memo") public String memo; 아래와 같은 에러 메시지를 보이며 멈추는 현상이 발견되었다. Play 1.1.1 에서는 문제가 없던 것이 1.2에서는 문제가 된 것이다. JPAQueryException occured : Error while executing query from models.IPGroups order by name asc: Bad value for type long : 이 문제를 해결하려면, 아래의 @Type 어노테이션을 추가해주면 된단다. @org.hibernate.annotations.Type(type="org.hibernate.type.TextType") 참고 :  http://groups.google.com/group/play-framework/browse_thread/thread/3828ace657b9eed5/0db5cf625fc14049?lnk=gst&q=Lob#0db5cf625fc14049

CentOS 5.6 에서 Ruby 설치

참조 http://rvm.beginrescueend.com/  : Ruby Version Manager (RVM) Unix 계열의 OS에서는 RVM 으로 다양한 버전의 Ruby 를 설치/관리할 수 있다. 소스 컴파일을 하기 때문에 설치가 느리긴 하지만 다양한 OS에서 일관된 설치/관리를 제공하므로 효과적이다. http://railstutorial.org/ruby-on-rails-tutorial-book  : Ruby on Rails Tutorial 필요한 패키지 설치 # yum groupinstall "Development Tools" # yum install autoconf bison curl git zlib zlib-devel libxslt-devel libxml2-devel rvm 설치 # bash < <(curl -s https://rvm.beginrescueend.com/install/rvm) /etc/profile 에 다음 내용 추가 [[ -s "/usr/local/rvm/bin/rvm" ]] && source "/usr/local/rvm/bin/rvm" rvm 정상설치 확인 # source "/usr/local/rvm/bin/rvm" # type rvm | head -1 rvm is a function 위에서 rvm is a function 이 나오면 정상 설치된 것이다. 설치할 수 있는 ruby 버전들 확인 # rvm list known 원하는 버전의 ruby 설치 # rvm install 1.9.2 # rvm --default use 1.9.2 ruby 버전 확인 # ruby -v ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux]

CentOS 5.x 에서 Play Framework 사용하기

CentOS 5.x 버전이 많은 곳에서 사용되고 있지만, 패키지들이 너무 오래전 것들이라, 실전에 적용하기가 그리 만만치 않다. 이번에는 최신 웹프레임워크로 인기(?)를 끌고 있는 Play Framework를 사용할 수 있는 방법을 기술해보았다. 다른 것은 특별히 문제가 없는데, python 버전 한가지 말썽이다. ^^ 해결책은 간단하니, 한번 보기 바란다. 빨리, CentOS 6.0 이 출시되기만을 바랄뿐이다. 먼저 Play Framework는 Java기반 프레임워크이므로 OpenJDK를 설치한다. # yum install java-1.6.0-openjdk java-1.6.0-openjdk-devel http://playframework.org 에서 play-1.1.1.zip 을 다운로드 받고, 적당한 곳(/opt/play)에 압축을 푼다. 그리고, PATH 환경 변수에 등록한다. Play 의 관리툴은 Python 으로 되어 있는데, 버전 2.5 이상이어야만 한다. 그런데, CentOS 에 설치되어 있는 Python 은 2.4 이다. 두가지 버전의 Python을 사용하기 위해서 이렇게 하자. 기존에 설치된 Python 2.4 는 root 에서, CentOS 관리툴을 위한 것으로 사용하며, 새로 설치할 Python 은 새로운 계정을 만들어서 사용하며, 새로운 계정으로 play 프레임워크 프로젝트를 만들고, 실행하는 데 사용한다. 새로운 계정 play를 만들고, 이 계정으로 로그인 한다. 당연히 /opt/play 디렉토리가 PATH에 등록이 되어 있어야 한다. 새로운 계정 play로 로그인 한 후에,  http://python.org  에서 2.5 이상의 원하는 python 소스 파일을 다운로드 하여 적당한 위치에 풀어놓는다. 풀려진 디렉토리에 들어가서 설치를 진행하자. 소스 설치를 진행하려면, 당연히 gcc, make 등은 미리 설치되어 있어야 하겠지? $ configure --prefix=/opt/python $ make; make in

CentOS에서 JDK 설치하기

CentOS에서 JDK를 설치하려면, 내장 패키지인 OpenJDK 를 설치하면 아주 쉽게 된다. 물론 Oracle 에서 다운로드 받아서 해도 되지만, 쉬운 방법이 있으니 그냥 쉽게 하자. OpenJDK도 특별히 문제 없고, 대부분 리눅스 배포판에서도 지원하고 있으니, 맘 놓고 사용하면 될 것 같다. OpenJDK 패키지 확인/설치 # yum list all | grep jdk gnu-crypto-sasl-jdk1.4.i386 2.1.0-2jpp.1 base java-1.6.0-openjdk.i386 1:1.6.0.0-1.16.b17.el5 updates java-1.6.0-openjdk-demo.i386 1:1.6.0.0-1.16.b17.el5 updates java-1.6.0-openjdk-devel.i386 1:1.6.0.0-1.16.b17.el5 updates java-1.6.0-openjdk-javadoc.i386 1:1.6.0.0-1.16.b17.el5 updates java-1.6.0-openjdk-src.i386 1:1.6.0.0-1.16.b17.el5 updates ldapjdk.i386 4.18-2jpp.3.el5 base ldapjdk-javadoc.i386 4.18-2jpp.3.el5 base mockobjects-alt-jdk1.4.i386 0.09-14jpp.3 base mockobjects-jdk1.4.i386 0.09-14jpp.3 base # yum install java-