SlideShare a Scribd company logo
FreeBSDで行こう
       for
   small server
    長沼 立巳
自己紹介

• 長沼立巳(ながぬまたつみ)
• 上田市の機器メーカー勤務
• 使っているOS
  o デスクトップはUbuntu
     9.04(2009年4月リリース)くらいから
  o サーバーはFreeBSD
     3.4(2000年12月リリース)くらいから
     長いだけのライトユーザー
FreeBSDのお話

• フリーでオープンなオペレーティングシステム
• サーバーとか、組み込みとか
  o デスクトップ用途は弱いかも
• 今回は小規模サーバー向けのお話
FreeBSDのお話

• 個人用サーバー、SOHOサーバー、部門サーバー
• 大体のターゲット
  o Pentium II以降、Core i3とか
  o メモリ 256MBから4GBくらいまで
  o ストレージ 2GBから1TBくらいまで
  o Webサーバー、メールサーバー
• 我が家の常時稼動サーバー(8年くらい)
  o VIA Eden ESP-6000 667MHz
  o メモリ 512MB
  o ストレージ 32GB SSD
なぜFreeBSDなのか

 •   無料
 •   シンプル
 •   簡単
 •   便利
FreeBSDをインストール...の前に

• どのバージョンを使うか
• 最新安定版は 8.2-RELEASE (2011年1月)
  o リリース版は 8.2-RELEASE という名前
  o パッチが出ると 8.2-RELEASE-p1 (まだ出てません)
  o 次のリリースは 8.3-RELEASE (まだ出てません)の予
    定
  o 旧バージョン(7.4-RELEASE)のメンテナンスも引き続
    き行われている
     http://www.freebsd.org/security/security.html#sup
• 現在の開発版は 9.0-CURRENT
  o ここからリリースされるときに 9.0-RELEASE という名
    前になる
FreeBSDをダウンロード

• まずはCDイメージ、またはUSBイメージをダウンロード
  o http://www.freebsd.org/ja
FreeBSDをダウンロード(2)

• 何種類かありますけど...
  o FreeBSD-8.2-RELEASE-i386-bootonly.iso
      ブートのみ。容量最小(現在47MB)。おすすめ。
      今回はこれで行きます
  o FreeBSD-8.2-RELEASE-i386-disc1.iso
      CD用。
  o FreeBSD-8.2-RELEASE-i386-dvd1.iso.xz
      DVD用。xz形式。容量最大(1.9GB)。
  o FreeBSD-8.2-RELEASE-livefs.iso
      レスキュー用。
  o FreeBSD-8.2-RELEASE-memstick.img
      USBメモリ用。
FreeBSDのインストール...は時間が...

• standard / express / custom が選べるが
   o できることはほぼ同じ
   o standard ... ウィザード形式。起動するデーモンが選べる
   o express ... ウィザード形式
   o custom ... 手順の一覧から選べる
• ディスクの設定は面倒なら 'a' (自動設定)でOK
   o ただしディスク全体を使わないなら注意して
   o 一般「パーティション」 ⇔ FreeBSD用語「スライス」
• わからないところは何もせずにすっとばす
   o システムファイルのインストール以外はあとでもできる
   o DistributionsはMinimalで十分
FreeBSDのインストール...は時間が...
インストールしたらやること (1)

• 以下、基本的に要root
  o まずはrootでログイン
• 普段使い用のユーザーを作成
  o adduser
      設定項目は他のUNIXと基本的に同じ
      Invite username into another groups? [] : wheel
          これがないとsuでrootになれない
          /etc/group を直接編集してもOK
• インストーラー画面はsysinstallコマンドで呼び出せる
  o コマンドでもできるが、sysinstallの方が便利
  o パッケージのインストール
  o ネットワーク インタフェースの設定
  o ストレージの追加
インストールしたらやること (2)

