aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/INSTALL.md
diff options
context:
space:
mode:
authoronefang2019-09-11 16:36:50 +1000
committeronefang2019-09-11 16:36:50 +1000
commit50cd1ffd32f69228e566f2b0b89f86ea0d9fe489 (patch)
tree52f2ab0c04f1a5d7d6ac5dc872981b4b156447e7 /INSTALL.md
parentRenamed branch to SledjChisl. (diff)
parentBump to release flavour, build 0. (diff)
downloadopensim-SC_OLD-50cd1ffd32f69228e566f2b0b89f86ea0d9fe489.zip
opensim-SC_OLD-50cd1ffd32f69228e566f2b0b89f86ea0d9fe489.tar.gz
opensim-SC_OLD-50cd1ffd32f69228e566f2b0b89f86ea0d9fe489.tar.bz2
opensim-SC_OLD-50cd1ffd32f69228e566f2b0b89f86ea0d9fe489.tar.xz
Merge branch 'SledjChisl'
Diffstat (limited to 'INSTALL.md')
-rw-r--r--INSTALL.md228
1 files changed, 228 insertions, 0 deletions
diff --git a/INSTALL.md b/INSTALL.md
new file mode 100644
index 0000000..40bf35b
--- /dev/null
+++ b/INSTALL.md
@@ -0,0 +1,228 @@
1Use this to create a sim that links into IG or MG grids from Linux. Or
2to run your own grid.
3
4It's only been tested on Ubuntu 10.04, 11.04, 12.04, 16.04, as well as
5Debian 8, Devuan 9, and Devuan 9. YMMV. This is also a WIP, use it at
6your own risk. It's been used to set up a few freshly installed servers
7though. It should work on recent Debian based Linux distros.
8
9You may want to use the latest Mono, you can get it by following the
10instructions at -
11
12https://www.mono-project.com/docs/getting-started/install/linux/
13
14
15For those in a hurry.
16---------------------
17
18On a recent Debian based Linux (Debian, Devuan, Ubuntu, Mint, ...)
19terminal, run the following command -
20
21./InstallItAll.sh
22
23This will install the prerequisites (MariaDB, monit, MONO, tmux,
24uuid-runtime); create a database in MariaDB called opensim_SC and a
25database user called opensim_SC with a random password; add a Linux user
26and group to your system called opensimsc; create the /opt/opensim_SC
27directory to run it all from; copy everything to
28/opt/opensim_SC/opensim-SC_0.9.0.1; setup the directory structure needed
29to run it all; create some default configuration files; build opensim-SC;
30and finally change ownership and file permissions for everything.
31
32You will likely need to login your user again, so you get the new group
33assigned to it. Otherwise the tmux stuff in start-sim might fail.
34
35Next go to /opt/opensim_SC/current/scripts/install and run -
36
37sudo ./create_sim.sh
38
39This will create a randomly named sim at a randomly chosen position. Or
40for something less random -
41
42sudo ./create_sim.sh "My new sim" "1234,5678"
43
44At this point /opt/opensim_SC/config/config.ini will be a symlink
45pointing to config_localhost.ini, which is for a standalone sim. If you
46want your new random sim to be part of IG or MG grids then you'll have to
47change that syml/ink to point to config_IG.ini or config_MG.ini
48respectively. There is no point doing that unless you are a member of
49those grids.
50
51/opt/opensim_SC/config/sim01 now contains the actual configuration of
52your randomly created sim. Edit the .ini file to make that sim a little
53less random. You can even rename the .ini file to match your sim name.
54
55If you are running a grid run -
56
57cd /opt/opensim_SC/config/ROBUSH
58./start-sim
59
60Then to actually startup your sim -
61
62cd /opt/opensim_SC/config/sim01
63./start-sim
64
65And if you want to see the console of your sim run -
66
67cd /opt/opensim_SC/current/scripts
68./show-console
69
70
71The directory layout.
72---------------------
73
74The various directories are -
75
76.git Used by git for it's internal accounting, and the older versions.
77
78.nant Used by the obsolete nant build tool.
79
80OpenSim OpenSim source code.
81
82Prebuild Used by the build system.
83
84ThirdParty For third party OpenSim modules.
85ThirdPartyLicenses
86
87addon-modules Also for third party modules. Don't ask me why there's two.
88
89bin The OpenSim binaries, and other files.
90
91doc Supposedly for documentation, which I wish OpenSim devs would write some.
92
93example An example of how to set this all up.
94
95scripts Various Linux scripts for managing OpenSim.
96
97share No idea really.
98
99Also, the installation script copies the following directories from the
100example directory, to outside of this main directory, they are all used
101for writing various things. Makes it easy to upgrade, and separates them
102from actual executable stuff.
103
104AssetFiles Stores assets if running in grid mode.
105
106backups All sim and inventory backups are stored here.
107
108caches Various cached things.
109
110config All your configuration files.
111
112db If you are not using MySQL, your data lives here.
113
114logs Log files get stored here.
115
116web Web files go here. You can edit them to change the background image for example.
117
118
119Follow these steps.
120-------------------
121
122First you need to have a user on your computer with sudo access.
123
124Next you need to figure out what password you want to use for OpenSims
125access to the database. We will call this "DatabasePassword". Run the
126following script, from inside the OpenSim directory -
127
128./InstallItAll.sh DatabasePassword
129
130This will do most of the work for you, except for creating sims.
131
132
133Creating sims.
134--------------
135
136A separate script is here for sim creation, you can use it to create many
137sims. You will need -
138
139A name for your sim, we will use "My new sim". It should be unique on
140the grid.
141
142A location for your sim, we will use "1234,5678". Choose an empty spot.
143
144Once you have all that information sorted out, run this script from the
145scripts/install directory -
146
147./create_sim.sh "My new sim" "1234,5678" "sims.example.net"
148
149Also, you can create a varregion with something like -
150
151./create_sim.sh "My new sim" "1234,5678" 512
152
153Note that the size has to be a multiple of 256, so 512, 768, 1024, etc.
1548096 is the maximum size, 2048 is about the biggest that is decently
155manageable.
156
157
158Running ROBUST.
159---------------
160
161If you are running your own grid, you need to start up ROBUST, which is
162a bunch of common services sims use. Go to /opt/opensim_SC/config/ROBUST
163and run the following script to start it up -
164
165./start-sim
166
167You will see the tmux console. You can run the tmux console again by
168running that command once more, or running the show-console script.
169
170
171Running sims.
172-------------
173
174Now you can go to /opt/opensim_SC/config/sim01 and run the following script
175to start it up -
176
177./start-sim
178
179You will see the tmux console. You can run the tmux console again by
180running that command once more, or running the show-console script.
181
182You can stop the sim with -
183
184./stop-sim
185
186You can backup the sim with -
187
188./backup-sim
189
190
191Running it all at once.
192-----------------------
193
194You don't have to run ROBUST, then each sim, you can run the lot at once.
195Go to /opt/opensim_SC/current/scripts and run -
196
197./start-sim
198
199It'll wait a minute between sims to give things time to settle down, and
200not over work your computer.
201
202
203Finishing up.
204-------------
205
206Once it's all tested, you can use this to finish things off (back in
207the /opt/opensim_SC/current/scripts directory) -
208
209./go_live.sh
210
211Which sets up the monit control file/s, though you should double check
212it all, and you still have to do the basic configuration and enabling of
213monit yourself. This is in case you already have monit set the way you
214like.
215
216This step is entirely optional, and some versions of monit might not work
217so well.
218
219
220NOTES -
221
222This attempts to use only one copy of the OS install for all sims. We
223are running one instance of OS for each sim though, as this prevents one
224sim crashing from bringing down the others. OS however really wants to
225write data to directories within it's own bin directory. The preferred
226way to update opensim-SC is to download a fresh copy, run BuildIt.sh,
227delete the installed copy, then copy this new one to where the old one
228used to be. I'll write an update script in the next version.