• カテゴリー別アーカイブ 7.OpenSim
  • OpenSimのOSgrid用設定ファイルを準備

    設定ファイルは最初ないので、ひな形から複製します。

    /usr/local/opensim/bin# ls *ini*

    色々でてきますがOpenSim.ini.exampleをつかいますます

    cp OpenSim.ini.example OpenSim.ini
    vi OpenSim.ini[/cod]
    
    とここで編集してスンドアローンで立ち上げるテストをしてもいいですがOSgridにつなぐ目的なので省略、ログインサーバーなどの働きをするRoubustサーバーも省略前回ソースをとってきたwww.OSgrid.orgのダウンロードページに、設定ファイルもおいてあったので、それをコピペしちゃいました。あとで変更ヶ所がでてくるけど、最初はそのままでOK(GridHypergrid.iniを読み込む設定)。
    
    さらにconfig-includeに移動してGridCommon.iniとFlotsamCache.iniをコピー
    cd config-include
    cp GridCommon.ini.example GridCommon.ini
    cp FlotsamCache.ini.example FlotsamCache.ini

    これらもOSgridのテキストからコピペしました。

    GridCommon.iniは変更するとこがあります。
    先頭のセクションでデーターベースを指定します。

    ;[DatabaseService]
    ;
    ; ### Choose the DB
    ;
    ; SQLite
    ;Include-Storage = "config-include/storage/SQLiteStandalone.ini";コメントアウトします
    ; Unfortunately the current SQLite database plugin is not compatible with Mac OSX. You can still use the older
    ; legacy sqlite library if you are using Mono 2.4. Please see the notes in OpenSim.ini (search for sqlite)
    ; for more details
    ;Include-Storage = "config-include/storage/SQLiteLegacyStandalone.ini";
    ; MySql
    ; Uncomment these lines if you want to use mysql storage
    ; Change the connection string to your db details
    ;;コメントアウトをはずしてパスワードを設定します。MySQLにopensimと言うユーザー作ったのでそのパスワードです。
    StorageProvider = "OpenSim.Data.MySQL.dll"
    ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;"
    ; Uncomment this line if you are using MySQL and want to use a different database for estates
    ;下はエステートの管理を他のサーバーのデーターベースで管理するときか?とりあえずそのまま 
    ;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;";

    FlotsamCache.iniはそのまま

    さて、次はOSgridにつなげる自分のシムの情報を書いた設定ファイルを作成します
    予め用意しておかなくても、OpenSim起動したときに、聞いてくるので、それに答えていけば自動に製作されます。
    場所はbin\regions\Region.ini
    内容は、1SIMあたり下記のような内容で、複数SIMを作りたいときは、ここに追記するだけです。最初は1つで試してみました。

    [MichieIsland]
    RegionUUID = 122345ab-cdef-1234-5648-9abcdef12345
    Location = 10123,10123
    InternalAddress = 0.0.0.0
    InternalPort = 9000
    AllowAlternatePorts = False
    ExternalHostName = ***.***.***.***

    一番最初がRegionの名前(SIMの名前)
    2番目はRegionごとに設定するユニークなID 起動した際に入力しているならば、自動に生成されているとおもうけど、あらかじめ用意しておくときはuuidgen -tコマンドで生成しておく。
    3番目はOSgridのマップで探したあいてる場所の座標を指定する。中心は10000,10000なので離れすぎるとハイパーリンクで移動できない
    4番目はそのまま
    5番目はひとつ目はそのまま、追加するば場合はかぶらないように変更していく。
    6番目はそのまま。
    7番目に自分のサーバーのアドレスを指定する。

    現在、ひとつのRegionにたいしてこれだけのセットをしていしてあればいいみたいだ。
    管理者やエステートなどは初回に尋ねられるので、そのとき入力する。Regions.iniにはのこらないみたい。

    もう早く起動したい?回はOpenSimをスタートさせてOSgridにつなげてみます。ミチエ


  • VPS OpenSimソースコードからコンパイル

    私は/usr/local 下で管理者権限で作業しています。
    ソースコードはOSgridにつなげる目標なのでOSgridからもってきました。現時点で本家は0.7.2でOSgridは0.7.3dev
    www.osgrid.orgのダウンロードページのCurrent Release source code only tar.gzから(ファイル名は変わるのでページをみてリンクアドレスをコピペ)

    wget http://osgrid.googlecode.com/files/opensim-38db874.tar.gz

    ダウンロードしたソースコードを展開する

    tar -xvzf opensim-38db874.tar.gz

    終えるてlsで確認すると、作業デレクトリー/usr/localに新しいopensim-38db874(名前はダウンロードファイルによる)デレクトリーができてるので、名前をopensimに変更

    mv opensim-38db874 opensim

    opensimデレクトリーに移動してコンパイル作業に移ります。

    cd opensim
    ./runprebuild.sh

    しばらくすると準備がととのいますので

    xbuild

    でコンパイルが始まります。私の時は警告が37エラー0で終了。xbuildのかわりにnantを使うと警告は出なかったような記憶がある。

    コンパイルが終了したらopensim/binデレクトリーに実行ファイルが出来てるはずです。

    cd bin
    ls *.exe

    これでコンパイルは終了です。起動まであと一歩、つぎは設定ファイルを準備します。 ミチエ


  • VPS MySQL Serverのインストール

    インストール

    usr/local# apt-get install mysql-server

    インストールの途中でのroot管理者パスワードを設定することになります。

    インストールが終わるとubuntuの場合すでにサービスは起動していますので、コマンドで確認します。

    # mysql -u root -p
    Enter password:

    MySQLの設定はMySQLデーターベースの中にはいってるので、データーベースを切り替えます。

    mysql> use mysql;

    登録されてるユーザーとパスワードの確認

    mysql> select host,user,password from user;
    +----------------------+------------------+-------------------------------------------+
    | host                 | user             | password                                  |
    +----------------------+------------------+-------------------------------------------+
    | localhost            | root             | *123456789ABCDEF123456789ABCDEF123456789A |
    | ubuntu-32-serversman | root             | *123456789ABCDEF123456789ABCDEF123456789A |
    | 127.0.0.1            | root             | *123456789ABCDEF123456789ABCDEF123456789A |
    | localhost            | debian-sys-maint | *6789ABCDEF123456789ABCDEF123456789ABCDEF |
    | 123.456.789.101      | root             | *123456789ABCDEF123456789ABCDEF123456789A |
    +----------------------+------------------+-------------------------------------------+

    参考にしたサイトによると、パスワードなどがないユーザーを削除などするとなっていたが、正しいのでいじる必要はなかった。

    Opensimが利用するユーザー名をつくる
    コマンドは

    mysql> grant all on *.* to ユーザ@ホスト名 identified by 'パスワード';

    で、ユーザ@ホスト名は、ユーザ名@localhost、ユーザ名@IPアドレスとする場合もあるが、決められない外部サーバーから利用するには、ユーザ名@”%”のワイルドカードをつかえる。ユーザー名はrootの凡例が多いが、OSgritのテンプレートがopensimなのでopensim@”%”でopensim用のユーザーを作った。

    mysql> grant all on *.* to opensim@"%" identified by '********';
    +----------------------+------------------+-------------------------------------------+
    | host                 | user             | password                                  |
    +----------------------+------------------+-------------------------------------------+
    | localhost            | root             | *123456789ABCDEF123456789ABCDEF123456789A |
    | ubuntu-32-serversman | root             | *123456789ABCDEF123456789ABCDEF123456789A |
    | 127.0.0.1            | root             | *123456789ABCDEF123456789ABCDEF123456789A |
    | localhost            | debian-sys-maint | *6789ABCDEF123456789ABCDEF123456789ABCDEF |
    | %                    | opensim          | *ABCDEF123456789ABCDEF123456789ABCDEF1234 |
    | 123.456.789.101      | root             | *123456789ABCDEF123456789ABCDEF123456789A |
    +----------------------+------------------+-------------------------------------------+

    OpenSim用のデーターベースを作っておく

    mysql> create database opensim;
    mysql> show databases;

    これでデーターベースの準備は終わりかな、なんか忘れているようなきもするけど ミチエ

    いまさらだけど、MySQLのコマンドラインの最後のを忘れずに、MySQLからぬけるのは

    \q

    (バックスラッシュ+q)

    追伸 やっぱり忘れていた
    MySQL設定ファイルを修正して、外部からのアクセスを可能にしておかないと。ユーザー作っただけではだめだ。

    sudo vi /etc/mysql/my.cnf

    以下に該当する部分

    bind-address = 127.0.0.1

    ローカルアクセスに限定してるところをコメントアウトする
    #bind-address = 127.0.0.1[/cod]


  • VPS OpenSimに必要な物を集める

    OpenSimに必要な物を集めていきます。
    本来、/home/user/以下のデレクトリーで作業するべきなのでしょうか、調べてると2つにわかれるので、OSgridにあるそのまま使うことにして、
    管理者権限で/usr/local下で作業してます。SU使えない場合sudoを加えて読み取ってください。

    参考にした資料
    本家opensimulator

    東京情報大学 ネットワークシステム研究室(NSL)のマニュアルPDF版v1.1.0

    OSgrid利用するなら、一番OSgridのwikiは設定が分類されて説明されてます。

    ubuntuでは、最低限、opensimのソースとmono-completeがあればあとは、gurid接続に必要なMySQLをいれればOKのようです。
    ネットで調べるといろいろ出てきますが、mono関連のライブラリーやコンパイルに必要なxbuildも含まれているので、nantは必要ありません。しかしxbuildは警告が30何個もでた。nantの方がいっぱい情報がでてるのでつかいやすいかも。どちらでもOKでした。

    mono-completeのインストール
    apt-get install mono-complete

    subversion のインストール
    ソースファイルなどのリポジトリ管理のツール、必要になるかもしれないので入れとく

    apt-get install subversion

    patch のインストール
    東京情報大学のパチをあてる場合必要なので入れとく。

    apt-get install patch

    ビルドツールにnantを使う場合インストール

    apt-get install nant

    この時点で調べた情報で必要とかかれていたものは以下

    apt-get install mono-gmcs
    apt-get install libmono-microsoft8.0-cil
    apt-get install libmono-oracle2.0-cil
    apt-get install libmono-system-runtime2.0-cil
    apt-get install libgdiplus
    apt-get install ruby

    ruby以外はすでにインストール済みとなっていたのでrubyをインストール

    あとはMySqlとOpensimのソースだけど、次回へ ミチエ


  • VPS最初にやったこと

    Serversman@VPS(以下DTI)もさくらVPSも基本同じです。SU使えないさくらは管理者権限必要なときは最初にsudo つけてください。てもさんのとこと、Fumiさんのとこを参考にさせていただきました。再インストール時のためにメモしておきます。
    最初にやったこと
    バージョンを見てみた

    cat /etc/lsb-release
    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=10.04
    DISTRIB_CODENAME=lucid
    DISTRIB_DESCRIPTION="Ubuntu 10.04.1 LTS"

    現時点では、どちらも10.04.1 LTSでした。
    次にとりあえずアップグレードをしてみる。

    apt-get update

    localを日本語に設定

    apt-get install language-pack-ja
    dpkg-reconfigure locales

    DTIのみ sudo 可能ユーザーを作成する。(さくらは最初に作成済み)
    adduser newuser --ingroup sudo

    新しい名前でログイン出来るのを確認後rootでのsshログインを禁止する。
    エディターで該当箇所を修正します。

    vi /etc/ssh/sshd_config
    PermitRootLogin no

    有効にするためサービスをリスタートする。

    /etc/init.d/ssh restart

    DTIのデフォルトsshポートはセキュリティーの都合、22ではなく、3843 に変更されています。私の都合でさくらも同じにしておく。

    vi /etc/ssh/sshd_config
    Port 3843

    SSHアタック対策
    参考にさせていただいた、お二人とも書いていらしゃいますが、まだパスワードよく入れ間違うので、すこしたってなれたら導入します。

    sudo apt-get denyhosts

    インストールされてるパッケージのリストアップ

    dpkg -l

    長ーいリストが表示されます。

    初期設定はおしまい。