크라우드펀딩, 쇼핑몰의 대안이 될 수 있을까?

크라우드펀딩이라는 새 비즈니스 모델이 전 세계를 휩쓸고 있고 한국도 예외는 아닙니다. ‘펀딩’이라는 자본주의 금융의 핵심 단어가 사용되고 있음에도 이 비즈니스 모델의 첫 인상은 ‘참여’나 ‘나눔’과 같은 뭔가 ‘가치’있는 것과 연관되어 생각됩니다. 실제로 Kickstarter와 Indiegogo는 거대 자본이 좌우지하는 영화 산업 분야에서 시작되었고, 한국에서도 Goodfunding의 영화  ’26년’의 펀딩 사례는 유명하니까요. 비즈니스 모델로서의 크라우드펀딩은 거부감없는 첫 인상으로 사람들에게 다가간듯 합니다.     잠깐 오픈마켓 이야기를 하겠습니다. 오픈마켓은 말 그대로 ‘상품’을 나열하여 판매하는 마켓이고,  사람들이 가장 고려하는 것은 ‘가격’이었기에 오픈마켓은 대안으로 ‘공동구매’를 제시하면서 상품 가격에 차별화를 두었습니다. 물론 지금의 오픈마켓은 도매상들이 장악한 조금 더 싼 쇼핑몰? 시간이 지나면서 또다른 흐름이 생깁니다. 사람들은 상품 자체보다는 ‘스토리’에 집중하기 시작했고, 쇼핑몰도 발빠르게 이를 반영합니다. 거꾸로 상품을 더 잘 팔기 위한 마케팅 기법으로 스토리텔링이라는 흐름을 만들었다고도 볼 수 있긴 합니다만. 특히 페이스북이나 트위터와 같은 ‘관계’ 중심의 서비스가 대세가 되면서 상품보다는 ‘스토리’ 그리고 ‘사람’에 시선을 돌리는 것은 거스를 수 없는 대세가 되었고 지금도 이어지고 있습니다.  “스토리를 사세요. 상품은 공짜입니다”라는 슬로건이 이때의 분위기를 잘 말해주고 있습니다. 그 즈음에 관심을 두던 곳이 바로 etsy.com 입니다. 프로그래머의 기획 etsy의 시작 에서도 간단히 언급했지만, 엣시는 ebay.com이 구색 맞추기로만 나열하던 craft, handmade 등의 카테고리만을 판매한 오픈마켓이며, 상품보다는 ‘스토리’와 ‘작가’를 부각시켰습니다. ‘동영상’을 잘 활용한 좋은 사례입니다.     한국에서도 이런 흐름은 있어왔고 지금도 있습니다. 대부분 오픈마켓에 흡수되거나 일부 프렌차이즈 쇼핑몰에 입점하여 버티고 있지만 여전히 오프라인에는 홍대의 프리마켓을 비롯하여 전주남부시장,광주대인시장…등 많은 곳에서 젊은 작가들이 꿈을 키우고 있습니다. 최근에는 웹이 아닌 스마트폰 앱을 출시한 아이디어스가 떠오릅니다. 엣시는 한 프로그래머가 쇼핑몰 유지보수 작업을 하면서 공예작가들이 토로하는 이베이에 대한 불만을 듣고서 만든 오픈마켓이라고 합니다. 당연히 초창기 엣시를 입소문낸 장본인은 바로 입점한 작가들이었습니다. “엣시에 가면 내 물건을 쉽게 살 수 있다.” 재밌는 사실은 크라우드펀딩도 비슷합니다. 프로젝트를 등록한 후 목표액의 30% 지점에  빨리 도달할 수록... read more

[보안3]워드프레스 중요 파일 및 폴더 변경

