d71e20a777164c016d874bc61e7d9c44df58e24a
[x2goserver.git] / INSTALL
1 TARBALL INSTALLATION OF x2goserver
2 ==================================
3
4 1.) USERS + GROUPS for X2go
5 ---------------------------
6 Set up x2gouser account and its group if they do not exist
7 already:
8
9  $ groupadd --system x2gouser
10  $ useradd --system --no-create-home \
11            --shell /bin/false --home /var/lib/x2go x2gouser
12
13 Set up x2goprint account and its group if they do not exist
14 already:
15
16  $ groupadd --system x2goprint
17  $ useradd --system \
18            --shell /bin/false --home /var/spool/x2goprint x2goprint
19  $ chown x2goprint:x2goprint ~x2goprint
20  $ chmod 0770 ~x2goprint
21
22 2.) BUILD + INSTALL x2goserver FILES
23 -----------------------------
24 Extract tarball and run 
25
26  $ make && sudo make install
27
28 in base folder of the extracted tarball. 
29
30
31 3.) SGID GROUP
32 --------------
33 Configure ownership, permissions and setgid group bits of
34 libx2go-server-db-sqlite3-wrapper and x2goprint:
35
36   NOTE: The described actions have already been performed by the Makefile 
37   run, leaving this here for documentation only.
38
39  $ chown root:x2gouser /usr/lib/x2go/libx2go-server-db-sqlite3-wrapper
40  $ chmod 2755 /usr/lib/x2go/libx2go-server-db-sqlite3-wrapper
41
42  $ chown root:x2goprint /usr/bin/x2goprint
43  $ chmod 2755 /usr/bin/x2goprint
44
45  $ chown 0440 /etc/sudoers.d/x2goserver
46
47 4.) INIT SCRIPT
48 ---------------
49 Create a simple init script that starts $PREFIX/sbin/x2gocleansessions on system start
50 (runlevel 2-3-4-5). 
51
52 Alternatively, you can add a single line to /etc/rc.local:
53
54 /usr/local/sbin/x2gocleansessions &
55
56
57 5.) LOCAL FOLDER SHARING
58 ------------------------
59 Users that shall be able to use X2go's local folder sharing functionality (via sshfs)
60 have to be members of your server system's ,,fuse'' group
61
62  $ usermod -a -G fuse <username>
63
64
65 6.) PRINTING
66 ------------
67 Also users that shall be able to send print jobs to client-side printers have to be
68 members of the server-side ,,fuse'' group (see above).
69
70 As X2Go printing setups can be rather versatile, details on X2Go printing are explained in 
71 the project's wiki:
72 http://www.x2go.org/doku.php/wiki:components:printing
73 http://www.x2go.org/doku.php/wiki:advanced:multi-node:x2goserver-printing
74
75
76 7.) DATABASE SETUP (SQLite3 only)
77 ---------------------------------
78
79  $ x2godbadmin --createdb
80
81
82 7a.) DEFAULT: SQLite3 setup
83 ---------------------------
84 This variant is the default X2Go database setup. The X2Go database keeps track of
85 running/suspended/finished X2Go sessions, mounted devices, etc. If you use SQLite3
86 as DB backend, X2Go will run on one single server.
87
88 For multi-X2goServer support use the PostgreSQL setup variant of X2Go server. All files
89 are already resent for this setup. If not, please report it as a bug.
90
91
92 7b.) ALTERNATIVE: PostgreSQL setup
93 ----------------------------------
94 This variant is for a setup of x2goserver that uses a PostgreSQL database backend...
95
96 The exact installation of x2goserver with PostgreSQL support is described here:
97 http://www.x2go.org/doku.php/wiki:advanced:multi-node:x2goserver-pgsql
98