Instalace ze zdrojových kódů

Z Freenetis Wiki
Přejít na: navigace, hledání

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ý.

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:

  1. 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.
  2. 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).