KITA Eng.

北海道でサーバー技術者として歩み出したひとが綴るblog。

Django Class-based views でCSVダウンロードページの実装ではまったこと

公式ドキュメント Outputting CSV with Django | Django documentation | Django とか、GoDjangoの記事 Download CSV files via CSVResponseMixin - GoDjango とかあるからさくっと行けるだろうと思ったら、意外な落とし穴があった。 ダウンロードされるCSV…

IDCFクラウドのオブジェクトストレージをdjango-storagesから使ってみた。

最近はオブジェクトストレージをうまく使って、静的ファイルを配信するのが大きな潮流な模様。 静的ファイルのサイズが増え続けたり、ミニマムスタートでサービス立てたり、アプリケーションサーバー側をステートレスで必要に応じてスケーリングしたり... オ…

IDCFクラウドに300円サーバーを作ってみた。

クラウドサーバーがあっちこっちにあって、どこがいいのだか全く謎ですが、ワンコイン(500円)という最小価格の安さでプッシュしている感の強いIDCFクラウドが目にとまりました。 とりあえず仮想マシン作成のテンプレートを眺めていたら、Ubuntu16.04がなく…

PostfixAdmin的なものを作ってみた。

1台のメールサーバーで複数ドメイン運用したり、システムアカウントと連動せずにメールアカウント運用したいとかのときに、便利なPostfixAdmin( Postfix Admin - Web based administration interface)さん。 わたくしもお世話になっておりましたが、MySQLやP…

0. Raspberry Pi3 の初期セットアップ

Raspbery Pi3のセットアップの記事を探すとさくっと出てくるのはディスプレイを繋いで、マウスとキーボード繋いで式だったりしますが... 「HDMIの繋がるディスプレイなんてないよ!」 でも大丈夫!僕らにはSSHがあるじゃないか。 「有線LANとか繋ぐのだるく…

Raspberry Pi3 で子どもたちと「遊ぶ」までの道のり(とりあえず自分で遊んでみる編)

前々から気になっていたRaspberry Piですが、なんだかんだとウダウダしていて、なかなかポチッとなしてなかったのですが、実験やらプログラミングやら電子工作やらして子どもらと遊ぶことになったので、ついに購入。 子どもらとどうやって遊ぶかも含めて、ま…

Apache 2.4 + MariaDB 5.5 でmod_dbd を使ったDigest認証の設定をしてみた。

使いどころがあるのか謎だけど、Apacheの認証系でもDB連携あるぞというのをたまたまみかけたので、やってみた。 環境 CentOS 7.2 Apache 2.4 (CentOS 7標準) MariaDB5.5 (CentOS 7標準) 必要なパッケージのインストール DBドライバーのインストール。今回…

アルファベット文字列をフォネティックコードで表記するPythonモジュールをつくったよ:a2pcej

