2014년 1월 27일 월요일

윈도우 Git Bash 한글 문제

윈도우 Git Bash 한글 문제

http://git-scm.com/에서 Git를 내려받아 설치하면 Git Bash를 사용할 수 있는데, 두 가지의 한글 문제가 있다.

ls 할 때 한글이 깨져 나온다

증상

해결방법

C:\Users\<사용자ID>\.bashrc 파일을 만들어 아래 내용을 입력하고 저장한 후 git bash를 재실행한다.
alias ls='ls -al --color=auto --show-control-chars'
탐색기에서는 C:\Users\<사용자ID>\.bashrc 파일을 만들 수 없는 경우가 있는데, notepad++ 등 에디터에서 새 문서를 만들어 위 내용을 입력하고 다른 이름으로 저장하기.. 에서 위 이름으로 저장하면 된다.

참고

2014-01-27 현재 검색을 해보면 Git설치디렉토리/etc/inputrc를 편집하라는 정보가 있지만 그렇게하면 alias의 첫글자인 'a' 키를 git bash에서 입력할 수 없게 되고 한글 문제도 해결되지 않는다.

git status 할 때 한글이 깨져 나온다

증상

해결 방법

git bash 창에서 아래의 명령을 실행한다.
git config --global core.quotepath false
참고로 Git의 global 스코프 config 파일은 C:\Users\<사용자ID>\.gitconfig 이다.

2014년 1월 21일 화요일

ReviewBoard 사이트 생성

리뷰보드 사이트 생성

리뷰보드 사전 설치 사항 및 리뷰보드의 설치가 완료되었으면, 실제 웹에서 리뷰보드를 수행할 사이트를 생성해야 한다.
사이트 생성 과정에서 웹 애플리케이션 파일들, 업로드/다운로드할 위치 설정, 데이타베이스 테이블 생성 등 웹 서비스를 위한 설정을 수행한다.

사이트 생성 명령 실행

sudo mkdir /var/www/

sudo rb-site install /var/www/rb-test.apexsoft.co.kr

필요 모듈 확인

PostgreSQL 관련 안내가 나오나, MySQL이 설치되어 있으므로 무시하고 Next

도메인 네임

리뷰보드 접속을 위한 URL을 입력한다. 서버의 경우 적절한 도메인을 http:// 와 포트 번호 없이 입력하고, 로컬에 테스트용으로 설치하는 경우 localhost 로 입력한다.

URL path

앞에서 정한 서버 도메인 다음에 이 사이트에 접속하기 위한 URL path 를 지정한다.

사이트 설치 파일들이 저장될 위치

기본값인 static 그대로 둔다.

리뷰보드를 통해 업로드한 파일이 저장될 위치

기본값인 media 그대로 둔다.

사용할 DBMS 선택

mysql 선택

사용할 데이타베이스 이름

리뷰보드 사전 설치 사항 중 MySQL 설치 과정 마지막에 리뷰보드를 위해 생성했던 데이타베이스 이름을 입력한다.

DBMS 주소

기본값인 localhost 그대로 둔다.

DB 사용자 계정 입력

리뷰보드 사전 설치 사항 중 MySQL(또는 MariaDB) 설치 과정 마지막에 리뷰보드를 위해 생성했던 데이타베이스에 대한 전체 권한을 가진 계정 정보를 입력한다.

캐쉬 방식 지정

기본값인 memcached 그대로 둔다.

memcached 위치 및 포트 지정

기본값인 localhost:11211 그대로 둔다.

웹 서버 지정

기본값인 apache 그대로 둔다.

파이썬 로더 모듈 지정

기본값인 wsgi 그대로 둔다.

사이트 관리자 계정 생성

사용자명, 비밀번호, 메일주소 입력

사이트 생성 작업 진행

아래와 같이 사이트 생성이 진행된다

사이트 생성 작업 완료

아래와 같이 사이트 생성이 완료된다.

MySQL UTF-8 설정

MySQL의 Character Set 확인

mysql -u root -p
로 DBMS에 접속 후
mysql> status;
를 치면 아래와 같이 character set 확인 가능
최초 설치 직후에는 위와 같이 Server와 Db가 latin1으로 설정되어 있다.

MySQL의 한글 설정

기본 character set 은 utf8이 아니라 latin으로 되어있으므로 /etc/mysql/my.cnf 파일을 열어 [mysqld] 란에 아래의 내용을 추가하고
character-set-server=utf8
collation-server=utf8_general_ci
MySQL을 재시작 한다.
sudo service mysql restart
mysql 클라이언트로 접속 하여
mysql> status;
를 실행하면 Server/Db/Client/Conn. 의 characterset이 모두 utf8로 되어 있는 것을 확인할 수 있다.

