Linux Gridserver

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(n)
 
m (Robot: Replacing 'OpenSim' to 'OpenSimulator', which is the precise name)
 
(48 intermediate revisions by 7 users not shown)
Line 1: Line 1:
==Step 1: Install the software==
+
__NOTOC__
We are going to install the opensim server(0.5 stable) in the /opt directory from the terminal...
+
{{Quicklinks}}
su root
+
<br />
cd /opt
+
svn co http://opensimulator.org/svn/opensim/tags/0.5.0-release opensim
+
  
==Step 2: Binary/Library preparation==
+
This tutorial is a step-by-step procedure on how to create a production environment on a Linux-server. It's by no means perfect, so if you have ideas to improve it, please let them hear on the discussion page.
Now we build opensim, and create the proper directory structure for future updates...
+
cd opensim
+
sh ./runprebuild.sh
+
nant
+
After a succesful build, we are going to create additional directories...
+
mkdir libraries
+
mkdir production
+
mv OpenSim production
+
mv bin production
+
  
Testrun opensim by executing it:
+
[[Image:Moo.jpg|250px|thumb|Moo Menu]]
mono /opt/opensim/production/bin/OpenSim.exe
+
  
/opt/opensim/production
+
== Required/recommend Software ==
==Step 3:
+
* Mono 1.9.1 - .NET framework
 +
* MySQL - Main database engine
 +
* OpenSSH - Remote terminal connection
 +
* RSync - Remote backup tool
 +
* Ngircd - Easy and fast IRC-server
 +
* SVN - If you want to use the SVN-backup module
 +
* Screen - Multiple terminal-sessions
 +
* Dialog - For Moo menu
 +
* Openjpeg - Required for jp2-texture converter
 +
* Redux - Easy to use Webinterface for OpenSimulator
 +
 
 +
== Setup a Grid ==
 +
* Download the Moo script from console as root in somedir (e.g. ~/source/moo) The user for the SVN is anonymous and the password is left blank.
 +
svn checkout http://forge.opensimulator.org/svn/moo/trunk .
 +
* Start the Moo-installer
 +
./moo install
 +
Moo: Install OpenSimulator in /opt/opensim? (y/n) <=y
 +
This will install the latest svn along with the "right" directory structures in /opt/opensim
 +
Next thing you see something like:
 +
Moo: Ok, we need some basic config-files. Renaming...
 +
Moo: Take a sip of coffee. This part might be important.
 +
Moo: I will try to create a database based on the information you provide.
 +
Moo: Now edit mysql_connection.ini, so MySQL can do it's thing...
 +
 
 +
Press any key to continue
 +
If you don't know the vi-editor, please read up a bit about that before editing or you may become frustrated with it :-)
 +
So, change database, username and password to reflect your MySQL settings. Save the file now, and quit the editor. After this you'll
 +
notice you end up in yet another config-file. This is OpenSim.ini...
 +
 
 +
There are alot of settings you can tweak, but for now I'll stick with the most basic settings to start a grid.
 +
* Set gridmode to true
 +
* Disable current storage_plugin and storage_connection_string (disabling by putting ';' at the start of the line)
 +
* Enably mysql storage_plugin and storage_connection_string (and enter the right db-info into the connection string)
 +
* Change asset_database to "grid"
 +
* Set serverside_object_permissions to true
 +
* Set meshing to Meshmerizer
 +
* Set physics to OpenDynamicsEngine
 +
* Save and exit
 +
The administrator menu will now autostart.
 +
* Select services menu > Start UGAIM Services
 +
When it says done, press exit
 +
* Select User-Service
 +
USER SERVER: Default Startup Message [Welcome to OGS]: Welcome to my gridservices
 +