• 以下、基本的に要root
• sshdを有効に使用
   o /etc/rc.conf に「sshd_enable="YES"」という行を加える
   o service sshd start
• portsをダウンロード
   o portsnap fetch extract (初回のみ)
   o portsnap fetch update (更新時)
• portsをインストール
   o portinstall <ports名>
   o どんなportsがあるかはfreshports.orgがわかり易い
       http://freshports.org/
インストールしたらやること (3)

• 以下、基本的に要root
• portsを使う前に
   o portupgradeをパッケージでインストール(portsからでも
     インストールできますが、時間がかかるので)
        sysinstallを起動して、configure - packages から、
         ports-mgmt/portupgrade をインストール
   o ほかにもこんなのを入れておくと便利かも
        shells/bash
        sysutils/tmux
• portsからインストールしたファイルは /usr/local に置かれる
   o / ... システムのファイル
   o /usr/local ... ユーザー毎のファイル(/ と似た構造)
インストールしたらやること (4)

• 以下、基本的に要root
• portsをダウンロード
   o portsnap fetch extract (初回のみ)
   o portsnap fetch update (更新時)
   o /usr/ports に展開される
       <カテゴリ名>/<ports名>
       例)www/apache22 = Apache HTTP Server 2.2
• portsからパッケージをインストール
   o portinstall <パッケージ名>
   o 22,784個(2011/3/19現在)
   o どんなパッケージがあるかはfreshports.orgで調べる
       http://freshports.org/
インストールしたらやること (5)

• 以下、基本的に要root
• portsを更新
   o portsnap fetch update
• 更新されたパッケージをリストアップ
   o portversion -l "<"
• パッケージの更新
   o portupgrade <パッケージ名>
• パッケージの削除
   o pkg_deinstall <パッケージ名>
FreeBSDの基本 /etc/rc.conf

• ネットワークの設定、システムの設定
• daemonの有効化、無効化
   o portsからインストールしただけでは起動できない
   o Apache 2.2なら、「apache22_enable="YES"」を追加
   o 渡すフラグなどもここで設定できる
   o service apache22 start
   o 起動スクリプトは次の場所
       標準 /etc/rc.d
       portsなど /usr/local/etc/rc.d
• それ以外の設定は /etc/defaults/rc.conf を見る
/etc/rc.confの例

 # system settings
 keymap="us.iso"
 blanktime="120"
 saver="green"

 # network settings
 defaultrouter="x.x.x.x"
 ifconfig_rl0="inet x.x.x.x netmask x.x.x.x"
 hostname="xxx"

 # daemons
 apache22_enable="YES"
標準機能

• 標準で含まれているデーモン
  o FreeBSD ftp
  o BIND
  o Sendmail
  o OpenSSH
• その他のよく使う標準機能
  o ログローテーションは newsyslog
  o inetデーモンはxinetd
  o パケットフィルタリングはipfilterかpf
  o cron
periodic

• cronから定期的に呼び出されるシェルスクリプト群
   o security , daily(毎日) , weekly(毎週) , monthly(毎月
     )
• periodicからの標準出力はroot宛にメールで送られる
   o dailyメールの内容(一部)
       変更されたシステムファイルの一覧
       ディスクの使用量
       ネットワークインターフェイスの状態
       メールキュー
• 標準 + ユーザースクリプト
   o 標準 /etc/peridoc
   o ユーザースクリプト /usr/local/etc/peridoc
   o ユーザースクリプトの標準出力もメールに含んでくれる
       バックアップとか、メンテナンスとか
FreeBSD jail

• OS標準の軽量仮想環境
  o FreeBSD上にFreeBSD環境をいくつも作ることができる
• 何が嬉しい?
  o 複数の構成のサーバーを同居させられる
     PHP4 + MySQL4で動いているアプリがある
     PHP5 + MySQL5.5で動かしたいアプリがある
     複数のバージョンの混在は面倒
     FreeBSD jailなら簡単
  o 開発環境をすぐに準備
     あれこれ試したいが、システムに触るのはちょっと...
     jailなら準備や破棄が簡単
     環境が分離されているのでjail
