[palm] Palm 자료 outlook으로 옮기기

OutlookSwitcher

Windows Mobile 기기를 쓰다보니..

예전에 Palm에서 관리하던 데이터(주소록, 메모, 일정, 할일)를 WM기기에서 써보고 싶었다.

그러기위해선.. 우선 outlook으로 옮겨야 하는데..

내용을 찾아보다가.. 다음과 같은걸 발견했다..

OutlookSwitcher.exe 라는 프로그램인데…

PC에 저장하고 한번 실행할때마다.. (설치도 필요없다.)

Palm(기기) <-> PalmDesktop 이나  Palm(기기) <-> outlook  으로 sync 대상을 바꿀 수 있다..

해서.. 설치하고서.. outlook으로 sync대상을 설정한다음.. sync 옵션에서 위의 4가지 항목 (주소록…) 의 action을

Handheld overwites Desktop 으로 지정하고서.. sync 버튼을 눌렀다..

생각보다 깔끔히 outlook과 동기화가 됐다..

 

예전에 palm주소록을 핸드폰에 넣으려고.. csv file로 export해서 넣은적이 있었는데…

팜은.. 한사람의 정보가.. 위치에 상관없이.. 항목명(직장,집,핸드폰..), 항목값 형태로 저장되는데..

csv file로 만들때는 보통 위치랑 항목값만 export되는 바람에..  저장된 위치에 따라 전화, 주소, 팩스 등등.. 마구 섞여버려서

핸드폰에 제대로 된 정보를 넣을 수 없었다.. (항목이 안맞아도 번호만 맞으면 됐지 뭐.. 하는 생각으로 그냥 썼다..)

 

근데.. outlook이랑 sycn했더니.. outlook은 위치가 달라도.. 알아서 집전화, 회사전화, 팩스, 이메일 등등.. 잘 찾아들어간다..

핸드폰<->outlook 으로 변환이 가능하면.. 핸드폰에도 항목별로 깔끔하게 들어갈 듯 싶다..

 

물론.. 앞으로 palm과 outlook과 동기화할일은 없을것이기에.. 한번 더 실행해서.. PalmDesktop으로 sync 원상복구해놨다.

 

* outlook 2003 이랑 된단다.. 2007은 다른 프로그램을 사용해야하는 듯..

Loading

[linux] vsftp login시 500 OOPS: cannot change directory

vm-ware에 리눅스 설치해서 테스트하려는데..

vsftp 띄워놓고 로그인하려는데.. 위와 같은 메시지가 떴다.

원인은 SELINUX 때문..


# setsebool -P ftp_home_dir 1


해놓고 vsftp 를 restart하면 된다..

ftp관련 아에 꺼버릴려면


# setsebool -P ftpd_disable_trans 1


하면 된다는데.. 테스트는 안해봤음.


selinux 전체를 끄려면.. 전에 포스팅한것 참조. (링크 : [linux] CentOS5에서 selinux 끄기 )

Loading

[web] xe에서 게시글 주소, 트랙백 등에 대표 도메인 사용하기.

사정에 의해 도메인을 여러개 써야하는경우..

내 상황의 예를 들면.. heyo.net, www.heyo,net, www1.heyo.net 등의 도메인을 사용하는데..

게시물 주소나 트랙백 등 외부로 공개되는 주소는 단일 도메인을 사용하고 싶은 경우..

우선 급한대로.. 찾아서 고쳐봤다.

좀 더 미려하게 처리할 수도 있겠으나.. 우선 급한대로 찾아서 수정했고,

전반적인 구조를 파악한 뒤 수정한게 아니기에, 이 수정으로 인해 다른곳에서 오류가 발생하는지 등은 확인하지 않았다.

(그냥.. 개인적으로 쓸려고 포스팅 남긴다… 담에 어디를 수정했는지 알려고..)

 

* 게시글 주소에 도메인 통일하기.

수정파일 : modules/document/document.item.php

