OpenProject installieren: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
(38 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
OpenProject ist eine umfangreiche Projektmanagement-Software.  Die Software ist multiprojektfähig;  für jedes Projekt stehen folgende Werkzeuge zur Verfügung:
OpenProject ist eine umfangreiche Projektmanagement-Software.  Die Software ist multiprojektfähig;  für jedes Projekt stehen unter anderem folgende Werkzeuge zur Verfügung:
* Wiki
* Wiki
* Vorgangsverfolgung (Ticketsystem, Issue Tracker)
* Vorgangsverfolgung (Ticketsystem, Issue Tracker)
Zeile 6: Zeile 6:


Diese Anleitung beschreibt, wie man OpenProject auf der Managed Hosting Plattform von Hostsharing installieren kann. OpenProject lässt sich in jedem Managed Webspace betreiben.
Diese Anleitung beschreibt, wie man OpenProject auf der Managed Hosting Plattform von Hostsharing installieren kann. OpenProject lässt sich in jedem Managed Webspace betreiben.
Die Anleitung wurde für OpenProject Version 11 erstellt.


== Vorbereitungen ==
== Vorbereitungen ==


Mit Hilfe von HSAdmin wird angelegt:
=== Service-User, Domain und Datenbank ===
 
Mit Hilfe von HSAdmin werden angelegt:
# Ein User als Service-User mit ''/bin/bash'' als Shell, zum Beispiel Beispiel: ''xyz00-project"
# Ein User als Service-User mit ''/bin/bash'' als Shell, zum Beispiel Beispiel: ''xyz00-project"
# Eine Domain mit ''xyz00-project'' als Domain-Administrator, zum Beispiel "prj.example.com"
# Eine Domain mit ''xyz00-project'' als Domain-Administrator, zum Beispiel "prj.example.com"
Zeile 15: Zeile 19:
# Eine Postgresql-Datenbank ''xyz00_prjdb'' mit Datenbank-Owner ''xyz00_dbuser''
# Eine Postgresql-Datenbank ''xyz00_prjdb'' mit Datenbank-Owner ''xyz00_dbuser''


=== Vorbereitung de Webspace ==
=== Vorbereitung des Webspace ===


Die "leichtgewichtige" Subdomain "www" wird gelöscht. Ebenso die ''.htaccess''-Datei mit der Weiterleitung dorthin.
Die "leichtgewichtige" Subdomain "www" wird gelöscht. Ebenso die ''.htaccess''-Datei mit der Weiterleitung dorthin.
Zeile 23: Zeile 27:
     xyz00-project@h20:~/doms/projekt.example.com$ rm -rf subs/www/ subs-ssl/www/ htdocs-ssl/.htaccess  
     xyz00-project@h20:~/doms/projekt.example.com$ rm -rf subs/www/ subs-ssl/www/ htdocs-ssl/.htaccess  


=== Installation of Ruby ===
=== Installation von Ruby ===


Weiterhin benötigt OpenProject eine geeignete Version der Programmiersprache Ruby:
Weiterhin benötigt OpenProject eine geeignete Version der Programmiersprache Ruby.
 
Die gewünschte Version kann hier abgelesen werden: https://github.com/opf/openproject/blob/stable/11/.ruby-version


Die Installation-Anleitung für OpenProject schlägt für die Installation ''rbenv'' vor.
Die Installation-Anleitung für OpenProject schlägt für die Installation ''rbenv'' vor.
Zeile 37: Zeile 43:
     xyz00-project@h20:~$ source ~/.profile
     xyz00-project@h20:~$ source ~/.profile
     xyz00-project@h20:~$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
     xyz00-project@h20:~$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
     xyz00-project@h20:~$ rbenv install 2.6.1
     xyz00-project@h20:~$ rbenv install 2.7.4
     xyz00-project@h20:~$ rbenv rehash
     xyz00-project@h20:~$ rbenv rehash
     xyz00-project@h20:~$ rbenv global 2.6.1
     xyz00-project@h20:~$ rbenv global 2.7.4


Als Test bitte aufrufen: ''ruby -version''
Als Test bitte aufrufen: ''ruby -v''


Die Anzeige sollte etwa das Folgende enthalten:
Die Anzeige sollte etwa das Folgende enthalten:
ruby 2.6.1pXYZ (....) [x86_64-linux]
ruby 2.7.4pXYZ (....) [x86_64-linux]


=== Installation of Node ===
=== Installation von Node ===


Die Installation-Anleitung für OpenProject schlägt für die Installation ''nodenv'' vor.  
Die Installation-Anleitung für OpenProject schlägt für die Installation ''nodenv'' vor.  
Zeile 55: Zeile 61:
     xyz00-project@h20:~$ source ~/.profile
     xyz00-project@h20:~$ source ~/.profile
     xyz00-project@h20:~$ git clone git://github.com/OiNutter/node-build.git ~/.nodenv/plugins/node-build
     xyz00-project@h20:~$ git clone git://github.com/OiNutter/node-build.git ~/.nodenv/plugins/node-build
     xyz00-project@h20:~$ nodenv install 8.16.2
     xyz00-project@h20:~$ nodenv install 12.18.4
     xyz00-project@h20:~$ nodenv rehash
     xyz00-project@h20:~$ nodenv rehash
     xyz00-project@h20:~$ nodenv global 8.16.2
     xyz00-project@h20:~$ nodenv global 12.18.4


Ein Test mit ''node --version'' solte anzeigen: v8.16.2
Ein Test mit ''node --version'' solte anzeigen: v12.18.4


== Download, Entpacken, Konfiguration ==
== Installation und Konfiguration ==


=== Installation of OpenProject ===
=== Installation von OpenProject ===


Wir installieren die OpenProject Community Edition. siehe https://github.com/opf/openproject-ce.
Wir installieren die OpenProject Community Edition. siehe https://github.com/opf/openproject


     xyz00-project@h20:~$ git clone https://github.com/opf/openproject-ce.git --branch stable/8 --depth 1
     xyz00-project@h20:~$ git clone https://github.com/opf/openproject.git --branch stable/11 --depth 1
     xyz00-project@h20:~$ cd ~/openproject-ce
     xyz00-project@h20:~$ cd ~/openproject
     xyz00-project@h20:~$ gem update --system
     xyz00-project@h20:~$ gem update --system
     xyz00-project@h20:~$ gem install bundler
     xyz00-project@h20:~$ gem install bundler
     xyz00-project@h20:~$ bundle update --bundler
     xyz00-project@h20:~$ bundle update --bundler
     xyz00-project@h20:~$ bundle install --deployment --without mysql2 sqlite development test therubyracer docker
     xyz00-project@h20:~$ bundle config set deployment 'true'
    xyz00-project@h20:~$ bundle config set without 'mysql2 sqlite development test therubyracer docker'
    xyz00-project@h20:~$ bundle install
     xyz00-project@h20:~$ npm install
     xyz00-project@h20:~$ npm install


=== Configure OpenProject ===
=== Konfiguration von OpenProject ===


Erstelle eine Konfiguration für den Datenbank-Zugriff in der Datei ''config/database.yml''
Erstelle eine Konfiguration für den Datenbank-Zugriff in der Datei ''config/database.yml''


     xyz00-project@h20:~$ cd ~/openproject-ce
     xyz00-project@h20:~$ cd ~/openproject
     xyz00-project@h20:~/openproject-ce$ cp config/database.yml.example config/database.yml
     xyz00-project@h20:~/openproject$ cp config/database.yml.example config/database.yml


Now we edit the config/database.yml file and insert our database credentials for PostgreSQL. It should look like this (please keep in mind that you have to use the values you used above: user, database and password):
In der neuen Datei ''database.yml'' wird die mit HSAdmin angelegte PostgreSQL-Datenbank eingetragen:


     production:
     production:
Zeile 89: Zeile 97:
       host: localhost
       host: localhost
       database: xyz00_prjdb (wie oben angegeben)
       database: xyz00_prjdb (wie oben angegeben)
       pool: 5
       pool: 10
       username: xyz00_dbuser (wie oben angegeben)
       username: xyz00_dbuser (wie oben angegeben)
       password: meinPasswort (wie oben angegeben)
       password: meinPasswort (wie oben angegeben)


     xyz00-project@h20:~$ cd ~/openproject-ce
Die Einträge für ''development'' und ''test'' können gelöscht werden.
     xyz00-project@h20:~/openproject-ce$ cp config/configuration.yml.example config/configuration.yml
 
Dann wird die Datei ''configuration.yml'' angelegt:
 
     xyz00-project@h20:~$ cd ~/openproject
     xyz00-project@h20:~/openproject$ cp config/configuration.yml.example config/configuration.yml
 
Dort erfolgen die Einstellungen für ausgehende E-Mails:


     default:
     default:
Zeile 102: Zeile 116:
       smtp_port: 25
       smtp_port: 25
       smtp_domain: example.com
       smtp_domain: example.com
      #smtp_authentication: :login
      #smtp_user_name: "openproject@example.net"
      #smtp_password: "my_openproject_password"
Die Zeilen mit smtp_authentication, smtp_user_name und smtp_password können auskommentiert werden, sie werden in unserem Setup nicht benötigt.
=== Einen geheimen Schlüssel erzeugen ===
    xyz00-project@h20:~$ cd ~/openproject
    xyz00-project@h20:~/openproject$ EDITOR=cat ./bin/rails credentials:edit
=== Initialisiere Datenbank und erzeuge Web-Ressourcen ===
    xyz00-project@h20:~$ cd ~/openproject
    xyz00-project@h20:~/openproject$ export RAILS_ENV="production"
    xyz00-project@h20:~/openproject$ source ~/.profile
    xyz00-project@h20:~/openproject$ ./bin/rails db:prepare
    xyz00-project@h20:~/openproject$ ./bin/rake assets:precompile
=== Anlegen des Administrators ===
Es kann eine Demo Installation installiert werden:
    xyz00-project@h20:~$ cd ~/openproject
    xyz00-project@h20:~/openproject$ export RAILS_ENV="production"
    xyz00-project@h20:~/openproject$ source ~/.profile
    xyz00-project@h20:~/openproject$ LOCALE=en ./bin/rake db:seed
Damit wird ein Beispiel-Projekt angelegt, dass man wieder löschen kann.
Wichtig ist aber, dass der Benutzer <code>admin</code> mit dem Passwort <code>admin</code> angelegt wird. Das Passwort muss bei der ersten Anmeldung geändert werden.
=== Konfiguration in Passenger ===
    xyz00-project@h20:~$ cd ~/doms/prj.example.com
    xyz00-project@h20:~/doms/prj.example.com$ rm -rf app-ssl htdocs-ssl
    xyz00-project@h20:~/doms/prj.example.com$ ln -s $HOME/openproject app-ssl
    xyz00-project@h20:~/doms/prj.example.com$ ln -s $HOME/openproject/public htdocs-ssl
Weiterhin muss in einer .htaccess-Datei in diesem Verzeichnis die richtige Umgebung gesetzt sein:
    xyz00-project@h20:~/doms/prj.example.com$ cat .htaccess
    PassengerRuby /home/pacs/xyz00/users/project/.rbenv/shims/ruby
== Aufsetzen des Cronjobs für Hintergrundprozesse ==
Es werden Benachrichtigungs-E-Mails im Hintergrund verschickt. Dazu muss ein Prozess im Hintergrund gestartet werden. Um Probleme zu vermeiden, dass source nicht zur Verfügung steht, kann der Aufruf in einer eigenen Skriptdatei geschehen, die zwingend mit Bash ausgeführt wird, wo source verfügbar ist.
Datei ''/home/pacs/xyz00/users/project/emailjob.sh'':
    #!/bin/bash
    source ~/.profile
    cd ~/openproject
    RAILS_ENV="production" ./bin/rake jobs:workoff
Datei ''/home/pacs/xyz00/users/project/jobrestart.sh'':
    #!/bin/bash
    source ~/.profile
    cd ~/openproject
    RAILS_ENV="production"  ./bin/delayed_job restart
Nun können die cronjobs eingerichtet werden:
    xyz00-project@h20:~$ crontab -e
Nun öffnet sich die Crontab Datei im voreingestellten Editor. Hier muss folgende Zeile eingefügt werden:
    */2 * * * * /home/pacs/xyz00/users/project/emailjob.sh
Damit wird der Hintergrundprozess alle 2 Minuten gestartet.
Es gibt noch einen Hintergrundjob, den ich einmal in der Stunde neu starte:
    22 * * * * /home/pacs/xyz00/users/project/jobrestart.sh
== Upgrade durchführen ==
Die gewünschte Ruby Version kann hier abgelesen werden: https://github.com/opf/openproject/blob/stable/11/.ruby-version
Für das Upgrade von OpenProject 11.2.4 auf 11.3.4, musste eine neue Version von Ruby installiert werden:
    xyz00-project@h20:~$ cd ~/openproject
    xyz00-project@h20:~/openproject$ source ~/.profile
    xyz00-project@h20:~/openproject$ git -C $HOME/.rbenv/plugins/ruby-build pull
    xyz00-project@h20:~/openproject$ rbenv install 2.7.4
    xyz00-project@h20:~/openproject$ rbenv rehash
    xyz00-project@h20:~/openproject$ rbenv global 2.7.4
    xyz00-project@h20:~/openproject$ source ~/.profile
    xyz00-project@h20:~/openproject$ rm -Rf $HOME/.rbenv/versions/2.7.3/  # alte Version kann gelöscht werden
Weil das Git Repository bei der Erstinstallation nur einen Branch enthielt, muss nun das Repository vollständig geladen werden:
    xyz00-project@h20:~$ cd openproject
    xyz00-project@h20:~/openproject$ source ~/.profile
    xyz00-project@h20:~/openproject$ git config remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
    xyz00-project@h20:~/openproject$ git fetch --unshallow
    xyz00-project@h20:~/openproject$ git checkout --track remotes/origin/stable/11


=== Finish the installation of OpenProject ===
Generell müssen diese Schritte durchgeführt werden:


     xyz00-project@h20:~$ cd ~/openproject-ce
     xyz00-project@h20:~$ cd openproject
     xyz00-project@h20:~/openproject-ce$ echo "export SECRET_KEY_BASE=$(./bin/rake secret)" >> ~/.profile
     xyz00-project@h20:~/openproject$ source ~/.profile
     xyz00-project@h20:~/openproject-ce$ source ~/.profile
     xyz00-project@h20:~/openproject$ git fetch
     xyz00-project@h20:~/openproject-ce$ RAILS_ENV="production" ./bin/rake db:migrate
    xyz00-project@h20:~/openproject$ git pull
     xyz00-project@h20:~/openproject-ce$ RAILS_ENV="production" LOCALE=de ./bin/rake db:seed
    xyz00-project@h20:~/openproject$ gem update --system
     xyz00-project@h20:~/openproject-ce$ RAILS_ENV="production" ./bin/rake assets:precompile
     xyz00-project@h20:~/openproject$ bundle install
    xyz00-project@h20:~/openproject$ npm install
    xyz00-project@h20:~/openproject$ export RAILS_ENV="production"
    xyz00-project@h20:~/openproject$ ./bin/rake db:migrate
     xyz00-project@h20:~/openproject$ ./bin/rake assets:precompile
     xyz00-project@h20:~/openproject$ touch ~/doms/prj.example.com/app-ssl/tmp/restart.txt


== Referenzen ==
== Referenzen ==


* [https://github.com/opf/openproject/blob/dev/docs/installation/manual/README.md Anleitung für die manuelle Installation (engl., auf Github)]
* [https://docs.openproject.org/installation-and-operations/installation/manual/ Anleitung für die manuelle Installation]


----
----
Zeile 120: Zeile 236:
[[Kategorie:Installationsanleitungen]]
[[Kategorie:Installationsanleitungen]]
[[Kategorie:Software]]
[[Kategorie:Software]]
[[Kategorie:RubyOnRails]]
[[Kategorie:Passenger]]
[[Kategorie:Passenger]]
[[Kategorie:Projektmanagement]]
[[Kategorie:Projektverwaltung]]
[[Kategorie:Projektverwaltung]]

Version vom 4. Januar 2022, 05:49 Uhr

OpenProject ist eine umfangreiche Projektmanagement-Software. Die Software ist multiprojektfähig; für jedes Projekt stehen unter anderem folgende Werkzeuge zur Verfügung:

  • Wiki
  • Vorgangsverfolgung (Ticketsystem, Issue Tracker)
  • Zeiterfassung
  • Dokument- und Dateiverwaltung

Diese Anleitung beschreibt, wie man OpenProject auf der Managed Hosting Plattform von Hostsharing installieren kann. OpenProject lässt sich in jedem Managed Webspace betreiben.

Die Anleitung wurde für OpenProject Version 11 erstellt.

Vorbereitungen

Service-User, Domain und Datenbank

Mit Hilfe von HSAdmin werden angelegt:

  1. Ein User als Service-User mit /bin/bash als Shell, zum Beispiel Beispiel: xyz00-project"
  2. Eine Domain mit xyz00-project als Domain-Administrator, zum Beispiel "prj.example.com"
  3. Einen Postgresql-User xyz00_dbuser mit Passwort meinPasswort
  4. Eine Postgresql-Datenbank xyz00_prjdb mit Datenbank-Owner xyz00_dbuser

Vorbereitung des Webspace

Die "leichtgewichtige" Subdomain "www" wird gelöscht. Ebenso die .htaccess-Datei mit der Weiterleitung dorthin.

   xyz00@h20 $ sudo -u xyz00-project -i
   xyz00-project@h20:~$ cd ~/doms/projekt.example.com/
   xyz00-project@h20:~/doms/projekt.example.com$ rm -rf subs/www/ subs-ssl/www/ htdocs-ssl/.htaccess 

Installation von Ruby

Weiterhin benötigt OpenProject eine geeignete Version der Programmiersprache Ruby.

Die gewünschte Version kann hier abgelesen werden: https://github.com/opf/openproject/blob/stable/11/.ruby-version

Die Installation-Anleitung für OpenProject schlägt für die Installation rbenv vor.

   xyz00-project@h20:~/doms/projekt.example.com$ cd
   xyz00-project@h20:~$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
   xyz00-project@h20:~$ touch .profile
   xyz00-project@h20:~$ chmod u+x .profile
   xyz00-project@h20:~$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.profile
   xyz00-project@h20:~$ echo 'eval "$(rbenv init -)"' >> ~/.profile
   xyz00-project@h20:~$ source ~/.profile
   xyz00-project@h20:~$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
   xyz00-project@h20:~$ rbenv install 2.7.4
   xyz00-project@h20:~$ rbenv rehash
   xyz00-project@h20:~$ rbenv global 2.7.4

Als Test bitte aufrufen: ruby -v

Die Anzeige sollte etwa das Folgende enthalten: ruby 2.7.4pXYZ (....) [x86_64-linux]

Installation von Node

Die Installation-Anleitung für OpenProject schlägt für die Installation nodenv vor.

   xyz00-project@h20:~$ git clone https://github.com/OiNutter/nodenv.git ~/.nodenv
   xyz00-project@h20:~$ echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.profile
   xyz00-project@h20:~$ echo 'eval "$(nodenv init -)"' >> ~/.profile
   xyz00-project@h20:~$ source ~/.profile
   xyz00-project@h20:~$ git clone git://github.com/OiNutter/node-build.git ~/.nodenv/plugins/node-build
   xyz00-project@h20:~$ nodenv install 12.18.4
   xyz00-project@h20:~$ nodenv rehash
   xyz00-project@h20:~$ nodenv global 12.18.4

Ein Test mit node --version solte anzeigen: v12.18.4

Installation und Konfiguration

Installation von OpenProject

Wir installieren die OpenProject Community Edition. siehe https://github.com/opf/openproject

   xyz00-project@h20:~$ git clone https://github.com/opf/openproject.git --branch stable/11 --depth 1
   xyz00-project@h20:~$ cd ~/openproject
   xyz00-project@h20:~$ gem update --system
   xyz00-project@h20:~$ gem install bundler
   xyz00-project@h20:~$ bundle update --bundler
   xyz00-project@h20:~$ bundle config set deployment 'true'
   xyz00-project@h20:~$ bundle config set without 'mysql2 sqlite development test therubyracer docker'
   xyz00-project@h20:~$ bundle install
   xyz00-project@h20:~$ npm install

Konfiguration von OpenProject

Erstelle eine Konfiguration für den Datenbank-Zugriff in der Datei config/database.yml

   xyz00-project@h20:~$ cd ~/openproject
   xyz00-project@h20:~/openproject$ cp config/database.yml.example config/database.yml

In der neuen Datei database.yml wird die mit HSAdmin angelegte PostgreSQL-Datenbank eingetragen:

   production:
     adapter: postgresql
     encoding: unicode
     host: localhost
     database: xyz00_prjdb (wie oben angegeben)
     pool: 10
     username: xyz00_dbuser (wie oben angegeben)
     password: meinPasswort (wie oben angegeben)

Die Einträge für development und test können gelöscht werden.

Dann wird die Datei configuration.yml angelegt:

   xyz00-project@h20:~$ cd ~/openproject
   xyz00-project@h20:~/openproject$ cp config/configuration.yml.example config/configuration.yml

Dort erfolgen die Einstellungen für ausgehende E-Mails:

   default:
     log_level: info
     email_delivery_method: :smtp
     smtp_address: localhost
     smtp_port: 25
     smtp_domain: example.com
     #smtp_authentication: :login
     #smtp_user_name: "openproject@example.net"
     #smtp_password: "my_openproject_password"

Die Zeilen mit smtp_authentication, smtp_user_name und smtp_password können auskommentiert werden, sie werden in unserem Setup nicht benötigt.

Einen geheimen Schlüssel erzeugen

   xyz00-project@h20:~$ cd ~/openproject
   xyz00-project@h20:~/openproject$ EDITOR=cat ./bin/rails credentials:edit

Initialisiere Datenbank und erzeuge Web-Ressourcen

   xyz00-project@h20:~$ cd ~/openproject
   xyz00-project@h20:~/openproject$ export RAILS_ENV="production"
   xyz00-project@h20:~/openproject$ source ~/.profile
   xyz00-project@h20:~/openproject$ ./bin/rails db:prepare
   xyz00-project@h20:~/openproject$ ./bin/rake assets:precompile

Anlegen des Administrators

Es kann eine Demo Installation installiert werden:

   xyz00-project@h20:~$ cd ~/openproject
   xyz00-project@h20:~/openproject$ export RAILS_ENV="production"
   xyz00-project@h20:~/openproject$ source ~/.profile
   xyz00-project@h20:~/openproject$ LOCALE=en ./bin/rake db:seed

Damit wird ein Beispiel-Projekt angelegt, dass man wieder löschen kann.

Wichtig ist aber, dass der Benutzer admin mit dem Passwort admin angelegt wird. Das Passwort muss bei der ersten Anmeldung geändert werden.

Konfiguration in Passenger

   xyz00-project@h20:~$ cd ~/doms/prj.example.com
   xyz00-project@h20:~/doms/prj.example.com$ rm -rf app-ssl htdocs-ssl
   xyz00-project@h20:~/doms/prj.example.com$ ln -s $HOME/openproject app-ssl
   xyz00-project@h20:~/doms/prj.example.com$ ln -s $HOME/openproject/public htdocs-ssl

Weiterhin muss in einer .htaccess-Datei in diesem Verzeichnis die richtige Umgebung gesetzt sein:

   xyz00-project@h20:~/doms/prj.example.com$ cat .htaccess
   PassengerRuby /home/pacs/xyz00/users/project/.rbenv/shims/ruby

Aufsetzen des Cronjobs für Hintergrundprozesse

Es werden Benachrichtigungs-E-Mails im Hintergrund verschickt. Dazu muss ein Prozess im Hintergrund gestartet werden. Um Probleme zu vermeiden, dass source nicht zur Verfügung steht, kann der Aufruf in einer eigenen Skriptdatei geschehen, die zwingend mit Bash ausgeführt wird, wo source verfügbar ist.

Datei /home/pacs/xyz00/users/project/emailjob.sh:

   #!/bin/bash
   source ~/.profile
   cd ~/openproject
   RAILS_ENV="production" ./bin/rake jobs:workoff

Datei /home/pacs/xyz00/users/project/jobrestart.sh:

   #!/bin/bash
   source ~/.profile
   cd ~/openproject
   RAILS_ENV="production"  ./bin/delayed_job restart

Nun können die cronjobs eingerichtet werden:

   xyz00-project@h20:~$ crontab -e

Nun öffnet sich die Crontab Datei im voreingestellten Editor. Hier muss folgende Zeile eingefügt werden:

   */2 * * * * /home/pacs/xyz00/users/project/emailjob.sh

Damit wird der Hintergrundprozess alle 2 Minuten gestartet.

Es gibt noch einen Hintergrundjob, den ich einmal in der Stunde neu starte:

   22 * * * * /home/pacs/xyz00/users/project/jobrestart.sh

Upgrade durchführen

Die gewünschte Ruby Version kann hier abgelesen werden: https://github.com/opf/openproject/blob/stable/11/.ruby-version

Für das Upgrade von OpenProject 11.2.4 auf 11.3.4, musste eine neue Version von Ruby installiert werden:

   xyz00-project@h20:~$ cd ~/openproject
   xyz00-project@h20:~/openproject$ source ~/.profile
   xyz00-project@h20:~/openproject$ git -C $HOME/.rbenv/plugins/ruby-build pull
   xyz00-project@h20:~/openproject$ rbenv install 2.7.4
   xyz00-project@h20:~/openproject$ rbenv rehash
   xyz00-project@h20:~/openproject$ rbenv global 2.7.4
   xyz00-project@h20:~/openproject$ source ~/.profile
   xyz00-project@h20:~/openproject$ rm -Rf $HOME/.rbenv/versions/2.7.3/  # alte Version kann gelöscht werden

Weil das Git Repository bei der Erstinstallation nur einen Branch enthielt, muss nun das Repository vollständig geladen werden:

   xyz00-project@h20:~$ cd openproject
   xyz00-project@h20:~/openproject$ source ~/.profile
   xyz00-project@h20:~/openproject$ git config remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
   xyz00-project@h20:~/openproject$ git fetch --unshallow
   xyz00-project@h20:~/openproject$ git checkout --track remotes/origin/stable/11

Generell müssen diese Schritte durchgeführt werden:

   xyz00-project@h20:~$ cd openproject
   xyz00-project@h20:~/openproject$ source ~/.profile
   xyz00-project@h20:~/openproject$ git fetch
   xyz00-project@h20:~/openproject$ git pull
   xyz00-project@h20:~/openproject$ gem update --system
   xyz00-project@h20:~/openproject$ bundle install
   xyz00-project@h20:~/openproject$ npm install
   xyz00-project@h20:~/openproject$ export RAILS_ENV="production"
   xyz00-project@h20:~/openproject$ ./bin/rake db:migrate
   xyz00-project@h20:~/openproject$ ./bin/rake assets:precompile
   xyz00-project@h20:~/openproject$ touch ~/doms/prj.example.com/app-ssl/tmp/restart.txt

Referenzen