Benutzer-Werkzeuge

Webseiten-Werkzeuge


infrastruktur:container:redmine

Redmine

Verantwortung TVLuke
Container redmine
W. Ports keine
OS Debian 10
Server magrathea
Zustand Produktiv

Hier findet sich die technische Dokumentation des Chaotikum Redmines. Die Nutzungshinweise finden sich hier.

Doku

Das redmine ist auf Magrathea installiert. Der Container heißt redmine.

How it works

Der Reverse-Proxy ist im Container web. Die Requests nimmt das Redmine im redmine container entgegen.

Das Redmine liegt in /srv/redmine/ (das ist aber nur ein Symlink, eigentlich liegt dort ein Ordner mit der aktuellen Version, der daneben in /srv liegt).

Obacht: Damit ist unsere Installation etwas anders als jene, die in vielen Tutorials beschrieben wird, die von cd /var/www/redmine ausgeht. Darauf also immer aufpassen, wenn man Tutorials oder Anleitungen nutzt und Befehle nicht unbedacht kopieren.

LDAP Anbindung

Wir nutzen Redmines native LDAP Anbindung, welche von Administratoren eingerichtet werden kann.

In der Redmine Admin oberfläche ist die LDAP-Verbidung eingetragen. Redmine nutzt den LDAP admin account. Es scheint möglich dort einen filter einzutragen, es ist keiner Eingetragen. Laut Einstellung werden *uid*, *givenName*, *sn* und *mail* aktuel genutzt. Hier könnten aber ggf auch andere genutzt werden.

Filter:

(&(objectClass= posixAccount)(objectClass=Person)(memberOf=cn=freigeschaltet,ou=groups,ou=internal,dc=chaotikum,dc=org))

Plugins Installieren

Redmine unterstützt Plugins. Nicht alle Plugins unterstützen Redmine 4 darauf ist also zu achten.

Ein Plugin wird installiert, indem man es (meist als zip oder so) in den /srv/redmine/plugins/ ordner legt, dort entpackt. Dann muss man aus dem /srv/redmine/ Verzeichnis den

 bundle install --without development test rmagick --no-deployment
Obacht: in den meisten Tutorials wird nicht auf rmagick verzichtet. Wir haben aber kein ImageMagick.
 bundle exec rake redmine:plugins NAME=[PLUGIN NAME] RAILS_ENV=production
 

Manche Plugins sind da auch weniger spezifisch und sagen stattdessen

 bundle exec rake redmine:plugins RAILS_ENV=production

Was nötig ist, hängt ggf. auch einfach vom Plugin ab oder so…

nun den Service neu starten

 systemctl restart redmine
 systemctl status redmine

Grundsätzliche Anleitung zur Plugin (un)instalation hier

Themes

Redmine kann mit Themes hübscher gemacht werden.

How to backup

Backup kann man wie unter diesem Link beschrieben durchführen, das heißt, die Attachments und die db müssen separat voneinander gesichert werden.

Dafür wird der Ordner /srv/redmine/files kopiert und gesichert und mit dem Befehl

 /usr/bin/pg_dump -U redmine -h postgres.chaotikum.net -Fc --file=redmine.sqlc redmine
 

(Passwort nötig) der Datenbank Server gesichert. Das Redmine nutzt unsere Postgres-DB im Postgres Container.

How to update

Wie man Updatet beschreibt Redmine hier. Natürlich sollte man das nur nach einem Backup machen.

Update auf 4.0.3 wurde folgendermaßen gemacht:

 cd /srv
 wget https://www.redmine.org/releases/[AKTUELLE VERSION].tar.gz
 tar -xvzf [AKTUELLE VERSION].tar.gz 
 

Sidenote: An dieser Stelle muss man ggf ein Distro-Versionsupdate machen und vielleicht ist auch das Ruby zu alt und danach fliegt einem evtl. auch uWSGI um die Ohren. Man denke an apt install uwsgi-plugin-rack-ruby2.3 (Die version muss ggf (Wir haben keine Ahnung was hier los ist) zur Version im vendor Ordner des Redmine passen oder so… Echt, kein Plan.).

Wir haben tatsächlich kein ImageMagick, also

 bundle install --without development test rmagick
 

Auch beim nächsten Schritt kann es zu Problemen bzgl der ruby version kommen. Das liegt an der generierten „Gemifile.lock“ und der Tatsache, dass ggf mehr als ein Ruby auf dem System ist.

 bundle exec rake generate_secret_token

DB Update

 bundle exec rake db:migrate RAILS_ENV=production 

Clear Cache

 bundle exec rake tmp:cache:clear RAILS_ENV=production
 

nun den Symlink neu setzen auf den aktuellen Ordner aus /srv

 rm redmine
 ln -s redmine-[Version] redmine
 

nun den service neu starten

 systemctl restart redmine
 systemctl status redmine
 

das log findet sich unter

 /var/log/uwsgi/app/redmine.log

Dort kann man nun ggf nachsehen, warum das nicht läuft.

Nützliche Infos