수정위치 : 386line 정도(ver.1.2.4 기준)

수정내용 : getPermanentUrl() function의 return값을 다음과 같이 바꾼다.  (진짜 무식하게 했다..-_-;;;)

===========

return str_replace(“www.heyo.net”,”heyo.net”,str_replace(“www1.heyo.net”,”heyo.net“, $url ));

===========

 

* 트랙백 주소에 도메인 통일하기

수정파일 : modules/trackback/trackback.model.php

수정위치 : 137line 정도(ver.1.2.4 기준)

수정내용 : getTrackbackUrl() function의 return값을 다음과 같이 바꾼다.  (진짜 무식하게 했다..-_-;;;)

===========

return str_replace(“www.heyo.net”,”heyo.net”,str_replace(“www1.heyo.net”,”heyo.net“, $url ));
===========

Loading

[web] 고정ip와 ddns를 이용하여 웹서비스 시 페이지 띄워주기 (apache redirect 사용)

(0. 배경)
먼저 기존에 포스팅 했던 글을 참고 바란다.
(관련글 : [web] 고정ip와 ddns를 이용하여 웹서비스 시 첫페이지에서 구분해서 띄워주기 )
위 글에서는.. 처음 접속할때 첫페이지에서 ddns를 이용한 ip가 살았으면 그쪽도메인(test.ddns.com)으로 연결하고,
아니면 그냥 고정ip 도메인(www.test.com)으로 연결하도록 하는 팁(꼼수)였다.

(1. 문제점)
뭐.. 그럭저럭 잘 사용하고 있었다..
그런데.. 한가지 문제가 발견됐다..
포스팅을 하다 보면.. 게시물 주소라던가.. 트랙백 등.. 외부로 노출해야되는 주소가 있는데..
접속하는 도메인에 따라서.. test.ddns.com/xe/어쩌구저쩌구 혹은 www.test.com/xe/어쩌구저쩌구 하는 식으로 나오는것이다.
(실제 현사이트에는 www.heyo.net/xe/… 혹은 www1.heyo.net/xe/… 하는 식으로 나왔다)
동일한 글이 다른주소를 가지게되는건 싫어서..
또 ddns도메인(test.ddns.com)은 서비스가 안될경우도 있기때문에.. 고정적인 도메인이 출력되길 원했다.
해서.. 소스를 좀 수정해서.. http://test.com/xe/어쩌구저쩌구 하는식으로 출력되도록 수정은 했는데..
이게 문제가.. test.com으로 가게되면 고정ip로 가기때문에 속도가 느리다는 것이다..

(2. 해결방안)
그래서.. 생각한게.. 어차피 첫페이지에서 ddns살았나 죽었나를 판단하니..
이걸 첫페이지에서만 할게 아니라.. 모든페이지에서 판단하면 되지 않겠나..
외부링크는 무조건 test.com 으로 걸고.. test.com 에서 판단해서.. www.test.com이나 test.ddns.com 으로 돌려주면 되지 않겠나..했다.
처음엔.. Redirect 사용법을 잘 몰라서 좀 해맸는데…
일단 돌아가게 해놨다.. 얼마간 두고보면.. 이상있는지 없는지 알게 되겠지..

(3. 결과물)
http.conf의 VirtualHost 부분을 다음과 같이 나눈다.
============
<VirtualHost *:80>
    ServerAdmin admin@localhost
    DocumentRoot /var/www/redir_html      # <– test.net으로 들어온건 판단해서 redirect 시킨다.
    ServerName test.net
    ErrorLog logs/redir.test.com-error_log
    CustomLog logs/redir.test.com-access_log common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin admin@localhost
    DocumentRoot /var/www/test_html
    ServerName www.test.com           # <– 고정 ip용 도메인
    ServerAlias test.ddns.com          # <– ddns용 도메인
    ErrorLog logs/test.com-error_log
    CustomLog logs/test.com-access_log common
