2012년 3월 14일 수요일

apple push 인증서 생성

개발용 인증서
$ openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12

$ openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12

$ openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem

$ cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem

배포용 인증서
$ openssl pkcs12 -clcerts -nokeys -out apns-cert.pem -in apns-cert.p12

$ openssl pkcs12 -nocerts -out apns-key.pem -in apns-key.p12

$ openssl rsa -in apns-key.pem -out apns-key-noenc.pem

$ cat apns-cert.pem apns-key-noenc.pem > apns.pem


인증서가 제대로 만들어졌는지 확인
$ openssl s_client -ssl3 -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev.pem

Vim 단축키

출처 : http://blog.outsider.ne.kr/540


h, j, k, l - 좌,하,상,우 커서이동

i - 현재 커서 위치에 Insert 하기
I - 현재 줄 맨앞에 Insert 하기
a - 현재 커서 다음칸에 Insert 하기
A - 현재 줄 맨뒤에 Insert 하기
o - 윗줄에 Insert 하기
O - 아랫줄에 Insert 하기

w - 단어 첫글자로 이동하기
W - 화이트스페이스 단위로 다음 글자로 이동하기
b - 백워드 방향으로 단어의 첫글자로 이동하기
B- 백워드 방향으로 화이트스페이스 단위로 다음 글자로 이동하기
e - 단어의 마지막 글자로 이동하기
ge - 백워드 방향으로 단어의 마지막 글자로 이동하기
gg - 문서 맨 앞으로 이동
G - 문서 맨끝으로 이동
^ - 문장 맨 앞으로 이동
0 - 라인 맨 앞으로 이동
$ - 문장 맨 뒤로 이동
f문자 - 문자의 위치로 이동 ; 를 누르면 계속 이동
F문자 - 백워드로 문자의 위치로 이동
t문자 - 문자의 앞위치로 이동 
T문자 - 백워드방향으로 문자의 앞위치로 이동

/단어 - 문서에서 단어 찾기 n이나 N으로 다음/이전 찾기
* - 현재 단어를 포워드 방향으로 찾기
# - 현재 단어를 백워드 방향으로 찾기