리뷰보드 용 데이타베이스의 한글 확인

mysql 클라이언트에서 아래의 명령을 실행한다.
mysql> use <database이름>;
mysql> status;
Db가 latin1으로 되어있으므로 한글 설정을 해준다.

리뷰보드 용 데이타베이스의 한글 설정

mysql 클라이언트에서 아래의 명령을 실행한다.
mysql> alter database <database이름> default character set = utf8
status를 치면 Server/Db/Client/Conn. 의 characterset이 모두 utf8로 되어 있는 것을 확인할 수 있다.

사이트 접속 설정

사이트 생성이 완료되면 웹 서비스를 위해 폴더 권한 설정 및 웹 서버 설정을 해야한다.

권한 설정

sudo chown -R www-data /var/www/rb-test.apexsoft.co.kr/htdocs/media/uploaded
sudo chown -R www-data /var/www/rb-test.apexsoft.co.kr/data

웹 서버 설정

rb-site 는 /var/www/rb-test.apexsoft.co.kr/conf/ 에 샘플 설정 파일을 제공한다. 대부분의 경우 이 샘플 설정으로도 잘 동작하지만, 현재 웹 서버 설정에 따라 수정이 필요할 수도 있다.
설정 파일은 사용하는 웹 서버 종류와 파이썬 모듈 로더의 종류에 따라 여러가지로 제공된다.
여기서는 아파치 웹 서버와 wsgi 를 사용했으므로 conf/apache-wsgi.conf 파일을 기준으로 설명한다.
아래의 설정이 끝난 후 아파치를 재시작하면 사이트에 접근할 수 있다.

아파치 설정 디렉토리에 sites-available 디렉토리가 있는 경우

아파치 설정 폴더 아래에 sites-available 폴더가 있다면(ex: /etc/apache2/sites-available), apache-wsgi.conf 파일의 이름을 사이트명으로 바꿔주고, sites-available 디렉토리에서 그 conf 파일에 심볼릭 링크를 생성해야 한다.
아래는 위에서 설명한 경우에 대한 예이다.
$ cd /etc/apache2/sites-available
$ sudo cp /var/www/rb-test.apexsoft.co.kr/conf/apache-wsgi.conf rb-test.apexsoft.co.kr.conf
$ cd ../sites-enabled
$ sudo ln -s ../sites-available/rb-test.apexsoft.co.kr.conf .
여기까지 하고 브라우저에서 확인해도 404 나온다.
아래 명령으로 아파치를 재시작 한다.
apachectl -k graceful
혹시 위 명령 수행 시 아래와 같은 에러메시지가 나는 경우
아래의 명령을 수행하여 wsgi 모듈을 재설치 한다.
sudo apt-get purge libapache2-mod-wsgi
sudo apt-get install libapache2-mod-wsgi
libapache2-mod-wsgi 설치 시 아파치를 재시작하므로 별도로 재시작 할 필요는 없다.

sites-available 디렉토리가 없는 경우

이 경우에는 설정 파일(apache-wsgi.conf)을 아파치 전체 설정 파일(보통 /etc/apache2/apache2.conf 또는 /etc/httpd/httpd.conf)에 Include 구문을 사용하여 포함시켜야 한다.
apache2.conf 의 제일 마지막행에 아래 내용 추가
Include /var/www/rb-test.apexsoft.co.kr/conf/reviews.example.com.conf
아파치를 재시작 한다.
apachectl -k graceful
apache 재시작 오류 시 아파치 설정 디렉토리에 sites-available 디렉토리가 있는 경우의 마지막 부분을 참고하여 wsgi 모듈을 재설치 한다.

리뷰보드 사이트 접속

http://localhost/rb-test 로 접속하면 아래와 같은 화면이 로딩된다.
화면의 안내에 따라 아래 명령을 실행한다.
sudo chown -R www-data "/var/www/rb-test.apexsoft.co.kr/htdocs/media/ext"
접속화면을 새로고침 하면 아래와 같이 리뷰보드 로그인 창이 뜬다.
로그인 하면 아래와 같은 창이 뜬다.

참고

리뷰보드 사이트 생성은 위와 같이 GUI 버전 외에 터미널로도 생성할 수 있다.
아래 그림들을 참조한다. 생성 후의 특정 디렉토리 권한 변경 등은 GUI 버전 설치 설명을 따른다.