FreeBSD jail デモ

• FreeBSD 8 + ezjail
shutdown -p now

• おしまい
• ポポポポーン
• ありがとうございました
アップグレード

• マイナーアップグレード
  o セキュリティパッチとか
       例)8.2-RELEASE → 8.2-RELEASE-p1
  o freebsd-update fetch install
• メジャーアップグレード
  o メジャーバージョンが上がった場合
       例)7.x-RELEASE/8.1-RELEASE → 8.2-RELEASE
  o やり方はバージョンごとに違う
       りりーアナウンスに書いてあります
       最近(8.2-RELEASE)の例
          freebsd-update upgrade -r 8.2-RELEASE
          freebsd-update install ; reboot (2回繰り返し)
ちょっと上級者向けの話


• FreeBSDならZFS使うでしょ?
  o 今回のターゲット程度のPCでは厳しいです
  o メモリ最低4GB、できれば8GB以上ないと性能
    がガタ落ち
  o HDD最低2台、6台とか8台とか16台とか
      そこにSSDを混ぜたい
• もっといろんな機能があるよ
  o DTrace ... OSやアプリケーションの動作を監視
  o VImage ... 仮想PCごとのネットワークスタック
  o SMPng ... CPUコア数に応じたリニアなスケー
    ラビリティ(FreeBSD 8で16コア程度まで)

More Related Content

PPTX
FreeBSDのススメ
PDF
Osc201703 tokyo-clonezilla-v1.2 j
POTX
LinuxをインストールしてWebサーバーを立ち上げてみよう
PDF
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
PDF
LinuxをインストールしてWebサーバーを立ち上げてみよう【OSC2017 Tokyo/Fall】
PDF
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし
PDF
qpstudy05 lignhing talk - virtio
PDF
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08
FreeBSDのススメ
Osc201703 tokyo-clonezilla-v1.2 j
LinuxをインストールしてWebサーバーを立ち上げてみよう
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
LinuxをインストールしてWebサーバーを立ち上げてみよう【OSC2017 Tokyo/Fall】
20130126 第2回福岡debian勉強会 debian wheezyとdebian installerのはなし
qpstudy05 lignhing talk - virtio
Ubuntuとコンテナ技術 What is LXD? and Why? 2015-12-08

What's hot (20)

PDF
ファイルシステム比較
PDF
AllwinnerタブレットのOSを作ってみる (途中版)
PPT
Bsd suki
PDF
魁ここんとーく in おおさか
PPT
Zrouter
PPTX
Hello, systemd
PPTX
今時のLinuxにおけるGPUエンコード事情
PDF
Xenとzfsで作る家庭内VDIサーバ
PPT
YAPC Asia 2010 30days Albumの裏側 後日談
PPT
関西オープンソース 2008 30days Albumの裏側
PDF
しつこくXenとzfsで作る家庭内vdiサーバ2015年版
PDF
Lfsをやってみよう
PDF
Ruby(thorライブラリ)
PDF
systemdを始めよう
PDF
初心者がOpenIndianaで自宅サーバを作ったよって話
PDF
Firefox OS + Raspberry Pi
PDF
Flameにfirefox os2.1を入れてみた+α
PDF
VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編
PDF
Kernel ext4
PDF
エンジニアのための痔の話
ファイルシステム比較
AllwinnerタブレットのOSを作ってみる (途中版)
Bsd suki
魁ここんとーく in おおさか
Zrouter
Hello, systemd
今時のLinuxにおけるGPUエンコード事情
Xenとzfsで作る家庭内VDIサーバ
YAPC Asia 2010 30days Albumの裏側 後日談
関西オープンソース 2008 30days Albumの裏側
しつこくXenとzfsで作る家庭内vdiサーバ2015年版
Lfsをやってみよう
Ruby(thorライブラリ)
systemdを始めよう
初心者がOpenIndianaで自宅サーバを作ったよって話
Firefox OS + Raspberry Pi
Flameにfirefox os2.1を入れてみた+α
VPSもDesktopもYaSTを使ってLinuxをらくらく設定―ファイルサーバー構築・管理編
Kernel ext4
エンジニアのための痔の話
Ad