워드프레스 사용자라면 누구나 알고 있는 폴더 구조와 파일 이름입니다. 보안상의 이유로 이를 옮기거나 이름 변경하는 몇가지 방법을 공유합니다. 1. wp-config.php 파일 이동 wp-config.php 파일에는 Mysql database, Secretkey, table_prefix 등 보안과 직결되는 내용이 있습니다. 보안상 이를 숨기고 싶다면 다음의 방법을 사용할 수 있습니다. (1) wp-config.php 파일을 워드프레스가 설치된 한 단계 위의 폴더로 이동. 워드프레스는 실행하면서 자동으로 한 단계 위의 폴더를 스캔하여 wp-config.php 파일이 있는지 확인합니다. wp-config.php 파일을 이동하여도 사이트는 정상으로 작동합니다. (2) 만약, 한 단계 위의 폴더가 아닌 곳에  파일 이름마저 바꾸고 싶다면…. wp-config.php 파일을 원하는 위치에 원하는 파일명으로 옮깁니다. 원래 위치에 wp-config.php을 새로 만들고 다음의 코드를 작성합니다. (2단계 폴더 위에 my-config.php 파일로 옮긴 예) 1 2 define('ABSPATH', dirname(__FILE__) . '/'); require_once(ABSPATH . '../../my-config.php'); define('ABSPATH', dirname(__FILE__) . '/'); require_once(ABSPATH . '../../my-config.php'); 요약하면, 핵심 정보를 다른 위치의 다른 파일에 넣고, 그 파일 위치를 새 wp-config.php에 알려주는 것입니다.   2. wp-config.php 파일의 접근 제한 .htaccess 파일에 아래의 코드를 추가하여 wp-config.php 파일을 보호합니다. 위의 방법으로 wp-config.php 파일의 위치 또는 이름을 변경했다면 그것도 함께 추가하는 것이 좋습니다. 1 2 3 4 <files wp-config.php> order allow,deny deny from all </files> <files wp-config.php> order allow,deny deny from all </files> 3. wp-content 폴더 이동 방법은 위와 비슷합니다. 다음은 asset 폴더를 만들고 그 아래로 이동한 예시입니다. 1 2 define( 'WP_CONTENT_DIR', dirname( __FILE__ ) . 'asset/wp-content' ); define( 'WP_CONTENT_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/asset/wp-content' ); define( 'WP_CONTENT_DIR', dirname( __FILE__ ) . 'asset/wp-content' ); define( 'WP_CONTENT_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/asset/wp-content' );   같은 방법으로 plugins 폴더, themes 폴더, uploads 폴더의 위치를 원하는 곳으로 옮길 수 있습니다.  관련된 다양한 사례는 Codex를 참고하십시오. 주의! 만약, wordpress codex를 지키지 않고 하드코딩한 플러그인이나 테마를 사용한다면 당연히 작동하지 않습니다. 심지어 어떤 테마의 경우는 table_prefix를... read more

[보안2]워드프레스 설치 시 점검 3가지

보안은 아무리 강조해도 지나치지 않습니다. 하지만 막상 문제가 생기기 전까지는 ‘설마…’ 와 ‘귀찮게…’라는 생각이 먼저 들곤하죠. 앞서 기본적인 워드프레스 보안 3가지에 이어 이번에는 워드프레스 설치 시 체크할 몇가지를 살펴 보겠습니다.   1. table prefix  “wp_”를 사용하지 않는다. “wp_” 대신 차라리 아무의미 없는 “alskjglasjdglaj_”로 적는 것이 더 낫습니다. 이는 sql injection 을 예방하는 첫걸음입니다.   2. username “admin” 사용하지 않는다. 많고 많은 아이디 중에서 애써 “admin”을 고집하지 마십시오. 사이트 도메인이나 운영과 연관하여 짐작할 수 있는 아이디도 가능한 삼가고 나만 알 수 있는 아이디를 권합니다.   3. WordPress Security Key 확인 특정 호스팅 환경에서는 워드프레스 설치 과정 중 자동으로 wp-congif.php 파일이 생성되지 않아, 수동으로  wp-config-sample.php 파일을 수정하여 wp-config.php 로 저장해야 하는 경우가 있습니다. 이 경우 wp-config.php 파일 내의 secret-key가 생성되지 않기에 이 부분은 반드시 수정하여야 합니다. WordPress Salt Keys Generator 를 방문하여 나오는 내용을 복사하여 붙여넣기만 하면 됩니다.  wp-config.php 속의 워드프레스 보안키(security keys) 글에서 이미 언급한 내용입니다. 이상 3가지는 워드프레스 설치할때 꼭 점검해야 할 내용입니다. 귀찮다고만 여기지 말고 가능하면 꼭! 지키면 내 워드프레스가 더 안전해 집니다.   [추가1.]워드프레스를 호스팅 루트에 설치할지 아니면 하부폴더에 설치할지를 한번쯤은 고민해 보셨을 겁니다. 저는 하부폴더에 설치할 것을 권장합니다. 하부 폴더에 설치 후 wordpress url과 site url을 설정하는 글은 구글링에서 쉽게 찾을 수 있습니다. 저의 습관은 “wordpress”를 “wp”로 바꿔서 사용하는 편입니다.... read more

