GeekFactory

int128.hatenablog.com

linux

certtoolコマンドとテンプレートで簡単に証明書を作る

Apache httpdやOpenVPNなどで自前のSSL証明書を使うには、一般に以下の手順が必要になります。 CAの秘密鍵を生成する。 CAの自己署名証明書を生成する。 サーバの秘密鍵を生成する。 サーバのCSRを生成してCAに送る。 CAで証明書を発行する。 クライアントの…

DockerでLinuxデスクトップを使ってみる

Linuxをサーバ用途に使う場合、クリーンな環境を保つため、XやGNOMEなどをインストールしないことが多いと思います。とはいえ、ちょっとした調査などでデスクトップ環境があれば作業効率が上がるケースもあります。そこで、Dockerを使って、独立した環境でLi…

Stone on Docker

StoneのDockerイメージが見当たらなかったので作りました。StoneはいわゆるTCP/UDPリピーターで、ローカルポートに着信した接続を別のポートに転送してくれます。HTTPプロキシやSSLトンネリングに対応しているので、ネットワークの制約がある環境で大活躍し…

Dockerコンテナの起動や停止をトリガーにして処理を実行する

Dockerホストで新しいコンテナが起動したり既存のコンテナが停止したタイミングで何らかの処理を実行したい場合があります。例えば、リバースプロキシの設定を反映したり、コンテナのURLをレビュアに通知したりといった用途が考えられます。 本記事ではdocke…

DockerイベントをSlackに連携するアプリを作った

Dockerホストのコンテナ起動停止イベントをSlackに連携するアプリを作りました。 例 くじらがつぶやきます。 使い方 Slackの設定ページから Incoming WebHook を作成してください。トークンをメモしておきます。 このアプリは Docker Hub に公開しています。…

OpenLDAPデータのバックアップとリストア

OpenLDAPのデータをバックアップしてリストアする方法のメモ。 前提 OpenLDAP 2.4 CentOS 7 バックアップ ディレクトリ本体と設定(cn=config)をLDIFに出力します。 sudo slapcat > ldap-20140727.ldif sudo slapcat -b cn=config > ldap-config-20140727.l…

MuninでJMX経由でJVMを監視する

MuninでJMX経由でJava VMを監視する方法のメモ。 前提 muninが正しく動いていること。 監視対象サーバでmunin-nodeが正しく動いていること。 監視対象サーバでJMXが正しく設定されていること。jconsoleでヒープ状況などが表示されるか確認しておきます。 方…

Mac OS XをPXEサーバにしてLinuxをネットワークインストールする

Linux を使って別の PC に Linux をネットワークインストールする方法はよく知られていますが、Mac OS X を使って別の PC に Linux をネットワークインストールする方法は情報が少ないのでまとめてみました。本稿は Proxy DHCPによるネットワークインストー…

LinuxでActive Directory認証 (Apache httpd)

Active Directory認証を使うと、IDやパスワードを入力せずにWebアプリにログインできるようになります。すなわち、自動的にActive Directoryのユーザとしてログインした状態になります。シングルサインオンにより、利用者の負担を軽減できる、不正利用を抑止…

LinuxでActive Directory認証 (with sssd)

Windowsの世界にはActive Directoryという優れた仕組みがありますが、Linuxでもその恩恵を受けることが出来ます。LinuxサーバがActive Directoryと連携することで、以下のようなメリットがあります。 管理者はユーザ情報を一元管理できるので、手間が減る。…

EL6 で Apache httpd 2.4 と PHP 5.4 を使う

RHEL6系のディストリビューション(CentOS, Scientific Linux等)で Apache httpd 2.4.x, PHP 5.4.x を使う場合のメモです。前提条件 Apache httpd は自前でビルドする。 epel を有効化する。 remi を有効化する。ただし、PHP, MySQL のみに使う。 mod_php …

motionの動体検知イベントをfluentd + Zabbixで監視する

動体検知アプリケーションmotionのログをZabbixで監視してみました。参考になりましたら嬉しいです。 基本的な考え方 motionのイベントが発生するとログファイルにJSONを書き出します。そのログファイルをfluentdで監視し、Zabbixに通知します。具体的には、…

supervisorでデーモンプロセスを管理する

ディストリビューションで用意されていないパッケージをデーモン化したい場合、supervisorが便利です。init scriptを書くという面倒な作業をやらなくても簡単にデーモン化できます。それだけでなく、プロセスが終了してしまった場合に自動的に起動したり、一…

SSHとHTTPSでアクセスできるGitサーバの設計と構築

(追記) この記事は公開から時間が経っており、内容が古くなっています。本稿では、すでにプライベートなWebサーバを運用している人向けにGitサーバの構築方法を説明します。ひと手間をかけるだけでGitサーバを構成できます。Webサーバがない人はGitHubでプラ…

Jenkinsを用いた継続的RPMビルド

RHEL系を使っていて、yumで取得できないバージョンのパッケージを使いたい場合、一般に以下の選択肢があります: 他ディストリビューションのSRPMをビルドしてRPMを生成する。 配布元のtar ballをビルドしてRPMを生成する。 配布元のtar ballを /usr/local …

