aokcub::Blog

/PIC|dsPIC|Perl/

Gitlab + Nginx + SSL + サブディレクトリ

で動かしたかったので設定した。結果。です。

https://example.com/gitlab みたいに。

GitlabをインストールするとNginxも一緒についてくるみたいですが,もともとサーバにはNginx入れててSSL対応もしていたので,それは使わずに。

いろいろ探ってたけど,公式のドキュメント見たらかなり楽にできました。

環境

既にNginx+SSLでwebページ運用中の前提で書きます。

GitLabインストール

こちらを参考に。1番の部分はすでに入っていたので2番からやりました。
Installation methods for GitLab | GitLab

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
sudo yum install -y gitlab-ce

設定

こちらを参考に。「Using a non-bundled web-server」の部分です。
NGINX settings - GitLab Documentation

Nginxユーザにgitlabのグループを与えてやって,Nginxから飛ばすようにすればよいらしい。(雑)

sudo usermod -G gitlab-www nginx

sudo vi /etc/gitlab/gitlab.rb

Gitlabのアドレス指定を書き換える。

external_url 'https://example.com/gitlab'

以下の部分を書き換えてバンドルのNginxを殺し,既存のNginxからアクセスを受け付けるようにする。

nginx['enable'] = false
web_server['external_users'] = ['nginx']

ページ中の3, 4番は同じサーバ内で動かす場合は不要っぽい。

nginx.conf設定

こちらを参考に。
web-server/nginx · master · GitLab.org / GitLab recipes · GitLab
もともとHSTS有効にしていたので,一番下のgitlab-omnibus-ssl-nginx.confを使いました。

upstream gitlab-workhorse {
  server unix:/var/opt/gitlab/gitlab-workhorse/socket fail_timeout=0;
}

Gitlab用にlocationディレクティブを追加

location /gitlab {
    root /opt/gitlab/embedded/service/gitlab-rails/public;

    proxy_http_version 1.1;
    client_max_body_size 0;
    gzip off;

    ## https://github.com/gitlabhq/gitlabhq/issues/694
    ## Some requests take more than 30 seconds.
    proxy_read_timeout      300;
    proxy_connect_timeout   300;
    proxy_redirect          off;

    proxy_set_header    Host                $http_host;
    proxy_set_header    X-Real-IP           $remote_addr;
    proxy_set_header    X-Forwarded-Ssl     on;
    proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
    proxy_set_header    X-Forwarded-Proto   $scheme;
    proxy_pass http://gitlab-workhorse;
}

起動

sudo gitlab-ctl reconfigure
sudo gitlab-ctl start

起動後数分は502が出るようです。 f:id:aokcub:20171105013757p:plain

めでたしめでたし。続きは明日にして寝る。 f:id:aokcub:20171105013837p:plain

めも:Getopt::Longで一つのオプションに複数の引数を受け取る

タイトルの日本語が怪しい。


最近ちょっとしたCG関係のツール作ってて,

perl ~/convert_layers.pl  -i input.exr -w 16394 8192 4096

みたいな形で,複数の数値受け取りたいということがありました。

perl ~/convert_layers.pl  -i input.exr -w 16394 -w 8192 -w 4096

ではなく。



CPAN読むと,こうすればできそう。

  use Getopt::Long qw/:config posix_default no_ignore_case gnu_compat bundling/

  ...

  my %opts = (
    input => 'temp.0001.exr',
    output => 'out',
    width => [],
  );
  GetOptions(\%opts, (
    "input|i=s",
    "output|o=s",
    "width|w=i{,}"
  ));

結果
f:id:aokcub:20160723001526p:plain
oh...?



結論。オプションからbundlingを消せ。

  use Getopt::Long qw/:config posix_default no_ignore_case gnu_compat/

  ...

オプションの意味理解せずに使ってたことバレちゃう。
f:id:aokcub:20160723001422p:plain
やったね!



以上

NDS#39 Niigata.pm tech talkにいってきた

こんにちは。2週間遅れですが、年越し前に書いちゃいます。

12月13日に開かれたNDS#39 Niigata.pm tech talkにいってきました。

NDS#39 Niigata.pm tech talk - connpass

2年ぶり...なのかな?

本当はちょっとした勉強をかねて空路で行くつもりでしたが、あいにくの悪天候で陸路切り替え。 案の定、乗る予定だった便は新潟空港へ着陸できず小牧へ引き返していました。乗っていたらたぶん懇親会しか参加できなかった。

f:id:aokcub:20141213100834j:plain

太平洋側はこんなにいい天気だったのに...

f:id:aokcub:20141213123443j:plain

トンネルを抜けたら...

f:id:aokcub:20141213130007j:plain

新潟の冬、懐かしいですね。

で、本題(にすべき)トーク内容なんですが、他の方のブログ参照でお願いします、というか、残念ながらあまり追いつけなかった;;;;

というわけでここから雑文。

実はこの2年くらいプログラミングから意識が遠ざかってました。就職してからの仕事が、無縁ってほどじゃないけどソフトウェアから離れたところになってて、そのせいかなんとなく。(そこでちゃんとやらない奴はダメだ、と言われるかもしれない。それはその通りだと思う) 今年CGばっかり作ってて、そのプロセス最適化のために細かいのを書いてたりはしたけど、完全にCGの人になってた。

でもNUTにいたころから新潟の勉強会コミュニティがすごく好きで、そこに行けばなにかトリガが出来るんじゃないかなーって思いながら参加しました。結果、まだ完全にはってわけじゃないですが、少しずつ気持ちが戻ってきた。