[보안1]기본적인 워드프레스 보안 3가지

아시다시피 워드프레스는 오픈소스입니다. 말 그대로 오픈소스는 소스가 공개되어 있어서 특히나 “보안”에 취약하지만, 그 대응 또한 빠르다는 점이 장단점입니다. 다만, 이를 동시에 누리려면 전제 조건이 하나 붙습니다. “update !!!”   1. update !!! update !!!   개발자라면 워드프레스 보안백서 wordpress security white paper 를 한번은 정독할 필요가 있으며, 일반 사용자도 wordpress security archive 정도는 눈여겨 볼 필요가 있습니다. 워드프레스의 버전업은 보안패치나 다름이 없습니다. 워드프레스가 발표된지 5년 정도 지나면서 사용자가 급증하자 다양한 플러그인과 테마가 등장하였는데,  동시에 해커의 타겟이 되곤 하였습니다. 이후 일부 인기있는 플러그인은 아예 워드프레스에서 채용하여 버전업한 경우도 있습니다. 2015년 3월 팔로잉 중인 @wordpress news 에 XSS 취약점에 노출된 다수의 플러그인이 계속 트윗되었습니다. 매우 유명한 플러그인이 다수 포함되어 있으므로 꼭! 확인해 보시기 바랍니다. 그중 몇가지만 나열하면… Jetpack wp super cache WordPress SEO Google Analytics by Yoast All In one SEO Gravity Forms WP-E-Commerce WPTouch Broken-Link-Checker Ninja Forms 이외에도 내가 사용중인 플러그인이나 테마를 확인하고자 한다면, WPScan Vulnerability Database에서 플러그인과 테마를 선택해서 검색해 보십시오. 그리고 더 간단한 방법은 바로 … “u.p.d.a.t.e.~~~ update !!!”   2. admin 을 사용하지 마세요 워드프레스 설치시 습관적으로 사용자 이름을 admin 으로 하는 경우가 있는데, 보안에 매우 좋지 않습니다. 이미 폴더도 공개되어 있어서 wp-admin 폴더라는 것도 알고 있고, 아이디 마저 admin 이라면 대단한 강심장일 것입니다. 만약, 이미 사용 중인 admin 을 아이디를 바꾸고자 한다면, 여러가지 방법이 있지만 간단하게… 새 계정을 만들고, administrator 권한을 부여 기존의 admin 계정 삭제 하시면 됩니다.   3. 백업! 백업! BackUp! 백업은 귀차니즘과의 싸움입니다. 몰라서 안하는 것이 아니라 알아도 귀찮아서 무시하기 때문입니다. 서버 관리자라면 cron으로 자동백업을 할 수 있겠지만, 일반 사용자라면 아래의 세가지 중 한가지 라도 사용하시기 바랍니다. 1. 호스팅 회사의 백업 서비스 이용 개인적으로 추천하는 방법으로, 가장 완벽한 백업은 호스팅 회사의 백업 서비스입니다.... read more

AWS EC2 웹서버 설정하기