動体検知アプリケーションmotionを構築する

RHEL系で動体検知アプリケーションの motion を構築する手順のメモです。なお、Gentoo LinuxやDebianでは公式パッケージが用意されているのでもっと簡単です。 前提 Scientific Linux 6.3 x86_64 USBカメラが接続されていて /dev/video? が存在する。 /usr/l…

Proxy DHCPによるネットワークインストール

あけましておめでとうございます。元日からさっそくLinuxをインストールしておりますが、今年もよろしくお願いします。さて、DVDを使わずにLinuxをネットワークインストールする方法をメモしておきます。 前提 DVDを使わずにインストールしたい。DVDドライブ…

CloudForecastでL2スイッチのトラフィックを監視する

パフォーマンスの問題を調査するためにCloudForecastを使ってみることにしました。48ポートをざっくり眺めてみましょう。CloudForecastの画面はこんな感じです。ちょっと手狭ですね。Chromeのデベロッパーツールで即席でCSSをいじると、2列×12行に並べたりで…

プロキシ環境変数を対話的に設定するエイリアス&関数

多くのコマンドでは http_proxy 環境変数を設定することでHTTPプロキシを使えます。 export http_proxy='http://proxy.example.com:8080' 認証付きプロキシを使う場合は URI にユーザ名とパスワードを含めます。 export http_proxy='http://user:passwd@prox…

GitLabで始めるプライベートリポジトリのある生活

どこでもいつでもGitと一緒。GitLabはオープンソースのGitHubクローンで、Amazon EC2やさくらVPSなどにプライベートリポジトリを立てて使えます。プライベートリポジトリのある生活はかなり快適です。非公開のコードや各サーバのetc-filesなどをプライベート…

Amazon Linuxの時刻同期にchronyを使う

Amazon Linuxではntpdによる時刻同期が用意されていますが、EPEL(Extra Packages for Enterprise Linux)リポジトリに入っているchronyも使えます。chronyはFedora 16から採用されている時刻同期デーモンです。設定ファイルや引数がシンプルで分かりやすい…

dnsmasqで始めるプライベートDNSサーバ

ローカルネットワークのホスト名とIPアドレスの対応はDNSサーバで管理すると便利です。IPアドレスを覚えたりhostsをメンテナンスするのは大変です。でもbindって難しそうだし、メンテナンスに手間がかかるし、という方にはdnsmasqがおすすめです。dnsmasqは…

ext4 on GPT on Linux RAID1 on SATA, booting by extlinux に関するメモ

以下の構成でLinuxを構築したときのメモです。 Linux Software RAID1を採用する。 ディスク全体でRAIDボリュームを構成する。 パーティションテーブルはGPTを採用する。 以下のパーティションは固定的に確保する。 /boot / /var swap 必要に応じてLVMで拡張…

AFTディスクとGPTブートに関するニッチなメモ

AFT(Advanced Format Technology)を採用するハードディスク、GPTパーティションからの起動について調べたメモです。Gentoo LinuxやArch Linuxなどのマニアックな環境を構築する人には役立つかもしれません。 AFT 物理セクタは4096バイトであるが、HDDのフ…

Apache Qpidのインストール

AMQP実装の一つであるApache Qpidのインストールについて残しておきます。ドキュメント斜め読みで作業してるので、不足等ありましたらご指摘いただけると嬉しいです。使用してるもの: Amazon Linux 2011.09 (x86_64) Apache Qpid 0.12 Broker (C++) メッセ…

Amazon LinuxとZabbixで始める運用監視

Amazon LinuxとZabbixで始める監視サーバ - GeekFactoryのリメイクです。Amazon Linux 2011.09に合わせて書き直しました。 必要なもの Amazon EC2 Instance Amazon Linux 2011.09 Amazon Linux 2011.09からFedora EPEL(Extra Packages for Enterprise Linux…

motionイベントのトラップ送信スクリプト

motionとZabbixによる監視カメラシステム - GeekFactory では、監視カメラの動きを検出した時にZabbixにトラップを送信する仕組みを紹介しました。動き検出にmotionというデーモンを利用しています。motionは動きを検出した場合に任意のスクリプトを実行でき…

motionとZabbixによる監視カメラシステム

監視カメラというと高価な専用システムを連想しますが、PCサーバとUSBカメラを使うと安価に実現できます。自宅サーバに取り組んでいる人は一度は経験しているかもしれませんね。プライバシーや検出精度の問題など、まともに運用していくのは非常に難しいシス…

Amazon LinuxとZabbixで始める監視サーバ

クラウドから自宅サーバを監視するのがマイブームです。ここではAmazon EC2にZabbixをインストールする方法を紹介します。 前提条件 EC2上でLinuxインスタンスを起動します。今回は Micro instance, Amazon Linux x86_64 を使用しました。以下が正常に動作す…

IX2015とOpenswanでIPsecトンネル

NEC IX2015とAmazon EC2インスタンスをIPsecトンネルモードで接続してみました。ほぼ自分用の備忘録なんですが、不備などご指摘いただけると嬉しいです。IX2015は動的IPのPPPoEに接続されています。EC2側のみ固定IPを確保できるため、IX2015からEC2に向かっ…