自分色のLINUXホーム
サーバーを作ってみよう
オープンソースカンファレンス 2012 Nagoya
日本openSUSEユーザ会 名古屋支部 橋本雅彦
本日のあじぇんだ
1. Linux? openSUSE? それって美味しいの?
2. Case1: メディアサーバーを構築しよう!
  1. YaSTでopenSUSEのいろは。
  2. Sambaなファイルサーバーを構築。 本資料は、近日中に
  3. DLNAサーバーもやってみよう。
                        http://www.geeko.jp/ で
                        公開します!
  4. iTuneサーバーもやってみよう。
3. Case2: 開発環境を構築しよう!
  1. Subversionサーバーも構築しちゃおう。
  2. Open Build Serviceってな~に?(今日はさわりだけ)
  3. SUSE Studioで自分だけのライブUSBをつくってみよう!



               ちなみに、本日のページ数(笑)。
                 1枚1分で行きますよ~。             (2/47)
1.Linux? openSUSE? それって美味しいの?
openSUSE…ってOSだっけ?
(ちょっとだけ初心者向けなおはなし。)
• Linuxにはいくつかのディストリビューションが存在する。
   • Redhat系 … RHEL、Fedora、CentOS、VineLinux
   • Debian系 … Debian、Ubuntu
   • SUSE系 … SLES、SLED、openSUSE
   • その他 … SLAX、TurboLinux
                                            などなど。


• ディストリビューションはOSではない?
  • Linuxカーネル部分がOSであってディストリビューションではない。
  • ディストリビューションは、LinuxOSの種類。




                                          (4/47)
だからopenSUSEってなんなのさ?
• SLES、SLEDのコミュニティー開発バージョン。
  • SLES: SUSE Linux Enterprise Server
  • SLED: SUSE Linux Enterprise Desktop
    (つまりはFedora:RHELみたいな関係です。)
• 最新安定版リリースバージョンはopenSUSE 12.1
  • 8ヶ月ごとのリリースを目標。
  • *.1 は 11月に、*.2 は 7月に、*.3 は3月に出す。 openSUSE 11.4のことは
                                       忘れてください(笑)。
• マスコットはおなじみ、Geeko君!




                                                  (5/47)
2.Case1: メディアサーバーを構築しよう!
とりあえずやってみること。
1. まずはSambaでファイルサーバーを構築
2. MediatombでDLNAサーバーを構築
3. mt-daapdでiTuneサーバも構築


…定番ですね(^^;

今回は「/srv/media」というディレクトリを共有化します。
まず、下記コマンドでディレクトリを作成しておきましょう。
 • mkdir -p /srv/media
 • chown -R (一般ユーザ):users /srv/media


                                       (7/47)
YaSTで簡単設定…と、YaSTってなに?


• YaSTはWindowsでいうところのコントロールパネル
• できること
  • ソフトウェア・リポジトリの管理
  • ハードウェア管理 (プリンタ・サウンドなど)
  • システム管理 (ブートローダー・パーティションなど)
  • ネットワーク・セキュリティ設定
  • サーバー設定 (Apache、Samba、NTP、NFSなど)
  • 仮想化ツール
• CUI版、Web版のYaSTも存在します!
                                      (8/47)
Samba設定…の前にやっておきたいこと
YaSTを起動して、「セキュリティとユーザ」>「ファイアウォール」を選択




「インターフェイス」                「変更」をクリックして
   を選択                 「内部ゾーン」に変えておきましょう




…これをやっておかないと後で面倒なことになったりします。
え、「内部ゾーン」ってなに?
ルーターを思い浮かべてください…。
• 内部ゾーン: LANポート側
• 外部ゾーン: WANポート側
• 非武装ゾーン: DMZ


           インターネット          外部ゾーン

            GWルーター
内部ゾーン
                              非武装ゾーン(DMZ):
                                外からも内からも
        PC(端末)       サーバー     アクセス可能なゾーン
                               (Webサーバー等)


今回は「内向け」メディアサーバー=「内部ゾーン」でしょ?
                                     (10/47)
Samba起動設定
YaSTを起動して、「ネットワークサービス」>「Sambaサーバー」を選択
※初回ウィザードで設定する場合も、本ページ以降を参考にしてください。




                  「システム起動時」
                   にSambaを起動




            ファイアウオールで
              ポートを開く
                                        (11/47)
共有ディレクトリの設定
1. 「Sambaの設定」ダイアログから「共有」タブを選択
2. 「追加」ボタンを押下



                  ここは適当で。




                     共有するディレクトリパス
                         を入力




                                (12/47)
ワークグループの確認
• 「Sambaの設定」ダイアログから「識別情報」タブを選択
                 Windows PCのワークグループ
                      に合わせましょう。




                         WINSサーバについては…
                            お任せします(^^)


                          ※「識別情報」タブの一部は
                          初期設定でも設定できます。


       確認が終わったら「OK」を押しましょう!
                                      (13/47)
Samba設定完了…あれ?
                     初回設定時のみ、
                     OKを押したら何か出てきます。
                     「Sambaの」rootユーザの
                     パスワードを入力します。
                     ※openSUSEのrootパスワード
                     ではありませんよ~!

実は…
ここでの設定はrootパスワード。一般ユーザではありません!
でもふつー、Sambaアクセスは一般ユーザで行うはず。
ので、「smbpasswd –a (ユーザ名)」でSamba用ユーザを作成しましょう。
※「smbpasswd –a」コマンドはrootユーザで実行します。
                                      (14/47)
それではSamba設定(YaSTの使い方)の
実演です!
続いてDLNAサーバの構築だけど…

• でも、LinuxってMP3とかMP4とか、再生大変じゃない?
• openSUSEはどうなんだ~?(全然情報ないし^^;)




回答:
openSUSEなら「1クリックインストール」で全然大丈夫!
注)正確には1クリックではないけど。。。



                                 (16/47)