Ctrl + f - 다음 페이지 이동
Ctrl + b - 이전 페이지 이동
Ctrl + u - 페이지절반만큼 다음으로 이동
Ctrl + d - 페이지절반만큼 이전으로 이동
H - 현재 화면의 맨 위라인으로 이동
M - 현재 화면의 중간 라인으로 이동
L - 현재 화면의 마지막 라인으로 이동

]] - 포워드 방향으로 여는 컬리 블레이스( { )로 이동
[[ - 백워드 방향으로 여는 컬리 블레이스( { )로 이동
][ - 포워드 방향으로 닫는 컬리 블레이스( { )로 이동
[] - 백워드 방향으로 닫는 컬리 블레이스( { )로 이동
% - {}나 ()에서 현재 괄호의 짝으로 이동

dd - 현재 줄 잘라내기
dw - 단어 잘라내기
yy - 현재 줄 복사하기
p - 붙혀넣기
r - 현재 글자 교체하기
u - Undo
Ctrl + R : Redo
x - 현재 글자 지우기
X - 앞의 글자 지우기
> - 들여쓰기
< - 내어쓰기
. - 이전 명령어를 다시 실행

v - 비쥬얼모드(비쥬얼 모드에서 커서 이동해서 블럭지정 가능)
y - 복사하기
c - 잘라내기
cw - 단어 잘라내기
J - 다음 라인을 현재 줄의 끝으로 이어 붙힘
~ : 선택 문자 대소문자 변경
Ctrl + A : 숫자를 증가시키기
Ctrl + X : 숫자를 감소시키기

:w - 문서 저장하기
:q - 현재 문서 닫기
:q! - 저장하지 않고 닫기
:wq - 저장하고 닫기
:숫자 - 지정한 라인넘버로 이동

:new - 가로로 분할된 창 열기
:vs - 세로로 분할된 창 열기
Ctrl + w - 분할창 간에 이동하기
:tabnew - 새로운 탭 열기
:gt - 다음 탭으로 이동하기
:gT - 이전 탭으로 이동하기
:e ./ - 현재 탭에 오픈할 파일 탐색하기( ./ 는 현재위치에서 탐색 시작)
:colorscheme 스키마명 - VIM의 칼라스키마를 변경함(blue, desert, evening 등.. 스키마명에서 탭누르면 자동완성됨)

zc - 코드 접기(fold)
zo - 접힌 코드 펼치기
zd - fold 지우기
zR - 접힌 코드 모두 펼치기
zM - 코드 모두 접기
zD - 모든 fold 지우기

:buffers - 현재 Vim에서 여러 파일을 열었을때 버퍼에 있는 목록 확인
:buffer 숫자 - 버퍼 목록에 나온 숫자를 입력하면 해당 파일을 오픈함 ( :buffer 대신 :b 도 가능)
:bnext - 버퍼에 있는 다음 파일로 이동 ( :bn 도 가능)
:bprevious - 버퍼에 있는 이전 파일로 이동 ( :bp 도 가능)
:ball - 버퍼 목록에 있는 파일들이 가로로 분할된 창에 열림

 Vim Documentation 

2012년 3월 13일 화요일

[펌] apache-2.4.1 설치

출처 : http://sir.co.kr/bbs/board.php?bo_table=pg_linux&wr_id=172

눈에 띄는 부분이 MPM 이 기존엔 prefork,worker 방식을 지원 했다면 이번 2.4.1 버전에서는 정식으로beos, leader, mpmt_os2, perchild, prefork, threadpool, worker 등의 이벤트 동작방식을 지원 하네요.


그리고 apr, apr-util을 한번만 컴파일 해놓으면 아파치 버전업 할때 다시 컴파일을 하지 않아도 되는군요.물론 아파치 재컴파일시 apr, apr-util의 prefix 위치를 지정 해 주어야 합니다...^^;;


아직 성능적으로는 테스트 중이라 뭐라 말씀 드릴수없으나 아파치구동시 httpd-vhosts.conf, httpd-default.conf, 등이 httpd.conf 파일내에 위치한 LoadModule 과 연동이 되어야 정상적으로 start 가 됩니다. 그리고 httpd-vhosts.conf 에서는 NameVirtualHost *:80 가 없어 졌네요....^^
우선 필요한 라이브러리를 먼저 설치 해주신후에 아래 설치 방법을 진행 해 주세요....^^
필요한 소스와 라이브러리 설치는 이전에 리포팅한 게시물을 참조 하시면 되겠습니다.


@ 아파치 설치전 apr 설치
# cd /usr/local/src
# wget http://archive.apache.org/dist/apr/apr-1.4.6.tar.gz
# wget http://archive.apache.org/dist/apr/apr-util-1.4.1.tar.gz
# tar zxvf apr-1.4.6.tar.gz
# cd /usr/local/src/apr-1.4.6
# ./configure --prefix=/usr/local/apr
# make;make install
# cd /usr/local/src
# tar zxvf apr-util-1.4.1.tar.gz
# cd /usr/local/src/apr-util-1.4.1
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make;make install

@ 아파치 설치 2.4.1
# cd /usr/local/src
# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.30.tar.gz
# tar zxvf pcre-8.30.tar.gz
# cd pcre-8.30
# make clean;./configure --prefix=/usr/local;make -j4;make instal
# cd /usr/local/src
# wget http://apache.ziply.com//httpd/httpd-2.4.1.tar.gz
# wget http://linux-files.com/httpd/httpd-2.4.1.tar.gz
# tar zxvf httpd-2.4.1.tar.gz
# cd httpd-2.4.1
# make clean
# vi server/mpm/prefork/prefork.c
@ #define DEFAULT_SERVER_LIMIT 256 ##ulimit -a max user processes 값을 넘지 않도록 256의 배수만큼 주정해준다. Ex) 32768
# ./configure --prefix=/usr/local/apache --enable-rule=SHARED_CORE --enable-so --enable-rewrite --enable-vhost-alias --enable-ssl --enable-proxy --enable-shared=max --enable-modules=shared --enable-mods-shared=all --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
# make; make install
# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
@ chkconfig를 이용해서 자동실행 등록해야 하지만 이전에 실행 스크립트 파일에 아래 내용 추가가 선행되어야 한다.
# vi /etc/init.d/httpd
-httpd 파일
#chkconfig: 2345 90 90
#description: init file for Apache server daemon
#processname: /usr/local/apache/bin/apachectl
#config: /usr/local/apache/conf/httpd.conf
#pidfile: /usr/local/apache/logs/httpd.pid
이를 추가한다.
# chkconfig --add httpd
# chkconfig --list | grep httpd


@ 아파치 설정

# vi /usr/local/apache/conf/httpd.conf

LoadModule vhost_alias_module modules/mod_vhost_alias.so <-- 주석제거
LoadModule userdir_module modules/mod_userdir.so <-- 주석제거
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so <-- 주석제거

@ 접속이 안될경우 80포트 열어 주어야 한다.

#vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT =>추가
# /etc/init.d/iptables restart 또는 service iptables restart

2012년 3월 9일 금요일

리눅스 파티션 나누기

 36GB정도의 하드디스크 기준.

[네임서버로 사용할 경우] 
/ 1000MB 
/boot 150MB 
/usr 5500MB 
/tmp 500MB 
swap 200~500MB 
/usr/local 1000MB 
/home 1000MB 
/var 나머지 모두 할당 


[웹서버로 사용할 경우] 
/ 1000MB 
/boot 150MB 
/usr 5500MB 
/tmp 500MB 
swap 200~500MB 
/usr/local 1000MB 
/var 5000MB 
/home 나머지 모두 할당 

[메일서버로 사용할 경우] 
/ 1000MB 
/boot 150MB 
/usr 5500MB 
/tmp 500MB 
swap 200~500MB 
/usr/local 1000MB 
/home 1000MB 
/var 나머지 모두 할당 

[DB서버로 사용할 경우] 
/ 1000MB 
/boot 150MB 
/usr 5500MB 
/tmp 500MB 
swap 200~500MB 
/usr/local 1000MB 
/home 1000MB 
/var 3000MB 
/var/lib 나머지 모두 할당 

2012년 2월 21일 화요일

mod_python 설치


Apache 2.0 이상이라면 mod_python 버전 3이상을, Apache1.3 이라면 mod_python 버전 2를 다운 받는다.
1. python-devel
설치 되어 있어야만 mod_python 설치가 정상적으로 진행된다.
# rpm -qa | grep python-devel
# yum install python-devel
2. setuptools
python 패키지 관리자. 
# rpm -qa | grep python-devel
# yum install python-setuptools

3. Database
sqlite/mysql/postgresql 등을 지원한다

4. mod_python 설치.
다운로드 : http://www.modpython.org/
# tar zxvf mod_python-3.3.1.tgz

# cd mod_python-3.3.1
# ./configure --with-apxs=/usr/local/web/apache/bin/apxs --with-python=/usr/bin/python
# make
# make install

make 시 mod_python-3.3.1/src/connobject.c 부분에서 에러 시
mod_python-3.3.1/src/connobject.c 를 열어
while ((bytes_read < len || len == 0) &&
           !(b == APR_BRIGADE_SENTINEL(bb) ||
             APR_BUCKET_IS_EOS(b) || APR_BUCKET_IS_FLUSH(b))) {


5. apache httpd.conf 설정
LoadModule python_module modules/mod_python.so
ScriptAlias /cgi-bin/ "/home/yisang/public_html/cgi-bin/"
<Directory "/home/yisang/public_html/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
Options +ExecCGI
AddHandler cgi-script .cgi .py
</Directory>

2012년 2월 1일 수요일

CentOS에 오라클 캐릭터셋 환경변수 등록


 /etc/profile 에 환경변수 등록
export NLS_LANG="AMERICAN_AMERICA.KO16KSC5601"


저장후
source /etc/profile
/usr/local/apache/bin/apachectl restart


apache 재시작 또는 시스템 reboot 할 때 적용
/usr/local/apache/bin/apachectl 을 열어 start|restart 에
위 스크립트 실행시 아파치 실행명령 윗줄에 아래 환경변수 등록.


export NLS_LANG="AMERICAN_AMERICA.KO16KSC5601"


cp -a /usr/local/apache/bin/apachectl /etc/init.d/httpd
/usr/local/apache/bin/apachectl restart


재시작 후 phpinfo();의 Environment에 환경변수가 등록 되었는지를  확인.

오라클 NLS_LANG 알아내기


SELECT (SELECT VALUE FROM nls_database_parameters WHERE PARAMETER = 'NLS_LANGUAGE') || '_' ||
       (SELECT VALUE FROM nls_database_parameters WHERE PARAMETER = 'NLS_TERRITORY')  || '.' ||
       (SELECT VALUE FROM nls_database_parameters WHERE PARAMETER = 'NLS_CHARACTERSET') NLS_LANG
FROM   DUAL

추출값을 NLS_LANG 환경변수에 반영