Similar to FreeBSDで行こう for small server (20)

PDF
Free bsd jail入門
PDF
FreeBSD ports と暮らす(4) Options NG 編
ODP
Custom Package Building with Poudriere
PDF
講座Linux入門・サーバOSとしてのLinux
PDF
自分色のLinuxホームサーバーを作ってみよう
ODP
ODP
FreeBSD 12.0 RELEASE!
KEY
Fabricでサーバー管理をDRYにしよう
PDF
initramfsについて
PDF
KVM+cgroup
PDF
Freebsd ports と暮らす(5) 2012年を振り返る
PDF
CIBC 事前インストール
PDF
NGS速習コース:UNIXの基礎の理解/Linux導入
PDF
Infinite Debian - Platform for mass-producing system every second
PPTX
Osoljp201204
PDF
【dots. IT勉強会】開発環境のDocker化
PDF
OpenStack構築手順書 Liberty版 (期間限定公開)
PDF
スタート低レイヤー #0
PDF
Linuxサーバのセキュリティ対策 part1
PPT
Webサーバーの構築
Free bsd jail入門
FreeBSD ports と暮らす(4) Options NG 編
Custom Package Building with Poudriere
講座Linux入門・サーバOSとしてのLinux
自分色のLinuxホームサーバーを作ってみよう
FreeBSD 12.0 RELEASE!
Fabricでサーバー管理をDRYにしよう
initramfsについて
KVM+cgroup
Freebsd ports と暮らす(5) 2012年を振り返る
CIBC 事前インストール
NGS速習コース:UNIXの基礎の理解/Linux導入
Infinite Debian - Platform for mass-producing system every second
Osoljp201204
【dots. IT勉強会】開発環境のDocker化
OpenStack構築手順書 Liberty版 (期間限定公開)
スタート低レイヤー #0
Linuxサーバのセキュリティ対策 part1
Webサーバーの構築
Ad

More from Tatsumi Naganuma (10)

PDF
Goをえらんだ理由
PDF
Xtend - Javaの未来を今すぐ使う
PDF
Markdown入門
PDF
Dartをはじめよう
PDF
Cross Platform Make
PPT
Antのススメ
PPT
PPT
Node.js で Web アプリ開発
PPT
初めての REST - Representational State Transfer
Goをえらんだ理由
Xtend - Javaの未来を今すぐ使う
Markdown入門
Dartをはじめよう
Cross Platform Make
Antのススメ
Node.js で Web アプリ開発
初めての REST - Representational State Transfer

