2016-02-06

VirtualBoxのUbuntu Serverに固定IPアドレスを設定する

VirtualBoxで、IPアドレスを固定する方法。設定 > ネットワーク > アダプター2 に、ホストオンリーアダプターを割り当てることを前提にして、以下のようにやってみた。

CentOSの場合は、root 権限で、/etc/sysconfig/network-scripts/ifcfg-eth1 というファイルを作成して次のように書き込む。(なお、HWADDR= の後はMACアドレスなので、設定 > ネットワーク > アダプター2 などで割り当てられている値を確認する。)
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
HWADDR=08:00:27:FD:1A:54
IPADDR=192.168.56.9
NETMASK=255.255.255.0
NETWORK=192.168.56.1
それから、コマンドラインで
$ sudo service network restart
とする。
もっと丁寧には、ここらへんが参考になる。http://qiita.com/boscoworks/items/56d2ab2a9c5b1b100ce6


Ubuntu Serverで、これに相当することをやるとどうなるか。

まず、root権限で、/etc/network/interfaces の末尾に次のように書き込む。
auto eth1
iface eth1 inet static
address 192.168.56.10
netmask 255.255.255.0
 で、コマンドラインで、
$sudo /etc/init.d/netwok restart 
もしくは、
$ sudo /etc/init.d/networking restart
 とやる。Ubuntuはこうしないと、そもそもホストオンリーアダプターのときにホストから接続できないっぽい。
ちなみに、手元のスマホからVirtualBox上のサーバーにアクセスしたいときには、ホストオンリーアダプターでは駄目で、ブリッジアダプターを使うことになる。

Macで特定のユーザーをログイン画面から消したい

Macで特定のユーザーを、ログイン画面に表示しないようにする方法がある。https://support.apple.com/ja-jp/HT203998

PostgreSQLをインストールしたときに、PostgreSQL用のユーザーを作った。しかし、それがログイン画面に出てくるのが鬱陶しいので消したい。ユーザーを削除したいわけではなくて、ログイン画面に表示されないようにしたいだけ。 次のコマンドで非表示にできるはず。(「postpres」のところは、非表示にしたいユーザー名)
sudo dscl . create /Users/postgres IsHidden 1
  このコマンドを打った後で、ログインウィンドを開いたら、ちゃんとユーザーが消えている。

2016-02-05

ApacheのVirtualHostの設定で、ServerNameにもServerAliasにもヒットしない場合

ApacheのVirtualHostの設定で、ServerNameにもServerAliasにもヒットしない場合は、最初に設定されたVirtualHostが使われる。このことは公式ドキュメントにも書いてある。
リクエストが来ると、サーバはまず最初に <NameVirtualHost> にマッチする IP アドレスかどうかをチェックします。マッチすれば マッチした IP アドレスの <VirtualHost> のそれぞれのセクションの中から ServerName か ServerAlias に要求されたホスト名があるか探します。 見つかればそのサーバ用の設定を使います。マッチするバーチャルホストが見つからなければ、マッチした IP アドレスの リストの最初にあるバーチャルホスト が使われます。
 思ったように動いてくれないと思ったら、設定ミスってて
「見つからない場合は、リストの最初にバーチャルホストが使われる」っていうルルールが効いていた。

あと、複数のDjangoをVirtualHostを使って動かす場合は、mod_wsgiで、daemon modeってやつにしないといけない。これの設定がちょっと大変。

2016-02-04

MacのApp Store設定で「新しいアップデートをバックグラウンドでダウンロード」はOFFっとく

WindowsからMacに切り替えてずいぶん長いこと経つ。もうWindowsの使い方は忘れてしまった。けど、まだMacのことがよく分からないときがある。

今回失敗したのは、App Storeの自動アップデート関連。システム環境設定 > App Store で設定するやつ。「アップデートを自動的に確認」をONにしていたのはいいんだけど、「新しいアップデートをバックグラウンドでダウンロード」もONにしていたのが良くなかった。

モバイルルータでインターネットに接続しているのにも拘らず、4ギガ以上あるXcodeをアップデートしようとバックグラウンドでずっと動いていた。で、ファイルが大きすぎて途中でエラーになる。この繰り返し。モバイルルータの通信容量の制限をオーバーしてしまいそうな勢い。今月は始まったばかりなのに。

というわけで、モバイルルーターを使うのなら、 「新しいアップデートをバックグラウンドでダウンロード」はオフっておいたほうが良い。そうすると、「自動アップデートをONにしますか」ってよく尋ねられるけど、断る。

2016-02-02

mkvirtualenvのとき --always-copy しておきたい

Macで、virtualenvwrapperというのを使って、複数バージョンのpythonを管理している。プロジェクトごとにsite-packageを管理できたりして便利なやつだ。
これで仮想環境をつくるとき、
mkvirtualenv --python=python3 --always-copy project_name
みたいに引数に、--always-copy を入れておくと良さげ。

というのは、MacでHomeBrewを使ってPythonを入れていると、古いバージョンのPythonがなくなって困る可能性があるから。

2015-09-04

submitボタンが2つある場合にどちらのボタンが押されたのか判定する

htmlのformに、submitボタンが2つある場合に、どちらのボタンが押されたのか判定するには、サーバー側でどうやればいいんだっけ?

<form>
    <input type="submit" name="btn1">
    <input type="submit" name="btn2">
</form>

みたいに、name属性をつけとけば、サーバー側(Djangoを使ってるとして)で、request.POST.get("btn1") の値が空かどうかで判定できる。

Bootstrapのテーマとかスニペットとか

Bootstrapのテーマ集
http://bootswatch.com/

テンプレート集
http://www.bootstrapzero.com/

スニペット
http://bootsnipp.com/

http://snipplicious.com/

有料のスニペットとテーマ
http://bootdey.com/

モックをつくるためベクター画像
http://bootstrapuikit.com/