猫型さんやcivicさんをはじめ皆さん暖かく迎えてくれて本当によかった。本当に嬉しかった。ありがとうございます。 次回は「ちょっとこんなの作ってみた」くらいでもいいから話せるネタを持っていきたい。

何書きたかったんだ自分。うん、Niigata.pm/NDS最高ってことです。

というわけでこれから年越しコーディングします。皆さんよいお年を!

昔のCGIを動かしたいときの

メモ。

Niigata.LL用に過去に書いたCGIをPlack::CGI::WrapCGIで動かしたくて、

$ cpanm Plack その他いろいろ

psgiかいて(参考

# app.psgi
use Plack::Builder;
use Plack::App::WrapCGI;
use Plack::App::File;

builder {
    mount "/cgi_bschlib/index.cgi" => Plack::App::WrapCGI->new(script => './cgi_bschlib/index.cgi', execute => 1)->to_app;
};

じっこう

$ plackup -r
HTTP::Server::PSGI: Accepting connections at http://0:5000/
Can't locate URI/Escape.pm in @INC (@INC contains:/etc/perl/usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2/usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at /home/taka/pl/cgi_bschlib/index.cgi line 5.
BEGIN failed--compilation aborted at /home/taka/pl/cgi_bschlib/index.cgi line 5.

おおう? モジュールがないって言われてるけど、@INCがシステムPerlの5.14.2のほうになってる。 実行(したい)環境はplenvで入れた5.16.4。

なんでー?

ってちょっと悩んでたけど

動かしたいCGIのshebang

#!/usr/bin/perl

のままでした。

#!/usr/bin/env perl

にする。

疑問

本当に書き換える必要あったのだろうか...

いじょう。

見知らぬ人に自分の携帯番号を使われている件

1回目

ことの始まりは昨年11月下旬(だったと思う).携帯に何回か不在着信があって,ググったら大阪府堺市の電器店.無視しようかと思ったけど,それからも何回か着信来たので出た.そしたら間違い電話だったのでそれで終了.

2回目

それから1週間位した12月頭,また堺市ナンバーから着信.「またかよ」と思いつつ出たら,案の定1回目と同じ名前を呼ばれた.これも違いますと答えて終了.ちなみに楽器店だった.

3回目

2回目の着信から約2週間後の12月19日.今度は堺市内のホテルから不在着信.いい加減うざいのと,巻き込まれてる店舗・ホテル側にも申し訳ない感じがしたので,次にかかってきたときに(1) その番号は自分の番号であること,(2) 同様のことが既に2回あったこと をホテル側に話した.そしたら予想外の返事.

f:id:aokcub:20180218114112p:plain 注:"予約してない"って書いてるけどそうは言われたなかったです.訂正します.

4回目

前回,相手方はホテル側に掛けなおすように言ってるわけだし,掛かってこなかったら何かアクション起こしてそこで気づくだろう.なのでさすがにもうないだろう.

...と思ったら昨日2個所から不在着信があった.おいっ!片方は郵便局で,前回と同じように事情を説明. もう片方はググってもヒットしなかったのでどこかわからないけど,まあ同じように説明することになるんだろうなと.

いい加減気付け.てかわざとやってんじゃ...

1/20追記

この2件,番号違うだけで同じ郵便局でした.

5回目(2/1追記)

今度は電気工事のおじさんだった.今日工事の~とか言ってたから,このあとOさん宅に行くんだろうし,その時伝えてくれれば全部終わる,と思う.たぶん.

6回目?(2014/08/07)

本日、堺市の酒屋さんらしきところから不在着信ありました。

これはまさか...?

(実はその一分前に携帯からの不在着信があるけどさすがにこれは違うよね?)

まとめ

という,よくわからない事態進行中.

恐らく勘違いして使ってるんだろうけど何が原因で勘違いしてるのか,そしてなぜまだ勘違いに気づかないのか,解せぬ.

この番号は高専1年の時から使ってるので,もうすぐ9年になる.なので過去に相手方が使っていた番号を解約したにもかかわらずそのまま使っている,という可能性は考えにくい.

頼むから消費者金融とかで使わないでね.

あと,何か効果的な対処法あったら教えてくださいm( )m

2012年のまとめ

1. はじめに

あけましておめでとうございます

f:id:aokcub:20130103232516p:plain

今年もよろしくお願いします

2. 去年のまとめ

2.1 自分自身

  • 修士2年になった
  • 就職先決まった
  • ジャーナル論文rejectされた
  • 学会支部大会奨励賞もらった
  • 国際会議でスペイン行った
  • カブで自爆した(前輪さようなら)
  • 修論書いてる(イマココ!

2.2 つくったもの

2.2.1 PIC系

2.2.2 Perl

2.2.3 CG系

2.2.4 あれ?これだけ?

他にも何かやったかもしれないけど忘れた...

2.3 いろんなところに行った

  • Niigata.pm 2回 (決起集会、Tech Talk 1)
  • 長岡開発者勉強会 (NDS) 6回 (#24-#29)、スピーカー3回 (#24, #27, #29)
  • その他YAPC Asia、Niigata.rb、Niigata Developers Bounenkai (NDB)、etc...

各方面では大変お世話になりました。ありがとうございました。

2.4 Git使うようになった

まだあまり使えていないけども。修論もGitで管理してる。

3. 今年?

3.1 目標

特に無い。好きなよーに何か作って生きたい。

けど4月からは働くことになるので、その辺の自覚は持って生きたい。

名古屋生活楽しみです。

まあまずは修論を片付けないとね。

いじょう