FreeBSDで行こう for small server

  • 1. FreeBSDで行こう for small server 長沼 立巳
  • 2. 自己紹介 • 長沼立巳(ながぬまたつみ) • 上田市の機器メーカー勤務 • 使っているOS o デスクトップはUbuntu  9.04(2009年4月リリース)くらいから o サーバーはFreeBSD  3.4(2000年12月リリース)くらいから  長いだけのライトユーザー
  • 3. FreeBSDのお話 • フリーでオープンなオペレーティングシステム • サーバーとか、組み込みとか o デスクトップ用途は弱いかも • 今回は小規模サーバー向けのお話
  • 4. FreeBSDのお話 • 個人用サーバー、SOHOサーバー、部門サーバー • 大体のターゲット o Pentium II以降、Core i3とか o メモリ 256MBから4GBくらいまで o ストレージ 2GBから1TBくらいまで o Webサーバー、メールサーバー • 我が家の常時稼動サーバー(8年くらい) o VIA Eden ESP-6000 667MHz o メモリ 512MB o ストレージ 32GB SSD
  • 5. なぜFreeBSDなのか • 無料 • シンプル • 簡単 • 便利
  • 6. FreeBSDをインストール...の前に • どのバージョンを使うか • 最新安定版は 8.2-RELEASE (2011年1月) o リリース版は 8.2-RELEASE という名前 o パッチが出ると 8.2-RELEASE-p1 (まだ出てません) o 次のリリースは 8.3-RELEASE (まだ出てません)の予 定 o 旧バージョン(7.4-RELEASE)のメンテナンスも引き続 き行われている  http://www.freebsd.org/security/security.html#sup • 現在の開発版は 9.0-CURRENT o ここからリリースされるときに 9.0-RELEASE という名 前になる
  • 8. FreeBSDをダウンロード(2) • 何種類かありますけど... o FreeBSD-8.2-RELEASE-i386-bootonly.iso  ブートのみ。容量最小(現在47MB)。おすすめ。  今回はこれで行きます o FreeBSD-8.2-RELEASE-i386-disc1.iso  CD用。 o FreeBSD-8.2-RELEASE-i386-dvd1.iso.xz  DVD用。xz形式。容量最大(1.9GB)。 o FreeBSD-8.2-RELEASE-livefs.iso  レスキュー用。 o FreeBSD-8.2-RELEASE-memstick.img  USBメモリ用。
  • 9. FreeBSDのインストール...は時間が... • standard / express / custom が選べるが o できることはほぼ同じ o standard ... ウィザード形式。起動するデーモンが選べる o express ... ウィザード形式 o custom ... 手順の一覧から選べる • ディスクの設定は面倒なら 'a' (自動設定)でOK o ただしディスク全体を使わないなら注意して o 一般「パーティション」 ⇔ FreeBSD用語「スライス」 • わからないところは何もせずにすっとばす o システムファイルのインストール以外はあとでもできる o DistributionsはMinimalで十分
  • 11. インストールしたらやること (1) • 以下、基本的に要root o まずはrootでログイン • 普段使い用のユーザーを作成 o adduser  設定項目は他のUNIXと基本的に同じ  Invite username into another groups? [] : wheel  これがないとsuでrootになれない  /etc/group を直接編集してもOK • インストーラー画面はsysinstallコマンドで呼び出せる o コマンドでもできるが、sysinstallの方が便利 o パッケージのインストール o ネットワーク インタフェースの設定 o ストレージの追加
  • 12. インストールしたらやること (2) • 以下、基本的に要root • sshdを有効に使用 o /etc/rc.conf に「sshd_enable="YES"」という行を加える o service sshd start • portsをダウンロード o portsnap fetch extract (初回のみ) o portsnap fetch update (更新時) • portsをインストール o portinstall <ports名> o どんなportsがあるかはfreshports.orgがわかり易い  http://freshports.org/
  • 13. インストールしたらやること (3) • 以下、基本的に要root • portsを使う前に o portupgradeをパッケージでインストール(portsからでも インストールできますが、時間がかかるので)  sysinstallを起動して、configure - packages から、 ports-mgmt/portupgrade をインストール o ほかにもこんなのを入れておくと便利かも  shells/bash  sysutils/tmux • portsからインストールしたファイルは /usr/local に置かれる o / ... システムのファイル o /usr/local ... ユーザー毎のファイル(/ と似た構造)
  • 14. インストールしたらやること (4) • 以下、基本的に要root • portsをダウンロード o portsnap fetch extract (初回のみ) o portsnap fetch update (更新時) o /usr/ports に展開される  <カテゴリ名>/<ports名>  例)www/apache22 = Apache HTTP Server 2.2 • portsからパッケージをインストール o portinstall <パッケージ名> o 22,784個(2011/3/19現在) o どんなパッケージがあるかはfreshports.orgで調べる  http://freshports.org/
  • 15. インストールしたらやること (5) • 以下、基本的に要root • portsを更新 o portsnap fetch update • 更新されたパッケージをリストアップ o portversion -l "<" • パッケージの更新 o portupgrade <パッケージ名> • パッケージの削除 o pkg_deinstall <パッケージ名>
  • 16. FreeBSDの基本 /etc/rc.conf • ネットワークの設定、システムの設定 • daemonの有効化、無効化 o portsからインストールしただけでは起動できない o Apache 2.2なら、「apache22_enable="YES"」を追加 o 渡すフラグなどもここで設定できる o service apache22 start o 起動スクリプトは次の場所  標準 /etc/rc.d  portsなど /usr/local/etc/rc.d • それ以外の設定は /etc/defaults/rc.conf を見る
  • 17. /etc/rc.confの例 # system settings keymap="us.iso" blanktime="120" saver="green" # network settings defaultrouter="x.x.x.x" ifconfig_rl0="inet x.x.x.x netmask x.x.x.x" hostname="xxx" # daemons apache22_enable="YES"
  • 18. 標準機能 • 標準で含まれているデーモン o FreeBSD ftp o BIND o Sendmail o OpenSSH • その他のよく使う標準機能 o ログローテーションは newsyslog o inetデーモンはxinetd o パケットフィルタリングはipfilterかpf o cron
  • 19. periodic • cronから定期的に呼び出されるシェルスクリプト群 o security , daily(毎日) , weekly(毎週) , monthly(毎月 ) • periodicからの標準出力はroot宛にメールで送られる o dailyメールの内容(一部)  変更されたシステムファイルの一覧  ディスクの使用量  ネットワークインターフェイスの状態  メールキュー • 標準 + ユーザースクリプト o 標準 /etc/peridoc o ユーザースクリプト /usr/local/etc/peridoc o ユーザースクリプトの標準出力もメールに含んでくれる  バックアップとか、メンテナンスとか
  • 20. FreeBSD jail • OS標準の軽量仮想環境 o FreeBSD上にFreeBSD環境をいくつも作ることができる • 何が嬉しい? o 複数の構成のサーバーを同居させられる  PHP4 + MySQL4で動いているアプリがある  PHP5 + MySQL5.5で動かしたいアプリがある  複数のバージョンの混在は面倒  FreeBSD jailなら簡単 o 開発環境をすぐに準備  あれこれ試したいが、システムに触るのはちょっと...  jailなら準備や破棄が簡単  環境が分離されているのでjail
  • 21. FreeBSD jail デモ • FreeBSD 8 + ezjail
  • 22. shutdown -p now • おしまい • ポポポポーン • ありがとうございました
  • 23. アップグレード • マイナーアップグレード o セキュリティパッチとか  例)8.2-RELEASE → 8.2-RELEASE-p1 o freebsd-update fetch install • メジャーアップグレード o メジャーバージョンが上がった場合  例)7.x-RELEASE/8.1-RELEASE → 8.2-RELEASE o やり方はバージョンごとに違う  りりーアナウンスに書いてあります  最近(8.2-RELEASE)の例  freebsd-update upgrade -r 8.2-RELEASE  freebsd-update install ; reboot (2回繰り返し)
  • 24. ちょっと上級者向けの話 • FreeBSDならZFS使うでしょ? o 今回のターゲット程度のPCでは厳しいです o メモリ最低4GB、できれば8GB以上ないと性能 がガタ落ち o HDD最低2台、6台とか8台とか16台とか  そこにSSDを混ぜたい • もっといろんな機能があるよ o DTrace ... OSやアプリケーションの動作を監視 o VImage ... 仮想PCごとのネットワークスタック o SMPng ... CPUコア数に応じたリニアなスケー ラビリティ(FreeBSD 8で16コア程度まで)