samba-share-speed

Samba 전송 속도가 왜 이리 느린가 했더니…

개인 서버를 이용해서 Samba공유를 통한 개발 작업을 해 오고 있었는데, 이게 내부 네트웍임에도 불구하고 너무 느리더라…는

무한 검색과 삽질을 반복했지만, 전혀 해결되지 않던 문제가 한 큐에 해결되는 짜릿함을 방금 전 맛보고 혹시 비슷한 문제로 고민중인 동지분들이 있지 않을까 하는 마음에 간단하게 글 남긴다.

키워드는 'Twin IP'.

어쩐지… 다른 환경과 비교 테스트한다고, 랩탑이며 VMWare며 SCP방식이며 테스트할 때는 80~120MB/sec 정도의 결과를 보여주는데 유독 Windows 메인 PC에서만 20MB/sec를 넘지 못하는 속도를 보여주더니;;; 전혀 상상도 못했던 원인이었다. 어짜피 내부 네트웍의 사설 IP를 이용하니 상관없을 법도 한데, 공인 아이피를 부여하면서 내부에 사설 아이피 또한 부여하는 과정이 공유기 펌웨어를 통해야 하나부다.

결론은 공유기에서 Twin IP기능을 써서 공인 IP를 부여받은 PC에서는 네트웍 데이터 전송내용을 공유기 CPU 자원을 사용하기 때문에 그것을 넘는 속도는 낼 수 없다는 사실.

다른 분들께서는 무한삽질 전에 이 정보를 접하시길 바랍니다.samba-share-speed

체크리스트

  1. 기가비트 환경: 랜카드, 랜케이블(CAT.6), 공유기, 허브(혹은 라우터) 모두가 기가비트를 지원해야 함.
  2. 공유기에서 Twin IP 사용하지 않음.
  3. 그 외 삼바 서버 설정, 윈도우 클라이언트 시스템 설정은 양념.

WordPress 3.9 RC2

베타에서 꾸물거리길래 시간 좀 걸리겠구나 했더니, 어느새 RC2가 나왔네… 이번 플젝에는 이눔으로~

지난 6~7년간 EditPlus를 사용해 왔지만, 최근들어 한쪽 구석이 자꾸 허전해 지는게 뭔가 바꿀때가 된 모양이다. 화려하고 군침도는 IDE들의 유혹을 뿌리칠 수 있었던건 그 '가벼움'때문이건만… OSX용 버전이 없다는게 못내 아숩네.

선정 조건

  • 멀티 플랫폼 지원
  • 주로 PHP, 그 외 PyThon, HTML, CSS, JavaScript
  • 가벼움
  • 내게 맞는 환경 구성할 수 있슴

고민중인 소프트웨어 목록

현재로선 Sublime Text가 젤 땡김~

워드프레스 접속 암호화 (SSL)

최근 워드프레스로 사이트를 제작시 자주 언급되는게 로그인/회원가입/관리자 화면에서 보안접속(HTTPS)이 되는지에 대한 문의 입니다.

사실 '보안접속' 이라는 단어 보다는 '암호화'되는지에 대한 문의라고 하는게 더 맞겠네요.
'워드프레스가 아이디나 비번, 혹은 컨텐츠를 암호화 해 주나요?' 라고 말이죠.

'워드프레스가 암호화 한다기 보다는, 보안접속(HTTPS, SSL)을 통해 웹서버에서 암호화 해 주는 것입니다. 워드프레스에서는 접속 자체를 https로 하시면 됩니다' 라고 설명을 해 봐야 내용이 전달되기는 힘들죠.

워드프레스에서는 기본적으로 두가지 상수(Constant)를 지정함으로서 이를 쉽게 적용 할 수 있습니다.

우선, 워드프레스의 문서를 확인하시기 바랍니다.
http://codex.wordpress.org/Administration_Over_SSL

워드프레스의 설정파일(wp-config.php)에 아래 두 줄을 추가 해 주시면 됩니다.

define('FORCE_SSL_LOGIN', true)
define('FORCE_SSL_ADMIN', true);

이 외에 특정 경로 혹은 회원 등록 페이지에도 적용을 하려고 한다면, 플러그인을 적용 하는 방법과, Apache/Nginx 등 웹서버의 설정을 통해 적용해 주는 방법이 있습니다.

플러그인 으로서는 WordPress HTTPS라는 플러그인이 대표적이고, 이 외에도 워드프레스 ORG 플러그인 검색을 통해 몇가지 플러그인을 찾을 수 있었습니다.

플러그인은 아직 개인적으로 필요성을 느끼지 못해 사용해 본적이 없어서 어떤 플러그인이 좋다고 추천 해 드리기는 힘들고, 추후 사용하게 된다면 사용기를 다시 한 번 작성해 보도록 할께요.

다음 방법이 웹 서버 설정을 변경 하는 방법인데, 이 것 또한 간단한 정규식만 응용한다면 쉽게 적용할 수 있는 내용입니다.

Apache 웹서버를 사용하는 경우에는 서버 설정을 직접 바꾸지 않더라도 워드프레스 설치 폴더 혹은 웹 루트에있는 .htaccess 파일을 조금 수정할 수 있습니다. 해당 설명은 아래 Codex문서에 잘 표시되어있으니 이 글에서는 생략하기로 하겠습니다.
http://codex.wordpress.org/Administration_Over_SSL#Insecure

다음으로 Nginx 설정을 수정하는 방법을 예로 들어 보겠습니다.

nginx.conf 파일 혹은 가상서버 설정 파일에서 server 블록에 아래 내용과 같이 특정 경로를 적당히 위쪽에 추가 해 주시면 됩니다.

server { 
        listen   80; ## listen for ipv4 
        listen       443 ssl; ## https 
…………… 
…………… 
       # Force SSL 
        if ($ssl_protocol = "") { 
          rewrite  ^(/[a-zA-Z0-9_-]+)?/(register|activate)/?.*$  https://$http_host$request_uri? permanent; 
          rewrite  ^(/[a-zA-Z0-9_-]+)?/members/[^/]+/profile/edit/group/.*$  https://$http_host$request_uri? permanent; 
          rewrite  ^(/[a-zA-Z0-9_-]+)?/wp-(login|signup|activate)\.php.*$  https://$http_host$request_uri? permanent; 
…………… 
…………… 
        }

위 내용은 버디프레스에서 회원등록 페이지와 각 회원이 정보를 수정하는 페이지를 보안접속으로 연결시키는 예제입니다.

물론 플러그인을 통한 admin-ajax 요청 등 예외사항이 발생하는 경우도 있지만, 위 방법을 통해서 기본적인 워드프레스 보안접속은 모두 적용이 될 것입니다.

특정 플러그인에서 보안접속 관련 문제가 지속적으로 발생한다거나, 간단한 해결법이 찾아지지 않는 경우에는 설정에서 워드프레스 주소를 https 로 바꾸어 버리는 것도 고려해 볼만한 사항입니다. 서버의 보안 인증서가 모든 브라우저를 지원하는 것이라면 방문자는 별다른 불편함이나 인식 없이 https로 모든 페이지를 접속하게 될 것입니다.