Wie geht das mit dem Rails

Um auf der Konsole mit dem Redmine zu interagieren muss man (im redmine Ordner) eine Rails-Konsole öffnen, dafür

 RAILS_ENV=production bin/rails c 
 

Dann kann man so spannende Dinge tun

 User.all
 User.find_by_login ('tvluke')

Admin Rechte

Auf den Container können alle Leute, die auf Magrathea können, dies ist andernorts dokumentiert. Alle diese Menschen können sich (oder anderen) über die Rails-Konsole Admin Rechte verschaffen.

Wartung

Activity Log

Wird nicht mehr ergänzt. Wartungslogs werden stattdessen genutzt.

25.09.2020

# TODO: Remove the following line when #32223 is fixed
gem "sprockets", "~> 3.7.2"
  • uwsgi entsorgt. Stattdessen puma manuell im Gemfile als Dependency ergänzt und über `bundle install` installiert. Damit kann jetzt das Redmine einfach über `RAILS_ENV=production bundle exec rails s -p 80` gestartet werden und genau das tut die systemd-Unit `redmine` auch:
 [Unit]
 Description=redmine
 After=syslog.target network.target
 
 [Service]
 Type=simple
 WorkingDirectory=/srv/redmine
 Environment=RAILS_ENV=production
 ExecStart=/usr/local/bin/bundle exec rails s -p 80
 Restart=always
 
 [Install]
 WantedBy=multi-user.target

01.08.2019

  • Regelmäßige Software Updates durchgeführt. Update auf 4.0.4 und Debian Buster erstmal aus Zeitgründen verschoben, beides nicht sicherheitskritisch.

02.06.2019

  • Regelmäßigen update check durchgeführt. Redmine 4.0.3. ist weiterhin die neuste version, keine updates notwendig.

24.05.2019

  • Die Entwickler von RedmineUp haben uns eine vorab Fix-Version des Agile Plugin geschickt, diese wurde nun installiert. Scheint soweit alles zu laufen.

19.05.2019

  • Plugin PeriodicTask plugin installiert. Das wird nun getestet.
  • Plugin Agile Plugin erstmal deinszaliert. Ein paar Themes installiert
  • Anmerkungen

Magu würde sich wünschen das nach Möglichkeit das redmine aus Debian bezogen wird. Vorteile es gibt Updates und s würde das Upgrade erleichtern.

Martin Gummi 19.05.2019 13:21

  • ISSUE Konfiguration von Projekten kann nicht aufgerufen werden

Processing by ProjectsController#settings as HTML

 Parameters: {"id"=>"vorstandsarbeit"}
 Current user: tvluke (id=28)
 Rendering projects/settings.html.erb within layouts/base
 Rendered projects/_form.html.erb (15.4ms)
 Rendered projects/_edit.html.erb (17.1ms)
 Rendered common/_tabs.html.erb (22.6ms)
 Rendered projects/settings.html.erb within layouts/base (48.5ms)
 Missing template, responding with 404: Missing partial projects/_project_color_form with {:locale=>[:de, :en], :formats=>[:html], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :rsb]}. Searched in:
 * "/srv/redmine-4.0.3/plugins/redmine_theme_changer/app/views"
 * "/srv/redmine-4.0.3/plugins/redmine_agile/app/views"
 * "/srv/redmine-4.0.3/app/views"
 Rendering common/error.html.erb within layouts/base
 Rendered common/error.html.erb within layouts/base (0.5ms)

Das Problem ist wohl https://www.redmineup.com/questions/216-agile-plugin-not-working das agile plugin muss also geupdated werden (oder weg)

  • ISSUE Verschiedenste Ordner wie /srv/redmine-4.0.3/tmp und /srv/redmine-4.0.3/files haben Probleme mit ihren rechten, das muss alles per hand und ist recht doof. Aber scheint zu tun.
  • Plugin Redmine Agile Plugin (war auch vorher installiert) wieder installiert https://www.redmineup.com/pages/help/agile
  • angeblich funktioniert auch die Verbindung zu LDAP wieder.
  • Gems werden nun nicht in redmine/vendor installiert sondern global, sonst kann uswgi sie nicht sehen. Redmine läuft wieder.
  • Instalation von Redmine 4.0.3, DB Migration usw… Weiter Probleme mit uwsgi
  • Dist upgrade auf 9.9
  • Probleme mit uwsgi (glauben wir) zumindest kein redmine mehr

18.05.2019

  • Wir haben ein Backup des Containers gemacht, weil das neue redmine eine neue ruby version braucht und das ist letztendlich kurz vor kompletter Zerstörung aller dinge
  • postgres-client installiert um überhaupt backups machen zu können, diese liegen nun unter /home/backup
  • Hab mal die sources.list verändert, weil er Dinge nicht gefunden hat.

Damals TM

Zustand (18.05.2019): Redmine version ist von 2015 (3.0.4), debian ist noch Version 8.

infrastruktur/container/redmine.txt · Zuletzt geändert: 23.02.2021 13:27 von Lukas Ruge