-
개인 도메인 이용 단축 URL 만들기 (YOURLS 이용)(>ω^)카테고리 없음 2021. 2. 2. 14:01
전에는 ushort.io에서 개인 도메인을 통한 단축 URL만들기에 한국 글을 썼었는데 (xeriars.com/246)최근에 오라클 클라우드와 GCP (Google Cloud Platform) VM 인스턴스를 통한 평생무료서버가 여러번 개 생겨서뭘 설치할까 고민하다가 설치형 단축 URL 애플리케이션(오픈소스)으로 유명한 YOURLS를 설치하기로 했다.일단 기본적으로 GCP에 VM 인스턴스 생성하는 방법은 인터넷에 널려있으니 이건 넘어가도록하고,APM 설치 후 YOURLS(Your Own URL Shortener)를 설치해서 운영하는 방법이다.다양한 리눅스 배포판이 들어가있지만 무난한 우분투 리눅스 20.04.01 LTS 기준으로 설명한다.
일단 GCP 생성 후 SSH로 접속후에는 APM부터 설치해주어야 한다. 다음의 명령을 입력한다.MariaDB 대신 mysql을 사용해도 되는데, 개량판인 MariaDB가 생각해봤더니 나은 먹는것이 같아 이것으로 설치했다.다음으로는 git과 nano를 설치해준다. nano 대신 다른 편집기를 사용해도 된다만, 개인적으론 이게 생각해봤더니 편했다.여기까지 설치했으면 일단 기본 준비는 끝.이제 YOURLS를 다운로드하고 설치할 차례다./tmp에 YOURLS를 다운로드 받는다. git에 올라온 최신버전은 1.7.10이나 어쩐지 공지에는 생활패턴 내용이 없고 공식적인 최신버전은 여전히 1.7.9이므로 일단 저것으로 진행한다.
압축까지 풀었으면 apache2 웹서버 경로로 파일을 이동시켜 줄 차례.YOURLS-1.7.9 폴더를 urls로 이름을 바꿔 이동하나, 이건 자유롭게 해줘도 무방하다.이제 데이터베이스를 생성할 차례.데이터 베이스에 루트계정으로 접속한다. 아직은 루트계정에 암호가 설정되지 않았을테니 암호를 물어보면 엔터를 친다.만일 MySQL 루트 계정 패스워드를 변경하고 싶다면 다음과 같이 입력한다.설정파일을 만들기 전에, 한글패치를 만드신 대다수 있으니 한글패치를 적용한다.이제 YOURLS 설정파일을 추가로만들어 차례다. 다음과 같이 입력한다.자신있으면 mv로 안된다해도 무방하긴 한데, 그래도 혹시 몰라 cp로 했다.
nano로 config.php를 열어주면 다양한 설정파일이 나오는데, 생활패턴 글에서는 필요없는 것만 세팅한다.상세 설명은 공식홈페이지의 내용을 참조 (http://yourls.org/#Config)이전부터 입력해준 후에는 ctrl + o 예를들어서 눌러 저장해주고 ctrl + x로 빠져나온다.위의 설정파일에서 지정한 로그인 아이디, 패스워드 중요하다고생각합니다 패스워드는 훗날에는 암호화가 되므로 chmod를 통해 읽기, 쓰기 권한을 지정해주어야 한다.이제 .htaccess를 생성해줄 차례다. 아래 내용을 넣어주고 저장해주면 끝.(선택사항) 아까 config.php에서 https로 설정해주었으므로 SSL 인증서 발급이 필요하다.certbot을 이용하면 간단하게 해결 가능한 부분이므로 생활패턴 부분을 같이 진행한다.
DNS에서 일단 서버 IP를 A record로 넣어주고 proxy 연결은 풀어준다. 인증서 발급 옛날에는 proxy로 연결되면 클라우드 플레어 CDN으로 연결되어 정상적인 IP를 찾지 못하므로 발급 후 proxy로 해주면 된다.이제 certbot을 설치한다.
중간에 물어보는건 메일주소, 약관동의, 메일링리스트 가입동의, 도메인 입력까지 4가지이므로각각 입맛에 맞춰 입력해주면 된다.
이런식으로 에러가 탁월한 상태면 DNS 설정이 제대로 안된 상태이거나, DNS 설정 후 여태껏 반영이 안된 상태이므로조금 기다렸다가 다시 인증서 발급을 시도하면 된다.인증서 발급이 완료되면 ssl, rewrite는 자동으로 활성화 되므로 a2enmod로 활성화 시작해야할지도 필요는 없다.
인증서를 생성하면서 도메인에 맞는 설정파일이 생성, 등록되었으므로 이것을 기준으로 수정하면 된다.기본으로 생성되는건 000-default-le-ssl.conf이므로 생활패턴 파일을 수정한다.혹시 맘에 들지 않으면 a2dissite로 등록 해제 후 *.conf 이름을 변경해준 뒤 다시 a2ensite로 등록.
*.conf 예를들어서 nano로 열어 경로를 변경해준다. 빨간 박스처럼 수정해주면 된다.보관하도록 후 다시 빠져나온다.이제 끝이 보이긴 하는데 아직껏 하나 생각해봤더니 수정해줄 파일이 남아있다.우분투 기준이므로 다른 버전은 httpd.conf를 수정해주면 된다.
172번째줄 요쯤에서 AllowOverride None을 ALL로 변경해준다.이것이 수정되지 않으면 URL이 생성되도 접속이 안되는 문제가 생긴다.이제 아파치를 재시작해준다.이제 https://설정한도메인/admin/install.php 새롭게 접속한다.
"YOURLS 설치하기" 클릭
.htaccess 파일이 에러가 나는 경우가 있는데, 사전부터 생성해서 그런것이므로 아무생각없이 문제는 없다.설치가 완료되었으므로 YOURLS 관리페이지로 접속해보자.
아까 config.php에서 설정한 아이디와 비밀번호를 입력하고 로그인한다.
생활패턴 화면까지 보인다면 설치가 완료 된 것이다. 이제 테스트를 해보자.구글에서 생활패턴 블로그의 도메인인 xeriars를 검색한 url은 다음과 같다.www.google.com/search?newwindow=1&q=xeriars.com&nfpr=1&sa=X&ved=2ahUKEwja9sHBmofsAhWJd94KHbCkATUQvgUoAXoECAsQKg&biw=1536&bih=754생활패턴 url을 입력후 "URL" 단축하기를 클릭.
생성된 URL은 cy.ci/EV5D 상황이며 Random ShortURLs Settings 플러그인을 사용하여4자리로 생성되도록 했기 때문 에 이런 형식으로 생성되었다.(*서버 보안 강화 차원에서 해외 IP로는 접속이 안되게 막아둔 상태이다.)생성 전문가 "사용자 정의 단축 URL"에 원하는 단어를 넣으면 https://도메인/xxxx 형식으로도 생성이 가능하다.여기까지가 끝이면 좋겠지만, 현금으로 결제 상태에서는 https://사용자도메인 보편적으로 접속하면 아래와 같이 나온다.
이렇게 된 이유는 index.html이나 index.php가 없기 때문인데,아까 아파치 설정파일에서 루트경로를 수정해주어서 그렇다.기본적으로는 /var/www/html이 루트경로이나 아까 설정해준 것은 /var/www/html/urls 였으니보관하도록 파일 목록을 예로 index.html이나 index.php가 없는 것을 파악해두어야 사용할수록 있다.로그인 경로는 /var/www/html/urls/admin/index.php 이므로 이것을 심볼릭 링크로 걸어주면 된다.심볼릭 링크는 윈도우로 치면 단축아이콘 정도로 생각하면 된다.하는김에 robots.txt 그중에도 설정해줘서 웹 크롤러가 /admin 마칠때까지 크롤링 하는걸 막아준다.아파치를 재시작해주고 늘어나고있으면서 https://사용자도메인 보편적으로 접속했을때이제 보관하도록 보기 싫은 파일 탐색창 대신 로그인 화면이 바로 뜨게 된다.이렇게 yourls 설치를 통한 개인도메인 이용하실 단축 URL글은 끝이 났다.아무래도 설치형이다보니 과거에는 소개했던 ushort.io 보단 압도적으로 복잡하지만, 일단 무료인 점과한번쯤은 고생해서 설치를 해두면, 구글에서 서비스를 종료하지 않다면 꾸준한 계속적으로 이용이 가능한게 장점이다.혹은 광고에서 자유로운 점과 도메인도 맘대로 바꿔줄 사용할수록 있는 것도 장점으로 작용한다.리눅스를 첨 접하거나 복잡해서 어려울 있을지도 들어가있지만 차근차근 따라하다보면 그렇게 어려운건 아니니필요없는 사람들에게 도움이 평가된 글이었으면 좋겠다.