This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
wiki:installing_x2goserver_linuxfromscratch [2011/08/18 20:35] chepati |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== X2goServer Installation (LinuxFromScratch) ====== | ||
- | <note warning> | ||
- | **Run the following commands as a regular, non-root user. You'll need the root password to install them.** | ||
- | |||
- | **1. | ||
- | Create the necessary group and user** | ||
- | |||
- | < | ||
- | |||
- | < | ||
- | $ su -c " | ||
- | useradd --system --no-create-home --shell /bin/false --home / | ||
- | usermod -a -G fuse <each user who'll connect to this x2go server>" | ||
- | </ | ||
- | |||
- | **2. | ||
- | Install makepasswd** | ||
- | |||
- | < | ||
- | $ wget http:// | ||
- | $ tar xf makepasswd-0.5.0.tar.gz | ||
- | $ cd makepasswd-0.5.0 | ||
- | $ make | ||
- | $ su -c "make PREFIX=/usr install" | ||
- | </ | ||
- | |||
- | **3. | ||
- | Install man2html** | ||
- | |||
- | < | ||
- | $ wget http:// | ||
- | $ tar xf man2html3.0.1.tar.gz | ||
- | $ cd man2html3.0.1 | ||
- | $ su -c "sed ' | ||
- | sed ' | ||
- | cp doc/ | ||
- | chown root:root / | ||
- | chmod 755 / | ||
- | </ | ||
- | |||
- | **4. | ||
- | Install perl module DBI** | ||
- | |||
- | < | ||
- | $ wget http:// | ||
- | $ tar xf DBI-1.615.tar.gz | ||
- | $ cd DBI-1.615 | ||
- | $ perl Makefile.PL | ||
- | $ make | ||
- | $ su -c "make install" | ||
- | </ | ||
- | |||
- | < | ||
- | |||
- | If you pick a single-server setup, you need to install sqlite. | ||
- | |||
- | If you pick a multiple-server setup, you need to install postgresql. | ||
- | |||
- | **5. | ||
- | Install perl module DBD-SQLite (for a single-server setup)** | ||
- | |||
- | < | ||
- | $ wget http:// | ||
- | $ tar xf DBD-SQLite-1.33.tar.gz | ||
- | $ cd DBD-SQLite-1.33 | ||
- | $ perl Makefile.PL | ||
- | $ make | ||
- | $ su -c "make install" | ||
- | </ | ||
- | |||
- | **6. | ||
- | Install perl module DBD-Pg (TODO: Someone please verify this)** | ||
- | |||
- | < | ||
- | $ wget http:// | ||
- | $ tar xf DBD-Pg-2.18.1.tar.gz | ||
- | $ cd DBD-Pg-2.18.1 | ||
- | $ perl Makefile.PL | ||
- | $ make | ||
- | $ su -c "make install" | ||
- | </ | ||
- | |||
- | **7. | ||
- | Install nxcomp from git** | ||
- | |||
- | < | ||
- | $ git clone git:// | ||
- | $ cd nxcomp | ||
- | $ autoconf | ||
- | $ ./configure --prefix=/ | ||
- | $ make | ||
- | $ su -c "make install && / | ||
- | </ | ||
- | |||
- | **8. | ||
- | Install nxcompext from git** | ||
- | |||
- | < | ||
- | $ git clone git:// | ||
- | $ cd nxcompext | ||
- | $ autoconf | ||
- | $ ./configure --prefix=/ | ||
- | $ make | ||
- | $ su -c "make install && / | ||
- | </ | ||
- | |||
- | **9. | ||
- | Install nxcompshad from git** | ||
- | |||
- | < | ||
- | $ git clone git:// | ||
- | $ cd nxcompshad | ||
- | $ autoconf | ||
- | $ ./configure --prefix=/ | ||
- | $ make | ||
- | $ su -c "make install && / | ||
- | </ | ||
- | |||
- | **10. | ||
- | Install x2goagent from git** | ||
- | |||
- | < | ||
- | $ su -c "rm -fr / | ||
- | mkdir -p / | ||
- | $ git clone git:// | ||
- | $ cd x2goagent | ||
- | $ make World | ||
- | $ su -c "cp -a lib/ | ||
- | cp -a lib/ | ||
- | cp -a lib/ | ||
- | cp -a lib/ | ||
- | cp -a lib/ | ||
- | cp -a lib/ | ||
- | cp -a lib/ | ||
- | cp -a lib/ | ||
- | cp -a lib/ | ||
- | chown -R root:root / | ||
- | |||
- | $ install -m755 programs/ | ||
- | </ | ||
- | |||
- | <note tip>Use **make -j <number of cpus> World** to speed up the build</ | ||
- | |||
- | Now create a wrapper to call the actual x2goagent binary with the correct LD_LIBRARY_PATH | ||
- | < | ||
- | $ su -c "echo '# | ||
- | echo ' | ||
- | chmod 755 / | ||
- | </ | ||
- | |||
- | **11. | ||
- | Install x2goserver from git** | ||
- | |||
- | < | ||
- | $ git clone git:// | ||
- | $ cd x2goserver | ||
- | $ sed -i " | ||
- | $ sed -i " | ||
- | $ sed -i " | ||
- | $ make | ||
- | $ su -c "make install && | ||
- | chown root: | ||
- | chmod 2755 / | ||
- | rm -fr / | ||
- | / | ||
- | </ | ||
- | |||
- | **12. | ||
- | Install a boot script** | ||
- | |||
- | Copy this text into / | ||
- | |||
- | < | ||
- | #!/bin/sh | ||
- | |||
- | . / | ||
- | . ${rc_functions} | ||
- | |||
- | case " | ||
- | start) | ||
- | boot_mesg " | ||
- | / | ||
- | evaluate_retval | ||
- | ;; | ||
- | |||
- | stop) | ||
- | boot_mesg " | ||
- | killall x2gocleansessions | ||
- | evaluate_retval | ||
- | ;; | ||
- | |||
- | restart) | ||
- | boot_mesg " | ||
- | ${0} stop | ||
- | sleep 1 | ||
- | ${0} start | ||
- | ;; | ||
- | |||
- | status) | ||
- | boot_mesg " | ||
- | statusproc / | ||
- | evaluate_retval | ||
- | ;; | ||
- | |||
- | *) | ||
- | echo " | ||
- | exit 1 | ||
- | ;; | ||
- | esac | ||
- | |||
- | # End $rc_base/ | ||
- | |||
- | |||
- | |||
- | su -c "chmod 755 / | ||
- | ln -sf ../ | ||
- | ln -sf ../ | ||
- | ln -sf ../ | ||
- | </ |