gnuboard jQuery 버전 문제

2015. 2. 12. 17:18 from Dev/etc

그누보드로 된 사이트를 업데이트 하다 bootstrap을 적용하려고 해보고 있는데, 이상하게 안되어서 헤매다 알고 보니 그누보드5 배포판은 jQuery 버전 1.8.3을 기본으로 하고 있네요.

아시다시피 bootstrap3는 jQuery 버전이 좀 높아야 되지요.. 현재 stable version은 2.1.3이고, 최소 1.11 대 이상은 되어야 기타 jQuery의 플러그인까지도 이용가능할 것으로 보입니다.

혹시 그누보드에 jQuery 버전 높은 거를 이용해도 되나? 하고 단순히 생각했었는데, 이런. 1.8.3과 2 사이에는 넘사벽이 있네요. major update가 한두번 있다 보니 그누보드의 javascript 부분을 상당히 많이 뜯어고치기 전에는 1.8.3을 그냥 이용하는 수밖에 없는 거로 결론을 냈습니다;;

괜히 2.1.3 로드해봤다, 1.11 로드해봤다.. 이 기능은 되는데 저 기능은 안되고 삽질만 몇 시간 동안 했네요.

Posted by banasun :

[gnuboard] editor로 작성한 글에서 img만 뽑아오기

2015. 2. 3. 16:14 from Dev/etc

그누보드 이용할 때, 에디터를 이용하지 않고 이미지를 따로 업로드한 경우는 그누보드의 모든 기능을 다 쓸 수 있습니다. 썸네일 작성이라든가, latest를 이용해서 최신글을 뽑아올 때라든가 말이지요.


그런데 DHTML편집기를 이용한 경우에는 wr_content의 소스에서 이미지를 따로 떼어와서 작업했었죠. 그런데 오늘 '어, 그거 함수 있어'하는 얘기를 들었습니다.


common.lib.php에 있는 get_editor_image 라는 녀석입니다.


$arrImgs = get_editor_image($list[$i]['wr_content'], false);


이런식으로 DHTML편집기로 작성된 wr_content를 넘겨주면 정규식을 이용해서 img 소스를 추출해줍니다. 두번째 인수를 false로 하면 url만, true로 하면 img tag 자체를 리턴해줍니다.


preg_match_all을 이용하기 때문에 리턴값은 array이고, 여기서 골라서 이용하면 됩니다.

Posted by banasun :

[nginx] nginx windows version에서 php 세팅 - fastCGI 설정하기

2014. 12. 31. 10:07 from Dev/etc