</VirtualHost>
============

/var/www/redir_html 에는 다음과 같은 파일을 놔둔다..
① apache redirect 를 위해 htaccess를 수정(혹은 생성)한다.
내용은.. 실제로 존재하는 2개 파일을 제외하곤 모두 redir.php로 보내서.. 처리하겠다는 내용이다.
# vi .htaccess
============
RewriteEngine on

RewriteCond %{REQUEST_URI} !/redir.php$
RewriteCond %{REQUEST_URI} !/pagealivecheck.js$
RewriteRule ^(.*)$ redir.php
============

② 실제로 redirect를 실행하는 php.
(기존 포스팅의 index.php를 조금 수정해서 사용했다.  기존에 redirect할 url을 $start_page로 고정했던걸 $req_uri로 수정한 정도..?)
# vi redir.php
============
<?php
    $req_host = “www.test.com”;         // 원 호스트(고정 ip, 저속)
    $mod_host = “test.ddns.com”;        // 수정 호스트(ddns, 고속)
    $req_uri = $_SERVER[“REQUEST_URI”];   // 연결할 URL

    $test_page=”/pagealivecheck.js”;    // 살아있는지 확인 b_page_alive = ture;
?>
<html>
<head>
<script language=’JavaScript’>
<!–
    var b_page_alive = false;

function goStartPage()
{
        if(b_page_alive)
                document.location = “http://<?=$mod_host.$req_uri?>”;
        else
                document.location = “http://<?=$req_host.$req_uri?>”;
}

setTimeout(“goStartPage();”,3000);
//–>
</script>
<script type=”text/javascript” src=”“>http://<?=$mod_host.$test_page?>”></script>
<meta http-equiv=”refresh” content=”5; url=http://<?=$req_host.$req_uri?>”>
</head>
<body onload=’goStartPage()’>
</body>
</html>
============

③ 그리고.. 살았는지 판단해줄 js파일.. (기존이랑 동일)
# vi pagealivecheck.js
============
var b_page_alive = true;
============

(4. 예상되는 문제점)
아무래도.. php의 REQUEST_URI 값을 넘기므로..
혹여 POST로 접근한다면 처리가 안될듯.
xe에서 post로 넘기는 경우가 있는진 모르겠지만..
일단 대표도메인으로 바로들어오는 상황은 게시물주소, 트랙백 등 외부에 노출된경우가 대부분일것이므로 post로 넘어오진 않을것 같다.
며칠 써보면 알게되겠지..

Loading

[apache] WebAlizer 사용하여 apache log 분석하기

apache log를 분석해서 통계를 내고 싶을때.. webalizer를 이용한다.
전에 좀 급하게.. 간단학 추출할 일이 있어서.. 그냥 쉘스크립트를 써서 접근이 많은 패이지를 찾은적이 있었는데.. (참조:apache log 분석(페이지별 접속수))
이걸 설치하면 좀 더 편할것아서.. 설치해봤다.

1. 설치는 yum으로 설치하니 간단하다.

[root@www ~]# yum install webalizer

2. conf  파일 수정

# vi /etc/webalizer.conf

해서.. 몇가지 수정/확인

LogFile        /usr/local/apache/logs/access_log    # <-- 분석할 apache log 파일 지정 (실행할때 지정할 수도 있다.)
OutputDir      /var/www/usage    # <-- 결과 저장할 위치. 웹에서 보기 위해 나중에 httpd.conf 에서 수정해준다.
Incremental     yes         #  <-- apache_log 파일을 분석할때 기존 자료에 덧붙일껀지.. 현재 log file만 분석할건지 결정.(yes면 기존보존)
IncrementalName /var/lib/webalizer/webalizer.current  # <-- Incremental값이 yes일때 쓴다는데.. 그냥 기본값 그대로 썼다.

나머지는 그냥.. 그대로 놔뒀다.

3. apach 설정

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

해서 다음 추가

