2018年8月20日月曜日

snippet の ローカルサーバー(snibox) を動かしてみる。

オープンソースを毎日紹介 MOONGIFT は時々拝見していて、 自分にも出来そうかも、という時はチャレンジしてりするが、まあ大概、諦めることになる。

ただ、 先日、Snibox - 自分で立てるスニペットサーバ MOONGIFT という記事がアップされていて、 こいつは少し頑張ってみた。

Python のスクリプを少しずつ書いたりしているが、何度も調べ直してテストすることが多くて、 試しの小さいファイルが散乱して、再利用するのも上手くゆかず、無駄なゴミファイルが増加している。 gblobal で gtags の対象にはしているが、使いこなせてない。 エディタのsnippetsを使う以前の問題。 unittest とかが使えれば、ゴミファイルが増えないのかもしれないが。

こんな状況で、 Snibox の画面をみてしまって、 使えれば嬉しいかも、と思ってしまった。

snippets というより、サンプルコードを整理する道具というイメージ。 それなりになってきた項目は、エディタのsnippets に登録(大概登録済みなのだと思うが)して使えればと思う。

やった事

  • rbenv のインスト
    • 今まで ruby なんて使ったことがない。
    • Debian stretch の ruby は、 2.3.3 でダメ。
    • Debian buster は 2.5.1 なので使えるが、このためだけに、testing に アップグレードはできない。
    • rbenv と ruby-build のインスト
      $ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
      $ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
  • path の設定(私の場合は .profile)
    if [ -d "$HOME/.rbenv" ] ; then
      PATH="$HOME/.rbenv/bin:$PATH"
      eval "$(~/.rbenv/bin/rbenv init -)"
    fi
  • ruby のインスト
    $ rbenv install 2.5.1
    $ rbenv rehash
    $ rbevn global 2.5.1
    $ ruby -v
      ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
  • Bundlerのインストール(gemでのパッケージ管理ツール)
    $ gem install bundler
    $ bundler -v
      Bundler version 1.16.3
  • Rails の インスト(Ruby on Rails入門 - Qiita を参考)
    $ gem install rails
  • snibox の準備

    snibox の ドキュメントに従って作業。

    $ cd project
    $ git clone https://github.com/snibox/snibox/
    $ cd snibox
    $ bundle install で必要なものをインスト
    $ rake secret
    
    最後の キーを記録
    
    $ cp .env.production.sample .env
    $ vi .env
    
    キーとデータベースを修正。
    
      SECRET_KEY_BASE=*********************
    
      DB_NAME=snibox_1st
      DB_USER=snibox_1st
      DB_PASS=snibox_1st
      DB_HOST=localhost
  • database 側の準備(Ruby on Railsの開発環境でPostgreSQLを利用する を参考に)
    Accountの設定
    $ sudo -u postgres psql
    postgres=# create role snibox_2nd with createdb login password 'snibox_2nd';
    postgres=# \q
    
    snibox_2nd : Userとpass
    
  • snibox の初期化と rails server の実行
    RAILS_ENV=production ./bin/rake db:setup
    RAILS_ENV=production ./bin/rake assets:precompile
    
    RAILS_ENV=production ./bin/rails s
  • ローカルサーバー(localhost:3000/)にアクセスしてサインアップ

    取り敢えず、動いた。

  • apache で動かしたいけど。。。

    以下を参考にしたけど、rbenv を使っているので、システムワイドでは動かないのだろう。

    スクリプトを登録しておいて、起動できるようにしておく。遠い将来、出来るようになればと思う次第。

数回のチャレンジで動くようになったので、 上記だけで、動くのかは不確定。

まあ、 私のような初学者でも、使い道がありそうに思うので、 少しづつ書き溜めてみよう。

後は、データベースのバックアップかな。

0 件のコメント:

コメントを投稿

麻のボディタオル

2018年の秋(まだ、自転車を封印してない)、 近江上布伝統産業会館 で、興味からボディタオルを購入した。 お、よかった。: 自然派パン工房 ふるさとの道 ほぼ毎日風呂で使ってきて、ついに寿命がきたようだ。 お店の方に、「糸が痩せて破れてくる」まで使える、と...