サイズ: 3432
コメント:
|
サイズ: 8854
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 1: | 行 1: |
#acl Known:read,write,revert,delete,admin All:read | |
行 6: | 行 7: |
= 2011/5/30 = * とりあえず家で余っていたMacに仮想マシンを作成した * とりあえず慣れているVirtualBoxを使うことにした * ServerのOSとして何を使うか迷ったので、とりあえずDebian, Ubuntu Server, FreeBSDを入れた * 仮想マシンの設定として、「ブリッジ接続」をするようにした * サーバが自宅のLANに対等に参加できるようにするため * とりあえずFreeBSDから設定することにする * portsnapしてportsを最新にする * とりあえずsudoとportmasterを入れる * 自分をwheelに追加。 * portmasterつかっていくつかの健康で文化的な生活を送るためのツールを導入 * vimとかzshとか * nestからscpして.zshrcとか.vimrcをホームディレクトリに用意 * sshの設定をついでに行った * ルータの設定をゴニョゴニョして、サーバに固定ローカルIPが降ってくるようにした * sshでサーバのローカルIPに接続できることを確認した * とりあえず目に見えた成果がほしいと感じたので、Webサーバを上げることにした * portsつかってApache22さんを導入 * ルータの設定をゴニョゴニョして、80番ポート宛の通信がサーバに流れるようにした * rc.confに記述して、apache22さんを起動。 * とりあえずローカルIP宛に別のLAN内PCから接続、It works!が出ることを確認。 * DDNSサービスに自分のグローバルIPを登録。alstamber.moe.hmで自分のネットワークに到達できるようにした * うちのルータはいわゆるヘアピンNATができないようなので、iPhoneからalstamber.moe.hmにアクセスできることを確認。 * 並行してDebianさんとUbuntu Serverさんも設定。こちらは外部には開かれていないが内部向けに実験用Webサーバが動いてる状態にした = 2011/5/31 = * とりあえずbindさんを投入 * ローカルネットワークからだとグローバルIPでサーバにアクセス出来ないため、alstamber.moe.hmで内部的に名前を引けるようにしたかった * [[http://freebsd.server-manual.com/index.html|このあたり]]を参考に、named.confとかゾーンファイルとか記述 * rc.confに記述後、named起動 * いろんなところからdigコマンドを叩いては設定を修正する作業。ゾーンファイルのリビジョンが無駄に増える * 正常に引けるようになったのでとりあえず一安心。 = 2011/6/1 = * 学内無線からsshでサーバに接続しようとしたら繋がらない * どうやら学内から学外へのsshはBANされる模様 * 他の場所からやってみたら無事につながった。 * 全く使っていないのでUbuntu ServerさんとDebianさんを殺す * このまま何もなければFreeBSDでの運用になりそう…… = 2011/6/2 = * VirtualBoxでの運用に不安を覚える * サーバ向け仮想環境を作ったほうがいいのではないか……? |
* --(と思ってたらカーネルハックしたらネイティブ環境で動作するようになった)-- * 当初の設計に無理が生じてきた→一から設計しなおすことにした * 古い内容は[[/Old|こちら]]に移しました ---- = ゴール = * blogを自分の管理下にあるサーバで運用する * FreeBSDの実験、各種ネットワーク実験を行う * →Linuxの実験、各種ネットワーク実験を行う = 設計 = == システムを構成するサーバ == * 大きく分けて2つのサーバでシステムを運用することとする /* === 自宅 === */ /* * 外向きにWebサーバを提供 */ /* * IPv6での到達性を確保 */ /* * IPv6経由でSSH接続可能 */ /* * 自宅ネットワーク向けに、DNS/DHCPサービスを提供 */ === VPS === * 980円の某VPS * blogの運用をこちらに切り離す * blogはトラフィックが大きいため、自宅での運用に不安が残ったため * バックボーンの面でやはりVPSに分があった * blog運用のため、PHP5およびMySQLの導入を行う * Twitter botを運用する。 * ZFS Rootで運用 * Linuxに移行したので、btrfsでの運用に変更。 * 6rdでIPv6到達性を確保する * 6rdが事情で使えなくなったので、6to4に移行。 == ドメインの割り振り == * VPSには589lab.netのドメインを割り振る = 実装 = == 2011年6月17日 == * 980円の某VPSを契約 * デフォルトでCentOSが入っているので、FreeBSDに差し替える * 某VPSはコントロールパネルからOSの再インストールの命令を発行できる * VNCで画面が自動的に飛んで来る。インストーラの指示に従ってインストール * [[http://fragile-graciousness.net/server_freebsd_zfs_root.html]]を参考に、ZFS Rootになるようにインストール * とりあえず再起動 * minimalインストールなので、rootのパスワードが設定されていない。急いで設定する {{{ # passwd }}} * ユーザがrootだけだと残念なので、通常使用するユーザを作成する {{{ # adduser *** }}} * sudoをインストール {{{ # cd /usr/ports/security/sudo # make install clean }}} * visudoを使ってwheelグループをsudoできるようにする * rootからログアウトして、通常アカウントでログインしなおす * 健康で文化的な最低限度のツールを入れる * portmasterとかzshとかvimとか * 各種設定ファイルをmoonからコピーしてくる * scpを使えば良い * MySQLとPHP5を入れる * MySQLの設定はここを参考にする[[http://freebsd.server-manual.com/freebsd8_mysql5.html]] * 必要のないデータベースを削除し、wordpress用のデータベースを新しく作る * MySQLは最初動かなかったが、一旦アンインストールしてもう一度入れ直したらうまくいった * PHP5についてはphp5-extensionsを入れるのを忘れない←MySQLにphpからアクセスできなくなる * httpd.confに次の記述を行う。 {{{ <IfModule dir_module> DirectoryIndex index.html index.php ←追加 </IfModule> <IfModule mime_module> AddType application/x-httpd-php .php </IfModule> }}} == 2011年6月20日 == * どうもVPSが不安定である。どうやらZFSがやたらメモリを食ってパニックしている様子。 * メモリ使用量を減らす作業。 * phpMyAdminを導入。 * portsからインストール。php.iniで取り扱えるファイルサイズなどを変更。 * 巨大データベースファイルをアップロードしたりすることがあるため。 * DNSの設定を変更。 * フリーのDNSサーバを借りて、589lab.netのAレコードがVPSを向くようにした。 * munin-masterとmunin-nodeをインストールした。 * ntpdを起動するようにした。 * まず/etc/ntp.confを編集。 {{{ server ntp.nict.jp }}} * /etc/rc.confに追記。 {{{ ntpd_enable="YES" }}} * サービスを起動。 {{{ # service ntpd start }}} * 余談だが490円VPSは存外スペックが良かった * pingの帰ってくるスピードが異常に速かったし * 惜しむらくはFreeBSDに対応していないことだろう == 2011年6月26日 == * やたらDNSサーバへのキューが多いと思ったら、TTLが1分になってた * キャッシュ汚染されても困るので1日に変更 == 2011年7月1日 == * Apacheの設定をチューニング。サーバのレスポンスがよくなることに期待。 == 2011年8月23日 == * VPSを再起動。ついでにsshのポート番号を変更しておく。 == 2011年11月4日-5日 == * 長期メンテ。 * FreeBSD9.0-RC1入れてみる * 6rdのパッチが使えなくなったので、v6への対応は6to4にすることにした。 * Tokyo6to4のお陰で、以前と違いレイテンシも大幅に軽減されている。 * git入れてみる。 * 共有リポジトリをVPS上に構築し、開発したものは全部そっちにおこうという計画。 * git-daemonさんがうまく動かず、苦労したがgit-daemonを直接叩くのではなく、gitコマンドを使ってdaemonを叩くようにするとなぜか動いた。 * とりあえず意味もなく現在作ってるbotのソースをpush。 == 2011年11月14日 == * せっかくFreeBSD9.0を入れたのでZFSのバージョンを上げてみる。 {{{ # zpool upgrade -a # zfs upgrade -a }}} * そういえばZFSの機能を何もいかしていなかったなあとおもったので、snapshotをとるようにした。 * /var以外すべてをとるようにした * 以下をcrontabに追記 {{{ zfs snapshot 名前@`date +%Y%m%d` }}} == 2011年12月25日 == * 色々思う所があって、OSをLinuxに変えることにした。 * ゴールもそれに合わせて変更。FreeBSDだけではなくLinuxもいじれるようにしたいというのがあった。 * ディストリはDebianを選択。 * せっかくなので完全btrfs化というのをやってみた。 * まずVPSのコントロールパネルからDebianをインストール。ほぼ自動インストールになってて楽。' * この時パーティションの切り方を通常とは少し変える。/パーティションとは別に/bootパーティションを用意する。 * /bootパーティションはext4 * /パーティションはbtrfsで用意する * sshでログインして、/etc/apt/sources.listに次を追記。(testingはいらんかもしれない) {{{ deb ftp://ftp.jp.debian.org/debian sid main deb ftp://ftp.jp.debian.org/debian testing main }}} * aptitude updateする。 * zlib1g-dev zlibc kernel-package btrfs-tools libncurses-dev bzip2をインストール。 * grubの1.99をインストールする。 * 何か選択肢が出てくるが、一番上を選んでおく。 {{{ # aptitude install grub2 # grub-install /dev/sda }}} * ここで一旦再起動して、grubが動作することを確認。 * /bootパーティションのブロックサイズがなぜか1024なので、4096として改めてファイルシステムを構築しなおす。 {{{ # umount /dev/(/bootの場所) # mkfs.ext4 -b 4096 /dev/(/bootの場所) }}} * /etc/fstabを編集する。UUIDで記述されているところを/dev/(なんとか)に全部書き換える。 * 改めて/bootをマウントしなおす。 {{{ # mount /dev/(/bootの場所) }}} * www.kernel.orgから3.1系のカーネルのソースコードをダウンロードしてきて、コンパイルする。 * 今回は実験環境でコンパイルしたものをコピーして使用した。 {{{ # cd /usr/src # wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.6.tar.bz2 # tar xvjf linux-3.1.6.tar.bz2 # cd linux-3.1.6 # make menuconfig # make-kpkg --initrd kernel_image kernel_headers # cd .. # dpkg -i *.deb # mkinitramfs 3.1.6 -o /boot/initrd.img-3.1.6 # update-grub }}} * /bootパーティションをbtrfsにコンバートする。 {{{ # umount /dev/(/bootの場所) # btrfs-convert /dev/(/bootの場所) }}} * /etc/fstabを書き換える。(/bootの行のext4→btrfsにする) {{{ /dev/(/bootの場所) /boot btrfs ...... }}} |
なにこれ
- なんかサーバー立ててる人多いし、自分も立ててみたいと思った
- でもうちにはMacしかない……
- MacにもServerOSはあるけど、高すぎる
- なら仮想環境上で動かそう!
と思ってたらカーネルハックしたらネイティブ環境で動作するようになった
- 当初の設計に無理が生じてきた→一から設計しなおすことにした
古い内容はこちらに移しました
ゴール
- blogを自分の管理下にあるサーバで運用する
- FreeBSDの実験、各種ネットワーク実験を行う
- →Linuxの実験、各種ネットワーク実験を行う
設計
システムを構成するサーバ
- 大きく分けて2つのサーバでシステムを運用することとする
VPS
- 980円の某VPS
- blogの運用をこちらに切り離す
- blogはトラフィックが大きいため、自宅での運用に不安が残ったため
- バックボーンの面でやはりVPSに分があった
- blog運用のため、PHP5およびMySQLの導入を行う
- Twitter botを運用する。
- ZFS Rootで運用
- Linuxに移行したので、btrfsでの運用に変更。
- 6rdでIPv6到達性を確保する
- 6rdが事情で使えなくなったので、6to4に移行。
ドメインの割り振り
- VPSには589lab.netのドメインを割り振る
実装
2011年6月17日
- 980円の某VPSを契約
- デフォルトでCentOSが入っているので、FreeBSDに差し替える
- 某VPSはコントロールパネルからOSの再インストールの命令を発行できる
- VNCで画面が自動的に飛んで来る。インストーラの指示に従ってインストール
http://fragile-graciousness.net/server_freebsd_zfs_root.htmlを参考に、ZFS Rootになるようにインストール
- とりあえず再起動
- minimalインストールなので、rootのパスワードが設定されていない。急いで設定する
# passwd
- ユーザがrootだけだと残念なので、通常使用するユーザを作成する
# adduser ***
- sudoをインストール
# cd /usr/ports/security/sudo # make install clean
- visudoを使ってwheelグループをsudoできるようにする
- rootからログアウトして、通常アカウントでログインしなおす
- 健康で文化的な最低限度のツールを入れる
- portmasterとかzshとかvimとか
- 各種設定ファイルをmoonからコピーしてくる
- scpを使えば良い
- MySQLとPHP5を入れる
MySQLの設定はここを参考にするhttp://freebsd.server-manual.com/freebsd8_mysql5.html
- 必要のないデータベースを削除し、wordpress用のデータベースを新しく作る
- MySQLは最初動かなかったが、一旦アンインストールしてもう一度入れ直したらうまくいった
- PHP5についてはphp5-extensionsを入れるのを忘れない←MySQLにphpからアクセスできなくなる
- httpd.confに次の記述を行う。
<IfModule dir_module> DirectoryIndex index.html index.php ←追加 </IfModule> <IfModule mime_module> AddType application/x-httpd-php .php </IfModule>
2011年6月20日
- どうもVPSが不安定である。どうやらZFSがやたらメモリを食ってパニックしている様子。
- メモリ使用量を減らす作業。
- phpMyAdminを導入。
- portsからインストール。php.iniで取り扱えるファイルサイズなどを変更。
- 巨大データベースファイルをアップロードしたりすることがあるため。
- portsからインストール。php.iniで取り扱えるファイルサイズなどを変更。
- DNSの設定を変更。
- フリーのDNSサーバを借りて、589lab.netのAレコードがVPSを向くようにした。
- munin-masterとmunin-nodeをインストールした。
- ntpdを起動するようにした。
- まず/etc/ntp.confを編集。
server ntp.nict.jp
- /etc/rc.confに追記。
ntpd_enable="YES"
- サービスを起動。
# service ntpd start
- 余談だが490円VPSは存外スペックが良かった
- pingの帰ってくるスピードが異常に速かったし
- 惜しむらくはFreeBSDに対応していないことだろう
2011年6月26日
- やたらDNSサーバへのキューが多いと思ったら、TTLが1分になってた
- キャッシュ汚染されても困るので1日に変更
2011年7月1日
- Apacheの設定をチューニング。サーバのレスポンスがよくなることに期待。
2011年8月23日
- VPSを再起動。ついでにsshのポート番号を変更しておく。
2011年11月4日-5日
- 長期メンテ。
- FreeBSD9.0-RC1入れてみる
- 6rdのパッチが使えなくなったので、v6への対応は6to4にすることにした。
- Tokyo6to4のお陰で、以前と違いレイテンシも大幅に軽減されている。
- git入れてみる。
- 共有リポジトリをVPS上に構築し、開発したものは全部そっちにおこうという計画。
- git-daemonさんがうまく動かず、苦労したがgit-daemonを直接叩くのではなく、gitコマンドを使ってdaemonを叩くようにするとなぜか動いた。
- とりあえず意味もなく現在作ってるbotのソースをpush。
2011年11月14日
- せっかくFreeBSD9.0を入れたのでZFSのバージョンを上げてみる。
# zpool upgrade -a # zfs upgrade -a
- そういえばZFSの機能を何もいかしていなかったなあとおもったので、snapshotをとるようにした。
- /var以外すべてをとるようにした
- 以下をcrontabに追記
zfs snapshot 名前@`date +%Y%m%d`
2011年12月25日
- 色々思う所があって、OSをLinuxに変えることにした。
- ゴールもそれに合わせて変更。FreeBSDだけではなくLinuxもいじれるようにしたいというのがあった。
- ディストリはDebianを選択。
- せっかくなので完全btrfs化というのをやってみた。
- まずVPSのコントロールパネルからDebianをインストール。ほぼ自動インストールになってて楽。'
- この時パーティションの切り方を通常とは少し変える。/パーティションとは別に/bootパーティションを用意する。
- /bootパーティションはext4
- /パーティションはbtrfsで用意する
- この時パーティションの切り方を通常とは少し変える。/パーティションとは別に/bootパーティションを用意する。
- sshでログインして、/etc/apt/sources.listに次を追記。(testingはいらんかもしれない)
deb ftp://ftp.jp.debian.org/debian sid main deb ftp://ftp.jp.debian.org/debian testing main
- aptitude updateする。
- zlib1g-dev zlibc kernel-package btrfs-tools libncurses-dev bzip2をインストール。
- grubの1.99をインストールする。
- 何か選択肢が出てくるが、一番上を選んでおく。
# aptitude install grub2 # grub-install /dev/sda
- ここで一旦再起動して、grubが動作することを確認。
- /bootパーティションのブロックサイズがなぜか1024なので、4096として改めてファイルシステムを構築しなおす。
# umount /dev/(/bootの場所) # mkfs.ext4 -b 4096 /dev/(/bootの場所)
- /etc/fstabを編集する。UUIDで記述されているところを/dev/(なんとか)に全部書き換える。
- 改めて/bootをマウントしなおす。
# mount /dev/(/bootの場所)
- www.kernel.orgから3.1系のカーネルのソースコードをダウンロードしてきて、コンパイルする。
- 今回は実験環境でコンパイルしたものをコピーして使用した。
# cd /usr/src # wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.6.tar.bz2 # tar xvjf linux-3.1.6.tar.bz2 # cd linux-3.1.6 # make menuconfig # make-kpkg --initrd kernel_image kernel_headers # cd .. # dpkg -i *.deb # mkinitramfs 3.1.6 -o /boot/initrd.img-3.1.6 # update-grub
- /bootパーティションをbtrfsにコンバートする。
# umount /dev/(/bootの場所) # btrfs-convert /dev/(/bootの場所)
- /etc/fstabを書き換える。(/bootの行のext4→btrfsにする)
/dev/(/bootの場所) /boot btrfs ......