Alias /usage "/var/www/usage"
<Directory "/var/www/usage">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

혹시나 특정 IP에서만 보고싶다면.. 다음과 같이 한다.

Alias /usage "/var/www/usage"
<Directory "/var/www/usage">
    AllowOverride None
    Options None
    Order deny,allow
    Allow from 192.168      # <-- 여기에 접속하고 싶은 ip를 적는다.
    Deny from all               # <-- 나머지는 모조리 막는다.
</Directory>

apache 재시작 (httpd.conf를 적용시키기 위해 재시작한다.

[root@www ~]# /usr/local/apache/bin/apachectl restart

4. webalizer 실행

[root@www ~]# webalizer -c /etc/webalizer.conf

이렇게 하면 webalizer.conf에 지정한 Logfile을 분석한다.
특정 logfile 을 분석하고 싶다면.

[root@www ~]# webalizer -c /etc/webalizer.conf /usr/local/apache/logs/localhost-access.200907

위와 같이 logfiile명을 기록한다.

5. 그외…
apache log를 주기적으로 생성하고, 그와 함께 webalizer를 돌리는 쉘스크립트를 만든다음에..
그걸 crontab 에 걸어두면 괜찮을것 같은데.. 이건 담에 정리해서 추가하든지 하지 뭐.. (귀찮으면 안할 수도 있고..)

Loading

[mysql] mysql에서 process list 확인하기

웹페이지는 늦는데.. cpu나 메모리는 크게 상관없어 보일때.. mysql을 확인하고 싶을때가 있다..
다음과 같이 하면된다

mysql 에 접속되어 있는 상태라면…
=====================
mysql> show processlist;
+——-+——–+———–+——+———+——+——-+——————+
| Id    | User   | Host      | db   | Command | Time | State | Info             |
+——-+——–+———–+——+———+——+——-+——————+
| 27814 | ninano | localhost | NULL | Query   |    0 | NULL  | show processlist |
+——-+——–+———–+——+———+——+——-+——————+
1 row in set (0.00 sec)
=====================

쉘상에서 확인하거나, 주기적으로 확인하고 싶다면.. mysqladmin을 사용
=====================
[ninano@www ~]$ mysqladmin -u ninano -p processlist -i3
Enter password:
+——-+——–+———–+—-+———+——+——-+——————+
| Id    | User   | Host      | db | Command | Time | State | Info             |
+——-+——–+———–+—-+———+——+——-+——————+
| 27833 | ninano | localhost |    | Query   | 0    |       | show processlist |
+——-+——–+———–+—-+———+——+——-+——————+


+——-+——–+———–+—-+———+——+——-+——————+
| Id    | User   | Host      | db | Command | Time | State | Info             |
+——-+——–+———–+—-+———+——+——-+——————+
| 27833 | ninano | localhost |    | Query   | 0    |       | show processlist |
+——-+——–+———–+—-+———+——+——-+——————+


=====================
-i3은 3초간격으로..

확인해보고… Time이 긴것이 있으면.. lock일 수 있으므로 확인해본다.

Loading

[linux] CentOS 5.2 에서 netconfig

보통.. 서버 설정 등을 할때, 유틸리티보다는 그냥 설정파일을 까서 하는 편이다.
그래야 혹 다른서버 갔을때.. 유틸리티가 없어서 세팅을 못하는 최악의 상황을 피하기 위해.. 유틸리티 의존적(?)이 되는 자신이 싫어서 그런것 같다.
하긴.. 비슷한 이유로.. 개발을 할때도.. 항상 서버에 telnet으로 접속해서 vi로 작업했으며.. db도 sqlplus 등을 실행해서 했었다.
요즘 사무실에 있는 사람을 보니.. 파일수정도 ftp로 연결해서 에디터로 열고.. db도 토드같은 툴을 사용하고.. 그런다..
하긴.. 나도 요즘 db query정도는 그냥 툴을 사용해서 쓰는구나..(다른것보다 결과를 엑셀로 저장되니.. 그게 너무 편하다..)

하여튼… 서버 ip변경할때도 그래서..
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
등과 같이 하는데….

이게.. dhcp를 static으로 바꾸려니.. 추가해야할 항목이 잘 생각이 안나서..
그냥 전에 알고있던 netconfig 를 실행했다…
근데.. CentOS 4에서까진 잘 실행되던 게 CentOS5에서 실행하니 안된다..
관련 패키지가 설치가 안됐나..? 하고 확인했더니…
CentOS5에선 좀 바뀌었나 보다..

GUI 환경에서.. system-config-network 나
콘솔환경에서.. system-config-network-tui 로 대체됐다고.. 이걸 실행해야 한단다.
혹은.. setup 을 실행하면 몇가지 설정을 할 수 있는데.. 그중에 네트웍쪽을 선택하면 저 system-config-netowrk-tui 가 실행된다.
하여튼.. 별로 쓸일 없지만.. 급할때 한번씩 써먹었는데.. 이름이 바뀌어서.. 좀 글타.. -_-;;

정리) CentOS 5 에서 netconfig 와 같이 네트웍 설정하기
방법1)
# system-config-network-tui
방법2)
# setup   실행후 “Network configuration” 선택