무료로 사용하던 AWS가 만료되어 신규 계정으로 임시 웹서버를 만들었습니다. (1)AWS에 가입 (2)EC2에 Instance를 생성하고 (3)Elastic IP를 Instance에 연결 (4) PuTTY 설정 후 서버 접속 (5)우분투 APM 세팅 (6)gorkii.com 도메인 연결 (7) 기타 ssh, filezilla, editplus 세팅까지 입니다.   1. AWS 가입 많은 글이 있어서 가입 과정은 생략합니다. 신용카드 또는 해외용 체크카드 필요합니다. 2. EC2 Instance 생성 임시 서버라서 한국에서 가까운 Tyoko를 선택하면 접속 속도가 조금이나마 좋겠죠. Singapore, Oregon도 차선책. 무료 이후에도 서비스를 계속 할거라면 Oregon이 약간이나마 가격이 쌉니다. (1)Choose AMI 저는 Quick Start에서 4번째 Ubuntu Server 14.04 LTS (HVM)를 선택. (2)Choose Instance Type 1년 무료니까 당연히 Free tier 인 t2.micro 선택 Next:Configure Instance Details는 따로 설정할 부분이 별로 없으니 패스하고 곧바로 Review and Launch 로 인스턴스 생성. (3) Key Pair 생성 및 다운로드(중요) 아직 만들어 놓은 key pair가 없으니 적당한 이름으로 생성하고 Download Key Pair를 눌러서 다운로드. (file-name.pem) (4) Instance 생성 확인.   3. 고정 IP인 Elastic IP 받기 Elastci IP는 1개 까지는 무료로 제공하며, 생성 후 사용하지 않으면 과금됩니다. 버튼 두번 클릭으로 Elastic IP를 받았습니다. 이제 이것을 조금 전에 생성한 Instance에 연결합니다. Elastic IP로 Instance를 연결하면 Public DNS가 바뀝니다.   4. 서버 접속 저는 윈도우 환경에서 Putty로 접속합니다. 공식 문서도 참고하세요. (1)PuTTY 다운 및 설치 PuTTY DownLoad Page 에서 putty-0.64-installer.exe를 다운받아 설치합니다. Pageant, PuTTYgen,PuTTY 3가지를 주로 사용하게 됩니다. Xshell 도 참고하여 주세요. (2)PuTTY Key Generator를 실행하여 좀 전에 다운받아 놓은 key(GorkiiDevInstance.pem) 파일을 불러 옵니다. (3) pem 파일이 로드되면 곧바로 Save private key를 눌러 저장합니다.(pem이 ppk로) (4) Pageant를 실행하여 저장한 private key(***.ppk) 파일을 로드합니다. Pageant에 key를 등록해 놓으면 PuTTY 뿐만 아니라 Filezilla와 EditPlus 에서도 Pageant를 이용하여 접속합니다. 22번 포트를 같이 사용하기 때문입니다. (5) 이제 PuTTY를 실행해서 Instance에 접속합니다. 인스턴스... read more

워드프레스 메뉴 한계는 82개까지

2013년에 페이스북 페이지에만 올렸던 정보인데 이제서야 여기에 공유해 봅니다. https://www.facebook.com/eastSocialKorea/posts/717752028252305 특별한 웹사이트의 경우 메뉴가 상당히 많아지는 경우가 있습니다. 워드프레스 코어에는 메뉴 갯수의 제한은 없습니다만, 그럼에도 불구하고 메뉴와 위젯의 갯수를 포함해서 82개가 넘어가면 메뉴가 나오지 않거나 밀리는 현상이 있습니다. Hotnews 테마를 사용하시는 분에게서 문의가 와서 저도 알게 되었고, 구글링의 결과 아래의 페이지에서 힌트를 얻었습니다. http://sevenspark.com/wordpress/menu-item-limit 결론적으로 말씀드리면, 이는 테마의 문제가 아니라 서버의 PHP 설정과 관련이 있습니다. 일반적으로 APM 설치 후 php.ini의 설정은 이렇습니다.   max_input_vars : 1000 위의 링크에 계산법이 있습니다만, max_input_vars : 1000 은 일반 메뉴 82개, 우버(Uber) 메뉴 76개가 한계입니다. 이를 적당 값으로 바꾸면 됩니다. max_input_vars : 3000 Suhosin 의 경우는… suhosin.post.max_vars = 3000 suhosin.request.max_vars = 3000 일반적으로 2000 값이면 충분하며, 3000 값이라면 안정적이겠죠. 5000 이상이 필요한 사이트가 있을까요? 만약, 메뉴 갯수가 80개는 웹사이트를 운영 중이라면 메뉴를 과감히 줄이길 권합니다. 이는 사용자에게 매우 매우 불편한 구조이며, SEO 에도 악영향을 줍니다. 그럼에도 불구하고, 아주 특별한 경우에 80개 이상의 메뉴를 사용해야 하는 경우라면 아래의 플러그인으로 미리 확인해 보시기 바랍니다. menu-limit-detector   UberMenu의 경우 3.0 버전부터는 이 메뉴 한계의 갯수에 덧셈되지 않는 다고 합니다만, 우버메뉴로만 구성할 경우에는 여전히 갯수 제한은 있습니다. 호스팅을 옮길 때 PHP 버전을 체크하시기 바랍니다. 80개 이상의 메뉴가 정상이었다가 호스팅을 옮긴 후 PHP 버전이 달라서 사라질 수 있습니다.  ... read more

