Deprecated: Assigning the return value of new by reference is deprecated in /home/ina/public_html/blog/wp-includes/cache.php on line 36

Deprecated: Assigning the return value of new by reference is deprecated in /home/ina/public_html/blog/wp-includes/query.php on line 21

Deprecated: Assigning the return value of new by reference is deprecated in /home/ina/public_html/blog/wp-includes/theme.php on line 540
Blog by Ina Centaur » OpenSim

 

Full Directions for Setting Up OpenSim on Red Hat (Ent) Linux 5

Written by ina on Tuesday, 3 of February , 2009 at 1:55 am
Tags: , , ,

I’ve had several people ask me for a detailed step-by-step tutorial on setting up OpenSim on Red Hat, (and I’ve had my fun trying out its installation on different o/s). Last night, I had the fun of trying it out on RHEL5. Below are full directions for setting up Open Sim on Red Hat Enterprise Linux 5 (this should also work for other *nix).

  1. Get mono for *nix:
    sudo su -
    cd /etc/yum.repos.d/
    wget http://download.opensuse.org/repositories/Mono/RHEL_5/Mono.repo
    yum install mono-complete
  2. SVN check out from opensimulator.org repository to opensim directory (As of this writing: http://opensimulator.org/svn/opensim/tags/0.6.2-release)

    svn co {{INSERT SVN ADDRESS TO OPENSIM REPOSITORY}} opensim

  3. Compile OpenSim
    cd opensim
    ./runprebuild.sh
    nant
  4. SVN and Compile libopenjpeg-libsl-2.1.2.0
    svn co http://opensimulator.org/svn/opensim-libs/old/libsl1550 opensim-libs
    cd opensim-libs/openjpeg-libsl
    make -f Makefile
    cp libopenjpeg-libsl-2.1.2.0.so ../../bin
  5. Set up MySQL: Create User, DB, assign admin user (not your sl name/agent name) to DB with enough perm’s
    create database {{{YOUR DB NAME}}};
    use mysql
    INSERT into user (host,user,password) values (’localhost’,'{{{YOUR USER NAME}}}’,password(’{{your userpass}}’));
    quit;

    Invoke mysql and grant priv’s

    mysql> use {{YOUR DB NAME}};
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A

    Database changed
    mysql> grant alter,create,delete,drop,index,insert,select,update on {{YOUR DB NAME}}.* to {{YOUR MYSQL USERNAME}};
    mysql> quit;

    Create mysql_connection.ini file (assumes you know nothing about vi)

    vi mysql_connection.ini

    Press i to enter insert mode.

    hostname=localhost
    database={{{YOUR DB NAME}}}
    user={{{YOUR USER NAME}}}
    password={{{YOUR PW}}}

    Press ESC to return to command mode. Type this (worksavequit) and press enter:

    :wq
  6. Config OpenSim.ini

    cp OpenSim.ini.example OpenSim.ini
    vi OpenSim.ini

    Press ctrl-F a few times to page down to STORAGE. Press i to enter insert mode, and make sure the mysql part looks like this:

     
    ; — To use MySQL storage, supply your own connectionstring (this is only an example):
    ; note that the supplied account needs create privilegies if you want it to auto-create needed tables.
    storage_plugin=”OpenSim.Data.MySQL.dll”
    storage_connection_string=”Data Source=localhost;Database={{DB NAME}};User ID={{USERNAME}};Password={{PASS}};”;

    Press ctrl-F a few times again, and press i for insert, when you get to the asset server, inventory, user db part. You want to select mysql for all choices:

    accounts_authenticate = true
    welcome_message = “Welcome to ICRHL5 OpenSim”

    ; Asset database provider
    ; asset_plugin = “OpenSim.Data.SQLite.dll”
    asset_plugin = “OpenSim.Data.MySQL.dll” ; for mysql
    ; asset_plugin = “OpenSim.Data.NHibernate.dll” ; for nhibernate

    ; the Asset DB source. This only works for sqlite, mysql, and nhibernate for now
    ; Asset Source SQLite example
    ; asset_source = “URI=file:Asset.db,version=3″
    ; Asset Source NHibernate example (DIALECT;DRIVER;CONNECTSTRING)
    ; asset_source = “SQLiteDialect;SqliteClientDriver;URI=file:Asset.db,version=3″
    ; Asset Source MySQL example
    asset_source = “Data Source=localhost;Database={{DB NAME}};User ID={{USERNAME}};Password={{PASS}};”;

    ; Inventory database provider
    ; inventory_plugin = “OpenSim.Data.SQLite.dll”
    inventory_plugin = “OpenSim.Data.MySQL.dll”
    ; inventory_plugin = “OpenSim.Data.NHibernate.dll” ; for nhibernate

    ; Inventory Source NHibernate example (DIALECT;DRIVER;CONNECTSTRING)
    ; inventory_source = “SQLiteDialect;SqliteClientDriver;URI=file:Inventory.db,version=3″
    ; Inventory Source MySQL example
    inventory_source = “Data Source=localhost;Database={{DB NAME}};User ID={{USERNAME}};Password={{PASS}};”;

    ; User Data Database provider
    ;
    ; Multiple providers can be specified by separating them with commas (whitespace is unimportant)
    ; If multiple providers are specified then if a profile is requested, each is queried until one
    ; provides a valid profile, or until all providers have been queried.
    ; Unfortunately the order of querying is currently undefined (it may not be the order in which
    ; providers are specified here). This needs to be fixed
    ;
    ; userDatabase_plugin = “OpenSim.Data.SQLite.dll”
    userDatabase_plugin = “OpenSim.Data.MySQL.dll”
    ; userDatabase_plugin = “OpenSim.Data.NHibernate.dll” ; for nhibernate

    ; User Source NHibernate Example (DIALECT;DRIVER;CONNECTSTRING)
    ; user_source = “SQLiteDialect;SqliteClientDriver;URI=file:User.db,version=3″
    ; User Source MySQL example
    user_source = “Data Source=localhost;Database={{DB NAME}};User ID={{USERNAME}};Password={{PASS}};”

    Press esc and :wq to worksasvequit.

  7. Run opensim (makesure you’re in opensim/bin or wherever you put opensim in:
    mono opensim
  8. Enter initialization info, such as region name, xy axis, agent name etc, etc

    01:20:30 - [BALANCER]: Entering Initialize()
    01:20:30 - [LOADREGIONS]: Load Regions addin being initialised
    01:20:30 - [LOADREGIONS]: Loading Region Info from filesystem
    DEFAULT REGION CONFIG: Region Name [OpenSim Test]:
    utopia
    DEFAULT REGION CONFIG: Grid Location (X Axis) [1000]:
    137
    DEFAULT REGION CONFIG: Grid Location (Y Axis) [1000]:
    137
    DEFAULT REGION CONFIG: Internal IP Address for incoming UDP client connections [0.0.0.0]:

    DEFAULT REGION CONFIG: Internal IP Port for incoming UDP client connections [9000]:

    DEFAULT REGION CONFIG: External Host Name [127.0.0.1]:
    {{{INSERT YOUR SERVER IP ADDRESS}}}
    DEFAULT REGION CONFIG: First Name of Master Avatar [Test]:
    Alpha
    DEFAULT REGION CONFIG: Last Name of Master Avatar [User]:
    Omega
    DEFAULT REGION CONFIG: (Sandbox Mode Only)Password for Master Avatar account [test]:

  9. Connect using a SL viewer, -loginuri (your sim ip address:port #)
    Make sure to specify your region!
  10. Rule of thumb for troubleshooting: if you encounter any errors, delete bin (you might want to copy/save the config file first though!), reload svn, purge db, rebuild

    rm -rf bin

    Then, go into mysql and drop opensim. Recreate and reassign db and user. BEFORE running mono OpenSim.exe BE SURE TO cp your opensim.ini file over to bin as OpenSim.ini!
    (And scroll back up to the svn part to download and recompile opensim)

Extras

Category: OpenSim

Who is Ina Centaur?

A 25-year old American polymath of Taiwanese ancestry pretending to be old and Caucasian in Second Life. Semi-retired independent scholar also dabbling as an independent artist in new media, particularly theatre and the humanities—notably Shakespeare. Programmer, playwright and novelist. Formal academic background in http://portfolio.inacentaur.com/ina/scientist, philosophy, and bioengineering.

This is largely a personal blog which isn't always up-to-date. There's no one definitive way to stalk me ;-).