Instalace Postgresql pro síťovou verzi Klasifikace na LINUX

  • Co potřebujeme
    1) Jakýkoli trochu schopný počítač s připojením k síti. Linux je velmi nenáročný, spíš než o výkon nám půjde o spolehlivost disku.

    2) Instalační médium Linuxu – buď cd, DVD, nebo flash disk. Použití Flashdisku je nejpohodlnější. Jak ho připravit je už popsáno v tomto příspěvku. Jediný rozdíl je v použité distribuci Linuxu. Můžete instalovat jak čistě serverovou verzi, tak i klasickou s grafickým rozhraním, není to nic proti ničemu.
    3) Upravené soubory pg_hba.conf a postgresql.conf

    Instalace Linuxu
    Pokud instalujeme z flashdisku, musíme v některých případech v BIOSu počítače nejprve povolit bootování z USB disku. Vložíme USB disk a nabootujeme z něj. Zvolíme Kubuntu, v dalším okně pak zvolíme jazyk češtinu a instalaci Kubuntu.
    Pokud jsme již nyní připojení k internetu, postahují se aktualizace a lokalizace. Zadáte také název počítače a hlavního uživatele i s heslem. Pokud šlo vše hladce a máte běžný hardware, pak se nemusíte zabývat žádnými ovladači, vše si Linux zařídí sám.
    Po instalaci (pokud instalujete verzi s grafickým rozhraním) je dobré v System settings v Locale navolit všude češtinu a českou lokalizaci – pomůže to v další práci – pozor, skoro u jakékoli změny musíte zadávat heslo. Po dokončení změn můžeme restartovat počítač, tím se projeví změna jazyka. Jinak většina práce se dělá v konsoli, grafické prostředí tedy není nijak nutné, musíte ale znát základní příkazy. Ty jsou hezky sepsané například zde.

    Instalace postgresql
    Otevřeme konsoli (do našeptávače napíšeme konsole, někde funguje i Alt+F2 a pak napíšeme konsole) a píšeme příkazy:
    sudo su (tím budeme pracovat s administrátorskými právy, což je vhodné zadat pokaždé, když začínáme, nemusíme pak při každém příkazu psát heslo)
    Pak zadáme heslo (pozor, v Linuxu se nic nepíše, ani hvězdičky – prostě napíšeme heslo a ENTER. Heslo to chce samozřejmě pokaždé, když zadáme sudo nebo sudo su)
    apt-get install postgresql-9.3 (tím se instaluje samotný postgres, bude chtít stahovat další data, také upozorňuje na to, že jde o starou verzi – vše potvrďte)

    V tuto chvíli již máme nainstalovaný postgresql, ale ještě se nedá používat. Sám se vytvořil uživatel postgres, ale ten je pouze lokální – slouží ke správě databáze z tohoto počítače.
    Ještě je třeba upravit konfigurační soubory, nastavit práva, vytvořit servisního superuživatele pro jphsoft a taktéž nějak vyřešit zálohování. Pokud používáte router, je také nutné přesměrovat port 5432 na tento počítač – s tím souvisí také zajištění toho, aby tento počítač měl stále stejné IP (buď pevně nastevené – což naklikáte v grafickém rozhraní, nebo příkazy viz např. http://www.linuxsoft.cz/article.php?id_article=302, nebo pomocí rezervace DHCP přímo na routeru).

    Nastavení a zprovoznění postresql

    1) Konfigurační soubory
    Upravené soubory pg_hba.conf a postgresql.conf (jsou tam nastaveny parametry tak, aby server komunikoval i s vnější sítí a naopak, aby i ze serveru bylo možné přihlášení do databáze pod klasickým zálohovacím účtem) je potřeba nahrát do adresáře: /etc/postgresql/9.3/main Kdo Linux trochu zná, udělá to pár příkazy v konsoli, pro ostatní je tu následující návod. Teoreticky stačí překopírovat soubory v souborovém manažeru (např. předinstalovaný Dolphin) – problém je v tom, že k tomu nemáte práva. V konsoli tedy zadáme následující příkazy:
    sudo su (pokud otvíráme nové okno – přebíráme tím superuser práva, budeme muset zadat heslo)
    cd /etc/postgresql/9.3/ (tím se dostaneme do kýženého adresáře)
    chmod 777 main (povolíme všem přístup do složky)
    Konsoli nevypínejte. Nyní můžeme v souborovém manažeru nakopírovat konfigurační soubory do složky main, potvrdíme přepsání stávajících (ty bychom měli před tím zazálohovat).
    Pak můžeme práva opět omezit – v konsoli příkazem
    chmod 700 main

    2) Nastartování serveru
    Server musíme restartovat, aby načetl nové nastavení. To provedeme příkazy:
    sudo su (přihlášení superuživatele)
    service postgresql restart
    Pokud se objeví pouze hlášení o restartu, pak je vše v pořádku. Pokud ale konsole hlásí chybu o permision, právech, 0700 a pod., je potřeba udělat další krok (Pozor, nenechte se zmást, při prvním spuštění po instalaci to tuto chybu neudělá, ale jak byste restartovali počítač, tak by vám databáze bez varování nešla).

    Jde o to, že se postgres cítí nezabezpečeně, neb máme práva čtení všichni uživatelé k takovému adresáři, kde jsou citlivá data (hlídá si sám bezpečnost).
    pokud jsme vypli konsoli tak opět zapnout:
    sudo su
    cd /var/lib/postgresql/9.3
    chmod 700 main

    Nyní se opět pokusíme restartovat postgres
    service postgresql restart
    A pokud nenastane žádná chyba, můžeme zkusit vlastní připojení
    su postgres
    psql

    Nyní by to mělo vypsat něco jako psql (9.3.17) postgres=#
    můžeme se podívat jaké máme databáze a uživatele příkazy(z výpisu vyskočíme pomocí q):
    \list
    \du

    Uvidíme pravděpodobně pouze databázi postgres a template a pouze uživatele postgres. Je potřeba vytvořit uživatele s plnými právy, aby vám pracovníci jphsw mohli nahrát data.
    vyskočíme tedy z databáze:
    \q
    Měli bychom být přihlášeni jako postgres (zobrazí se postgres@nazevpočítače:~/adresář…). Pokud ne, spustíme znovu konsoli a zadáme příkazy:
    sudo su
    su postgres
    createuser

    – a nyní odpovídáme na otázky. Nejprve jméno uživatele – např. jphsw, pak jestli to má být superuser(ano), jestli smí vytvářet databáze (ano) a jestli smí vytvářet role (ano). Ještě je potřeba dát mu heslo:
    psql (přihlašujeme se do databáze)
    ALTER USER jphsw WITH PASSWORD 'nejakeheslo';
    \q

    Ještě můžeme pro jistoto restartovat počítač a pak restartovat i databázi (abychom se ujistili, že vše přežije vypnutí a zapnutí)
    service postgresql restart

    A pokud vše běží můžeme předat JPHsoftu přihlašovací jméno a heslo (a samozřejmě také naší vnější IP – zjistíme třeba na http://www.mojeip.cz

    Hurá, je hotovo!

    Užitečné příkazy
    sudo su # přihlášení se jako superuživatel se všemi právy
    sudo PŘÍKAZ #příkaz bude proveden s právy superuživatele
    su UŽIVATEL #přihlášení se jako konkrétní uživatel
    cd /CESTAKADRESÁŘI #přesun do adresáře
    cd .. #přesun o adresář výš
    cd #přesun do kořenového adresáře
    ls -l #výpis obsahu adresáře i s právy
    chmod PRÁVA SOUBORčiADRESÁŘ #přiřazení práv - zde používáme plný přístup všem 777 a plný přístup jen vlastník 700
    cp CO KAM #kopírování
    service postgresql restart #restartování databázového serveru

Musíte být přihlášen pro vkládání nových témat.