Hrátky s EyeOS, díl II. - Instalace

Dnes se podíváme na zprovoznění EyeOS 1.9.0.1 na vlastním serveru. Na konci článku najdete skript, který vše udělá za vás.

22.6.2010 18:00 | Tomáš 'Elektron112' Velecký | přečteno 7099×

Stažení

Soubory jsou umístěny na SourceForge. Odkazy na stažení naleznete na hlavní stránce projektu. Můžete však jít rovnou na SourceForge: verze 1.9.0.1, verze 2.1.

Rozbalení

Verze 1.9.0.1 je zabalena v archivu .zip, 2.1 pak v .tar.gz. Na rozbalení použijeme třeba tento příkaz:

tar -xf eyeOS-2.1.tar.gz # Pro verzi 2.1 - pozor, soubory se rozbalí do adresáře, ve kterém se nacházíte!
unzip eyeOS_1.9.0.1.zip # Pro verzi 1.9.0.1

Nastavení serveru

Jelikož je EyeOS pouhou webovou aplikací, budeme k jejímu běhu potřebovat webový server. Můžeme použít v podstatě jakýkoli, který podporuje alespoň PHP. Hodila by se také podpora SQLite a IMAP. Zkoušel jsem ho na Ubuntu 10.04 s webovým serverem Apache. Následující příkazy by tedy měly běžet i na Debianu a ubuntích odvozeninách. Budeme potřebovat tyto balíčky: apache2, sqlite, libapache2-mod-php5, php5, php5-sqlite a php5-imap (počítač si asi stáhne další). Vše lze nainstalovat buď v grafickém prostředí (Aplikace->Centrum softwaru pro Ubuntu), avšak mnohem rychleji lze vše provést tímto příkazem:

sudo apt-get install apache2 sqlite libapache2-mod-php5 php5 php5-sqlite php5-imap -y

To však není všechno. SQLite budeme muset nastavit. Nejedná se ale o nic jiného, než o přidání tohoto řádku: extension=sqlite.so třeba na konec souboru /etc/php5/conf.d/sqlite.ini. Na to bude opět stačit jediný příkaz:
sudo echo "extension=sqlite.so" >> /etc/php5/conf.d/sqlite.ini

Nakonec ještě restartujeme WWW server:
sudo /etc/init.d/apache2 restart

Přenesení souborů

Soubory však musí být v adresáři, který je přístupný z Internetu přes protokol HTTP. Obvykle se jedná o /var/www. Proto tam přesuneme celou/é složku/y (pokud tam chceme provozovat více než jednu verzi EyeOS nebo EyeOS a ještě nějaký web), nebo obsah složky (pokud tam chceme provozovat jen jednu verzi EyeOS a nic jiného). /var/www patří rootovi a má práva rwxr-xr-x, takže soubory musíme přenést jako superuživatel (root). V adresáři /var/www ještě trůní soubor index.html s radostným nápisem „It works!“. Ten vymažeme - ještě vše nepracuje. Vše provedeme těmito příkazy:

sudo mv eyeOS /var/www; sudo mv eyeOS2 /var/www; sudo rm /var/www/index.html

Běžné zobrazení adresáře bez souborů index.html apod. WWW serverem

Takto by měla vypadat hlavní složka serveru.

Nastavení práv

EyeOS bude požadovat plná práva (777) pro soubory. Vypadá to takto:

Požadavek instalačky EyeOS o rozdání plných práv čtyřem souborům/složkám

I soubory musí mít svá práva :)

My jim je tedy dáme (jako to udělali v Plzni, akorát s tím rozdílem, že je nedáme všem a uděláme to skoro zadarmo), tímto příkazem (právy k druhé řadě se vzhledem k její nestabilitě zabývat nebudu):
sudo chmod 777 /var/www/eyeOS/index.html /var/www/eyeOS /var/www/eyeOS/installer \
/var/www/eyeOS/package.eyepackage

Samotná instalace

Stačí zadat do prohlížeče adresu http://localhost a instalace může začít. Bohužel, Firefox si s instalací jaksi neuměl poradit, viz. screenshot.

