Linux Gridserver
From OpenSimulator
m (→Step 2: Binary/Library preparation) |
m (Robot: Replacing 'OpenSim' to 'OpenSimulator', which is the precise name) |
||
(44 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
− | + | __NOTOC__ | |
− | + | {{Quicklinks}} | |
− | + | <br /> | |
− | + | ||
− | + | ||
− | + | 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. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | [[Image:Moo.jpg|250px|thumb|Moo Menu]] | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | == | + | == 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 | ||
+ | |||
+ | == 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 22: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.
[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