Manpremo: Difference between revisions
(4 intermediate revisions by the same user not shown) | |||
Line 247: | Line 247: | ||
''' Registreerimine ''' | ''' Registreerimine ''' | ||
Registreerimise võtme saamise kohta lugeda [[Manpremo#Registration Keys|Registration Keys]] lõigu alt. | |||
Production serverisse kliendi registreerimine: | Production serverisse kliendi registreerimine: | ||
sudo manpremo-register --registration-key | sudo manpremo-register --registration-key REGISTREERIMISE_VÕTI --client-name KLIENDI_NIMI --server manpremo.com --port 443 | ||
Development serverisse kliendi registreerimine ilma ssl-ita: | Development serverisse kliendi registreerimine ilma ssl-ita: | ||
sudo manpremo-register --registration-key | sudo manpremo-register --registration-key REGISTREERIMISE_VÕTI --client-name KLIENDI_NIMI --server localhost --port 8000 --insecure | ||
Selleks, et kindel olla, et klient kasutab turvamata versiooni, lisa | Selleks, et kindel olla, et klient kasutab turvamata versiooni, lisa | ||
Line 295: | Line 297: | ||
Selle funktsiooni eesmärk on pakkuda administraatoritele võimalus jagada oma kasutatavad seadmed ning kliendid organisatsiooniliselt ära. Iga Organizational Uniti (OU) kohta on võimalik lisada nimi, kirjeldus ja vajaduse korral ülem (parent) OU. Organizational Uniti vaade näeb välja [[Media:Manpremo_OU.png|selline]] ja lisamise vaade [[Media:Manpremo_ou_create.png|selline]]. | Selle funktsiooni eesmärk on pakkuda administraatoritele võimalus jagada oma kasutatavad seadmed ning kliendid organisatsiooniliselt ära. Iga Organizational Uniti (OU) kohta on võimalik lisada nimi, kirjeldus ja vajaduse korral ülem (parent) OU. Organizational Uniti vaade näeb välja [[Media:Manpremo_OU.png|selline]] ja lisamise vaade [[Media:Manpremo_ou_create.png|selline]]. | ||
Hiljem on võimalik iga OU infot ja ülem OU-d muuta. Lisaks on olemas logi, kus on näha kõik sündmused, mis on vastava OU-ga seotud. Igale OU-le on võimalik lisada kasutajaid ja nendele jagada õiguseid rollipõhiselt. Kokku on 5 erinevat rolli. Rollide lisamise vaade näeb välja [[Media:Manpremo_ou_roles.png|selline]] ja logide vaade [[Media:Manpremo_ou_logs.png|selline]]. | |||
== '''Registration Keys''' == | |||
Registreerimisvõtmed on loodud selleks, et lubatud arvutid saaksid loodud Manpremo serveriga liituda. Registreerimisvõtmete loomise puhul tuleb lisada võtmele nimi, kirjeldus ei ole kohustuslik. Veel tuleb märkida ära võtme kehtivusaja alg- ja lõppkuupäev ning kasutajate arv, kes antud võtmega saab end registreerida. Võimalik on ka lisada OU, kuhu selle võtmega ennast registreeritakse, kuid selle lisamine ei ole kohustuslik. Hiljem tuleb lihtsalt käsitsi kliendid ringi paigutada. Võtmete loomise vaade näev välja [[Media:Manpremo_key_create.png|selline]]. | |||
== '''Clients''' == | |||
= Kasutatud kirjandus = | = Kasutatud kirjandus = |
Latest revision as of 08:27, 3 May 2011
REFERAAT ON VEEL POOLELI JA TÄIENEB JOOKSVALT!!!!
Manpremo on kaughaldus süsteem, mis on loodud selleks, et süsteemi administraatorid saaksid keskselt hallata paljusid arvuteid kiirelt ja mugavalt. Seda rakendust arendab Eesti firma Povi Software OÜ. Manpremo on vabavaraline ja avatud lähtekoodiga. Tarkvara loomisel on põhiliselt kasutatud Pythonit. Serveri poole loomiseks on kasutatud lahtise lähtekoodiga võrguraamistikku nimega Django. Kliendi pool on kirjutatud Pythonis. Manpremo projekt on hetkel veel varajases arengu staadiumis, kuid on kasutatav Linux põhiste süsteemide administreerimisel.
Praegune Manpremo stabiilne versioon on 0.2.
Põhilised omadused
- Veebi põhine kasutajaliides laseb arvuteid hallata olenemata asukohast spetsiaalset tarkvara paigaldamata. Liides töötab korralikult kõikide peamiste veebilehitsejatega.
- Jõuline kasutajaõiguste kontroll annab täieliku kontrolli selle üle, mida kasutajad teha saavad. Näiteks võib neil keelata muude käskude jooksutamise peale nende, mis süsteemi administraator on lubanud, anda ligipääs ainult teatud arvutitele ja palju muud.
- Mitme operatsiooni süsteemi tugi laseb hallata Linuxi, Windowsi ja Mac OS X põhiseid arvutied ühe süsteemiga. Käskluseid võib teisendada operatsiooni süsteemide vahel, lastes administraatoril kasutada samu käsklusi kõikides erinevates süsteemides.
- Lihtne kasutada nii administraatorite kui ka kasutajate poolel. Administraator võib telegeerida ülesandeid kasutajatele ilma, et nemad peaks õppima keerulisi käsklusi kirjutama.
- Turvaline platvorm tagab selle, et kliendi ja serveri vahelist suhtlust ei saa pealt kuulata ega muuta.
Vajalikud mõisted, teadmised ja tarkvara
Selleks, et järgnevat oleks võimalik järgida seletan lahti mõned mõisted ja panen kirja vajalikud teadmised ja tarkvara.
Mõisted (lähtudes käesoleva referaadi teemast)
- Server on arvuti, kuhu on paigaldatud Manpremo server.
- Klient on arvuti, kuhu on paigaldatud Manpremo kliendi poolne tarkvara.
- Development server on Manpremo server, mis on eelkõige mõeldud testimiseks ja arendamiseks.
- Production server on Manpremo server, mis on mõeldud töös oleva arvutivõrgu haldamiseks. See server kasutab serveri ja klientide vahelise ühenduse turvamiseks SSL krüpteerimist.
Teadmised/Tarkvara
Mina kasutasin server paigaldamiseks Ubuntu 10.10 Maverick versiooni. Manpremo loojad ise on testinud paigaldamist Debian Squeeze peal. Nende sõnul peaks paigaldamine õnnestuma Ubuntu ja sarnaste operatsioonisüsteemide peal.
Selleks, et paigaldada Manpremo peab olemas olema järgnev:
- Django - Serveri veebiliides
- Gettext - Serveri veebiliides
- stunnel (valikuline) - Turvalisus
- Mercurial - Manpremo koodi saamiseks
- Python - Manpremo on kirjutatud Pythonis
Kõide vajaminevate pakettide paigaldamiseks võib kasutada järgnevat käsurea käsklust:
sudo apt-get install python-django gettext stunnel4 mercurial python-tz
Manpremo serverite paigaldamine
Järgnevalt käin läbi erinevate Manpremo serverite paigladamise. Mina kasutasin serverite paigaldamisel operatsioonisüsteemi Ubuntu 10.10. Kõik juhised ja käsud lähtuvad antud operatsioonisüsteemist. Vigade tekkimise korral kontrollida, et kõik ülesse loetud paketid on korralikult arvutisse paigaldatud. Enne kui paigaldama hakata, tuleks läbi mõelda kumba versiooni soovitakse kasutada. Development serveri peale ei õnnestu ilma suuremate jamadeta paigaldada production serverit seega tuleks enne ära otsustada.
Manpremo Development Serveri paigaldamine
Töö alustamiseks avada Terminal. (Applications > Accessories > Terminal).
Kõige viimase Manpremo versiooni kloonimine:
hg clone http://manpremo.org/hg/manpremo/
Manpremo kataloogi sisenemine ja viimase versiooni valimine:
cd manpremo/ hg up default
Andmebaasi intialiseerimine:
cd pyserver/ ./manage.py syncdb ./manage.py createcachetable cache_manpremo_ccs
Serveri käivitamine:
./manage.py runserver
Kui server käivitus (konsooli ekraanile ilmub kinnitus teade), on serveri veebillides kätte saadav aadressilt 127.0.0.1:8000.
Production serveri paigaldamine
Töö alustamiseks avada Terminal. (Applications > Accessories > Terminal).
Kõige viimase Manpremo versiooni kloonimine ja selle paigutamine /srv/manpremo kataloogi:
hg clone http://manpremo.org/hg/manpremo/ cd manpremo/ hg up stable-0.2 cd sudo mv manpremo /srv/
Manpremo andmebaasi jaoks vajalike pakettide paigaldamine:
sudo apt-get install postgresql python-psycopg2
(Vaikimisi kasutatakse PostgreSQL andmebaasi. Django dokumentatsioon annab ülevaate võimalikest alternatiividest.)
Andmebaasi ja kasutaja loomine:
sudo -u postgres psql CREATE DATABASE manpremo; CREATE USER manpremo; //Või sisesta omal valikul mõni kasutajatunnus. ALTER USER manpremo WITH ENCRYPTED PASSWORD 'notsecure'; //Või sisesta omal valikul mõni parool. GRANT ALL PRIVILEGES ON DATABASE manpremo TO manpremo; \q
Andmebaasi seadistamine:
sudo gedit /srv/manpremo/pyserver/settings.py
(Mina kasutasin gedit tööriista. Võib asendada ka muude alternatiividega nagu näiteks nano.)
Avanenud aknas otsida järgnevad väljad ja muuta ringi vasvalt juhisele:
DATABASE_ENGINE = 'postgresql_psycopg2' DATABASE_NAME = 'manpremo' DATABASE_USER = 'manpremo' //Kui valisite enne mingi muu kasutajatunnuse, sisestada see siia. DATABASE_PASSWORD = 'notsecure' //Kui valisite enne mingi muu parooli, sisestada see siia. DATABASE_HOST = 'localhost' # Use TCP socket, not local UNIX domain socket DATABASE_PORT =
CACHE_BACKEND = 'db://cache_manpremo_ccs'
Andmebaasi initiliseerimine:
cd /srv/manpremo/pyserver ./manage.py syncdb //Käsu jooksutamisel lastakse luua "super" kasutaja, kui seda veel ei ole. ./manage.py createcachetable cache_manpremo_ccs
Süsteemi kasutaja loomine andmebaasi jaoks:
sudo useradd manpremo sudo mkdir -p /srv/manpremo/pyserver/data sudo chown manpremo:manpremo -R /srv/manpremo/pyserver/data
Apache veebiserveri jaoks vajalike pakettide paigaldamine:
sudo apt-get install apache2-mpm-prefork libapache2-mod-python libapache2-mod-wsgi
Serveri jaoks võtmete loomine:
sudo mkdir /etc/apache2/ssl sudo openssl req -new -x509 -nodes -out /etc/apache2/ssl/manpremo.crt -keyout /etc/apache2/ssl/manpremo.key //Käsu jooksutamisel küsitakse sertifikaadi loomiseks erinevat informatsiooni. //Väljale CN(Common Name) sisestada serveri IP aadress või URL. sudo chmod 600 -R /etc/apache2/ssl sudo chown root:root -R /etc/apache2/ssl
Apache seadistus faili loomine:
sudo touch /etc/apache2/sites-enabled/manpremo sudo gedit /etc/apache2/sites-enabled/manpremo
Avanenud aknasse kopeerida järgnev tekst ja see salvestada:
WSGIRestrictStdout Off <VirtualHost *:80> # Redirect from HTTP to HTTPS: RewriteEngine On RewriteRule ^/(.*)$ https://%{SERVER_NAME}/$1 [R,L] </VirtualHost> <VirtualHost *:443> ServerAdmin webmaster@localhost WSGIScriptAlias / /srv/manpremo/pyserver/manpremo.wsgi WSGIDaemonProcess manpremo user=manpremo group=manpremo WSGIProcessGroup manpremo Alias /media "/srv/manpremo/pyserver/media SSLEngine on SSLCertificateFile /etc/apache2/ssl/manpremo.crt SSLCertificateKeyFile /etc/apache2/ssl/manpremo.key </VirtualHost>
SSL-i aktiveerimine ja moodulite ülekirjutamine:
sudo a2enmod ssl rewrite
Apache veebiserveri restart:
sudo apache2ctl restart
Kui kõik sammud said õigesti ja edukalt läbitud, peaks saama aadressilt https://localhost/ siseneda Manpremo veebiliidesesse käsu ./manage.py syncdb ajal sisestatud kasutajatunnustega. Kui sellel aadressil pärast sertifikaadi laadimist kuvatakse Internal Server Error 500, sisestada terminali järgmine käsk ja uurida viimaseid ridu vea põhjuse leidmiseks:
gedit /var/log/apache2/error.log
Manpremo klientide paigaldamine ja registreerimine
Järgnevalt käin läbi Manpremo klientide paigladamise ja registreerimise. Hetkel on võimalik kasutada Linuxi ja Windowsi operatsioonisüsteeme klientideks.
Linuxi kliendi paigaldamine kasutades Mercuriali
Mercuriali ja Pythoni paigaldamine:
sudo apt-get install mercurial tortoisehg python-setuptools
Manpremo koodi allalaadimine:
hg clone http://manpremo.org/hg/manpremo/ cd manpremo
Setup.py skripti kasutamine paigaldamiseks:
sudo ./setup.py install
Linuxi kliendi paigaldamine Debiani paketti ehitades
Mercuriali, Debiani tööriistade ja Pythoni paigaldamine:
sudo apt-get install mercurial tortoisehg python-setuptools devscripts debhelper
Manpremo koodi allalaadimine:
hg clone http://manpremo.org/hg/manpremo/ cd manpremo
Kliendi paketti ehitamine:
sudo ./build-clientpkg.sh
Kui eelmine skript lõpetas töö edukalt. Jooksutada seda korra uuesti. Kui teisel korral on kõik korras:
cd .. && cd /srv/manpremo/ba
Kontrollida, kas selles kaustas asub (ls -l) fail nimega manpremo-client_0.2~<mingi number>_all.deb. Kui asub siis:
sudo dpkg -i manpremo-client_0.2~<mingi number>_all.deb
Pärast seda teha arvutile restart. Käsurealt käsklusega:
sudo reboot
Kui kõik läks edukalt, peaksid olema tekkinud järgmised kaustad ja failid:
/etc/manpremo /etc/manpremo/certs /etc/manpremo/manpremo.conf /etc/manpremo/certs/servers.crt
Linuxi kliendi registreerimine
Kui kliendi osa sai eduaklt paigaldatud, saab kliendi nüüd registreerida, et see oleks näha Manpremo veebiliideses.
Sertifikaat
Serveri sertifikaadi hankimine külastades Manpremo serveri veebiliidest aadressil https://localhost
Firefox: Add Exception... > Get Certificate > View > Details > Export > Save to file.
IE: Continue to this website > Right click > Properties > Certificates > Details > Copy to file
Chrome: Vajuta aadressi ribal asuvale hoiatusmärgile > Certificate Information -> Details Tab -> Copy to file
Kopeeri loodud faili sisu ja lisa see faili /etc/manpremo/certs/servers.crt
Registreerimine
Registreerimise võtme saamise kohta lugeda Registration Keys lõigu alt.
Production serverisse kliendi registreerimine:
sudo manpremo-register --registration-key REGISTREERIMISE_VÕTI --client-name KLIENDI_NIMI --server manpremo.com --port 443
Development serverisse kliendi registreerimine ilma ssl-ita:
sudo manpremo-register --registration-key REGISTREERIMISE_VÕTI --client-name KLIENDI_NIMI --server localhost --port 8000 --insecure
Selleks, et kindel olla, et klient kasutab turvamata versiooni, lisa
insecure = true
faili /etc/manpremo/manpremo.conf
Kui ei soovi lisada kliendile kindlat nime, võib ära jätta --client-name KLIENDI_NIMI osa. Siis kasutatakse registreerimisel arvuti nime.
Kui kliendi juures näidatakse teadet "client has never been seen" võib see tähendada, et Manpremo daemon ei tööta. Kliendi arvutis sisestada järgmine käsklus:
sudo manpremo-daemon
Selleks, et Manpremo daemon hakkaks tööle operatsioonisüsteemi alglaadimisel, tuleb lisada antud käsklus alglaadimisel käimaminevasse skripti. Selleks:
cd /etc/init.d sudo touch manpremo sudo nano manpremo
Avanenud aknasse kirjutada:
sudo manpremo-daemon
Manpremo veebiliidese ülevaade
Sisselogimine ja kasutajate registreerimine
Kui kasutaja külastab Manpremo serveri veebiliidese lehte esimene kord, avaneb talle selline vaade. Seal on võimalik kasutajal valida keel, mida ta soovib kasutada. Käesoleva ülevaate keelevalik on inglise keel. Veel on võimalik lugeda Manpremo kohta täpsemalt vajutades vastavale lingile. Client software taga peitub nimekiri kliendile vajaminevatest paketidest või tarkvarast.
Kasutaja registreerimine
Kasutaja registreerimiseks tuleb vajutada lingile Register. Siis avaneb kasutajale järgmine leht. Korrektsete andmete sisestamisel ja nupule Register vajutades, küsitakse kasutaja kohta veel täpsustavaid andmeid, millede kinnitamisel kuvatakse Manpremo serveri peavaadet või siis -menüüd.
Peavaade
Peamenüü näeb välja selline. Kõik menüü osad on ringi liigutatavad, suletavad ja minimiseeritavad. Kinni pandud osa võib hiljem ka tagasi panna kasutades Add portlet linki.
Organizational Units
Selle funktsiooni eesmärk on pakkuda administraatoritele võimalus jagada oma kasutatavad seadmed ning kliendid organisatsiooniliselt ära. Iga Organizational Uniti (OU) kohta on võimalik lisada nimi, kirjeldus ja vajaduse korral ülem (parent) OU. Organizational Uniti vaade näeb välja selline ja lisamise vaade selline.
Hiljem on võimalik iga OU infot ja ülem OU-d muuta. Lisaks on olemas logi, kus on näha kõik sündmused, mis on vastava OU-ga seotud. Igale OU-le on võimalik lisada kasutajaid ja nendele jagada õiguseid rollipõhiselt. Kokku on 5 erinevat rolli. Rollide lisamise vaade näeb välja selline ja logide vaade selline.
Registration Keys
Registreerimisvõtmed on loodud selleks, et lubatud arvutid saaksid loodud Manpremo serveriga liituda. Registreerimisvõtmete loomise puhul tuleb lisada võtmele nimi, kirjeldus ei ole kohustuslik. Veel tuleb märkida ära võtme kehtivusaja alg- ja lõppkuupäev ning kasutajate arv, kes antud võtmega saab end registreerida. Võimalik on ka lisada OU, kuhu selle võtmega ennast registreeritakse, kuid selle lisamine ei ole kohustuslik. Hiljem tuleb lihtsalt käsitsi kliendid ringi paigutada. Võtmete loomise vaade näev välja selline.
Clients
Kasutatud kirjandus
Autor
Henrik Leinola A22