Restyaboard je bezplatná a open source aplikace Kanban board. Je to nejlepší alternativa k Trello s vlastním hostitelem. Je napsán v PHP a používá PostgreSQL k uložení své databáze.
V tomto tutoriálu nainstalujeme Restyaboard na server CentOS 7.
Předpoklad
- Minimální server CentOS 7
- Oprávnění uživatele root
Krok 1 – Instalace Nginx
Před instalací jakéhokoli balíčku se doporučuje aktualizovat balíčky a úložiště pomocí následujícího příkazu.
yum -y aktualizace
Nginx není k dispozici ve výchozím úložišti CentOS YUM, proto budeme muset nainstalovat také úložiště EPEL. EPEL můžete nainstalovat zadáním:
yum -y install epel-release
Nyní můžete nainstalovat nginx zadáním:
yum -y nainstalujte nginx
Po dokončení instalace můžete spustit následující příkazy pro spuštění nginx a povolit, aby se automaticky spustil při bootování pomocí následujících příkazů.
systemctl spustit nginx systemctl povolit nginx
Nginx by nyní měl na vašem serveru běžet.
Krok 2 – Instalace a konfigurace PHP-FPM s Mbstring
Restyaboard podporuje PHP 7.0, proto nainstalujeme PHP 7.0 pro maximální bezpečnost a výkon. PHP 7.0 není k dispozici v úložišti YUM nebo EPEL, proto budeme muset nainstalovat úložiště Webtatic. Spuštěním následujícího příkazu nainstalujte úložiště Webtatic.
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Nyní nainstalujte PHP 7.0 s PHP-FPM spolu s dalšími požadovanými moduly.
yum -y install php70w php70w-fpm php70w-devel php70w-cli php70w-curl php70w-pgsql php70w-mbstring php70w-ldap php70w-pear php70w-imap php70w-magickl>php70Mackickpremagickml>php70Mackwpecickl>php70w-xicklPo dokončení instalace budeme muset nakonfigurovat několik věcí. Ve výchozím nastavení je PHP-FPM nakonfigurováno pro použití s Apache, budete muset změnit uživatele, aby mohl pracovat také s nginx. Upravte soubor /etc/php-fpm.d/www.conf pomocí svého oblíbeného textového editoru. V tomto tutoriálu budeme používat nano editor. Pokud nemáte nano nainstalované, můžete spustit yum -y install nano.
nano /etc/php-fpm.d/www.confNyní najděte následující řádky a změňte apache na nginx.
; RPM:apache Vybráno pro přístup k některému adresáři jako httpduser =nginx; RPM:Udržujte skupinu, která má povoleno zapisovat do protokolu dir.group =nginxMísto použití portu serveru použijeme soubor soketu pro PHP-FPM. Najděte následující řádek.
poslouchat =127.0.0.1:9000a změňte jej na následující řádek.
listen =/run/php-fpm/php7.0-fpm.sockDále najděte následující řádky.
;listen.owner =nikdo;listen.group =nikdo;listen.mode =0660Změňte hodnoty na následující:
listen.owner =nginxlisten.group =nginxlisten.mode =0660Dále budete muset nastavit časové pásmo v konfiguračním souboru PHP. Upravte konfigurační soubor PHP pomocí příkazu:
nano /etc/php.iniNajděte následující řádek a odkomentujte řádek a nastavte časové pásmo podle vašeho regionu. Například:
[Datum]; Definuje výchozí časové pásmo používané funkcemi data; http://php.net/date.timezonedate.timezone =Asie/KolkataOdkomentujte řádek cgi.fix_pathinfo a změňte hodnotu na 0.
cgi.fix_pathinfo=0Dále budete také muset nainstalovat GeoIP. Spusťte následující příkaz pro instalaci GeoIP.
yum -y install GeoIP-develNyní povolte rozšíření GeoIP přidáním následujícího řádku na konec souboru /etc/php.ini
extension=geoip.soSpusťte PHP-FPM a povolte jeho spuštění při bootování pomocí následujících příkazů.
systemctl spustit php-fpm systemctl povolit php-fpmPoté restartujte nginx pomocí následujícího příkazu.
systemctl restart nginxKrok 3 – Instalace a konfigurace dat PostgreSQL
PostgreSQL je open source objektově - relační systém pro správu databází. Restyaboard používá PostgreSQL k ukládání své databáze.
PostgreSQL není k dispozici v úložišti YUM nebo EPEL, budete si muset nainstalovat úložiště PostgreSQL.
rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpmPro instalaci PostgreSQL spusťte následující příkaz.
yum -y install postgresql96-server postgresql96-contribVýše uvedený příkaz nainstaluje PostgreSQL spolu se všemi požadovanými závislostmi ve vašem systému. Před použitím softwaru budeme muset spustit následující příkaz k inicializaci databáze.
/usr/pgsql-9.6/bin/postgresql96-setup initdbJakmile je PostgreSQL nainstalován, je čas jej nakonfigurovat. Upravte soubor /var/lib/pgsql/9.6/data/pg_hba.conf, abyste povolili ověřování založené na MD5.
nano /var/lib/pgsql/9.6/data/pg_hba.confNajděte následující řádky a změňte peer na trust a idnet na md5.
# TYP DATABÁZE UŽIVATELSKÁ ADRESA METODA# "místní" je pouze pro připojení soketu domény Unixlocal all all peer# IPv4 local connections:host all all 127.0.0.1/32 ident# IPv6 local connections:host all all ::1/128 identPo aktualizaci by konfigurace měla vypadat takto.
# TYP DATABÁZE UŽIVATELSKÁ ADRESA METODA# "local" je pro Unixová doménová soketová připojení pouzelocal all all trust# IPv4 local connections:host all all 127.0.0.1/32 md5# IPv6 local connections:host all all ::1/128 md5Nyní spusťte PostgreSQL server a pomocí následujících příkazů povolte jeho automatické spouštění při bootování:
systemctl spustit postgresql-9.6 systemctl povolit postgresql-9.6Nyní změňte heslo pro výchozího uživatele PostgreSQL, které bylo vytvořeno během instalace PostgreSQL.
passwd postgresNyní se přihlaste pomocí PostgreSQL uživatele pomocí následujícího příkazu.
su - postgresVýše uvedený příkaz se přihlásí do shellu postgres
Nyní vytvořte nového uživatele zadáním:
createuser rb_userNyní se přepněte do prostředí PostgreSQL pomocí následujícího příkazu.
psqlUvidíte, že se výzva na shellu změnila na postgres - #. Nyní spusťte následující dotaz a nastavte heslo pro nově vytvořeného uživatele pro databázi Restyaboard.
ALTER USER rb_user SE ŠIFROVANÝM heslem 'StrongPassword';Ujistěte se, že na konci dotazu používáte středník. Výše uvedený dotaz se vás zeptá na heslo uživatele rb_user dvakrát. Nyní vytvořte novou databázi pro PostgreSQL databázi pomocí následujícího dotazu.
CREATE DATABASE rb_data OWNER rb_user KÓDOVÁNÍ 'UTF8' TEMPLATE template0;Výše uvedený dotaz vytvoří databázi s názvem rb_data s kódováním UTf8 pomocí template0 a vlastnictví bude poskytnuto rb_user.
Opusťte shell psql do normálního shellu uživatele postgres uživatele pomocí následujícího příkazu.
\qa znovu se přepněte na uživatele root pomocí příkazu exit.
Krok 4 – Stáhnout Restyaboard
Protože máme připraveny všechny závislosti, můžeme si nyní stáhnout Restyaboard. Spuštěním následujícího příkazu stáhněte verzi připravenou k nasazení.
cd /usr/share/nginx/html wget https://github.com/RestyaPlatform/board/releases/download/v0.4.2/board-v0.4.2.zipOdkaz na nejnovější verzi vždy najdete na stránce Restyaboard Github.
Nyní extrahujte archiv pomocí následujících příkazů. Pokud nemáte nainstalovaný unzip, můžete spustit yum -y install unzip.
rozbalit desku-v0.4.2.zip -d deskuPo rozbalení archivu importujte soubor SQL pomocí následujícího příkazu.
psql -d rb_data -f "/usr/share/nginx/html/board/sql/restyaboard_with_empty_data.sql" -U rb_userNyní upravte konfigurační soubor Restyaboard a aktualizujte přihlašovací údaje k databázi.
nano /usr/share/nginx/html/board/server/php/config.inc.phpNajděte následující řádky.
define('R_DB_HOST', 'localhost');define('R_DB_USER', 'restya');define('R_DB_PASSWORD', 'hjVl2!rGd');define('R_DB_NAME', 'restyaboard');define ('R_DB_PORT', 5432);Změňte jej podle názvu databáze, uživatelského jména a hesla databáze, kterou jsme nedávno vytvořili pro ukládání dat Restyaboard. Po dokončení by to mělo vypadat jako na obrázku níže.
define('R_DB_HOST', 'localhost');define('R_DB_USER', 'rb_user');define('R_DB_PASSWORD', 'StrongPassword');define('R_DB_NAME', 'rb_data');define(' R_DB_PORT', 5432);Krok 5 – Konfigurace bloku serveru Nginx
Konfigurace bloku serveru Restyboard nginx je dodávána s archivem zip. Konfigurační soubor můžete zkopírovat do umístění konfiguračního souboru nginx pomocí následujícího příkazu.
cp /usr/share/nginx/html/board/restyaboard.conf /etc/nginx/conf.dNyní budete muset v souboru provést několik změn. Otevřete konfigurační soubor pomocí svého oblíbeného textového editoru.
nano /etc/nginx/conf.d/restyaboard.confNa začátku konfigurace najděte následující řádek.
server { listen 80 default_server; název_serveru _;Odeberte text default_server a za název serveru uveďte název své domény. Mělo by to vypadat jako níže.
server { poslouchat 80; server_name board.yourdomain.com;Najděte také následující řádek:
root /usr/share/nginx/html;a
umístění / { root /usr/share/nginx/html/client; }a
root /usr/share/nginx/html/client;Změňte výše uvedený řádek podle instalační složky Restyaboard. Mělo by to vypadat jako na obrázku níže.
root /usr/share/nginx/html/board;a
umístění / { root /usr/share/nginx/html/board/client; }a
root /usr/share/nginx/html/board/clientNajděte také řádek:
fastcgi_pass unix:/run/php/php7.0-fpm.sock;Změňte jej na následující:
fastcgi_pass unix:/run/php-fpm/php7.0-fpm.sock;Nyní můžete soubor zavřít. Nyní zadejte příslušné vlastnictví a oprávnění pomocí následujících příkazů.
chown -R nginx:nginx /usr/share/nginx/html/board/chmod -R go+w "/usr/share/nginx/html/board/media"chmod -R go+w "/usr/ share/nginx/html/board/client/img"chmod -R go+w "/usr/share/nginx/html/board/tmp/cache"chmod -R 0755 /usr/share/nginx/html/board/server /php/shell/*.shNakonec přidejte položky cron, abyste povolili spouštění naplánovaných úloh pomocí následujících příkazů.
echo "*/5 * * * * /usr/share/nginx/html/board/server/php/shell/instant_email_notification.sh">> /var/spool/cron/rootecho "0 * * * * / usr/share/nginx/html/board/server/php/shell/periodic_email_notification.sh">> /var/spool/cron/rootecho "*/30 * * * * /usr/share/nginx/html/board/server /php/shell/imap.sh">> /var/spool/cron/rootecho "*/5 * * * * /usr/share/nginx/html/board/server/php/shell/webhook.sh">> /var/spool/cron/rootecho "*/5 * * * * /usr/share/nginx/html/board/server/php/shell/card_due_notification.sh">> /var/spool/cron/rootNyní budete muset deaktivovat váš SELinux, protože konfigurace proxy nefunguje se zásadami SELinux. Chcete-li dočasně zakázat SELinux bez restartování serveru, spusťte následující příkaz.
setenforce 0Chcete-li úplně deaktivovat SELinux, budete muset upravit soubor /etc/selinux/config.
nano /etc/selinux/configNajděte následující řádek:
SELINUX=vynucováníZměňte jej na:
SELINUX=zakázánoPoté restartujte Nginx pomocí následujícího příkazu.
systemctl restart nginxNyní máte přístup k serveru přechodem na následující URL.
http://board.yourdomain.comZobrazí se následující přihlašovací obrazovka.
Nyní se přihlaste pomocí uživatelského jména admin a hesla restya. Jakmile se přihlásíte, zobrazí se následující obrazovka.
Chcete-li vytvořit novou nástěnku, klikněte na šipku v levém rohu stránky a klikněte na Přidat nástěnku nebo organizaci.
Zadejte název a vyberte šablonu pro vytvoření nové nástěnky.
Jakmile vytvoříte nástěnku, bude vypadat jako na obrázku níže.
Chcete-li se dostat do panelu Správce, klikněte na tlačítko Správce v pravém dolním rohu a poté klikněte na Nastavení v horní liště.
Restyaboard je nyní nainstalován na vašem serveru, nyní můžete použít kanban board ke zlepšení pracovního postupu vašeho projektu.
Nainstalujte Nginx s ngx_pagespeed na CentOS 7 Samba 4 s Active Directory na CentOS 7 rpm založené instalaci s podporou sdíleníCent OS