0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ローカル環境で gyazo サーバを立ち上げる

Last updated at Posted at 2022-02-25

はじめに

画面キャプチャを簡単に取得して、それを他者と共有するのに Gyazo を利用するのは便利だと思います。しかしキャプチャされる画像が自分の預かり知らないサーバにアップロードされるので、キャプチャした画像を他者と共有しないのであれば、サーバをローカルで立ち上げたいと考えることもあるかもしれません。ここではその方法について紹介したいと思います。

正直なところ、単なる画面キャプチャなので、OS の機能でやってしまえばいいじゃんという話でもありますが、それはそれとして。

情報漏えい防止のために、社内 Gyazo サーバを立ち上げたい場合にも同じ方法が使えると思います。

環境

  • Windows 8.1(10以降でもできると思います。単に環境がないだけです)
  • Visual Studio 2019 Community
  • Oracle VM VirtualBox
  • Ubuntu-20.04.3

Gyazowin をビルドし直す必要がありますので、Visual Studio Community を Windows にインストールしておきます。私の環境は Windows 8.1 でしたので、最新版の 2022 は利用できませんでした。そのため 2019 をインストールしています。

VirtualBox 内で Ubuntu が動いていて、docker が利用可能な状態にセットアップされていることが前提となります。

手順

設定内容

項目
ドメイン名 gyazo.local
待受ポート 8888

サーバの準備

gyazo サーバの起動

gyazoサーバのDocker環境が用意されていますので、こちらを利用させてもらいます。

docker run -d --name gyazo -p 8888:80 -e GYAZO_HOST=http://gyazo.local nekoya/gyazo

nginx の設定

gyazo サーバを 80 番ポートで待ち受ければ楽なのですが、その場合 Ubuntu で他の web サーバを立ち上げた時に不便なので、nginx で gyazo.local 宛に来たものをポート 8888 番に転送するようにします。

sudo vi /etc/nginx/sites-available/gyazo
/etc/nginx/sites-available/gyazo
server {
    listen 80;
    server_name upload.gyazo.local;
    access_log  /var/log/nginx/gyazo.log;
    location ~ / {
        proxy_pass http://localhost:8888;
    }
}

server {
    listen 80;
    server_name gyazo.local;
    access_log  /var/log/nginx/gyazo.log;
    location ~ / {
        proxy_pass http://localhost:8888;
    }
}
sudo ln -s /etc/nginx/sites-available/gyazo /etc/nginx/sites-enabled/gyazo
sudo systemctl restart nginx

gyazo クライアントの準備

1. Visual Studio Community を起動
2. 新しいプロジェクトの作成 を選択
3. プロジェクト名を gyazowin として作成
4. Gyazowin の入手
5. %HOMEPATH%\source\repos\gyazowin\gyazowin に gyazowin フォルダの中身をすべてコピー
6. gyazowin.cpp の編集
サーバのドメイン名とCGIファイルのパス名を以下のように変更します。

	const TCHAR* UPLOAD_SERVER	= _T("upload.gyazo.local");
	const TCHAR* UPLOAD_PATH	= _T("/gyazo/upload.cgi");

7. ビルド→ソリューションのビルドを選択してビルド

VirtualBox の設定変更

設定→ネットワークから高度をクリックして、ポートフォワーディングボタンを押します。以下のようにルールを追加して OK を押下します。ゲストIPはお使いのVMのIPアドレスを記載してください。

image.png

8. hostsファイルの編集
Windowメニューを右クリックして コマンドプロンプト(管理者) を選択します。コマンドプロンプトから notepad を起動して hosts ファイルを開きます。

notepad drivers\etc\hosts

以下を記入して保存します。

hosts
127.0.0.1	gyazo.local     upload.gyazo.local

テスト

%HOMEPATH%\source\repos\gyazowin\gyazowin\Debub\gyazowin.exe をダブルクリックしてみましょう。以下のように http://gyazo.local/data/012356.png のようなURLで表示されれば成功です。

image.png

参考サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?