USER SERVER: Default Grid Server URI [http://127.0.0.1:8001/]: <enter>
 +
USER SERVER: Key to send to grid server [null]: <enter>
 +
USER SERVER: Key to expect from grid server [null]: <enter>
 +
USER SERVER: Default Inventory Server URI [http://127.0.0.1:8004/]: <enter>
 +
USER SERVER: DLL for database provider [OpenSim.Data.MySQL.dll]: <enter>
 +
USER SERVER: Connection String for Database []:
 +
Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw;
 +
USER SERVER: Http Listener port [8002]: <enter>
 +
USER SERVER: Use SSL? true/false [False]: <enter>
 +
USER SERVER: Known good region X [1000]: <enter>
 +
USER SERVER: Known good region Y [1000]: <enter>
 +
User-Service setup is now completed, and the User-service should run fine now. Press ctrl-a + d to return to the Moo-menu.
 +
 
 +
* Select Grid-service
 +
GRID SERVER: OGS Grid Owner [OGS development team]: My development team
 +
GRID SERVER: Default Asset Server URI [http://127.0.0.1:8003/]: <enter>
 +
GRID SERVER: Key to send to asset server [null]: <enter>
 +
GRID SERVER: Key to expect from asset server [null]: <enter>
 +
GRID SERVER: Default User Server URI [http://127.0.0.1:8002/] <enter>
 +
GRID SERVER: Key to send to user server [null]: <enter>
 +
GRID SERVER: Key to expect from user server [null]: <enter>
 +
GRID SERVER: Key to send to a simulator [null]: <enter>
 +
GRID SERVER: Key to expect from a simulator [null]: <enter>
 +
GRID SERVER: DLL for database provider [OpenSim.Data.MySQL.dll]: <enter>
 +
GRID SERVER: Database connect string []:
 +
Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw;
 +
GRID SERVER: Http Listener port [8001]: <enter>
 +
Grid-Service setup is now completed, and the Grid-service should run fine now. Press ctrl-a + d to return to the Moo-menu.
 +
 
 +
* Select Asset-service
 +
ASSET SERVER: Default Startup Message [Welcome to OGS]: Welcome to my gridservices
 +
ASSET SERVER: DLL for database provider [OpenSim.Data.MySQL.dll]: <enter>
 +
ASSET SERVER: Database connection string []:
 +
Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw;
 +
ASSET SERVER: Http Listener port [8003]: <enter>
 +
Asset-Service setup is now completed, and the Asset-service should run fine now. Press ctrl-a + d to return to the Moo-menu.
 +
 
 +
* Select Inventory-service
 +
INVENTORY: Default Startup Message [Welcome to OGS]: Welcome to my gridservices
 +
INVENTORY: Default User Server URI [http://127.0.0.1:8002]: <enter>
 +
INVENTORY: Key to send to user server [null]: <enter>
 +
INVENTORY: Key to expect from user server [null]: <enter>
 +
INVENTORY: DLL for database provider [OpenSim.Data.SQLite.dll]:
 +
OpenSim.Data.MySQL.dll
 +
INVENTORY: Database Connect String []:
 +
Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw;
 +
INVENTORY: Http Listener port [8004]: <enter>
 +
Inventory-Service setup is now completed, and the Inventory-service should run fine now. Press ctrl-a + d to return to the Moo-menu.
 +
 
 +
* Select Messaging-service
 +
MESSAGING SERVER: Default User Server URI [http://127.0.0.1:8002/]: <enter>
 +
MESSAGING SERVER: Key to send to user server [null]: <enter>
 +
MESSAGING SERVER: Key to expect from user server [null]: <enter>
 +
MESSAGING SERVER: Key to expect from user server [null]: <enter>
 +
MESSAGING SERVER: Key to send to grid server [null]: <enter>
 +
MESSAGING SERVER: Key to expect from grid server [null]:
 +
MESSAGING SERVER: Connection String for Database []:
 +
Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw;
 +
MESSAGING SERVER: DLL for database provider [OpenSim.Data.MySQL.dll]: <enter>
 +
Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw; <
 +
MESSAGING SERVER: DLL for comms provider [OpenSim.Region.Communications.OGS1.dll]: <enter>
 +
MESSAGING SERVER: Http Listener port [8006]: <enter>
 +
MESSAGING SERVER: Use SSL? true/false [False]: <enter>
 +
MESSAGING SERVER: My Published IP Address [127.0.0.1]:
 +
82.73.39.53 (WAN-IP)
 +
Messaging-Service setup is now completed, and the Messaging-service should run fine now. Press ctrl-a + d to return to the Moo-menu.
 +
 
 +
You have succesfully setup UGAIM-Services. If we want to enable both connections from the inside, and from the outside, we must reroute some traffic.
 +
* Select Environment menu > System menu > Fix IP-Routing
 +
 
 +
Now that's out of the way, all we need now is to connect a Region-Service to the UGAIM.
 +
* Select Services > Start Region Service, and press exit after "done" appears
 +
* Select Region-service
 +
Because the region service is new, it will try to create a default region. This will be your first region.
 +
DEFAULT REGION CONFIG: Region Name [OpenSim Test]: My Home Island
 +
DEFAULT REGION CONFIG: Grid Location (X Axis) [1000]: <enter>
 +
DEFAULT REGION CONFIG: Grid Location (Y Axis) [1000]: <enter>
 +
DEFAULT REGION CONFIG: Internal IP Address for incoming UDP client connections [0.0.0.0]:
 +
192.168.2.101 <LAN-IP>
 +
REGION CONFIG #1: Internal IP Port for incoming UDP client connections [9000]: <enter>
 +
REGION CONFIG #1: External Host Name [127.0.0.1]:
 +
82.73.39.53 <WAN-IP, in case you want both LAN and WAN connections. Otherwise enter LAN-IP>
 +
REGION CONFIG #1: First Name of Master Avatar [Test]:
 +
John
 +
REGION CONFIG #1: Last Name of Master Avatar [User]:
 +
Doe
 +
REGION CONFIG #1: (Sandbox Mode Only)Password for Master Avatar account [test]:
 +
MySandboxpw
 +
Region-Service setup is now completed, and the Region-service should run fine now. Press ctrl-a + d to return to the Moo-menu.
 +
 
 +
From here, you should be able to connect the SL-Viewer to your new Grid. Try:
 +
'/path/to/secondlife' --grid http://192.168.2.101:8002

Latest revision as of 23:42, 3 March 2012


This tutorial is a step-by-step procedure on how to create a production environment on a Linux-server. It's by no means perfect, so if you have ideas to improve it, please let them hear on the discussion page.

Moo Menu

[edit] Required/recommend Software

  • Mono 1.9.1 - .NET framework
  • MySQL - Main database engine
  • OpenSSH - Remote terminal connection
  • RSync - Remote backup tool
  • Ngircd - Easy and fast IRC-server
  • SVN - If you want to use the SVN-backup module
  • Screen - Multiple terminal-sessions
  • Dialog - For Moo menu
  • Openjpeg - Required for jp2-texture converter
  • Redux - Easy to use Webinterface for OpenSimulator

[edit] Setup a Grid

  • Download the Moo script from console as root in somedir (e.g. ~/source/moo) The user for the SVN is anonymous and the password is left blank.
svn checkout http://forge.opensimulator.org/svn/moo/trunk .
  • Start the Moo-installer
./moo install
Moo: Install OpenSimulator in /opt/opensim? (y/n) <=y

This will install the latest svn along with the "right" directory structures in /opt/opensim Next thing you see something like:

Moo: Ok, we need some basic config-files. Renaming...
Moo: Take a sip of coffee. This part might be important.
Moo: I will try to create a database based on the information you provide.
Moo: Now edit mysql_connection.ini, so MySQL can do it's thing...
Press any key to continue

If you don't know the vi-editor, please read up a bit about that before editing or you may become frustrated with it :-) So, change database, username and password to reflect your MySQL settings. Save the file now, and quit the editor. After this you'll notice you end up in yet another config-file. This is OpenSim.ini...

There are alot of settings you can tweak, but for now I'll stick with the most basic settings to start a grid.

  • Set gridmode to true
  • Disable current storage_plugin and storage_connection_string (disabling by putting ';' at the start of the line)
  • Enably mysql storage_plugin and storage_connection_string (and enter the right db-info into the connection string)
  • Change asset_database to "grid"
  • Set serverside_object_permissions to true
  • Set meshing to Meshmerizer
  • Set physics to OpenDynamicsEngine
  • Save and exit

The administrator menu will now autostart.

  • Select services menu > Start UGAIM Services

When it says done, press exit

  • Select User-Service
USER SERVER: Default Startup Message [Welcome to OGS]: Welcome to my gridservices
USER SERVER: Default Grid Server URI [1]: <enter>
USER SERVER: Key to send to grid server [null]: <enter>
USER SERVER: Key to expect from grid server [null]: <enter>
USER SERVER: Default Inventory Server URI [2]: <enter>
USER SERVER: DLL for database provider [OpenSim.Data.MySQL.dll]: <enter>
USER SERVER: Connection String for Database []:
Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw;
USER SERVER: Http Listener port [8002]: <enter>
USER SERVER: Use SSL? true/false [False]: <enter>
USER SERVER: Known good region X [1000]: <enter>
USER SERVER: Known good region Y [1000]: <enter>

User-Service setup is now completed, and the User-service should run fine now. Press ctrl-a + d to return to the Moo-menu.

  • Select Grid-service
GRID SERVER: OGS Grid Owner [OGS development team]: My development team
GRID SERVER: Default Asset Server URI [3]: <enter>
GRID SERVER: Key to send to asset server [null]: <enter>
GRID SERVER: Key to expect from asset server [null]: <enter>
GRID SERVER: Default User Server URI [4] <enter>
GRID SERVER: Key to send to user server [null]: <enter>
GRID SERVER: Key to expect from user server [null]: <enter>
GRID SERVER: Key to send to a simulator [null]: <enter>
GRID SERVER: Key to expect from a simulator [null]: <enter>
GRID SERVER: DLL for database provider [OpenSim.Data.MySQL.dll]: <enter>
GRID SERVER: Database connect string []:
Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw;
GRID SERVER: Http Listener port [8001]: <enter>

Grid-Service setup is now completed, and the Grid-service should run fine now. Press ctrl-a + d to return to the Moo-menu.

  • Select Asset-service
ASSET SERVER: Default Startup Message [Welcome to OGS]: Welcome to my gridservices
ASSET SERVER: DLL for database provider [OpenSim.Data.MySQL.dll]: <enter>
ASSET SERVER: Database connection string []:
Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw;
ASSET SERVER: Http Listener port [8003]: <enter>

Asset-Service setup is now completed, and the Asset-service should run fine now. Press ctrl-a + d to return to the Moo-menu.

  • Select Inventory-service
INVENTORY: Default Startup Message [Welcome to OGS]: Welcome to my gridservices
INVENTORY: Default User Server URI [5]: <enter>
INVENTORY: Key to send to user server [null]: <enter>
INVENTORY: Key to expect from user server [null]: <enter>
INVENTORY: DLL for database provider [OpenSim.Data.SQLite.dll]:
OpenSim.Data.MySQL.dll
INVENTORY: Database Connect String []:
Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw;
INVENTORY: Http Listener port [8004]: <enter>

Inventory-Service setup is now completed, and the Inventory-service should run fine now. Press ctrl-a + d to return to the Moo-menu.

  • Select Messaging-service
MESSAGING SERVER: Default User Server URI [6]: <enter>
MESSAGING SERVER: Key to send to user server [null]: <enter>
MESSAGING SERVER: Key to expect from user server [null]: <enter>
MESSAGING SERVER: Key to expect from user server [null]: <enter>
MESSAGING SERVER: Key to send to grid server [null]: <enter>
MESSAGING SERVER: Key to expect from grid server [null]:
MESSAGING SERVER: Connection String for Database []:
Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw;
MESSAGING SERVER: DLL for database provider [OpenSim.Data.MySQL.dll]: <enter>
Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw; <
MESSAGING SERVER: DLL for comms provider [OpenSim.Region.Communications.OGS1.dll]: <enter>
MESSAGING SERVER: Http Listener port [8006]: <enter>
MESSAGING SERVER: Use SSL? true/false [False]: <enter>
MESSAGING SERVER: My Published IP Address [127.0.0.1]:
82.73.39.53 (WAN-IP)

Messaging-Service setup is now completed, and the Messaging-service should run fine now. Press ctrl-a + d to return to the Moo-menu.

You have succesfully setup UGAIM-Services. If we want to enable both connections from the inside, and from the outside, we must reroute some traffic.

  • Select Environment menu > System menu > Fix IP-Routing

Now that's out of the way, all we need now is to connect a Region-Service to the UGAIM.

  • Select Services > Start Region Service, and press exit after "done" appears
  • Select Region-service

Because the region service is new, it will try to create a default region. This will be your first region.

DEFAULT REGION CONFIG: Region Name [OpenSim Test]: My Home Island
DEFAULT REGION CONFIG: Grid Location (X Axis) [1000]: <enter>
DEFAULT REGION CONFIG: Grid Location (Y Axis) [1000]: <enter>
DEFAULT REGION CONFIG: Internal IP Address for incoming UDP client connections [0.0.0.0]:
192.168.2.101 <LAN-IP>
REGION CONFIG #1: Internal IP Port for incoming UDP client connections [9000]: <enter>
REGION CONFIG #1: External Host Name [127.0.0.1]:
82.73.39.53 <WAN-IP, in case you want both LAN and WAN connections. Otherwise enter LAN-IP>
REGION CONFIG #1: First Name of Master Avatar [Test]:
John
REGION CONFIG #1: Last Name of Master Avatar [User]:
Doe
REGION CONFIG #1: (Sandbox Mode Only)Password for Master Avatar account [test]:
MySandboxpw

Region-Service setup is now completed, and the Region-service should run fine now. Press ctrl-a + d to return to the Moo-menu.

From here, you should be able to connect the SL-Viewer to your new Grid. Try:

'/path/to/secondlife' --grid http://192.168.2.101:8002
Personal tools
General
About This Wiki