centos gyazo nginx

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

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

yum updateしたら(?)なんかcentos6.6になってました。 なんで下記環境です。 [shell gutter="false"] [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) [/shell]

gitとrubyとnginxはインストール簡単だったので説明しないです。 (そのうち書くかも) 一応バージョンは下記。 [shell gutter="false"] [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) [/shell]

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

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

[shell gutter="false"] 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 [/shell]

nginxの設定を追加する。 /etc/nginx/conf.d/gyazo.conf [shell] 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;
}   

} [/shell]

特定のipアドレスだけで使用したい場合は

allow 118.xxx.xxx.xxx;

付近の#を消して118.xxx.xxx.xxxを許可ipを書いて下さい。

設定を読み込む [shell gutter="false"] service nginx reload [/shell]

下記コマンドで起動します。 [shell gutter="false"] cd /opt/gyazoserver/; rackup -p 8000 & [/shell]

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

[shell] [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 [/shell]

ちなみにこのサーバの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'

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