데이터 사이언스에 대한 호기심으로 컴퓨터의 길로 들어선지 어언 2년차가 되어가는 시기에 뒤를 돌아보니 기억나는 것은 많지 않아.. 너무 아쉬워서 더 까먹기 전에 블로그로 소소하게 기록하고 공유해보고자 한다.
첫 번째 글로 블로그 제작기를 다룰 것이고, 그 범위는 현재 사용중인 Window10 환경에서 로컬환경구축, 깃페이지 호스팅, 소소한 커스터마이징, 댓글 등을 시도해볼 생각이다.
환경: Window10, Windows Subsystem for Linux(Ubuntu), Ruby 2.5, Jekyll 3.8.4
Jekyll은 무엇인가?
“Jekyll 은 아주 심플하고 블로그 지향적인 정적 사이트 생성기입니다.” 라고 한다.
정적 사이트는 동적 사이트와는 반대되는 말이며, 쉽게 말해 메모장에 적힌 일기장을 한 장 한 장 읽어온다고 생각하면 쉽다. (URL뒤에 ?categ=mv&page=12 같은 파라메터가 없다던가..) 조금 더 자세히..
Jekyll은 최신버전은 아니지만 한글로 작성된 훌륭한 설명서를 제공하고 있다.
- 사이트에서 Jekyll은 단순한 Ruby Gem 중의 하나라고 설명하고 있는데 Ruby on Rails는 사실 잘 모르기에..
- 찾아보면 “Gem은 스템에서 루비 소프트웨어 패키지를 쉽게 다운로드, 설치, 관리하도록 합니다.“ 라고 설명하고 있다. Java에서 Maven 생각하면 될 것 같기도 하다..?
Jekyll로 Git블로그를 만드는 방법에는 본인이 하는 방법 말고도 Jekyll theme가 저장된 Git을 클론하는 방식으로 만들 수도 있다. (이게 더 쉽다고들 한다..) 여기서는 WSL(Windows Subsystem for Linux) Ubuntu16.04 LTS 위에 Ruby, Jekyll을 설치하고, 블로그를 구축한 다음 github-page에 배포 할 것이다.
Ubuntu 설치
윈도우 10 레드스톤1 이후부터는 Windows Subsystem for Linux 기능을 사용할 수 있다. 이전에는 멀티부팅이나 VM웨어 등으로 윈도우 환경에서 리눅스를 사용하곤 했었는데, 조금 더 간편하게 샌드박스? 느낌으로 리눅스를 윈도우 환경에서 사용할 수 있게 되었다.
윈도우 블로그에서 밝힌 바에 따르면, Windows Subsystem for Linux는 아파치 HTTP 서버나 nginx 등을 이용하는 프로덕션 서비스가 아니라 리눅스 환경에서의 빌드 및 테스트 작업을 보다 용이하게 만들기 위해 개발되었다고 한다
먼저. 윈도우 개발자 모드를 활성화 시켜준다.
시작 > 시스템 설정(개발자용 설정) > 개발자 기능 사용 에서 개발자 모드를 활성화 시킨다.
약간의 로딩과 함께 활성화 완료되면 재부팅을 해준다.
시작 > Windows 기능 켜기/끄기 에서
아래 그림과 같이 Linux용 하위 Windows 하위 시스템 체크 해준다.
이제 Linux를 설치해주면 된다. MicroSoft Store 에서 직접 설치하거나 PowerShell, cmd 에서 명령어를 통해 설치할 수 있다. 여기서는 Store에서 설치해보고자 한다.
시작 > Microsoft Store 접속 > Linux 검색 한다.
아래와 같은 검색 결과중 원하는 것을 설치해주면 된다. 여기서는 Ubuntu16.04 LTS 버전을 설치한다.
설치 완료후 실행하면 사용자 아이디와 비밀번호를 지정해야 한다. 해준다..
혹시나 WslRegisterDistribution failed with error: 0x8007019e 같은 에러가 난다면 Windows 기능 켜기/끄기 에서 Linux용 하위 Windows 하위 시스템을 체크했는지, 또는 체크 후 재부팅을 해줬었나 기억해보자.. 본인은 안해줬었… 허허 혹시 다른 에러라면 구글링 고고고
Ruby 설치
Ubuntu 커맨드 창에서 실행한다.
sudo apt-get update && sudo apt-get upgrade
저장소 목록과 패키지를 업데이트 한다.
sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev
Ruby 관련 의존성 패키지들을 설치 해준다.
Ruby 버전 관리를 해주는 rbenv를 설치한다. rbenv는 현재 가장 많이 사용되는 Ruby 버전 관리자다.
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
먼저, rbenv Git 을 복제한다.
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
환경변수를 추가하고, 쉘에 rbenv를 설정해준다.
. .bashrc
Ubuntu 터미널을 다시 열거나 위 코드를 실행하여 변경사항을 적용한다.
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
위 코드를 실행하여 rbenv가 적절히 설정되었는지 확인한다.
Checking for `rbenv' in PATH: /home/dskim/.rbenv/bin/rbenv
Checking for rbenv shims in PATH: OK
Checking `rbenv install' support: not found
Unless you plan to add Ruby versions manually, you should install ruby-build.
Please refer to https://github.com/rbenv/ruby-build#installation
Counting installed Ruby versions: none
There aren't any Ruby versions installed under `/home/dskim/.rbenv/versions'.
You can install Ruby versions like so: rbenv install 2.2.4
Checking RubyGems settings: OK
Auditing installed plugins: OK
rbenv install 을 찾을수 없다고 한다..
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
위 코드를 실행하여 ruby-build를 설정해준다.
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
다시 위 코드를 실행하여 rbenv가 적절히 설정되었는지 확인한다.
Checking for `rbenv' in PATH: /home/dskim/.rbenv/bin/rbenv
Checking for rbenv shims in PATH: OK
Checking `rbenv install' support: /home/dskim/.rbenv/plugins/ruby-build/bin/rbenv-install (ruby-build 20181019-2-gd49b8a1)
Counting installed Ruby versions: none
There aren't any Ruby versions installed under `/home/dskim/.rbenv/versions'.
You can install Ruby versions like so: rbenv install 2.2.4
Checking RubyGems settings: OK
Auditing installed plugins: OK
잘 된듯 하다. 이제 rbenv를 통해 ruby를 설치할 수 있다.
rbenv install -l
설치할 수 있는 버전을 확인한다.
rbenv install 2.5.0
현재 기준 최신버전은 2.6.0이지만 뭔가 무서우니 2.5.0으로 설치하자.. (현재 기준 Ruby 최신 릴리즈 버전은 2.5.3라고 한다.)
ruby -v
설치가 잘 됐는지 확인해보자.
rbenv: ruby: command not found
The `ruby' command exists in these Ruby versions:
2.5.0
엥 뭔가 2.5.0이 설치된것 같은데 뭐지? 할 수 있겠지만 rbenv는 여러 버전의 Ruby를 관리해주기 때문에 2.5.0 버전의 Ruby를 사용할 것이다. 라고 명시를 해주어야 한다.
.ruby-version파일 또는 RBENV_VERSION환경 변수 를 설정 할 수도 있고,
rbenv global 2.5.0
위 코드로 설정할 수도 있다.
ruby -v
다시 확인해보자
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]
잘 뜬다!
이제 Ruby 설치는 성공적으로 끝났다. 다음으로 jekyll을 설치해보자!
Jekyll 설치
위에서 Jekyll은 RubyGems(Ruby 패키지)중에 하나라고 했었다. 알다시피 여러 패키지들을 사용하다보면 버전 호환의 문제가 발생하기 쉽다. 이러한 문제를 해결하기 위해 bundler라는 버전 관리 패키지를 설치해주자.
gem install bundler
bundler 설치
gem install jekyll
jekyll 설치
jekyll new 블로그이름
생성하고자 하는 블로그 이름을 new 뒤에 적어서 위 코드를 실행하면 새로운 Jekyll 사이트가 생성된다. 본인은 test라는 이름으로 생성하였다.(jekyll new test)
cd test
ls -l
해당 디렉토리로 이동해서 내용을 살펴보자
total 12
-rw-r--r-- 1 dskim dskim 398 Oct 23 20:13 404.html
-rw-r--r-- 1 dskim dskim 539 Oct 23 20:13 about.md
-rw-r--r-- 1 dskim dskim 1652 Oct 23 20:13 _config.yml
-rw-rw-rw- 1 dskim dskim 1039 Oct 23 20:13 Gemfile
-rw-rw-rw- 1 dskim dskim 1693 Oct 23 20:13 Gemfile.lock
-rw-r--r-- 1 dskim dskim 175 Oct 23 20:13 index.md
drwxrwxrwx 1 dskim dskim 4096 Oct 23 20:13 _posts
해당 내용에 대한 설명은 다음 포스팅에서 다루기로 하고
bundle exec jekyll serve
위 코드를 실행해보자.
Configuration file: /home/dskim/test1/_config.yml
Source: /home/dskim/test1
Destination: /home/dskim/test1/_site
Incremental build: disabled. Enable with --incremental
Generating...
Jekyll Feed: Generating feed for posts
done in 0.713 seconds.
Auto-regeneration may not work on some Windows versions.
Please see: https://github.com/Microsoft/BashOnWindows/issues/216
If it does not work, please upgrade Bash on Windows or run Jekyll with --no-watch.
Auto-regeneration: enabled for '/home/dskim/test1'
Server address: http://127.0.0.1:4000/
Server running... press ctrl-c to stop.
위 처럼 결과가 출력되면 성공적으로 나의 블로그가 만들어졌고 서버에서 구동중인 것이다.
이제 Server address로 접속해보자.
위 사진과 같은 페이지가 뜬다면 성공!
다음 포스팅에서는 jekyll블로그를 꾸미고, github-page에 호스팅 하는법 등을 알아보자
여기까지 따라와주신 분들 모두 수고하셨습니다.
참고
Jekyll 공식 사이트 : https://jekyllrb-ko.github.io
Rbenv Git : https://github.com/rbenv/rbenv
WSL설치 : https://docs.microsoft.com/ko-kr/windows/wsl/install-win10