X2go: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 181: Line 181:
kernel vmlinuz
kernel vmlinuz
append root=/dev/nfs nfsroot=192.168.0.250:/opt/x2gothinclient ro initrd=initrd.img ip=dhcp</pre>
append root=/dev/nfs nfsroot=192.168.0.250:/opt/x2gothinclient ro initrd=initrd.img ip=dhcp</pre>
kopeeri järgnev fail /tftpboot/ kausta
<pre>cp /opt/x2gothinclient/usr/lib/syslinux/pxelinux.0 /tftpboot/</pre>
Järgnevalt me seadistame dhcpd
<pre>nano  /etc/dhcp3/dhcpd.conf</pre>
<pre>option domain-name "<sinu domeeni nimi.local>";
option domain-name-servers 192.168.0.250;
# x2go thin client range/group
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.199;
filename "/pxelinux.0";
next-server 192.168.0.250;
}</pre>
teeme dhcp-le restardi
<pre>/etc/init.d/dhcp3-server restart</pre>
Lisa /etc/exports faili uus rida
<pre>nano /etc/exports</pre>
<pre>/opt/x2gothinclient 192.168.0.0/24(ro,async,no_root_squash)</pre>

Revision as of 17:27, 15 December 2010

X2Go

Autorid: Martin Lehari, Riho Hiiepuu, Kaarel Kont-Kontson

Mis on x2go?

x2go on vabavaraline terminal serveri projekt. x2go võimaldab ka jooksutada erinevaid operatsiooni süsteeme virtuaal masinatena. Näiteks: windows, linuxi erinevad distrod, MacOS.

x2go võimaldab ka luua õhukesi kliente väike seadete jaoks nagu pihuarvutid ja mobiil telefonid (millel on vastav tugi olemas).

Käesoleva töö raames sai kasutatud op. süsteemina Debian GNU/Linux 5.0.7 (Lenny) 32bit versiooni. Katsetatud sai ka Ubuntu serveri ja desktopi väljalaskeid. Kuna X2Go tarkvara on mõeldud toimima ainult puhta Debiani peal, siis osade pakettide paigaldamine ebaõnnestus.

Installeerimine

Eeldused

Toimiv võrguühendus, staatiline IP!

x2go Server

Kõigepealt impordime süsteemi x2go repositooriumi GPG võtmed

gpg --keyserver wwwkeys.eu.pgp.net --recv-keys C509840B96F89133
gpg -a --export C509840B96F89133 | apt-key add -

Seejärel lisame x2go repositooriumi aadressi sources.list faili

echo "deb http://x2go.obviously-nice.de/deb/ lenny main" >> /etc/apt/sources.list

PS! Sama asja võib teha ka mõne tekstiredaktoriga, aga sedasi ridade lisamine on lihtsalt kiirem.

Kõige lõpuks uuendame pakkide nimistu

aptitude update

Nüüd kus serveri paigalduseks on kõik eeldused loodud, võime vajalike pakkide paigaldusega jätkata. Esimese hooga paigaldatakse x2go serveri pakid koos SSH failisüsteemi ja PostgreSQL serveriga.

aptitude install x2goserver x2gosessionadministration x2gokdebindings sshfs postgresql

Kui serverisse on paigaldatud ainult baasüsteem, siis lisanduvad paigaldatavate pakettide nimistusse veel mitmed sõltuvused (sh. xorg).

Võimaldame kõigil kasutajatel süsteemi sisse logida

echo "%users ALL=(ALL) NOPASSWD: /usr/bin/x2gopgwrapper " >> /etc/sudoers

Impordime vajaliku andmebaasi

cd /usr/lib/x2go/script/
./x2gocreatebase.sh

Kõige esimene veateade (dropdb: database removal failed: ERROR: database "x2go_sessions" does not exist) on normaalne ja ei tasu lasta ennast sellest heidutada.

Määrame /dev/fuse failile korrektsed õigused

chown root:fuse /dev/fuse
chmod 660 /dev/fuse

LDAP server

Järgmisena paigaldame lokaalse LDAP serveri (vajalik kasutajate autentimiseks).

aptitude install x2goldaptools x2gouseradministration
x2gohostadministration x2gosystemadministration x2gogroupadministration x2gomail

LDAP'i paigaldusskriptid hakkavad küsima küsimusi. Vastamiseks võid kasutada vaikeväärtuseid, kuna hilisemad x2go paigaldusskriptid teevad vajalikud seadistused ise ära.

Järgmiseks täiendame hosts faili serveri IP aadressi ja hostname'iga

echo "<serveri_ip> <serveri_hostname>.local <serveri_hostname>" >> /etc/hosts

Genereerime LDAP'i konfiguratsiooni

cd /usr/share/x2goldaptools/config/
./genconf <LDAP URI> <organisatsiooni_nimi> <riigi_kood> <domeeni_nimi> <netbios_nimi>

