Instalace ze zdrojových kódů
Freenetis můžete provozovat na jakémkoli serveru (včetně Windows), ale doporučená platforma je Linux. Tento návod předpokládá použití distribuce Debian. U jiných distribucí bude postup podobný.
Obsah
Příprava OS
Instalace PHP, Apache a MySQL
apt-get install apache2 php5 php5-mysql mysql-server
Locale
Pro správnou funkci porovnání českých řetězců v PHP musíte mít nainstalované české UTF-8 locale. Takže:
dpkg-reconfigure locales
Vybrat:
cs_CZ.UTF-8 en_US.UTF-8
a restartovat apache:
apache2ctl graceful
Apache
Ve web serveru Apache musíte mít nainstalovaný a povolený modul mod_rewrite. V Linux distribucích, založených na Debian-u, je tento modul nainstalovaný defaultně, pokud jej nemáte povolený, tak jej povolte:
a2enmod rewrite
Poté ještě musíte v konfiguraci virtualhost-a Apache, na kterém budete freenetis provozovat, povolit pro adresář Freenetis možnost přenastavování konfigurace Apache pomocí souboru .htaccess. Za tímto účelem si poeditujte soubor s konfigurací virtualhost-a, který na Debianu najdete takto:
- pokud jste žádný virtualhost zatím nenastavovali, jedná se o soubor /etc/apache2/sites-available/default
- pokud už nějaký virtualhost máte, pak bude nejspíš nakonfigurovaný v některém dalších souboru v adresáři /etc/apache2/sites-available/
V konfiguraci virtualhost-a najděte sekci Directory definující vlastnosti adresáře, pod který jste Freenetis umístili, a přidejte tam direktivu "AllowOverride All". Výsledek bude vypadat třeba takto:
<Directory /var/www/freenetis> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory>
Celé pak
<VirtualHost *> ServerAdmin webmaster@example.org ServerName freenetis.example.org DocumentRoot /var/www/freenetis <Directory /var/www/freenetis> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>
Nakonec udělejte obligátní restart Apache:
apache2ctl graceful
Instalace Freenetis-u a databáze
Stažení z Freenetisu z SVN
Pokud nemáte SVN klienta, pak
apt-get install subversion
teď už si můžete freenetis stáhnout do některého adresáře pod /var/www/freenetis/:
cd /var/www svn checkout https://freenetis.svn.sourceforge.net/svnroot/freenetis/freenetis/trunk/kohana
Freenetis se neustále vyvíjí, chyby jsou opravovány, takže pokud vám něco nefunguje, updaty si můžete stáhnout příkazem:
svn update
(což stáhne pouze modifikované soubory)
Log oprav je dostupný zde
Vytvoření databáze a import minimálně potřebných dat
Připojte se k databázi
mysql -p{root heslo do databaze} -u root
a vytvořte databázi freenetis
mysql> create database freenetis;
přidejte uživatele freenetis
mysql> USE mysql; mysql> INSERT INTO user VALUES('localhost', 'freenetis', PASSWORD('heslo'), 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N');
a nastavte mu práva pro databázi freenetis
mysql> INSERT INTO db VALUES('localhost','freenetis','freenetis','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); mysql> FLUSH PRIVILEGES;
Nastavení konfigurace
Tady je potřeba udělat trochu víc věcí a to zejména proto, že ve Freenetis-u ještě není knihovna pro správu přístupových práv - phpgacl - zaintegrována tak, aby ji nebylo nutné konfigurovat zvlášť.
Musíte nastavit v kohana/application/config/config.php svoji doménu a protokol(http/https)
Musíte nastavit jméno a heslo k SQL databázi v těchto souborech:
- kohana/application/config/database.php
- kohana/application/vendors/phpgacl/gacl.class.php
- kohana/application/vendors/phpgacl/gacl.ini.php
Dále změnte název kohana/.htaccess.dist na kohana/.htaccess
Následně by se měl na stránce zobrazit instalátor freenetisu.
Správa přístupových práv
Ve Freenetisu doposud není implementováno žádné rozhraní pro správu přístupových práv (nebylo by to až zas tak složité, ale není na to čas).
Proto pokud chcete přidělovat uživatelům práva, máte 2 možnosti:
- můžete k tomu použít administrační rozhraní, které je součástí knihovny phpgacl. Bohužel kohana je implementovaná tak, že nelze přistupovat na žádné její podadresáře, takže je potřeba nainstalovat phpgacl ještě do nějakého adresáře dostupného z webu.
- práva lze přidělovat i přímo v databázi. Například: pokud chcete nějakému uživateli přidělit práva administrátora, pak v databázi v tabulce users najděte jeho id. V tabulce groups_aro_map pak toto id najděte ve sloupci aro_id a upravte ten záznam tak, že group_id změníte na 32 (skupina administrators).