Loading

[linux] CentOS5에서 selinux 끄기

CentOS5부터는.. selinux가 적용되어서 여러가지 불편한게 있어서 내리고 싶을때..
다음과 같이 하면 된다.
# vi /etc/sysconfig/selinux
==========
SELINUX=enforcing
==========
에서 “enforcing”을 “permissive”나 “disabled”로 바꾼다.

참고)
* permissive : 보안을 적용(차단)하지 않고.. 대신 로그만 남긴다..
* disabled : 보안모듈을 아예 내려놓는다.

disabled보단 permissive가 나은듯.

Loading

[linux] VirtualBox 가상디스크 복사

기존 서버에.. 새로운걸 설치할때.. 혹은.. 리눅스기반의 서버에서 윈도우가 필요할때..
사용하려고 WMware와 VirtualBox를 설치해서 사용중이다.
(CentOS4에서 CentOS5로 넘어갈때도 VirtualBox에 미리 설치해보고.. 제대로 되는지 확인하고 설치진행했었다.)

지금도.. CentOS5에 오라클을 한번 깔아보려고.. CentOS5용 VirtualBox에 설치하는데..
가끔 사용하는, 용도가 서로 다른 가상머신을 위해 OS를 또설치하는거 비효율적이라 생각되서..
가장 기본적인 시스템만 가상머신에 깔아놓고.. 필요할때.. 이걸 복사해서 뭔가 테스트하고.. 끝나면 날려버리고.. 하는 생각을 한다..

윈도우에서 VMWare를 쓸때는.. 그냥 디렉토리째로 복사해서.. 그걸 실행시키면.. 기존과 동일한 가상머신이 가동됐는데…
VirtualBox도 그런가..? 했는데 아닌갑다. vdi라는 가상디스크 파일을 복사해서.. 새로운 (가상)시스템을 하나 만들어서.. 여기에 장착(?)하고 실행했더니..
uuid인가가.. 충돌난다고 하면서 안된다..
좀 찾아보니.. 방법이 있긴 있는데…

방법1) clonevdi 사용

# VBoxManage clonevdi CentOS5-base.vdi CentOS5-ora.vdi

이런식으로 기존가상디스크(CentOS5-base.vdi)를 새로운 가상디스크(CentOS5-ora.vdi)로 복사..

방법2) 일단 파일을 복사하고… uuid setting

# cp CentOS5-base.vdi CentOS5-ora.vdi
# VBoxManage internalcommands setvdiuuid CentOS5-ora.vdi

이건 해보진 않았다.. 뭐 잘 되겠지.. 뭐..

Loading