Gistub をインストールしてみた
このところ「インストールしてみた」的な事ばかり書いていて、あまり深く突っ込んでない感じがなんだか情けないと自分でも思いますが、懲りずに今回もインストールしてみた系です。
今回は こちら の記事で紹介されていた、Rails 製のオープンソースの Gist クローン、Gistub をインストールしてみました。
試した環境は CentOS 6.3(x86_64) で以下が既にインストール済みとなっていました。
まずはアプリケーション配置ディレクトリと実行グループ・ユーザを作成します。
# groupadd appusers # mkdir /var/apps # chgrp -R appusers /var/apps # chmod -R g+rwx /var/apps # useradd -G appusers -c 'Gistub' -d /var/empty/gistub gistub
作成した gistub ユーザになり、Gistub を clone します。
# su - gistub $ cd /var/apps $ git clone git://github.com/seratch/gistub.git -b master $ cd gistub/
データベースとして MySQL を使いたいので Gemfile を編集します。
$ vi Gemfile
mysql2 を追加。
gem 'mysql2'
Gemfile.lock が存在するので、以下のようにして gem をインストールします。
$ bundle install --path=vendor/bundle --without sqlite test server --no-deployment
database.yml を編集します。
$ vi config/database.yml
sqlite 用の設定になっているので、以下のように MySQL 用の設定に書き換えます。
ここでは db:create でデータベースの作成まで行っちゃいたかったので DB 作成権限を持つユーザを指定しました。
当然ですがパスワードは実際には適切な強度のものを使用してください。
production: adapter: mysql2 encoding: utf8 reconnect: false database: gistub_production pool: 5 username: root password: password host: 127.0.0.1
保存したら以下を実行してデータベース、テーブルを作成します。
$ RAILS_ENV=production bundle exec rake db:create $ RAILS_ENV=production bundle exec rake db:migrate
assets:precompile も実行しておきます。
$ RAILS_ENV=production bundle exec rake assets:precompile
root ユーザになり、 Apache の DocumentRoot 上にシンボリックリンクを作成。
$ su -
# ln -s /var/apps/gistub/public /var/www/html/gistub
httpd.conf を編集します。
# vi /etc/httpd/conf/httpd.conf
gistub の設定を追加します。
<Directory "/var/www/html"> RailsBaseURI /gistub Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
Apache を再起動します。
# service httpd restart
これでブラウザから http://yourserver/gistub で Gistub が表示されるはずです。
個人的にログイン認証に OmniAuth を使ってて Google アカウントのみというのは、社内で使うのにはイマイチかな、と思いました。
出来れば GitLab の DB そのまま見て認証できるとありがたいんですけどね。
せめて独自ユーザでの認証と切り替えられるようにしてあれば・・・。
その辺り必要なら改造してみるしかないのかな。