centos gyazo nginx

Pocket

自分のサーバでgyazoを使える様にしました。

以前からできることは知っていたのですが1回やろうとして挫折。

yum updateしたら(?)なんかcentos6.6になってました。
なんで下記環境です。

[astel@localhost ~]$ uname -a
Linux localhost.localdomain 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[astel@localhost ~]$ cat /etc/redhat-release 
CentOS release 6.6 (Final)

gitとrubyとnginxはインストール簡単だったので説明しないです。
(そのうち書くかも)
一応バージョンは下記。

[astel@localhost ~]$ ruby --version
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]
[astel@localhost ~]$ nginx -V
nginx version: nginx/1.6.2
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) 

{{ server_name_gyazo }} には自分のサーバのドメイン名をいれてください。
{{ user }}には起動させるユーザ名をいれてください。(でいいのかな

基本的に下記コマンドは一般ユーザでsudo付けて実行していると思って下さい。

mkdir /opt/gyazoserver
cd /opt/gyazoserver
git clone https://github.com/rimtty/gyazoserver.git
mkdir /opt/gyazoserver/db
mkdir /opt/gyazo
su - root -c "gem install rack"
su - root -c "gem install sinatra"
su - root -c "gem install passenger"
sed -i -e "s/hoge.com/{{ server_name_gyazo }}/" /opt/gyazoserver/gyazo.rb
su - root -c "cd /opt/gyazoserver/; bundler"
chown -R {{ user }}:{{ user }} /opt/gyazo
chown -R {{ user }}:{{ user }} /opt/gyazoserver

nginxの設定を追加する。
/etc/nginx/conf.d/gyazo.conf

upstream gyazo {    
    server 127.0.0.1:8000;
}

server {
    listen       80; 
    server_name  {{ server_name_gyazo }}; 

    charset UTF-8;
    charset_types text/css text/plain;

    client_max_body_size 30M;

    send_timeout            300;
    proxy_connect_timeout   300;
    proxy_send_timeout      300;
    proxy_read_timeout      300;

    access_log /var/log/nginx/gya_access_log main;
    error_log  /var/log/nginx/gya_error_log  error;

    root /opt/gyazo;

    location / { 
#        allow   127.0.0.1;
#        allow   118.xxx.xxx.xxx;
#        deny    all;
        proxy_ignore_headers Cache-Control;
        proxy_cache_valid 200 3d; 
        proxy_cache_valid 404 10m;
    }   

    location /upload {
        proxy_pass http://gyazo;
        break;
    }   
}

特定のipアドレスだけで使用したい場合は
# allow 118.xxx.xxx.xxx;
付近の#を消して118.xxx.xxx.xxxを許可ipを書いて下さい。

設定を読み込む

service nginx reload

下記コマンドで起動します。

cd /opt/gyazoserver/; rackup -p 8000 &

停止するときはkillで止めます。
ポートがもうわかってるのでlsofコマンドで調べます。(入ってなかったらyum install lsofで

[astel@localhost ~]$ lsof -i:8000
COMMAND   PID  USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
rackup  19486 astel    7u  IPv4 2158664      0t0  TCP *:irdmi (LISTEN)
[astel@localhost ~]$ kill 19466

ちなみにこのサーバのgyazoはこちら
http://gyazo.astail.net

自由に使っていいですが勝手に保存期間は決めてないので
なんか量多くなってきたら古い順に削除していく予定です。
300Gくらいあったし結構大丈夫だと思うけど。

クライアントの方はgyazo.astail.netに書いてあるまんまですが下記設定をしてください。

windows

http://d.hatena.ne.jp/nvsofts/20090321/1237619040
からgyazowin+をダウンロード。
使い方はほぼ同じだが詳細はreadme.txtを参照。
gyazowin+.iniをメモ長などで開き下記に書き換える。
[gyazowin+]
upload_server=gyazo.astail.net
upload_path=/upload

mac

https://gyazo.com/jaからgyazoをインストール。 ターミナルを開いて
vi /Applications/Gyazo.app/Contents/Resources/script
50行目付近を以下に書き換える。

HOST = ‘gyazo.com’
CGI = ‘/upload.cgi’
から下記に書き換えます。
HOST = ‘サーバのドメイン名(gyazo.astail.net)’
CGI = ‘/upload’

お疲れ様でした。
抜けているところがあったら指摘お願いします。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください