GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat redmine na RHEL 8 / CentOS 8 Linux

Redmine je populární webová aplikace pro správu projektů s otevřeným zdrojovým kódem. Podporuje hlavní databáze jako MySQL a PostgreSQL jako backend a můžete také změnit frontend na Apache z webového serveru WEBrick (doporučeno pro produkční použití) dodávaného s instalací. V tomto článku nainstalujeme nejnovější Redmine na RHEL 8 / CentOS 8 pomocí PostgreSQL jako backendu, ale ponecháme výchozí WEBrick jako frontend, který bude perfektně sloužit našim testům.

Neočekávejte, že tento proces bude snadný a bez chyb. I při dodržení těchto kroků do písmene se jistě vyskytnou nějaké chyby, zdá se, že nastavení zvládá sudo kroky jsou poněkud nekonzistentní – ale jsou zde také zahrnuta řešení, která tyto chyby provedou.

V tomto tutoriálu se naučíte:

  • Jak nainstalovat požadované balíčky operačního systému
  • Jak nastavit databázi
  • Jak nainstalovat aplikaci Redmine
  • Jak spustit aplikaci a přihlásit se k ní

Konfigurační stránka Redmine na RHEL 8.

Požadavky na software a použité konvence

Softwarové požadavky a konvence příkazového řádku systému Linux
Kategorie Požadavky, konvence nebo použitá verze softwaru
Systém RHEL 8 / CentOS 8
Software Redmine 4.0.3, PostgreSQL 10.5
Jiné Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz.
Konvence # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz
$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel

Jak nainstalovat redmine na Redhat 8 krok za krokem

