====== Redmine ====== |Verantwortung |TVLuke | |Container |redmine | |W. Ports |keine | |OS |Debian 10.11 | |Server |[[infrastruktur:server:magrathea]] | |Zustand |Produktiv | {{tag>infrasystem ldapconnected container magrathea productive}} Hier findet sich die technische Dokumentation des Chaotikum Redmines. Die Nutzungshinweise finden sich [[hackspace:infrastruktur:redmine|hier]]. ===== Doku==== Das redmine ist auf Magrathea installiert. Der Container heißt redmine. ==== How it works ==== Der Reverse-Proxy ist im Container //[[ag:infrastruktur:chaotikum:web|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=Person)(memberOf=cn=freigeschaltet,ou=groups,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.^ Befehl aufrufen. und auch, wie beim Update von Redmine selbst 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 [[https://www.redmine.org/projects/redmine/wiki/Plugin|hier]] === Themes === Redmine kann mit Themes hübscher gemacht werden. ==== How to backup ==== Backup kann man wie unter [[https://www.redmine.org/projects/redmine/wiki/RedmineBackupRestore|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 [[infrastruktur:container:postgres|Postgres Container]]. ==== How to update ==== Wie man Updatet beschreibt Redmine [[https://www.redmine.org/projects/redmine/wiki/Download#40-Stable|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 ===== In das Textfeld einfach das Datum der Wartung eintragen, am besten in der Form yyyy-mm-dd. {{NEWPAGE>infrastruktur:wartung#pagetemplates:wartungstemplate:redmne|Redmine }} {{topic>:infrastruktur:wartung:redmine?wartungsfenster &nodate&nouser&desc&table}} ===== Activity Log ===== Wird nicht mehr ergänzt. Wartungslogs werden stattdessen genutzt. === 25.09.2020 === * Workaround für https://www.redmine.org/issues/32223 im Gemfile ergänzt: # 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 [[https://redmine.chaotikum.org/issues/654|durchgeführt]]. Update auf [[https://www.redmine.org/projects/redmine/wiki/Download|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. * Aktuelle Upstream-version [[http://www.redmine.org/|4.0.3]] (2019-03-31) * Debian 9 [[https://packages.debian.org/stretch/redmine|redmine (3.3.1-4+deb9u2)]] * Debian 10 (Buster) noch keins * Debian (Sid) [[https://packages.debian.org/sid/redmine|redmine (4.0.1-2)]] --- //[[magu@chaotikum.org|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 Theme changer installiert https://github.com/haru/redmine_theme_changer/releases/tag/0.4.0 * **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.