アカウントの追加業務とかで、パスワードをこちらで適当に生成してお知らせるときに、パスワード文字列のよみがなをつけて渡すということが、しばしばあるわけです。 たとえば、こんなやつ。 ユーザー名: hogehoge パスワード: WPzm60zh (ダブリュー(大…

Windowsのhostsファイルに記述できるエイリアス数の罠

ローカルの開発環境やら、別サーバーに環境を移すときやらに、お世話になるhostsファイル。 Windows 7以降だと、C:\WINDOWS\system32\drivers\etc\hostsを管理者モードで実行したメモ帳で編集してあげれば良いのですが、ちょっとした罠がありました。 127.0.…

Windowsでchecksumを調べる---FCIVを利用してみた

「ファイル チェックサム整合性検証 (FCIV) ユーティリティ」を使ってみました。 特に深い理由はありません。GIMPさんをインストールするときに徐に、ダウンロードファイルのMD5チェックサムでも一応確認しようかとふと思い立っただけです。 FCIVですが、 FC…

Windows10の環境変数を設定する画面が親切になっていた。

Windowsを使っていてほとんど触る機会はないけど、ちょっとマニアックな何かをインストールしてみたりするときとかに、必要になる環境変数の操作。変にいじってしまったら大事件が起きるんじゃないか感が強いわりに、UIが結構使いにくくて、間違わないかいじ…

続・SSHクライアントといえば?

こんな記事を書いてから早半年以上が経過していました。 kitaeng.hateblo.jp Windows 10だとなんだかPoderosaがうまく動いてくれなかったり、Ubuntuのターミナルでも自動でコマンドログを取る方法もググったら意外とたくさん出てきて、何とかなったので、す…

Cronの自動処理を多重起動させないための方法を調べたら...。

photo by mag3737 Cronで定期的に実行さている処理が、システム負荷だったり処理する量の変化によって、実行間隔よりも長くかかってしまうと、多重起動するという小事件が発生するのです。 多重起動しても大して影響のないようなものならいいんですけ、多重…

whoisの情報から必要なところだけを抜き出してくれるようにしてみた。

何かとwhoisでipアドレスを引いて情報を確認することが多いのですが、フォーマットのバラバラ具合にまいります。たいてい使うのは、当該IPを含むネットワークアドレスと国コードぐらい。これだけ出てくれればいいんす。なんてことを思って、早数カ月。別件で…

SoftEther VPN Serverのsystemd用*.serviceファイルを書いた

Ubuntu 16.04 LTSのリリースが目前に迫りつつある今日この頃(ちょいと気が早いか?)。何かにつけてそろそろsystemdと仲良くしないといけないようなので、initスクリプトではなくて、systemd用の*.serviceファイルについてごにょごにょし始めました。 第一弾…

SoftErther VPN Serverで使うSSL証明書をLet's Encryptで取得して設定するとこまで自動化してみた。

Let's Encryptの活用方法シリーズ!?第二弾です。今回は、SoftErther VPN Serverの証明書をLet's Encryptで取得して設定するところまでを自動でできるようにしてみました。 ↓第一弾↓ kitaeng.hateblo.jp 内容的には、第一弾の自動で更新のスクリプトにSoftErt…

UbuntuでPostgreSQLのストリーミングレプリケーションをするときの微妙にはまる!?落とし穴

PostgreSQL 9.5でストリーミングレプリケーションの構築を試してみました。いわゆるDBのマスター&スレーブ構成ってやつでしょうか。 これ→25.2. ログシッピングスタンバイサーバ その作業の中で、普通ははまらないであろう落とし穴に落ちたので記録しておき…

グローバルIPアドレス国別割り当てのデータを生成するスクリプトが書き上がるまでの道のりは険しかった…(解決編)

kitaeng.hateblo.jp RIRsが提供してくれている、RIR statistics exchange formatになっているIPアドレスの割り当て状況のデータを加工するスクリプトを書きました。思考、試行過程をちょっと備忘録的に記録しておきますの第二弾です。 RIR statistics exchan…

グローバルIPアドレス国別割り当てのデータを生成するスクリプトが書き上がるまでの道のりは険しかった…(原因編)

kitaeng.hateblo.jp RIRsが提供してくれている、RIR statistics exchange formatになっているIPアドレスの割り当て状況のデータを加工するスクリプトを書きました。思考、試行過程をちょっと備忘録的に記録しておきます。 RIR statistics exchange formatに…

グローバルIPアドレス国別割り当てのデータを生成するスクリプトを書いた

サーバーの保守をやっていると、接続元IPアドレスで国外からのアクセスかどうかを調べることが多々あります。1、2件調べるだけならwhoisコマンド使って確認すればいいんですけど、whoisの結果って表示書式がバラバラでかなり見にくいですよね。 それに、アク…

Let's EncryptのSSL証明書を自動更新して、結果をメール通知するスクリプトを書いてみた(WEBROOT、NGINX用)

2015/12/03にパブリックベータ版になったLet's Encrypt。以下のように掲げられているような理念だそうですね。 Let's Encrypt は、認証局(CA)として「SSL/TLSサーバ証明書」を無料で発行するとともに、証明書の発行・インストール・更新のプロセスを自動化…

数千件のIPアドレスを逆引きしまくるミッション用スクリプト完成!?

転職したての頃にこんな記事を書いていました。 kitaeng.hateblo.jp この記事の中で、 本当はしたかったこと 実は逆引き対象のIPアドレスのリストには、かなりの数のダブりがあったりしたので、 重複している分は一回だけ、digして、すでにdigで結果を得てい…

/etc/resolv.conf についての取り扱いUbuntu12.04以降から

Ubuntuにおいては、12.04LTSから/etc/resolv.confのしくみが変わったようです。 確かに、12.04LTSのリリースノートにもさりげなく書かれています。 "PrecisePangolin/ReleaseNotes/UbuntuServer - Ubuntu Wiki" Common Infrastructure resolvconf is now use…

SoftEther VPN ClientをUbuntu 14.04LTSで使うときにちょっとはまったこと

ネットワークのお勉強がてらになるかどうかは怪しいですが、SoftEther VPNを使ってVPNの環境をつくってみました。 サーバーの方は、どこのポートを空けるだかとかっていう情報集めでの苦労はありましたが、公式ページの指示通りに進めばソースからコンパイル…

バッシュワンライナーを目指して--The road to Bash One-Liners!

魔法の呪文を唱えるのに少しずつ慣れてきた今日この頃。まさに幼児が言葉を覚えていくときのように少しずつ長い呪文を唱えられるようになってきました。 photo by Xtream_i 最近の個人的な流行は、 while true; do [定期実行したいコマンド]; sleep [実行間…

"r-base-core.postinst: mktexlsr: not found"ってオコラレタ。

いつものごとくパッケージのアップデートをしようとしたら、以下のように怒られました。 Preparing to unpack .../r-base-core_3.2.3-3trusty0_amd64.deb ... Unpacking r-base-core (3.2.3-3trusty0) over (3.2.3-1trusty0) ... Preparing to unpack .../r-…

PostgreSQLで実行中のクエリを確認する方法-9.1までと9.2以降-

PostgreSQLで現在実行されているSQLは、pg_stat_activityってViewで確認することができる。 一番簡単に表示させるなら、 postgres=# SELECT * FROM pg_stat_activity; でOK。 PostgreSQL 9.5.0での実行例(9.1まではちょっと表示が変わります。後述) datid …

rbenvでruby2.3.0をインストールしようとしたらハマった。

未開の地だったSQL文に慣れ始めた今日この頃です。 Ruby on Railsな環境の構築とか、運用のところにも首を突っ込めるようにと思って、仮想環境に環境作り始めましたが、rubyのインストールで躓きました。まさか…。 rubyのインストール方法はなんだかいろいろ…

logcheckの小技!?――logごとでソートしてもらう

サーバーログの監視といえば、logcheckとかlogwatchとかが有名どこでしょうか。最近だとaptとかyumで簡単に入れられるし、設定項目も少ないということでlogcheckはお手軽なツールとなっている事でしょう。 定期的にメールで監視しているログを送ってきてくれ…

続・さくらのVPS(Ubuntu14.04)にR Studioをインストールしてみた。==R Studio専用ユーザーの準備とHTTPS対応==

先日、こんな記事を書きました。 kitaeng.hateblo.jp 今日は、これの続編として、R Stusio専用ユーザーの準備、HTTPSでのアクセス対応について書きます。 はじめに 前回の最後の方でちらりと書きましたが、R Studio Serverにログインするためのユーザーは、R…