Redmine je aplikace Ruby. Pro instalaci budeme muset použít rubygems a bundler a zkompilovat spoustu závislostí, takže to chvíli potrvá. K vyřešení závislostí operačního systému použijeme úložiště Red Hat dostupná po povolení správy předplatného. Podrobné nastavení databáze obecně najdete v instalační příručce PostgreSQL na RHEL8, v tomto článku se budeme zabývat pouze kroky potřebnými pro Redmine. Pokud je nastavení databáze nové, nezapomeňte dokončit initdb krok ve zmíněném průvodci, nebo se spuštění databáze nezdaří.

  1. Vytvoříme uživatele, který bude vlastníkem aplikace, a dočasně mu dáme sudo přístup. Po dokončení instalace můžeme tento přístup zrušit.
    # useradd redmine

    Novému uživateli musíme nastavit heslo, které použijeme při použití sudo :

    # passwd redmine

    U distribucí založených na RHEL existuje wheel uživatelská skupina, která má povoleno používat sudo spouštět privilegované příkazy. Chcete-li zkontrolovat, zda je tato skupina nastavena jako sudoer , můžeme grep /etc/sudoers soubor:

    # grep "%wheel" /etc/sudoers
    %wheel  ALL=(ALL)       ALL
    # %wheel        ALL=(ALL)       NOPASSWD: ALL

    Druhý řádek s možností NOPASSWD je zakomentován, což bude vyhovovat našim potřebám. S výše uvedenou konfigurací, vše, co musíme udělat, je přidat redmine uživatele na wheel skupina:

    # usermod -a -G wheel redmine
  2. K instalaci balíčků, které poskytne operační systém, použijeme dnf :
    # dnf install kernel-devel kernel-headers gcc postgresql-devel ruby ruby-devel rubygems
  3. Chcete-li získat aplikaci, navštivte oficiální stránku ke stažení (která běží na Redmine). Odtud si můžeme stáhnout komprimovaný tarball pomocí wget do cílového systému:
    # wget https://www.redmine.org/releases/redmine-4.0.3.tar.gz -O /opt/redmine-4.0.3.tar.gz

    Jak naznačuje výše uvedený příkaz, nainstalujeme aplikaci pod /opt adresář. Přepneme se do tohoto adresáře a rozbalíme archiv:

    # cd /opt
    # tar -xzf redmine-4.0.3.tar.gz

    Volitelně můžeme také vytvořit symlink pro snazší přístup – tímto způsobem si nemusíme pamatovat přesnou verzi:

    # ln -s /opt/redmine-4.0.3 /opt/redmine

    Nyní můžeme nastavit redmine uživatele jako vlastníka extrahované hierarchie adresářů, rekurzivně:

    # chown -R redmine:redmine /opt/redmine*
  4. Chceme-li nastavit databázi pro připojení aplikace, musíme ji spustit, pokud ještě neběží:
    # systemctl start postgresql
  5. Budeme muset vytvořit prázdnou databázi, do které bude aplikace ukládat svá data. Abychom tak učinili, přepneme na postgres uživatel operačního systému vytvořen ve výchozím nastavení při instalaci databáze:
    # su - postgres

    Přihlásíme se do psql jako superuživatel databáze:

    $ psql
    psql (10.5)
    Type "help" for help.
    
    postgres=#

    Vytvoříme roli, kterou bude aplikace používat (poznamenejte si uživatelské jméno a heslo):

    postgres=# CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'R3DM1N3' NOINHERIT VALID UNTIL 'infinity';

    Vytvoříme také novou databázi s vlastníkem vytvořeným výše:

    postgres=# CREATE DATABASE rmdb WITH ENCODING='UTF8' OWNER=redmine;

    V dalším kroku budeme potřebovat uživatelské jméno, heslo, kódování a název databáze.

  6. Nyní, když je uživatel nastaven, musíme mu povolit přihlášení na databázový server. Uživatel redmine se připojí lokálně, takže do pg_hba.conf přidáme následující řádek soubor, který se ve výchozím nastavení nachází na /var/lib/pgsql/data ve výchozím nastavení u distribucí založených na RHEL:
    host    rmdb        redmine             127.0.0.1/32          md5

    Zkontrolujte, zda váš konfigurační soubor neobsahuje následující položky:

    # IPv4 local connections:
    host    all             all             127.0.0.1/32            ident

    Pokud takový řádek máte, zakomentujte jej, bude v rozporu s přihlášením, které plánujeme nastavit.

  7. Když je to na místě, musíme restartovat databázi, aby se nastavení projevilo:
    # systemctl restart postgresql
  8. Nyní máme všechny informace potřebné k tomu, abychom aplikaci sdělili, kde a jak najde databázi. V config je příklad konfiguračního souboru databázového připojení se všemi podporovanými databázemi podadresář extrahovaného archivu. Můžeme vytvořit kopii tohoto souboru (pomocí redmine uživatel):
    $ cp config/database.yml.example config/database.yml

    Můžeme smazat nebo okomentovat všechna ukázková nastavení kromě těch, která se týkají PostgreSQL, nebo jen vytvořit prázdný soubor s potřebnou konfigurací (v souboru tak zůstane méně odpadu). Na konci je /opt/redmine/config/database.yml by měl obsahovat následující:

    # PostgreSQL configuration
    production:
      adapter: postgresql
      database: rmdb
      host: 127.0.0.1
      username: redmine
      password: "R3DM1N3"

    Všimněte si, že jsme použili informace o připojení k databázi, které jsme nastavili v posledních dvou krocích.

  9. Abychom snížili počet možných problémů, otestujeme, zda se můžeme přihlásit do rmdb databázi s pověřeními poskytnutými v konfiguračním souboru. Je snazší ladit problémy s připojením pomocí sady nástrojů PostgreSQL než kterákoli jiná:
    $ psql -d rmdb -U redmine -W
    Password for user redmine: 
    psql (10.5)
    Type "help" for help.
    
    rmdb=>
  10. Tady ta snadná část končí. Nyní nainstalujeme různé balíčky Ruby, na kterých Redmine závisí. Některé z nich potřebují root přístup, některé se nainstalují pod jménem redmine uživatele a později budou pravděpodobně některé potřebovat opravu. Bez legrace. Nejprve budeme potřebovat bundler :
    # gem install bundler
    Fetching: bundler-2.0.1.gem (100%)
    Successfully installed bundler-2.0.1
    1 gem installed

    Použijeme bundler pomocí redmine uživatele, ale budeme potřebovat také root k instalaci nebo opravě Ruby gems , takže doporučuji otevřít jiný terminál, přepnout na redmine a přejděte na /opt/redmine adresář a zároveň ponechat kořenovou konzoli otevřenou.

  11. Jako redmine zahájíme instalaci v /opt/redmine adresář:
    $ bundle install --without development test rmagick

    Bude nainstalováno mnoho závislostí a pro některé se instalační program zeptá na sudo password – což je heslo redmine uživatel. Zdá se, že tato funkce sudo je nějakým způsobem rozbitá a dokáže zvládnout některé instalace balíků s privilegovaným oprávněním root a nemůže se dostat k ostatním. Ty, které selžou, lze nainstalovat do kořenové konzole a výše uvedeného bundle příkaz lze znovu provést na uživatelské konzoli redmine. Co bylo potřeba nainstalovat v mém případě s root jsou následující:

    # gem install nokogiri -v '1.10.2' --source 'https://rubygems.org/'
    # gem install pg -v '1.1.4' --source 'https://rubygems.org/'

    Existují také některé balíčky, které se mohou během instalace zlomit. Ty lze také opravit na kořenové konzoli. Stejně jako u výše uvedených neúspěšných kroků instalace balíčku, výstup bundler příkaz řekne, který balíček má problémy a jak je vyřešit. V mém případě potřebovaly opravu následující balíčky:

    # gem pristine nio4r --version 2.3.1
    # gem pristine redcarpet --version 3.4.0
    # gem pristine websocket-driver --version 0.7.0

    Upozorňujeme, že pokud instalujete jinou verzi Redmine, čísla verzí balíčků se budou pravděpodobně lišit. Po opravě všech poškozených a chybějících balíčků, bundler příkaz by měl být dokončen bez chyb, s následujícím koncem výstupu:

    [...]
    Installing roadie-rails 1.3.0
    Fetching rouge 3.3.0
    Installing rouge 3.3.0
    Bundle complete! 26 Gemfile dependencies, 57 gems now installed.
    Gems in the groups development, test and rmagick were not installed.
    Use `bundle info [gemname]` to see where a bundled gem is installed.
  12. Po dokončení této složité části musíme vygenerovat token, který bude použit ke kódování souborů cookie relace:
    $ bundle exec rake generate_secret_token
  13. Dále vygenerujeme databázové objekty potřebné pro aplikaci:
    $ RAILS_ENV=production bundle exec rake db:migrate

    Kromě vytvoření potřebných databázových objektů tento krok vygeneruje velké množství výstupu protokolováním všech kroků do konzole. Uvidíme, že mnoho záznamů bude vypadat podobně jako následující:

    [...]
    
    == 20180913072918 AddVerifyPeerToAuthSources: migrating =======================
    -- change_table(:auth_sources)
       -> 0.0082s
    == 20180913072918 AddVerifyPeerToAuthSources: migrated (0.0083s) ==============
    
    == 20180923082945 ChangeSqliteBooleansTo0And1: migrating ======================
    == 20180923082945 ChangeSqliteBooleansTo0And1: migrated (0.0000s) =============

    Tento proces by měl být dokončen během několika sekund.

  14. Můžeme zkontrolovat naplněnou databázi pomocí psql :
    rmdb=> \dt
                           List of relations
     Schema |                Name                 | Type  |  Owner  
    --------+-------------------------------------+-------+---------
     public | ar_internal_metadata                | table | redmine
     public | attachments                         | table | redmine
     public | auth_sources                        | table | redmine
     public | boards                              | table | redmine
     public | changes                             | table | redmine
    [...]
  15. Posledním krokem instalace je načtení výchozích dat do databáze. Poskytnutím REDMINE_LANG Parametrem se můžeme uchránit před případnými otázkami během počátečního načítání.
    $ RAILS_ENV=production REDMINE_LANG=en bundle exec rake redmine:load_default_data
    Default configuration data loaded.
  16. Instalace je dokončena. Aplikaci můžeme spustit:
    $ bundle exec rails server webrick -e production
    => Booting WEBrick
    => Rails 5.2.2.1 application starting in production on http://0.0.0.0:3000
    => Run `rails server -h` for more startup options
    [2019-04-14 18:39:12] INFO  WEBrick 1.4.2
    [2019-04-14 18:39:12] INFO  ruby 2.5.1 (2018-03-29) [x86_64-linux]
    [2019-04-14 18:39:12] INFO  WEBrick::HTTPServer#start: pid=30062 port=3000
  17. Aplikace je nyní spuštěna a lze k ní přistupovat pomocí prohlížeče. Z výše uvedeného výstupu můžeme odhadnout, že je přístupný na portu 3000 , takže pokud na cílovém počítači běží firewall, musíme pro vzdálený přístup ke službě otevřít tento port:
    # firewall-cmd --zone=public --add-port=3000/tcp --permanent
    # firewall-cmd --reload
  18. Po otevření prohlížeče a nasměrování na adresu a port 3000 stroje (http://192.168.1.14:3000 na níže uvedeném snímku obrazovky) získáme přístup k webovému rozhraní naší čerstvé nové instalace Redmine.

    Přihlašovací stránka Redmine.

    Výchozí přihlašovací údaje jsou admin pro uživatelské jméno a také pro heslo. Při prvním přihlášení vás dobře fungující aplikace vyzve ke změně hesla pro tento privilegovaný účet. Odtud je na nás, abychom ji naplnili, nakonfigurovali a mohli si ji užívat.

  19. Po dokončení instalace můžeme odstranit redmine uživatele z wheel group, čímž se eliminuje bezpečnostní díra potřebná během procesu:
    # gpasswd -d redmine wheel
    Removing user redmine from group wheel
    # id redmine
    uid=1008(redmine) gid=1008(redmine) groups=1008(redmine)

Cent OS
  1. Jak nainstalovat DNS server na RHEL 8 / CentOS 8 Linux

  2. Jak nainstalovat Redmine na CentOS 7

  3. Jak nainstalovat Redmine na CentOS 8

  1. Jak nainstalovat Hadoop na RHEL 8 / CentOS 8 Linux

  2. Jak nainstalovat Perl na RHEL 8 / CentOS 8 Linux

  3. Jak nainstalovat apache tomcat na Linux RHEL 8 / CentOS 8

  1. Jak nainstalovat Xdebug na RHEL 8 / CentOS 8 Linux

  2. Jak nainstalovat node.js na RHEL 8 / CentOS 8 Linux

  3. Jak nainstalovat hvězdičku na RHEL 8 / CentOS 8 Linux