OpenProject installieren: Unterschied zwischen den Versionen
(Link zur Installationanleitung korrigiert) |
(vervollständigt) |
||
Zeile 122: | Zeile 122: | ||
xyz00-project@h20:~/openproject$ LOCALE=de ./bin/rake db:seed | xyz00-project@h20:~/openproject$ LOCALE=de ./bin/rake db:seed | ||
xyz00-project@h20:~/openproject$ ./bin/rake assets:precompile | xyz00-project@h20:~/openproject$ ./bin/rake assets:precompile | ||
=== Einen geheimen Schlüssel erzeuge === | |||
xyz00-project@h20:~/openproject$ echo "export SECRET_KEY_BASE=$(./bin/rake secret)" >> ~/.profile | |||
=== 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 | |||
SetEnv SECRET_KEY_BASE fbce9f26d70c5cd... | |||
PassengerRuby /home/pacs/fos00/users/project/.rbenv/shims/ruby | |||
Der Schlüssel SECRET_KEY_BASE wurde im verherigen Schritt in die Datei $HOME/.profile geschrieben. | |||
Für das Aufsetzen des Cronjobs für Hintergrundprozesse siehe die folgende Anleitung des Projekts. | |||
== Referenzen == | == Referenzen == |
Version vom 30. Juni 2020, 09:31 Uhr
OpenProject ist eine umfangreiche Projektmanagement-Software. Die Software ist multiprojektfähig; für jedes Projekt stehen 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 10 erstellt.
Vorbereitungen
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"
- Eine Domain mit xyz00-project als Domain-Administrator, zum Beispiel "prj.example.com"
- Einen Postgresql-User xyz00_dbuser mit Passwort meinPasswort
- 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 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.6.5 xyz00-project@h20:~$ rbenv rehash xyz00-project@h20:~$ rbenv global 2.6.5
Als Test bitte aufrufen: ruby -v
Die Anzeige sollte etwa das Folgende enthalten: ruby 2.6.5pXYZ (....) [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.11.1 xyz00-project@h20:~$ nodenv rehash xyz00-project@h20:~$ nodenv global 12.11.1
Ein Test mit node --version solte anzeigen: v12.11.1
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/10 --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 install --deployment --without mysql2 sqlite development test therubyracer docker 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 wir 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 wir 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
Initialisiere Datenbank und erzeuge Web-Ressourcen
xyz00-project@h20:~$ cd ~/openproject xyz00-project@h20:~/openproject$ export RAILS_ENV="production" xyz00-project@h20:~/openproject$ echo "export SECRET_KEY_BASE=$(./bin/rake secret)" >> ~/.profile xyz00-project@h20:~/openproject$ source ~/.profile xyz00-project@h20:~/openproject$ ./bin/rake db:migrate xyz00-project@h20:~/openproject$ LOCALE=de ./bin/rake db:seed xyz00-project@h20:~/openproject$ ./bin/rake assets:precompile
Einen geheimen Schlüssel erzeuge
xyz00-project@h20:~/openproject$ echo "export SECRET_KEY_BASE=$(./bin/rake secret)" >> ~/.profile
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 SetEnv SECRET_KEY_BASE fbce9f26d70c5cd... PassengerRuby /home/pacs/fos00/users/project/.rbenv/shims/ruby
Der Schlüssel SECRET_KEY_BASE wurde im verherigen Schritt in die Datei $HOME/.profile geschrieben.
Für das Aufsetzen des Cronjobs für Hintergrundprozesse siehe die folgende Anleitung des Projekts.