워드프레스 프레임워크와 X 테마

2013년에 워드프레스를 활용하여 “홈페이지 마법사” 프로젝트를 진행한 적이 있었습니다. 클라이언트의 요구는 크게 2가지 였는데,  (1) 가입하면서 step by step 방식으로 웹사이트를 만들되 미리 준비한 디자인 템플릿을 선택하고 거기서 다시 레이아웃을 변경하게하고 (2) 네이버에서도 잘 검색되는 워드프레스 웹사이트. 였습니다. 작업은 워드프레스의 멀티사이트를 활성화하고 가입하는 과정에 준비한 디자인을 선택하게 하여 마무리 시켰고, Visual Composer 로 코딩없는 페이지 레이아웃을 가능하게 하였습니다. 문제는 테마였습니다. 클라이언트의 의도를 구현하려면 수십 개의 기본 테마를 두고 선택된 테마에서 다시 헤더, RTL(right to left) 등의 모양새와 위치를 또 수정하게 해야 했습니다. 수십 개의 테마를 따로 따로 작업하는 것은 엄청난 반복 노가다임을 깨닫고, 결국 프레임워크를 도입하여야 함을 테마 작업 과정에서 깨달았습니다. 몇 달의 기간으로는 완료할 수 없는 프로젝트가 되어 버렸습니다. 설상가상으로 네이버가 신디케이션 정책을 바꾸고 작업 기간 중에 신디케이션 서비스를 폐지하면서 수고를 헛수고로… 물론 지금은 네이버 웹마스터 도구를 베타 운영하고 있죠. 결국 프로젝트를 수행하지 못하였지만, 테마 작업을 하면서 워드프레스 테마 프레임워크에 본격 눈을 뜨게 된 계기가 되었습니다.   프레임워크는 프레임워크가 부모테마(parent theme)가 되어 필요한, 예를 들어 드레그앤드롭(drag-and-drop) 페이지 빌더, 슬라이더, SEO 등 테마의 기능과 디자인 수정을 옵션을 빌트인시키고, 이를 기반으로 자식 테마(child theme)를 만들어 매 테마마다 반복 작업의 수고와 시간을 덜고 다양한 웹사이트를 만들 수 있게 해 줍니다. 테마 개발자라면 프레임워크는 선택이 아닌 필수로 인식되기도 하였습니다. 아래 몇가지를 링크걸지만 더 많은 프레임워크는 워드프레스 테마 프레임워크 페이지 또는 구글 검색으로 대신합니다. 현재 가장 많은 사람들이 사용하는 프레임워크는 StudioPress의 Genesis framework이며 Woothemes의 Canvas도 평점이 좋습니다.   Genesis Headway Cherry Framework Canvas – woothemes   Ultimatum   초기 워드프레스 프레임워크는 코어에 포함된 Twenty 시리즈의 부족한 부분, 예를 들면 SEO 등 ‘기능’을 보완하는 방향으로 가면서 WordPress SEO by Yoast 와 같은 걸작 플러그인의 등장 배경이 되다가, 최근 몇년은 Visual Composer 와 같은 Drag-and-Drop으로... read more
Page 1 of 512345