コミュニティのリポジトリを追加しよう!
• MP3やMP4のソフトウェアは、通常のリポジトリには入っていません!
→ Multimediaコミュニティのリポジトリを追加します。

• え~、他のディストリビューションでリポジトリを追加したことあるけど、作業
 がめんどかったよ~。(viでsources.listとかいうファイル編集して…)
→ openSUSEお得意の「1クリックインストール」ができます。

• んなばかな?
→ http://opensuse-community.org/Restricted_Formats


                                            「1 click」って
                                           書いてあるでしょ!


                                                          (17/47)
openSUSEの1クリックインストール
• 先ほどのページにある「codecs-xxx.ymp」を、openSUSEで
  開くと、「自動で」インストーラーが起動します。
• インストール途中で「リポジトリを信頼しますか?」というダイア
  ログが表示され、「Yes」を答えると、「自動で」パッケージイン
  ストールに必要なリポジトリが追加されます。

結果:
1クリックで「codecs-xxx.ymp」を開くと、いつのまにかMP3、
MP4再生に必要なソフトウェアがインストールされ、関連のリポ
ジトリも追加されます!


                                    (18/47)
Mediatombのインストール
• 「codecs-xxx.ymp」を実行しても、Mediatombはインストール
されません。手動でインストールしましょう。
 • 「codecs-xxx.ymp」で必要なリポジトリは入っちゃうんです(^^;



Mediatomb インストール方法:
1. YaSTから「ソフトウェア」>「ソフトウェア管理」を選択
2. 「検索」タブを選択し「mediatomb」を検索



                                  ほらみつかった。


                                        (19/47)
Mediatombの設定

1. 下記ファイルの編集
  • /etc/mediatomb.conf
  • /etc/mediatomb/config.xml
2. 「http://(サーバーのIP): 50500 」へアクセスしてDB作成



  …と、詳しい設定方法については、
  ぐ~ぐる先生がよくご存じですので、ここでは割愛します。
  あしからず(^^)


                                      (20/47)
野良ビルドなiTuneサーバーをインストール
• iTuneサーバーとして、mt-daapdというソフトウェアがあります。
   • 今はFireflyという名前だったかも。。。
• mt-daapdは先ほどのインストール方法でもインストールでき
  ません。(リポジトリに入っていません)
• ですが、野良ビルドは存在するのでちょっと試してみましょう!


openSUSEの野良ビルドは「公式サイト」から検索できます(笑)。
しかも、お得意の「1クリックインストール」で!
(なんか下手な商売文句みたいだ…)

なぜ公式サイトから検索できるのか?についてはまた後ほど。
                                  (21/47)
openSUSEの「パッケージ検索」ページ
URL: http://software.opensuse.org/search

                                            パッケージ名を入力して
                                           「検索」ボタンを押します。




                                     「Show unstable packages」
                                           をクリックすると、
                                  「1 Click Install」が出てきましたね。




 mt-daapdについても、細かい設定方法については割愛しますm(_ _)m
3.Case2: 開発環境を構築しよう!
後半のあじぇんだ
1. Subversionサーバーの構築。
2. Open Build Serviceの紹介。(野良ビルドの正体)
3. SUSE Studioで自分だけのライブUSBをつくってみよう!




                                      (24/47)
Subversionサーバを構築しよう
• WebDAVを利用して、http経由でアクセスできるようにします。
• 今回のリポジトリの場所は、「/srv/svn/repos」。
  • ここに、複数のリポジトリを作ってみます。
  • リポジトリへは「http://(IPアドレス)/svn/repos/xxx」でアクセスします。



       /srv      svn       repos     repo


                                    repo2
           「/srv/svn/repos/」
         の下に複数のリポジトリを
              作成します。

                                               (25/47)
まずはApache/Subversionのインストール
• YaSTから、「ソフトウェア」>「ソフトウェア管理」を選択。
• 以下のソフトウェアをインストールします。
  • subversion-server
  • subversion
  • apache2
  • apache2-doc
  • apache2-prefork
  • libapr1
  • libapr-util1



…というのも、なんかちょっとめんどくさいので。。。

                                   (26/47)
「パターン」をインストールしよう。
                                     「パターン」タブ
                                       を選択




                              「WebおよびLAMPサーバ」
                                にチェックを入れる。




※subversion、subversion-serverは検索してインストールします。
YaSTからApacheの設定
• YaSTから、「ネットワークサービス」>「HTTPサーバ」を選択。
※初回ウィザードで設定する場合も、本ページ以降を参考にしてください。



                  待ち受けポートとアドレスの設定


                  有効


                       ファイアウォールでポートを開く




                                     (28/47)
Apache サーバモジュールの設定
               1.「サーバモジュール」タブを選択




          2.「dav」、「dav_fs」、「dav_svn」
              をそれぞれ選択して…




          3.「状態の切り替え」ボタンを押下
               → 「有効」へ変更




                                   (29/47)
サーバーモジュールが足りない!




              「モジュールの追加」
                   を押下して
           「dav_lock」を追加しましょう。




                        (30/47)
メインホストの設定
• …は、そのままでもいっか。
                     「メインホスト」タブを選択




                    ここで、「ドキュメントルート」
                     などのディレクトリパスを
                       変更できます。

                   「サーバ名」、
              「サーバ管理者のメールアドレス」
               くらいは設定しておきましょう。




  ※「ホスト」タブではバーチャルホストの設定も可能です。        (31/47)
Subversionリポジトリをつくる
 • ここからはCUIです。頑張ってコマンドを入力しましょう!
   • コマンド入力はrootユーザで行います。



  #   mkdir -p /srv/svn/repos/repo        1

  #   svnadmin create /srv/svn/repos/repo      2
  #   chown -R wwwrun:www /srv/svn
  #   htpasswd2 -c /srv/svn/svnpasswd (ユーザ名)

1. 「svnadmin create」コマンドでリポジトリを作成し、「www」グ
   ループの「wwwrun」ユーザを所有者とします。
2. 「htpasswd2 -c」コマンドでパスワードファイルを作成します。
                                          (32/47)
SVN-Apache連携ファイルの設定
• 「/etc/apache2/conf.d/subversion.conf」を編集します。
   • 既にサンプルが記述されています。参考にしながら修正します。
<Location /svn/repos>                                      Subversion
 DAV svn                                                  リポジトリのURL
 SVNParentPath /srv/svn/repos

 # Limit write permission to list of valid users.         リポジトリの
 <LimitExcept GET PROPFIND OPTIONS REPORT>                親ディレクトリ
   # Require SSL connection for password protection.
   # SSLRequireSSL

    AuthType Basic
    AuthName "Authorization Realm"                      サーバアクセス
    AuthUserFile /srv/svn/svnpasswd
                                                       パスワードファイル
    Require valid-user
  </LimitExcept>
</Location>

修正が終わったら、「rcapache2 restart 」でApache再起動!
それではチェックアウトしてみよう!
• 任意のSubversionクライアントでチェックアウトしてみます。



                               今回はURLに
                    「http://(IPアドレス)/svn/repos/repo」
                                 と入力。




               チェックアウトできましたか?                 (34/47)
リポジトリを追加したい場合は…
• 3枚前のスライドと同様に、リポジトリ作成を行うだけです。


# mkdir -p /srv/svn/repos/repo2
# svnadmin create /srv/svn/repos/repo2
# chown -R wwwrun:www /srv/svn/repos/repo2




余談ですが…
最初のコミットはテキストファイルのみをコミットした方がよさそう。。。
                                        (35/47)
野良ビルドの正体とは?
• 「Case1」で「openSUSEでは野良ビルドも公式サイトからダウ
ンロード可能」と書きましたが、それはなぜでしょう?



その理由は…


   Open Build Service
                                です。




                                (36/47)
OpenBuildServiceって?
URL: https://build.opensuse.org/

• ソースコードとspecファイルのみを用意すれば、クラウド上でビルド
  して、パッケージングまでしてしまうというサービスです。
• openSUSEの主要リポジトリも、全てOpenBuildServiceを用いてビ
  ルドされています。

OpenBuildServiceのびっくりなお話。
1. SUSEだけに限らず、MeeGoも利用している。
2. なんと、Debian、Ubuntu、RedHat、Fedora、CentOSのパッケー
   ジングまで可能!
3. PPCやARM向けにもコンパイル可能!?
  → ARM向けopenSUSEパッケージを作ってるコミュニティもあります。

                                          (37/47)
本日は時間の都合上、
さわりの部分だけ紹介させていただきますm(_ _)m
最後の総まとめ。ライブUSBの作り方
• SUSEの提供するもう一つのクラウドサービスがあります。


「SUSE Studio」
http://susestudio.com/




 • 「誰でもディストリビューター」みたいなサービスです。
                                (39/47)
SUSE Studioの特徴
• CUIだけの小さなopenSUSEから、本格的なKDEopenSUSE
  まで、自分好みのパッケージを選択して、ライブCD/USBが作
  成可能。
• VMware、VirtualBox、KVM、Xenといった、仮想PCイメージ
  も簡単に作成可能。
• Amazon EC2のイメージだって作成可能。


   Novellアカウントだけでなく、
   Google、Yahoo、Twitter、facebook、OpenIDの
   アカウントでログインが可能なため、
   誰でも気軽に試すことができます!

                                           (40/47)
そんじゃあライブUSBを作ってみるぞ~




1.「USB Stick / hard
 disk image」を選択           2.「Builid」ボタンを押下



                       3.「Download」を
                      クリックしてDL開始!
(実演)SUSE Studioを触ってみよう!
イメージをUSBメモリへ書き込もう
• 前準備
  1. 「http://software.opensuse.org/search」から、「SUSE Studio
     imagewriter」を検索して、パッケージをインストールします。
  2. SUSE Studio からダウンロードしてきたファイル「xxx.tar.gz」を、「tar
     xvzf xxx.tgz」コマンドで予め解凍しておきます。
   → 「xxx.raw」というファイルが出てきます。
• 前準備が終わったら、端末を起動し、rootユーザーから
 imagewriterを起動します。

    $ su –                      rootユーザで
                               起動しましょう!
    $ imagewriter

                                                   (43/47)
Imagewriterの実行
                                 起動したウィンドゥに
                             先ほど解凍した「xxx.raw」を
                                   放り込みます。
                          (ドラッグ&ドロップ or ファイル選択)
                         → 「Write」ボタンを押して書き込み開始!


• 完了したら…
  1. root端末から「fdisk /dev/sdb」コマンドを起動します。
  2. 下記の手順で、/dev/sdb1をブート可能状態にします。

       $ fdisk /dev/sdb
                                         fdiskは
        p ← パーティションテーブルの表示
                                      対話型コマンドです。
        a ← アクティベート
        1 ← アクティベートするパーティションを選択
        w ← 書き込み
        q ← fdiskの終了                       (44/47)
起動確認。
USBメモリから起動してみましょう!
起動できましたか?


注: 通常のHDDから起動するより、ちょっとだけ時間かかります。
気長に待ちましょう~(^^)



お知らせ)
本日(OSC名古屋)のブースでは、USBメモリから起動したデモ機を展示しています。
時間のある方は触ってみてください。
(但し、時間がない状態でイメージを作ったので、使う分にはパッケージ不足???)


                                   (45/47)
最後にお知らせ。
いかがでしたでしょうか?
尚、本日紹介しましたノウハウ&資料については、
下記の場所で随時公開していきます。

Geeko World
http://www.geeko.jp/

また、毎週土曜22時より、IRC(チャット)のFreenodeにて、
openSUSE定例を行います。(#opensuse-ja チャンネル)
質問事項などは、そこでサポートできれば…と思います。
ご清聴、ありがとうございましたm(_ _)m

自分色のLinuxホームサーバーを作ってみよう