Antud töö kirjutamiseks kasutatud testsüsteemi parameetrid olid näiteks sellised:

./genconf x2goserver x2goserver.local ee x2gogroup x2goserver

X2Go Thin Client

Kuna kõik kasud on tehtud root kasutaja all, siis võib ennast logida sisse roodina kohe või kasutada sudo enne igat käsku.

sudo -i

Esiteks on meil vaja DHCP serverit, TFTP server (atftp), NFS kernel server ja debootstrap

 aptitude install dhcp3-server atftpd nfs-kernel-server debootstrap 

Järgmiseks loome kausta kliendi jaoks

mkdir /opt/x2gothinclient

Kasutame debootstrap-i et laadida alla Debian Lenny süsteem

debootstrap --arch i386 lenny /opt/x2gothinclient/ http://ftp2.de.debian.org/debian

Teha koopia resolv.conf failist kliendi faili süsteemi jaoks.

cp /etc/resolv.conf /opt/x2gothinclient/etc/resolv.conf

Luua uus interfaces fail kliendi op systeemi jaoks kaustas /opt/x2gothinclient/etc/network/interfaces ja sinna ssisestada:

auto lo
iface lo inet loopback

Tekitame uued kirjed kliendi hostname ja hosts faili.

echo x2gothinclient >> /opt/x2gothinclient/etc/hostname

echo "127.0.0.1 localhost" >> /opt/x2gothinclient/etc/hosts

Määrame ära x2goserveri

echo "<serveri_ip> <serveri_hostname>.local <serveri_hostname>" >> /opt/x2gothinclient/etc/hosts

NB!!!! Järgmine osa toimub CHROOT keskkonnas, ole hästi ettevaatlik!

Siseneme chroot keskkonda

chroot /opt/x2gothinclient /bin/bash

Järgmiseks käsk

PS1='(chroot) '$PS1

Nüüd tuleb mountida faili süsteemid

mount -t proc none /proc
mount -t devpts none /dev/pts/ 

impordime x2go repositooriumi.

aptitude update
aptitude install syslinux locales linux-image-486

kui tuleb küsimus: Create a symbolic link to current kernel image Yes

kui tuleb küsimus: Do you want to abort now No

järgnevalt teeme reconfigure localses

dpkg-reconfigure locales

Järgnevas failis (/etc/initramfs-tools/initramfs.conf) peame ära muutma ühe kirje (BOOT=nfs)

nano /etc/initramfs-tools/initramfs.conf
 BOOT=nfs

järgnevalt

update-initramfs -u -v

installeerime x2gocleintsystem-i

aptitude install x2gothinclientsystem

Järgnevat käsku ei tohi väljaspool charoot kasutada

./x2gothinclient_install.sh

Lähme chroot keskkonnast välja aga ennem peab maha laadima failisüsteemid mille me peale laadisime.

umount /proc/
umount /dev/pts/
exit

järgmisesk modida faili /etc/default/atftpd

USE_INETD=false
OPTIONS="--daemon --port 69 --tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr 239.239.239.0-255 --mcast-ttl 1 --maxthread 100 --verbose=5 /tftpboot"

luua uus kaust ning muuta tema õigusi

mkdir /tftpboot
chmod 775 /tftpboot

/etc/inetd.conf failis keera tftp kinni. (pane trellid tftp ette)

peale seda teha restart

/etc/init.d/openbsd-inetd restart
/etc/init.d/atftpd restart

tekitame lingi failide vahel

ln -s /opt/x2gothinclient/vmlinuz /tftpboot/vmlinuz
ln -s /opt/x2gothinclient/initrd.img /tftpboot/initrd.img

loo uus kaust ja lisa sinna fail. faili sisu on kirjeldatud all pool.

mkdir /tftpboot/pxelinux.cfg
touch /tftpboot/pxelinux.cfg/default
nano /tftpboot/pxelinux.cfg/default
label linux
kernel vmlinuz
append root=/dev/nfs nfsroot=192.168.0.250:/opt/x2gothinclient ro initrd=initrd.img ip=dhcp

kopeeri järgnev fail /tftpboot/ kausta

cp /opt/x2gothinclient/usr/lib/syslinux/pxelinux.0 /tftpboot/

Järgnevalt me seadistame dhcpd

nano  /etc/dhcp3/dhcpd.conf
option domain-name "<sinu domeeni nimi.local>";

option domain-name-servers 192.168.0.250;

# x2go thin client range/group

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.199;
filename "/pxelinux.0";
next-server 192.168.0.250;
}

teeme dhcp-le restardi

/etc/init.d/dhcp3-server restart

Lisa /etc/exports faili uus rida

nano /etc/exports
/opt/x2gothinclient 192.168.0.0/24(ro,async,no_root_squash)