오픈소스 YOURLS 을 이용한 단축 URL(짧은주소) 만들기

In Other Posted 2014-04-07 19:12

이미 구글의 Url Shortener, 네이버의 Me2.do 그리고, 우리에게 친숙할지도 모르는 bit.ly 들이 있지만,

굳이 나만의 짧은주소 서비스를 만들거나 부족했던 기능을 추가하고 싶다면, 오픈소스 Yourls 를 이용하여 단축 Url 서비스를 만들 수 있습니다.



그런 고로, 본 포스트에서는 Yourls 소개와 설치부터 간단한 사용방법을 다루고 있습니다.

Yourls 설치 및 사용을 위해서는 약간의 웹 지식이 필요하며 웹 호스팅 또는 자체서버를 필요로 합니다.


yourls-logo.jpg


테스트 환경


  • OS WIN 8.1 / Web Server IIS 8.5 / PHP 5.4
  • DBMS MariaDB 5.3
  • URL Rewrite 모듈 인스톨

  • Chrome 33.0.1750.x (AdBlock 외 4개의 확장프로그램 인스톨 ㅡ 테스트에 영향을 미치지 않으니 자세한 언급은 생략하겠습니다)
  • Sublime Editer 으로 코드 수정



S/W 홈페이지 및 다운로드


  • Yourls 공식 홈페이지 ㅡ http://yourls.org/
  • Yourls 다운로드 #1 ㅡ https://github.com/YOURLS/YOURLS/releases
  • Yourls 다운로드 #2 ㅡ (Ver. 1.7) YOURLS-1.7.zip YOURLS-1.7.tar.gz



Yourls 인스톨


우선 Yourls 깃헠브 접속 후 최근 릴리즈된 파일(2014 / 04 / 07 기준 Ver. 1.7)을 다운로드 후 압축을 풀면 YOURLS 폴더와 하위 파일들이 생성됩니다.


서버공간에 업로드하기전에 ./user/config-sample.php 파일명을 config.php 로 변경하여 에디터로 오픈 후 아래 코드들을 적절히 수정해줍니다.

아래 코드는 config.php 파일의 일부분인데, 주석을 참고하여 요령것 수정하면 됩니다.


/** MySQL 데이터베이스 사용자 이름 */
define( 'YOURLS_DB_USER', 'wlab_yourls' );

/** MySQL 데이터베이스 패스워드 */
define( 'YOURLS_DB_PASS', 'MALrbRbvQVtMa3bu' );

/** MySQL 데이터베이스 DB 이름 */
define( 'YOURLS_DB_NAME', 'yourls' );

/** MySQL hostname.
 ** If using a non standard port, specify it like 'hostname:port', eg. 'localhost:9999' or '127.0.0.1:666' */
define( 'YOURLS_DB_HOST', 'localhost' );

/** MySQL tables prefix */
define( 'YOURLS_DB_PREFIX', 'yourls_' );

/*
 ** Site options
 */

/** YOURLS installation URL -- all lowercase and with no trailing slash.
 ** If you define it to "http://site.com", don't use "http://www.site.com" in your browser (and vice-versa) */
define( 'YOURLS_SITE', 'http://localhost/YOURLS' ); // 단축 URL 을 적용할 도메인

/** Timezone GMT offset ㅡ 대한민국 기준 GMT+9 */
define( 'YOURLS_HOURS_OFFSET', 9 ); 

/** YOURLS language or "locale".
 ** Change this setting to "localize" YOURLS (use a translation instead of the default English). A corresponding .mo file
 ** must be installed in the user/language directory.
 ** See http://yourls.org/translations for more information */
define( 'YOURLS_LANG', '' ); 

/** Allow multiple short URLs for a same long URL
 ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
 ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
define( 'YOURLS_UNIQUE_URLS', true );

/** Private means the Admin area will be protected with login/pass as defined below.
 ** Set to false for public usage (eg on a restricted intranet or for test setups)
 ** Read http://yourls.org/privatepublic for more details if you're unsure */
define( 'YOURLS_PRIVATE', true );

/** A random secret hash used to encrypt cookies. You don't have to remember it, make it long and complicated. Hint: copy from http://yourls.org/cookie **/
define( 'YOURLS_COOKIEKEY', 'qQ4KhL_pu|s@Zm7n#%:b^{A[vhm' );

/** Username(s) and password(s) allowed to access the site. Passwords either in plain text or as encrypted hashes
 ** YOURLS will auto encrypt plain text passwords in this file
 ** Read http://yourls.org/userpassword for more information */
$yourls_user_passwords = array(
'admin' => 'password', // 관리자 아이디 및 비밀번호
// 'username2' => 'password2'	// You can have one or more 'login'=>'password' lines
);


MySQL 세팅 부분은 호스팅 업체의 MySQL 접속정보 및 DB 이름 등을 받아서 적절히 기입하시면 되고,


대한민국의 시간대는 GMT+9 이므로, 9 를 넣고 관리자 아이디 및 비밀번호 부분은 본인이 사용것을 적절히 기입하시면 됩니다.

Cooke key 부분은 https://api.yourls.org/services/cookiekey/1.0/ 에서 출력되는 키를 적절히 대입하면 됩니다.


Yourls 를 공개적으로 누구나 짧은 URL 생성이 가능하게하려면, YOURLS_PRIVATE 부분을 false 로 수정합니다.


/** Private means the Admin area will be protected with login/pass as defined below.
 ** Set to false for public usage (eg on a restricted intranet or for test setups)
 ** Read http://yourls.org/privatepublic for more details if you're unsure */
define( 'YOURLS_PRIVATE', false );



이렇게 파일을 수정 후 http://localhost/YOURLS/admin 접속하면 아래 사진과 같이 자동적으로 인스톨화면으로 넘어갑니다.


1332.PNG


사진에서 Install YOURLS 글짜를 찰지게 눌러주면.. 




1333.PNG


잠깐 후 위 사진과 같이 인스톨이 성공됬다고 출력됩니다.


IIS 서버에서는 자동적으로 Web.config 파일이 짧은주소 사용을 위한 코드가 쓰여지니 따로 수정하실 필요가 없습니다.

참고로 IIS 서버에서 짧은주소를 사용하려면 URL 재작성 모듈을 필요로 합니다.




1335.PNG


설치가 완료되었다면 다시 http://localhost/YOURLS/admin 링크로 접속하여 로그인합니다.

config.php 파일에 기입한 관리자 정보로 로그인 하면 됩니다.




1336.PNG


관리자 페이지 첫 화면,




1338.PNG


Enter the URL 부분에 링크를 넣고 Shorten The URL 을 클릭하면 단축 URL 이 즉시 생성됩니다.

생성된 단축 URL 뒤에 "+" 플러스를 붙이면


1340.PNG


이렇게 통계를 볼 수 있으니 참고하세요.

이외에도 이것저것 많은 기능이 있는데, 스포하진 않겠습니다 ㅋ.ㅋ 여러분께서 찾아보세요 !


i4789245480.jpg



이외에 궁금한점은 댓글로 투척해주시면 천만년안으로 답변드리겠지 말입니다 !




웹 개발 익스프레스 엔진(XE)과 웹 개발 이야기

더 흥미로운 글을 받아보세요