오늘은 지난 포스팅(http://banasun.tistory.com/entry/ngix-%EC%84%A4%EC%B9%98Windows)에 이어서 php 설정을 해보도록 하겠습니다. 요새는 WAMP니, LAMP니 하는 패키지처럼, apache를 쓰면 당연히 MySQL, PHP가 따라오는 거로 생각하고 있었는데, nginx에서는 php를 이용하려면 다른 설정을 해주어야 합니다. 바로 FastCGI라는 부분이지요.

FastCGI는, 기존 CGI가 web server가 request가 들어오면 CGI process를 생성해서 이를 처리하고 하면 번거로우니, 차라리 Fast CGI server가 CGI process를 처리하고(process를 생성하고 없애고 하는게 아니라 persistent process가 있는 거지요) web server는 request를 Fast CGI server로 넘겨주기만 하면 된다는 개념입니다. 이렇게 함으로써 웹서버의 부담이 줄어들고 한번에 더 많은 request를 처리할 수 있게 된다는 거지요.

1. nginx 설치하기

linux 명령어 가운데 거의 안쓰는 명령어가 있는데, 바로 touch라는 명령어지요. 설치는 지난번 포스팅에서 'touch' 하였습니다. ㅋㅋ (이래 놓으면 touch가 뭐지? 하고 찾아보시는 분들 생길 것 같네요)

안 보신 분들은 http://banasun.tistory.com/entry/ngix-%EC%84%A4%EC%B9%98Windows 보시기 바랍니다.

2. php 설치하기

이것도 binary 다운받으시면 바로 설치가 됩니다. 다운로드는 여기서(http://windows.php.net/download/) 받으시고요.

3. 설정하기

일단 php에서 별도로 cgi 처리를 위해서는 php-cgi.exe라는 파일을 돌려주어야 합니다. 아래와 같이 batch file을 만들어 놓으시면 편하게 이용하실 수 있습니다.

저는 지난번에 wamp를 깔아보면서 같이 설치된 파일이 있어서 디렉토리를 저렇게 해놨는데, 디렉토리 설정은 알맞게 바꿔주세요. 그리고 FASTCGI용 포트는 9123으로 해놓았습니다 :

@ECHO OFF
ECHO Starting PHP FastCGI...
set PATH=C:\wamp\bin\php\php5.5.12;%PATH%
C:\wamp\bin\php\php5.5.12\php-cgi.exe -b 127.0.0.1:9123

이제 nginx의 해당 부분 설정을 바꾸어줍니다.

        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9123;
            fastcgi_index  index.php;
	    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

이제 위에서 만든 batch 실행하신 다음에 nginx를 돌리면 됩니다. ^^

Posted by banasun :

nginx 설치(Windows)

2014. 12. 29. 17:04 from Dev/etc

세계에서 가장 많이 이용하는 웹서버는 무엇일까요? 그러면 어떤 웹서버를 이용하는게 좋을까요? (물론 이 두 질문이 같은 질문은 아닙니다)

이 질문에 대해서 예전에는 당연히 Apache라는 대답을 떠올렸지만 이제는 다소 고민을 하게 됩니다.

물론 아직까지 가장 많이 이용하는 웹서버는 Apache입니다. 하지만 몇 년 전까지 70%에 육박하던 점유율이 이제는 반토막이 되어서 M$ 서버와 비슷한 수준이 되어 버렸고, 대신에 nginx(이렇게 쓰고 '엔진X'라고 읽습니다)가 20% 가까이 올라오고 있습니다(IT World 기사, Choosing a Linux web server: Nginx vs. Apache).



오늘은 시간이 조금 남는 관계로, 윈도우즈로 돌아가는 PC에 한번 설치를 해보도록 하겠습니다.

먼저 다운로드입니다. nginx 사이트(http://nginx.org/en/download.html)에 가면 윈도우즈 버전을 다운받을 수 있습니다. 1.6.2가 최근 stable 버전입니다.

윈도우즈 버전은 설치하고 말고 할 것도 없네요. 압축 풀고 실행하면 바로 서비스가 실행되는군요. 블로그 쓸 내용이 없네요 ㅋㅋ 할 수 없습니다. 가지고 놀아보고 설정하는 방법 등은 다른 포스팅으로 넘겨야겠습니다.

하여튼 실행파일을 실행하고 브라우져에서 http://localhost로 접속해서 아래 화면이 나오면 돌아가고 있는 겁니다.


명령어는 -s 옵션으로 줍니다(signal). PATH 설정이 안되었다면, 해당 폴더로 가셔서 아래와 같이 command 창에서 해줄 수 있습니다 :



nginx -s quit
nginx -s reload


설정은 설치 폴더의 conf 안에 있습니다. nginx.conf가 주요 설정들인데.. apache를 사용해보았다면 그냥 알 수 있도록 직관적으로 되어 있네요.

원래 설치한 목적은 역시 요새 유행하는 framework인 Laravel을 설치해서 테스트해보려는 것이었는데 언제나 일을 시작하다 보면 곁가지로 새버리는 것 같습니다. 어렸을 때 시험치기 전에 책상 정리하던 기억이 나는 이유는 무엇일까요.

Laravel 역시 다음 포스팅으로 넘기고 오늘은 이만 또 일로 복귀해야겠습니다.

Posted by banasun :

[Ubuntu] user 디렉토리의 public_html 연결하기

2014. 12. 27. 00:52 from Dev/etc

오늘은 UBUNTU에서 개인 유저의 home에 있는 public_html 폴더를 apache에서 접근할 수 있도록 (http://www.sample.com/~foo 이런 형식으로) 세팅하는 방법입니다.


사실 오랜 옛날 사업한다고 그 비싼 서버(HP였나.. 이젠 기억도 가물가물..)를 돈 주고 사서 애지중지 세팅하고 개발하고 했던 이후로는 서버 관리를 할 일이 없었지요. 분업화가 되어서 서버관리, DBA, 개발이 다 전문성을 띄고 분화가 되니 한두명이 모여서 하는 회사가 아니면 웹 쪽 개발을 한다고 해서 서버 세팅까지 다 알기는 힘들지요. 하물며 저처럼 프로그래밍쪽을 해도 주로 알고리즘이나 내부 로직 쪽만 몇 년 동안 하다가 다시 손수(!) 해야 하는 상황이면 어쩔 수 없이 구글링에 의존할 수밖에 없습니다.


이런.. 이 부분도 역시 겁나(?) 많이 바뀌었군요. 옛날에는 유저 홈의 public_html은 기본적으로 보여주었던 것 같은데..


각설하고, 일단 public_html 이라는 디렉토리를 만들어줍니다.


mkdir public_html

apache2의 설정이 있는 /etc/apache2 디렉토리를 보면 mods-enabled가 있고, mods-available이 있습니다. 눈치를 보아하니 mods-available에 있는 애들 중에 이용할 mods를 mods-enabled에다 sybolic link로 걸어주는 거네요.


cd /etc/apache2/mods-enabled
sudo ln -s ../mods-available/userdir.conf userdir.conf
sudo ln -s ../mods-available/userdir.load userdir.load
sudo service apache2 restart 

이렇게 해주면 그림처럼 경고(!)가 나옵니다(전 root로 들어가서 sudo를 쓰지 않았습니다). 보아하니 도메인 네임이 안정해져있어서 나오는 거라 가볍게 무시해줍니다.



이제 public_html 디렉토리에 index.html을 만들고 웹브라우져에서 http://localhost/~USER_NAME 이렇게 해주시면 접속이 가능합니다.

Posted by banasun :

[wamp server] 윈도우즈 환경에서 apache, mysql, php 개발환경 한번에 셋업해주는 wamp server

2014. 11. 24. 15:56 from Dev/etc


오늘은 wamp 서버 설치를 해보도록 하겠습니다.

wamp는 윈도우즈 환경에서 Apache + mysql + php를 셋으로 구성해서 간단하게 개발환경을 구축해주고, 서비스 할 수 있도록 도와주는 kit입니다. 물론 이 세 가지는 설치도 그다지 어렵지 않아서 따로따로 설치해도 잘되지만, 저처럼 윈도우즈 별로 안좋아하는 사람도 쉽게 설치 및 관리를 할 수 있도록 해줍니다.

1. 설치파일 다운받기

먼저 wamp server 페이지(http://www.wampserver.com/en/)로 가서 설치파일을 다운받습니다.


OS가 32비트인지 64비트인지 확인해서 받으셔야 됩니다. 클릭하면 sourceforge에서 설치파일을 다운로드 받습니다.


2. setup 파일 실행

셋업과정은 단순합니다. 설치 경로와 기본 브라우져, 그리고 SMTP에 이용할 메일 주소만 확인해주면 알아서 잘 설치가 되는군요.




3. 설치 완료

어떻게 생각해보면 허무하게 세팅이 끝나버렸습니다. ㅋㅋ

브라우져에서 http://localhost 해서 아래 화면이 나오면 정상적으로 설치가 완료된 것입니다. 제 컴에서는 트레이에 아이콘은 server offline으로 표시되어서 문제가 있나 했는데, php나 mysql 모두 정상적으로 잘 작동을 하는 걸 보면 제 컴의 문제이거나 트레이의 정보와는 상관이 없거나 한 것 같습니다.


4. 설정하기

아파치 설정은 bin/apache 밑의 conf 디렉토리에 있습니다. 입맛대로 설정하시면 되고요..



mysql은 그래도 root 패스워드 설정은 해놔야 쓰겠지요? 위 3의 화면에서 phpmyadmin으로 가서 사용해도 되겠지만, console에서 이용하려면 PATH에 다음을 추가합니다 :

C:\wamp\bin\mysql\mysql5.6.17\bin

그 다음에는 root 패스워드 설정을 해줍니다.


자.. 이제 끝났습니다. 사실 워드프레스 한번도 안써보았는데 아는 분이 부탁을 하셔서 한번 깔아보고 하느라 익숙하지 않은 윈도우즈에 설치를 해 보았네요. 가능하면 다음에는 wordpress 설치를 주제로 다시 포스팅 해보도록 하겠습니다.

혹시 wamp 설치하면서 안되거나, 궁금하신 점이 있으시면 답글 달아주세요.


Update (11/26/2014)

저는 mysql을 console에서 많이 이용하는 것도 있고 해서 위와 같이 root 패스워드 설정하고 이것저것 하는데.. 이렇게 하면 phpmyadmin 접속이 안됩니다.

확인해보니 wamp server와 같이 배포되는 phpmyadmin은 local 설정이 되어 있어서 local에서만 접속이 됩니다. phpmyadmin 이용이 더 익숙하신 분은 (어차피 wamp 자체가 서비스용이라기 보다는 간단하게 개발환경을 만들어 주는 용도이니) 굳이 설정 변경을 안하고 그냥 이용하시는게 더 낫지 않을까 싶네요. ^^

Posted by banasun :

[ubuntu] 설치되어 있는 패키지들 확인하기

2014. 10. 29. 06:58 from Dev/etc

오늘은 간단하지만, 많이 이용하는(그리고 매일 까먹고 확인하는) 명령어입니다.

설치되어 있는 패키지들을 확인하는데 이용하는 dpkg 명령입니다. 예전에 제가 일 시작할 때에는 사실 소스코드 받아서 빌드하고, 버전 안맞으면 충돌하고 그랬었지요. 요새는 패키지 매니저들이 잘 되어 있어서 그런 경우가 많지는 않지요. 물론 major update가 있을 때는 신경이 좀 쓰이긴 하지요 ㅋㅋ

dpkg --get-selections

이렇게 하면 설치되어 있는 패키지들이 리스트됩니다. 당연히 아래와 같이 grep과 같이 이용하면 보고 싶은 패키지들을 쉽게 찾아볼 수 있지요. 한번 mongodb와 관련된 패키지들을 찾아보겠습니다:

dpkg --get-selections | grep 'mongo'



--listfiles 옵션과 같이 이용하면 어떤 파일들이 설치되어 있는지도 알 수 있습니다.

    dpkg --listfiles 'mongodb-org-tools'



Posted by banasun :

[vim] vim editor에 color scheme 적용하기

2014. 10. 17. 21:35 from Dev/etc

vim에 color scheme 입히기

최근 aws에서 작업을 많이 하다 보니 간만에(!) vim을 사용할 일이 자주 생기고 있습니다. 그런데 해보신 분들은 잘 아시겠지만, vim이 상당히 밋밋하지요. ㅋㅋ 그래서 잠시 짬을 내서 color scheme을 입혔는데, 그 과정을 정리해보겠습니다:

    mkdir ~/.vim
    mkdir ~/.vim/colors

그 다음에 colors 디렉토리에 다운받으신 color scheme을 저장해줍니다. 그리고 사용자 계정에 있는 .vimrc 를 수정해주고, 없다면 만들어줍니다. 저는 distinguished라고 하는 다크 계열의 스킴이 맘에 들더군요. https://github.com/Lokaltog/vim-distinguished

    set t_Co=256
    syntax on
    set background=dark
    colorscheme distinguished

저는 요새 javascript 작업을 많이 하는지라.. javascript syntax를 넣도록 하겠습니다. 자세한 내용은 다음을 참조하세요. https://github.com/jelera/vim-javascript-syntax

Posted by banasun :

[Linux] 일정 기간 내에 변경된 file list - find 명령으로

2014. 10. 13. 12:09 from Dev/etc

서버 작업을 하다 보면 이러저러한 이유로 일정 기간 이내에 변경된 파일을 뽑아 보고 싶은 경우가 생깁니다.

find의 기본 명령 모양은 다음과 같습니다 :


find / -name foo


이러면 이름이 foo 인 파일들이 주르륵 나옵니다. find의 검색 기준은 여러 가지를 동시에 적용할 수 있는데, 따로 정해주지 않으면 이 조건들은 모두 AND로 봅니다. 모두 만족시키는 것만 표시를 해주는 거지요.

오늘 우리가 찾고 싶은 건 변경 일자 기준입니다. 그러면 타입은 파일이고, 변경일자로 7일 이내를 찾아볼까요?


find / -type f -mtime -7


이렇게 해주시면 됩니다. 이렇게 해서 나온 결과를 xargs 등등으로 처리해주면 더 복잡한 작업도 할 수 있겠지요?

마지막으로, 30일~45일 이전에 변경된 파일은 어떻게 하면 될까요?


find / -type -mtime +30 -mtime -45


이렇게 해주시면 됩니다. -mtime의 값으로 +값은 그 이후, -값은 이전, 숫자만 주면 정확히 그날을 기준으로 찾아줍니다.

Posted by banasun :

OGG/OGV 파일 포맷 변환 - 다음팟인코더

2014. 9. 16. 16:43 from Dev/etc

웹 사이트에 비디오를 올리려고 하다보니 - 참고로 저는 멀티미디어 쪽은 거의 컴맹 수준이라.. - HTML5 표준에 <VIDEO> 택이 있다는 정도만 알지 써본 적이 없었습니다.

역시나 구글링을 하다 보니.. 온갖 얘기들이 난무하고, 특히 멀티미디어처럼 업체간 혹은 표준간 경쟁이 치열한데다 표준 자체도 계속 빠르게 변하는 영역이다 보니 된다, 안된다 말이 많네요.

하여튼. tag 넣는 거는 문제가 아닌데, 정작 문제는 올려야 되는 비디오가 wmv 포맷이라는 거지요. ㅋㅋ

처음에는 Ogg 포맷이 된다는 얘기만 믿고 Ogg로 컨버팅 해주는 프로그램 찾느라 삽질..

정작 다운받았더니 전체 비디오를 다 변환해주는게 아니라 절반만 해주고 돈내라 하는 소프트웨어부터, 프리다 하면서 애드웨어 까는 것들입니다. 어떤 놈들을 깔면서 삽질했는지는 불문에 부치고, 찾다 보니 다음팟인코더가 있네요. 첨부터 이거로 했으면 될걸 ㅜㅜ


현재 HTML5 에서 표준으로 브라우저들이 지원하는 포맷은 3가지입니다.

mp4, WebM, Ogg가 그것들인데.. 문제는 IE와 safari는 이것들 중 mp4만 지원한다는 겁니다.

결국 mp4로 인코딩해서 서버 업로드 하고 택 붙이면서 오늘의 삽질을 마무리했습니다. 



결론 : 다음팟인코더가 짱이다. 

비디오 컨버팅 해주는 프로그램 이것저것 뒤지지 말고 다음팟인코더 쓰세요. ^^

Posted by banasun :