5 21 2009
Tunnelblick
개인적으로 사용 중인 OpenVPN 의 Mac용 클라이언트 프로그램의 Tunnelblick의 한글 번역이 잘 못 되었는 것을 변경하여 보냈는데, 오늘 r79에 추가되었다고 이메일로 답변을 받았다.
내가 잘 못 번역했을 지 모르지만 앞으로 기존 배포 본 처럼 독일어와 한국어가 섞어있진 않을 것이다.
5 21 2009
개인적으로 사용 중인 OpenVPN 의 Mac용 클라이언트 프로그램의 Tunnelblick의 한글 번역이 잘 못 되었는 것을 변경하여 보냈는데, 오늘 r79에 추가되었다고 이메일로 답변을 받았다.
내가 잘 못 번역했을 지 모르지만 앞으로 기존 배포 본 처럼 독일어와 한국어가 섞어있진 않을 것이다.
By barney • 개발 • 0 • Tags: Mac OS X, Open Source
3 20 2009
또 다른 Google Analytics라는 거대한 목표를 잡고 있는 Open Source Web Analytics 툴 Piwik !
아직 버전이 0.2.32지만 동작 방식이 궁금하여 MacBook에 Piwik를 설치하여 테스트를 해보았다.
처음 다운로드 받아보니 설치 단계를 진행하려고 보니 MacBook에는 PHP용 GD, PDO_MySQL이 설치되어 있지 않았다.
GD, PDO_MySQL을 컴파일하여 실행해보았으나
Piwik 설치 단계 중 데이터베이스 설정하는 부분에서 빈 페이지가 출력되었다.
Crash 로그 파일을 보니 다음과 같다
Process: httpd [468] Path: /usr/sbin/httpd Identifier: httpd Version: ??? (???) Code Type: X86-64 (Native) Parent Process: httpd [467] Date/Time: 2009-03-20 00:31:41.986 +0900 OS Version: Mac OS X 10.5.6 (9G55) Report Version: 6 Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000008 Crashed Thread: 0 Application Specific Information: *** single-threaded process forked *** Thread 0 Crashed: 0 libphp5.so 0x00000001012e27df mysql_send_query + 95 1 libmysqlclient.16.dylib 0x0000000101f3a1bc mysql_real_query + 17 2 pdo_mysql.so 0x0000000101f0cc82 pdo_mysql_stmt_execute + 1852 3 libphp5.so 0x00000001010d383c zim_PDOStatement_execute + 593
PHP와 MySQL, PDO_MySQL에서 문제가 발생되는 상태였다.
여러가지를 해보아도 동일한 상태였기 때문에 i386 (32-bit) 모드 재구성을 해보기로 했다.
다행하게도(?) 32-bit에서는 정상적으로 동작을 했다.
테스트된 환경은 다음과 같다.
Mac OS X 10.5.6
Apache 2.2.6 (OS 번들)
PHP 5.2.6 (번들)
MySQL 5.0.67 (별도 설치한 binary tar)
MySQL 32-bit를 받아서 /usr/local/mysql에 설치했다.
그리고 GD 라이브러리를 32-bit 모드로 컴파일하고 설치했다.
barney-macbook: barney$ sudo -i barney-macbook: root# mkdir source barney-macbook: root# wget http://www.ijg.org/files/jpegsrc.v6b.tar.gz barney-macbook: root# wget http://www.libgd.org/releases/gd-2.0.35.tar.gz barney-macbook: root# cd source barney-macbook: root# tar xzpf ../jpegsrc.v6b.tar.gz barney-macbook: root# tar xzpf ../gd-2.0.35.tar.gz barney-macbook: root# cd jpeg-6b barney-macbook: root# ./configure --enable-shared barney-macbook: root# make barney-macbook: root# make test barney-macbook: root# make install barney-macbook: root# cd ../gd-2.0.35 barney-macbook: root# ./configure --disable-dependency-tracking barney-macbook: root# make barney-macbook: root# make test barney-macbook: root# make install
PHP용 GD, PDO_MySQL 확장 모듈을 컴파일하기 위해 해당 소스를 받아 컴파일 했다.
barney-macbook: root# cd .. barney-macbook: root# wget http://www.opensource.apple.com/darwinsource/10.5.6/apache_mod_php-44.1/php-5.2.6.tar.bz2 barney-macbook: root# tar xjf php-5.2.6.tar.bz2 barney-macbook: root# cd php-5.2.6/ext/gd barney-macbook: root# phpize barney-macbook: root# ./configure --with-zlib-dir=/usr --with-jpeg-dir=/usr/local/bin --with-png-dir=/usr/X11R6 --with-freetypedir=/usr/X11R6 --with-xpm-dir=/usr/X11R6 barney-macbook: root# make barney-macbook: root# make test barney-macbook: root# make install barney-macbook: root# cd ../pdo_mysql barney-macbook: root# ./configure --with-zlib-dir=/usr --with-pdo-mysql=/usr/local/mysql barney-macbook: root# make barney-macbook: root# make test barney-macbook: root# make install barney-macbook: root# ls `php-config --extension-dir` gd.so pdo_mysql.so phpcups.so
이제 만들어진 PHP 확장 모듈을 사용하기 위해서 php.ini을 설정한다.
barney-macbook: root# cp /etc/php.ini.default /etc/php.ini barney-macbook: root# vi /etc/php.ini ; 확장 모듈 디렉토리 주석 처리 ;extension_dir = "./" ; 확장 모듈 활성화 extension=gd.so extension=pdo_mysql.so
이제 PHP는 준비가 되었으므로 Apache를 32-bit로 동작시키기 위해 변경작업을 한다
barney-macbook: root# apachectl stop barney-macbook: root# mv /usr/sbin/httpd /usr/sbin/httpd.x86_64 barney-macbook: root# lipo -thin i386 /usr/sbin/httpd.x86_64 -output /usr/sbin/httpd.i386 barney-macbook: root# ln -s /usr/sbin/httpd.i386 /usr/sbin/httpd barney-macbook: root# apachectl start
9 4 2008
보안을 위해 SSH Tunnel을 사용하도록 설정된 환경에서 Mac OS X를 사용해야 했다.
Windows 환경이라면 SecureCRT 등과 같은 툴을 통해 쉽게 설정할 수 있다.
하지만 Mac OS X에서는 잘 되지 않았다.
먼저 터미널에서 SSH를 통해 Oracle을 포트를 시도해보았다.
$ ssh -L 127.0.0.1:1521:target-server:1521 user@ssh-server user@ssh-server's password: user-password user@ssh-server /home/user>
SSH 터널링이 잘된 것 같아서 터미널 창을 하나 더 띄우고 Oracle 접속을 테스트 했다.
$ sqlplus dbuser@db-server SQL*Plus: Release 10.2.0.4.0 - Production on Wed Oct 1 05:51:16 2008 Copyright (c) 1982, 2007, Oracle. All Rights Reserved. Enter password: db-password ERROR: ORA-12537: TNS:connection closed
이렇게 나오더니 SSH Tunnel을 만들었던 터미널에 다음과 같이 오류 메시지가 출력되었다.
channel 2: open failed: administratively prohibited: open failed
이 오류 메시지에 대해 해결 방안을 찾아 여러가지 시도해보았지만 잘 되지 않았다.
그리던 중 MacBook을 사용하는 다른 분에게 문의하니 한 소프트웨어를 소개해주었다.
바로 SSH Tunnel Manager 이다.
무료 소프트웨어이며 소스까지 공개되어있다.
이 소프트웨어를 사용하니 쉽게 SSH Tunnel 이 동작했다.
참고