ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • PHP - YOURLS (ShortURL - 단축 URL 생성하기)
    IT/php 2020. 5. 15. 15:27
    반응형

    안녕하세요.

    오늘은 단축URL을 생성하는 'YOURLS' 설치 방법에 대해서 포스팅 하겠습니다.

     

    YOULRS 란?

    자체 URL 단축 서비스를 실행할 수 있는 PHP 스크립트 세트이며, DB를 이용하여 타사 서비스에 의존하지 않습니다.

    LONG URL과 ShortURL을 DB에 저장해서 ShortURL을 호출 시 LONG URL로 리다이렉트를 해주며,추가적으로 통계를 내는 기능들을 가지고 있습니다.

     

    YOULRS 장단점

    [ 장점 ]

    1) 100% 무료

    2) 비트 소스와 달리 오픈 소스로 이루어져 있습니다.

    3) DB를 통하여 자체 호스팅 가능

    4) 내가 소유한 도메인을 사용할 수 있습니다.

     


    [ 단점 ]

    1) 수동으로 설치하는 것이 다소 복잡하고 어려울 수 있습니다.

    2) 클라우드 서버에 설치하는 것이 더 어려울 수 있습니다.

    3) 포괄적인 백업을 사용할 수 없습니다. ( 가져오기 / 내보내기 / 데이터베이스 내보내기 가능 )

     

    개발환경

    - YOULRS : 1.7.2 버전    

         1) PHP 5.2 이상 지원 

         2) MySQL 5 이상 지원

    - OS : ubuntu 18.04.4

    - PHP : 7.2

    - DB : MySQL 5.7.26

     

     

     

    설치방법

    1. 우분투 업그레이드 및 업데이트 및 Apache, PHP 설치

    .

    명령어

    우분투 업그레이드 및 업데이트

    apt-get upgrade

    apt-get update

    Apache 설치

    apt-get -y install apache2

     

    PHP 설치

    apt-get -y install php libapache2-mod-php php-xml php-gd php-mysql

     



    2. YOURLS 1.7.2 설치

    .

    명령어

    YOURLS 설치

    cd usr/local/src

    wget https://github.com/YOURLS/YOURLS/archive/1.7.2.tar.gz

    tar zxvf 1.7.2.tar.gz

     

    mv YOURLS-1.7.2 /var/www/html/

     



    3. config.php 생성

    .

    명령어

    config.php 생성

    cd /var/www/html/user

    cp config-sample.php config.php



    4. MySQL YOURLS 데이터베이스 생성- AWS RDS로 진행

    .

    WorkBench Query

    YOURLS 유저 생성

    (권한 부여)

    GRANT SELECT,INSERT,DELETE,CREATE,UPDATE,ALTER,DROP ON *.* TO 'yourls'@'Mysql 주소';

    CREATE USER 'yourls'@'%' IDENTIFIED BY '비밀번호';

    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'yourls'@'%' WITH GRANT OPTION;


    FLUSH PRIVILEGES;



    5. 한국어 파일 다운로드

    .

    명령어

    한국어 파일 다운로드

    cd /var/www/html/user/languages
    git clone https://github.com/at4am/YOURLS-ko_KR.git
    mv YOURLS-ko_KR/ko_KR.po ./
    mv YOURLS-ko_KR/ko_KR.mo ./

     



    6. config.php 설정

    .

    명령어

    config 파일 수정

    cd /var/www/html/user

    vi config.php

    config 파일 수정

    /** MySQL 데이터베이스 사용자 이름 *

    define( 'YOURLS_DB_USER', 'yourls' );


    /** MySQL 데이터베이스 비밀번호 */

    define( 'YOURLS_DB_PASS', 'yourls 비밀번호' );

     

    /** YOURLS의 데이터베이스 이름 */

    define( 'YOURLS_DB_NAME', 'yourls' );

     

    /** MySQL 호스트 이름.

    define( 'YOURLS_DB_HOST', 'localhost' );


    /** MySQL 테이블 접두사 *

    /define( 'YOURLS_DB_PREFIX', 'yourls_' ); 


    /** YOURLS 설치 URL -- all lowercase and with no trailing slash.

    define( 'YOURLS_SITE', '자신의 Site' );


    / ** YOURLS 언어

    define( 'YOURLS_LANG', 'ko_KR' );


    /** 서버 시간대 GMT 오프셋(한국의 경우 9) */

    define( 'YOURLS_HOURS_OFFSET', 9 );

     

    /** 쿠키를 암호화하는 데 사용되는 임의의 비밀 해시입니다. 당신은 그것을 기억하고 길고 복잡하게 만들 필요가 없습니다. 힌트 : http://yourls.org/cookie << 사이트에 들어가면 쿠키값 출력**/

    define( 'YOURLS_COOKIEKEY', '' );


    / ** 사이트에 액세스 할 수있는 사용자 이름과 비밀번호. 암호는 일반 텍스트 또는 암호화 된 해시로 **

    YOURLS는 이 파일의 일반 텍스트 비밀번호를 자동으로 암호화합니다. 

    ** 자세한 정보는 http://yourls.org/userpassword를 참조하십시오. * /

    $yourls_user_passwords = array(

            'yourls' => 'yourls 비밀번호',

            // 'username2' => 'password2',

            // You can have one or more 'login'=>'password' lines 

    );


     

     



    7. .htaccess 파일 생성 및 설정

    .

    명령어

    .htaccess 파일 생성

    cd /var/www/html
    touch .htaccess

    .htaccess 파일 수정

    # BEGIN YOURLS

    <IfModule mod_rewrite.c>

    RewriteEngine On

    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^.*$ /yourls-loader.php [L]

    </IfModule>

    # END YOURLS



    8. apache2.conf 수정

    .

    명령어

    apache2.conf 수정

    vi /etc/apache2/apache2.conf

     

    <Directory /var/www/>

            Options Indexes FollowSymLinks

            AllowOverride None → AllowOverride ALL

            Require all granted

    </Directory>


     



    9. Apache 재시작

    .

    명령어

    a2enmod 모듈 사용 가능 변경

    sudo a2enmod rewrite

    apache 재시작

    /etc/init.d/apache2 restart



    10. YOURLS 설치- http://자신의 도메인/admin/install.php

     

     



    - 정상적으로 설치 완료.

    - .htaccess 관련 문구는 이미 위에서 작성 완료 했기 때문에 신경쓰지 않아도 됩니다.

    - YOURLS 관리페이지 클릭

     



    - YOURLS 관리페이지

     



    설치 끝.

     

     

    원본URL과 ShortURL을 입력하여 사용해보세용 :)

     

    YOURLS API를 통하여 많은 개발들을 할 수 있을 것 같아,

    이번 프로젝트에는 YOURLS API를 통하여 URL을 줄일 수 있도록 솔루션을 관리하는(Server To Server) 프로젝트를 참여하게 되어서 공부한 내용들을 공유해보았습니다.

     

     

    그럼 이만 ! 

     

     

     

    반응형

    댓글

Designed by black7375.