自分のサーバで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
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'
お疲れ様でした。 抜けているところがあったら指摘お願いします。