Potíže Firefoxu v Ubunu 10.04 s instalačkou EyeOS

Firefox, místo aby instaloval EyeOS chce instalačku stáhnout.

V ostatních prohlížečích však vše jede (tedy alespoň v Opeře a Aroře) a můžeme vesele instalovat. Pokud byly všechny balíčky nainstalovány bez problémů, všechna práva rozdána a vše správně nastaveno, čeká na vás tato obrazovka.
Dotaz na heslo
Chce po nás jen heslo budoucího roota, jméno systému a táže se, jestli chceme uživatelům povolit vytvářet si konta. Potom tam je už jen tlačítko s nápisem „Instalovat eyeOS!“. Co byste řekli švec, už se vás systém ptá na jméno uživatele a heslo...

Konečný skriptík

Abych vám instalaci co nejvíce zjednodušil, vytvořil jsem skript, který stáhne obě verze, nastaví WWW server, obě verze rozbalí do /var/www a první verzi nastaví práva. Samotné zadání hesla však nechá na vás. Tady je:

# STAŽENÍ
# Stáhne archiv s verzí 1.9.0.1
wget http://downloads.sourceforge.net/project/eyeos/eyeos/1.9.0.1/eyeOS_1.9.0.1.zip?use_mirror=mesh
# Stáhne archiv s verzí 2.1
wget http://downloads.sourceforge.net/project/eyeos/eyeos2/eyeOS-2.1.tar.gz?use_mirror=mesh

# ROZBALENÍ
# Vytvoří adresář eyeOS2, do kterého se rozbalí verze 2.1
mkdir eyeOS2
mv eyeOS-2.1.tar.gz eyeOS2
cd eyeOS2
tar -xf eyeOS-2.1.tar.gz
# Vymaže archiv s verzí 2.1
rm eyeOS-2.1.tar.gz
cd ..
# Rozbalí verzi 1.9.0.1
unzip eyeOS_1.9.0.1.zip
# Vymaže archiv s verzí 1.9.0.1
rm eyeOS_1.9.0.1.zip

# NASTAVENÍ SERVERU
# Nainstaluje Apache a jeho doplňky potřebné k běhu EyeOS
sudo apt-get install apache2 sqlite libapache2-mod-php5 php5 php5-sqlite php5-imap -y
# Nastaví podporu SQLite
sudo echo "extension=sqlite.so" >> /etc/php5/conf.d/sqlite.ini
# Restartuje Apache, aby se projevily všechny změny
sudo /etc/init.d/apache2 restart

# PŘENESENÍ SOUBORŮ
# Přenese složku s verzí 1.9.0.1 do /var/www
sudo mv eyeOS /var/www
# Přenese složku s verzí 2.1 do /var/www
sudo mv eyeOS2 /var/www
# Vymaže už zbytečný původní soubor /var/www/index.html
sudo rm /var/www/index.html

# NASTAVENÍ PRÁV
# Nastaví plná práva všem souborům a složkám, které je potřebují
sudo chmod 777 /var/www/eyeOS/index.html /var/www/eyeOS /var/www/eyeOS/installer \
/var/www/eyeOS/package.eyepackage

Možné potíže

Pokud použijete script dlouho po vydání tohoto článku, zřejmě nenainstalujete nejnovější verzi - radši postupujte podle článku ručně, nebo se podívejte do fóra, možná se tam nějaká nová verze skriptu objeví. POZOR: Nainstaloval jsem EyeOS na běžný hosting a on si tam při instalaci vytvořil soubory. Pár neškodných souborů, které však mají úplně jiného vlastníka, a sice www-data. Já, jakožto pouhý uživatel hostingu, a ne správce serveru s tím nemůžu nic dělat. Nemůžu je upravovat, mazat ani přesouvat. EyeOS ze svého webu vlastně sám nemůžu smazat. Ani mi to vlastně nevadí, protože mám neomezený prostor a zas tolik složek se eyeOS nejmenuje. Co když tam však někdo najde bezpečnostní chybičku, chybu, nebo dokonce velkou chybu, přes kterou by mohl upravit web a špehovat hesla?
Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1717