aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/INSTALL.md
blob: fdbc8e090d4830956500ea777fb18f1b23b8f957 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
NOTE - this is the OpenSim 0.9.0.1 version in the SledjChisl branch,
which isn't quite ready yet.  Use 0.8.2.1 in the master branch for the
stable well tested version.


Use this to create a sim that links into Infinite Grid or Misfitz Grid
from Linux.

It's only been tested on Ubuntu 10.04, 11.04, 12.04, 16.04, as well as
Debian 8, and Devuan 9, YMMV.  This is also a WIP, use it at your own
risk.  It's been used to set up a few freshly installed servers though. 
It should work on recent Debian based Linux distros.


The directory layout.
---------------------

The various directories are -

.git		Used by git for it's internal accounting, and the older versions.

.nant		Used by the nant build tool.

OpenSim		OpenSim source code.

Prebuild	Used by the build system.

ThirdParty	For third party OpenSim modules.
ThirdPartyLicenses

addon-modules	Also for third party modules.  Don't ask me why there's two.

bin		The OpenSim binaries, and other files.

doc		Supposedly for documentation, which I wish OpenSim devs would write some.

example		An example of how to set this all up.

scripts		Various Linux scripts for managing OpenSim.

share		No idea really.

Also, the installation script moves the following directories from the
example directory, to outside of this main directory, they are all used
for writing various things.  Makes it easy to upgrade, and separates them
from actual executable stuff.

AssetFiles	Stores assets if running in grid mode.

backups		All sim and inventory backups are stored here.

caches		Various cached things.

config		All your configurtion files.

db		If you are not using MySQL, your data lives here.

logs		Log files get stored here.


Follow these steps.
-------------------

Go to -

https://www.infinitegrid.org/drupal/content/How_to_link_your_OpenSim_region_to_Infinite_Grid_LinuxMySQL

and follow the directions to create an admin user account.  You can skip
that bit if you already have a suitable user with sudo access.

Note that these scripts pretty much follow that above wiki description,
with some exceptions.  The configuration information per sim has been
rearranged so that there is only ONE copy of the OpenSim installation.

Next you need to figure out what password you want to use for OpenSims
access to the database.  We will call this "DatabasePassword".  Run the
following script, from inside the OpenSim directory -

./InstallItAll.sh DatabasePassword

This will do most of the work for you, except for creating sims.


Creating sims.
--------------

A separate script is here for sim creation, you can use it to create many
sims.  You will need -

Your host name, or it could be your IP, we will use "sims.example.net".

A name for your sim, we will use "My new sim".  It should be unique on
the grid.

A location for your sim, we will use "1234,5678".  You can use the
Infinite Grid web based map to poke around and find a good location. 
Choose an empty spot.

Once you have all that information sorted out, run this script from the
installed scripts directory -

./create_sim.sh "My new sim" "1234,5678" "sims.example.net"

Or this if you want to override the detected IP address -

./create_sim.sh "My new sim" "1234,5678" "sims.example.net" "1.2.3.4"

Also, you can create a varregion with something like -

./create_sim.sh "My new sim" "1234,5678" "sims.example.net" "1.2.3.4" 512

Note that the size has to be a multiple of 256, so 512, 768, 1024, etc.

Running sims.
-------------

Now you can go to /opt/opensim/config/sim01 and run the following script
to start it up -

./start-sim

You will see the screen console.  You can run the screen console again by
running that command once more, or running the sim-console command.

You can stop the sim with -

./stop-sim

You can backup the sim with -

./backup-sim



Finishing up.
-------------

Once it's all tested, you can use this to finish things off (back in
the scripts directory) -

./go_live.sh

Which sets up the monit control file/s, though you should double check
it all, and you still have to do the basic configuration and enabling of
monit yourself.  This is in case you already have monit set the way you
like.


NOTES -

This attempts to use only one copy of the OS install for all sims.  We
are running one instance of OS for each sim though, as this prevents one
sim crashing from bringing down the others.  OS however really wants to
write data to directories within it's own bin directory.  I'm not at all
certian if that data can be shared.  For the same reason, so far I've
not been able to get to the point where we can make the OS directory
read only.  This complicates things during upgrades.