nginx で Basic 認証
ペラ1の HTML に Basic 認証をかけたくなったので nginx で Basic 認証をかけてみた。
htpasswdでファイルの生成
# funtoo にはデフォルト?では htpasswd がはいってなかった # emerge -av apache-tools # htpasswd -c FILENAME USERNAME =>パスワードを聞かれるので入力 # vim /path/to/nginx.conf
- nginx.conf
server { auth_basic 'Basic'; auth_basic_user_file /path/to/FILENAME; location / { ... } }
結果
UEFI Boot な Gentoo をインストール
Gnome 3.8 を使ってみたかったので funtoo を消して gentoo を入れてみましたのでメモ。
File system の作成
SystemRescueCD から起動し
既存のパーティションを gdisk
, mkfs
を駆使して綺麗にする。
で、以下のように作成した。
/dev/sda1 /boot/efi vfat noauto 1 2 /dev/sda2 none swap sw 0 0 /dev/sda3 / ext4 discard,relatime,user_xattr 0 1
Kernel Build
- File system のマウント -> chroot
# mount /dev/sda3 /mnt/gentoo # mount -p /mnt/gentoo/boot/efi # mount /dev/sda1 /mnt/gentoo/boot/efi # cd /mnt/gentoo # tarball のダウンロード、展開 # mount -t proc none proc # mount --rbind /sys sys # mount --rbind /dev dev # cp /etc/resolv.conf etc # env -i HOME=/root TERM=$TERM /bin/bash # chroot . /bin/bash -l
- fstab の編集
- 適当な localtime のリンク
gentoo-sources
に symlink のフラグをつける
# emerge --sync # echo 'sys-kernel/gentoo-sources symlink' >> /etc/portage/package.use
emerge
してカーネルをビルド。
ビルドしてできたイメージを毎回手で配置するのは不便なので以下のスクリプトを配置した。
カーネルのコンフィグについて
ここではまったのが、Gnome 3.8 は systemd に依存していていて、カーネルをビルドする際にに以下の設定をするのを忘れるとうまく起動しなくて時間を浪費しました。
CONFIG_CMDLINE="root=/dev/sda3 init=/usr/lib/systemd/systemd"
chroot
を抜け umount
して再起動。
Gnome のインストール
Gnome 3.8 は stable だとインストールできなかったので、make.conf を変更する。
ACCEPT_KEYWORDS="amd64 ~amd64"
最後に
自分でインストールしてみて微妙に詰まったところをメモしてみた。
適当にやってたら案の定起動しなくて焦ったけど、便利なツールを駆使して復活できた。
カバンに常備しておくと便利そう...
curl で JSON等のファイルを POST
ファイル名の前に @
をつけてあげる。
curl -X POST -H "Content-Type: application/json" http://localhost:3000/comments -d @comment.json