entwicklung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
entwicklung [2019/01/20 14:42]
flacco [invis Quellen herunterladen]
entwicklung [2020/05/25 10:33] (aktuell)
flacco [progress.openSUSE.org]
Zeile 1: Zeile 1:
-====== Mitarbeiten ​an invis-Server ======+====== Mitarbeiten ​im invis-Server-Projekt ​======
  
 Sie haben Interesse sich im Projekt zu engagieren? Wenn ja hier eine kurze Anleitung zum Einstieg. Sie haben Interesse sich im Projekt zu engagieren? Wenn ja hier eine kurze Anleitung zum Einstieg.
Zeile 8: Zeile 8:
 Wer mitarbeiten möchte sollte grundlegende Kenntnisse in Sachen Linux und Netzwerke mitbringen, keine Angst vor Shellscripts haben und/oder (darüber würden wir uns am meisten freuen) Kenntnisse in PHP und JavaScript haben. Kenntnisse im RPM-Paketbau sind ebenfalls sehr willkommen. Wer mitarbeiten möchte sollte grundlegende Kenntnisse in Sachen Linux und Netzwerke mitbringen, keine Angst vor Shellscripts haben und/oder (darüber würden wir uns am meisten freuen) Kenntnisse in PHP und JavaScript haben. Kenntnisse im RPM-Paketbau sind ebenfalls sehr willkommen.
  
-Für die Mitarbeit benötigen Sie Zugänge zu **[[https://​github.com/​ | Github]]** ​und dem **[[https://​build.opensuse.org/​|openSUSE Build Service]]**. Die Registrierung ist jeweils kostenlos.+Für die Mitarbeit benötigen Sie Zugänge zu **[[https://​github.com/​ | Github]]**dem **[[https://​build.opensuse.org/​|openSUSE Build Service]]** und **[[https://​progress.opensuse.org/​projects|openSUSE Projektverwaltung "​Progress"​]]**. Die Registrierung ist jeweils kostenlos. Der Build Service und Progress verwenden das gleiche Authentifizierungsbackend. Eine Registrierung genügt also um Zugang zu beiden Systemen zu erhalten.
  
 Wenn Sie sich dort registriert haben, melden Sie sich bei uns. Wir sollten das eine oder andere Gespräch führen um uns gegenseitig zu beschnuppern. Sie können Sich auch gerne bereits im Vorfeld die Quellen des Projektes von Github herunter laden und uns mit der einen oder anderen Verbesserung überraschen. Wenn Sie sich dort registriert haben, melden Sie sich bei uns. Wir sollten das eine oder andere Gespräch führen um uns gegenseitig zu beschnuppern. Sie können Sich auch gerne bereits im Vorfeld die Quellen des Projektes von Github herunter laden und uns mit der einen oder anderen Verbesserung überraschen.
Zeile 16: Zeile 16:
 Bevor Sie aktiv mitarbeiten sollten Sie bereits den einen oder anderen invis-Server installiert und sich damit vertraut gemacht haben. Bevor Sie aktiv mitarbeiten sollten Sie bereits den einen oder anderen invis-Server installiert und sich damit vertraut gemacht haben.
  
-Wenn wir miteinander klar kommen, tragen wir Sie auf den beiden genannten Plattformen als Projektmitglied ​und in unserer invis-server Mailingliste ​ein. Ab diesem Zeitpunkt können Sie aktiv und selbständig am Projekt mitarbeiten.+Wenn wir miteinander klar kommen, tragen wir Sie auf den beiden genannten Plattformen als Projektmitglied ein. Ab diesem Zeitpunkt können Sie aktiv und selbständig am Projekt mitarbeiten.
  
-Zur Nutzung ​der Mailingliste können Sie sich unter folgender URL eintragen: [[https://ml.invis-server.org/mailman/​listinfo/invis-dev]] +Wer einfach nur mit uns Kontakt aufnehmen möchte, kann dies auch über unsere Foren machen. Zu finden sind sie ebenfalls in der oben genannten Projektverwaltung ​unter: [[https://progress.opensuse.org/projects/invis-server/boards]]. Auch dies setzt eine kostenlose Registrierung voraus
- +===== Github ​OBS ====
-Der Eintrag in die Entwickler-Liste erfordert allerdings unsere Bestätigung. +
- +
-Derzeit noch ergänzend zur Mailingliste organisieren wir unser Projekt zunehmend über die openSUSE Projekt-Seite **[[https://​progress.opensuse.org/​projects|progress.opensuse.org]]**Wer ernsthaft am Projekt mitarbeiten möchte sollte nicht scheuen sich dort zu registrieren+
-===== GithubOBS & Progress ​====+
  
 Grundsätzlich gehen die Arbeiten an den Quellen bei Github und der zugehörigen Aktualisierung des invis-setup RPM-Paketes Hand in Hand. D.h. Wird etwas an den Quellen geändert wird die Änderung ins RPM übernommen. Grundsätzlich gehen die Arbeiten an den Quellen bei Github und der zugehörigen Aktualisierung des invis-setup RPM-Paketes Hand in Hand. D.h. Wird etwas an den Quellen geändert wird die Änderung ins RPM übernommen.
Zeile 30: Zeile 26:
  
 ==== Github ==== ==== Github ====
 +
 +Sie finden unsere Github-Repostitories unter: [[https://​github.com/​invisserver]]. Wir hosten dort mehrere Projekte rund um den invis-Server:​
 +
 +  - **invis-setup:​** Ist das Projekt des klassischen invis-Servers. Dessen Entwicklung wurde mit Version 9.3 eingestellt.
 +  - **invisAD-setup** Ist das auf ActiveDirectory basierende aktuelle invis-Server Projekt.
 +  - **invis-rdbu:​** Das zum invis-Server gehörende Backup-System
 +  - **invis-sub-setup:​** Das Projekt zur Entwicklung eines "​invis-Filial-Servers"​. Das steckt noch in den Anfängen.
 +  - **invis-vboxinit:​** Kleines Tool zum automatischen Starten von VirtualBox VMs während des Linux-Systemstarts.
  
 Installieren und konfigurieren Sie also am einfachsten eine virtuellen Maschine, gemäß der Installationsanleitung hier aus dem Wiki. Sie sollten das invis-Setup RPM installieren,​ allerdings //​**sine**//​ noch nicht starten. Installieren Sie zusätzlich //**git**// auf dieser Maschine. Installieren und konfigurieren Sie also am einfachsten eine virtuellen Maschine, gemäß der Installationsanleitung hier aus dem Wiki. Sie sollten das invis-Setup RPM installieren,​ allerdings //​**sine**//​ noch nicht starten. Installieren Sie zusätzlich //**git**// auf dieser Maschine.
Zeile 60: Zeile 64:
 So sind die Shellscripts der invis-Toolbox wie auch das Setup-Script //​**sine**//​ unter <​file>/​usr/​bin</​file>​ zu finden und die Vorlagen der Konfigurationsdateien des Server-Setups unter: <​file>/​usr/​share/​doc/​packages/​invis-setup/​examples</​file>​ So sind die Shellscripts der invis-Toolbox wie auch das Setup-Script //​**sine**//​ unter <​file>/​usr/​bin</​file>​ zu finden und die Vorlagen der Konfigurationsdateien des Server-Setups unter: <​file>/​usr/​share/​doc/​packages/​invis-setup/​examples</​file>​
  
-==== Änderungen übertragen ​====+=== Änderungen übertragen ===
  
 Wurden Änderungen im Repository vorgenommen,​ müssen diese übernommen und später mit dem zentralen Repository bei Github abgeglichen werden: Wurden Änderungen im Repository vorgenommen,​ müssen diese übernommen und später mit dem zentralen Repository bei Github abgeglichen werden:
Zeile 108: Zeile 112:
 Es könnte ja sein, dass inzwischen jemand anderes weitergearbeitet hat. Es könnte ja sein, dass inzwischen jemand anderes weitergearbeitet hat.
  
-==== Arbeiten mit Branches ​====+=== Arbeiten mit Branches ===
  
 Mit dem Umbau unserer Build-Service Strukturen haben wir begonnen in Github Branches für stabile Versionen des invis-Server Setup-Paketes anzulegen. Das bedeutet, dass die grundlegende Entwicklungsarbeit immer am "​Master Branch"​ geleistet wird. Um aber auch an einem als stabil gekennzeichneten Paket Bugfixes vorzunehmen muss vom Master auf den jeweiligen Branch gewechselt werden. Mit dem Umbau unserer Build-Service Strukturen haben wir begonnen in Github Branches für stabile Versionen des invis-Server Setup-Paketes anzulegen. Das bedeutet, dass die grundlegende Entwicklungsarbeit immer am "​Master Branch"​ geleistet wird. Um aber auch an einem als stabil gekennzeichneten Paket Bugfixes vorzunehmen muss vom Master auf den jeweiligen Branch gewechselt werden.
Zeile 257: Zeile 261:
 <​code>​osc results spins:​invis:​unstable invisAD-setup-12</​code>​ <​code>​osc results spins:​invis:​unstable invisAD-setup-12</​code>​
 Die Rückgabe "​succeeded"​ (ohne Sternchen) bedeutet der Build ist fehlerfei durchgelaufen und man kann das neue Paket installieren. Die Rückgabe "​succeeded"​ (ohne Sternchen) bedeutet der Build ist fehlerfei durchgelaufen und man kann das neue Paket installieren.
 +===== progress.openSUSE.org =====
 +
 +Hinter der openSUSE Projektverwaltung steckt die recht verbreitete Software Redmine. Software Entwicklern wird sie vermutlich bekannt vorkommen. Sie verbindet verschiedenste Funktionen wie etwa ein Ticket-System,​ Projektverwaltung,​ Diskussionsforen uvm.
 +
 +Innerhalb des Systems bildet "​invis-Server"​ unser Hauptprojekt. In diesem Projekt sind die beiden Diskussionsforen angesiedelt:​
 +
 +  - **Entwickler-Forum:​** [[https://​progress.opensuse.org/​projects/​invis-server/​boards/​12]]
 +  - **Anwender-Support-Forum:​** [[https://​progress.opensuse.org/​projects/​invis-server/​boards/​15]]
 +
 +Im Hauptprojekt "​invis-Server"​ werden keine Aufgaben/​Tickets der Entwicklung verwaltet, dort geht es eher um die Projekt-Organisation im Allgemeinen,​ also etwa die Teilnahme an Events.
 +
 +Unterhalb des Hauptprojekts existieren 4 Unterprojekte,​ in denen die Entwicklung des invis-Servers und zugehöriger Software organisiert wird. Im Einzelnen:
 +
 +  - **invisAD-setup:​** Das invis-Server Setup Paket, also der invis-Server selbst. [[https://​progress.opensuse.org/​projects/​invisad-setup]] ​
 +  - **invisAD-client:​** Das invis-Server Client Paket zur Anbindung von openSUSE Leap Clients an einen invis-Server [[https://​progress.opensuse.org/​projects/​invisad-client]]
 +  - **invis-sub-setup:​** ein invis-Filial-Server Setup-Paket. (steckt noch in den Anfängen) [[https://​progress.opensuse.org/​projects/​invis-sub-setup]]
 +  - **invis-rdbu:​** Das Backup-Tool für invis-Server:​ [[https://​progress.opensuse.org/​projects/​invisad-rdbu]]
 +
 +Es ist möglich in allen Bereichen auch ohne Registrierung zu lesen, die aktive Teilnahme setzt die Registrierung allerdings zwingend voraus. Um aktiv mitzuarbeiten müssen Sie sich selbst registrieren und uns anschließend Ihren Usernamen mitteilen, damit wir Sie in die Projektgruppe aufnehmen können.
 +
 +Innerhalb der Projektverwaltung versuchen wir (auch wenn uns das teilweise schwer fällt) in english zu kommunizieren,​ da dies die offizielle Sprache innerhalb der openSUSE Community ist. Gerade in den Foren ist das aber **kein** muss. Wir wollen niemanden abschrecken. Deutsche Beiträge sind uns genauso willkommen wie englische. Haben Sie aber bitte Verständnis dafür, dass wir kein Finnisch sprechen.
 +
 +
 ===== Einrichten einer Testumgebung ===== ===== Einrichten einer Testumgebung =====
  
Zeile 327: Zeile 354:
 ===== Stand der Dinge / To do ===== ===== Stand der Dinge / To do =====
  
-Open-Source-Projekte werden quasi nie fertig. Es ergeben sich ständig neue Anforderungen und Aufgaben für das Projekt, die meist in Form von Teilprojekten und -aufgaben abgearbeitet werden können. ​Nachfolgend werden die aktuell für den invis-Server ​anstehenden ​Entwicklungsaufgaben sowie deren aktueller Stand dargestellt. +Open-Source-Projekte werden quasi nie fertig. Es ergeben sich ständig neue Anforderungen und Aufgaben für das Projekt, die meist in Form von Teilprojekten und -aufgaben abgearbeitet werden können. ​Alle anstehenden ​und in Bearbeitung befindlichen aufgaben ​werden ​über openSUSEs Projektverwaltungssystem [[https://progress.opensuse.org/projects|"Progress"]] organisiertUm einen Einblick zu erhalten registrieren Sie sich dortDie Registrierung ist wie gesagt kostenfrei ​und verpflichtet ​**nicht** zur Mitarbeit.
- +
-Unabhängig von der Version des invis Servers steht der Bau von funktionierenden OpenERP RPM-Paketen aus. Wir wären dankbar wenn sich jemand dieser Aufgabe annehmen würde. +
-==== invis 10.x / 11.x / 12.x (invisAD) ==== +
- +
-"invis server 10.x" ist unsere Neuentwicklung. Ziel der Entwicklung ist es das bisherige Herz des Servers, einen OpenLDAP-Dienst,​ vollständig durch den in Samba4 integrierten LDAP-Server abzulösen um in der Folge ein echtes Active Directory anbieten zu können, ohne auf Funktionen des bisherigen "​invis-Servers"​ zu verzichten. Die folgende Tabelle zeigt die dabei zu lösenden Probleme sowie den derzeitigen Entwicklungsstand. +
- +
-Im ersten Ansatz der Umstellung auf Active Directory wollen und werden ​wir nicht versuchen gleich sämtliche Funktionen des invis-Servers "​classic"​ (Version 9.2) zu migirieren, sondern beschränken uns auf einen Kern von Funktionen. So wird vorerst nur Zarafa als Groupware angeboten, da diese sich relativ einfach ins Active Directory integrieren lässt. Es geht also vorerst darum ein nutzbares Produkt mit vermindertem Funktionsumfang auf die Beine zu stellen und dann Stück für Stück weitere Funktionen zu migrieren. +
- +
-**Stand06.08.2016** +
-^  Aufgabe ​ ^  Stand  ^  Bemerkung ​ ^ +
-|Systemvorbereitung an Active Directoy anpassen (sine Module: check, quest und sysprep) ​ |  **erledigt** ​ | Kleinere Anpassungen werden im Laufe der Weiterentwicklung notwendig sein  | +
-|Domain-Provisioning,​ LDAP Schema-Erweiterung (sine Modul "​ldap"​ durch "​samba_ad"​ ersetzen) |  **erledigt** ​ | Samba4 Active Directory wird aufgebaut, Schemaerweiterungen für invis-Portal,​ Mailkontenverwaltung und ISC DHCP Server sind integriert ​ | +
-|Konfiguration des DNS-Servers bind zur Nutzung des Active Directories als Datenbasis (sine Modul: dns) |  **erledigt** ​ | --  | +
-|Konfiguration des ISC-DHCP Servers zur Nutzung des Samba4 LDAP Verzeichnises als Datenbasis (sine Modul: dhcp) |  **erledigt** ​ | Wir arbeiten mit einer eigens gepatchten Version des DHCP-Servers,​ damit es keinen Konflikt in der Attribut Benennung mit Microsofts DHCP Servers gibt.  | +
-|Konfiguration des Printservers CUPS (sine Modul "​cups"​) |  **unverändert** ​ | Wird zunächst unverändert aus invis 9.2 übernommen | +
-|Konfiguration des Samba Fileservers,​ Anlegen notwendiger Benutzer und Gruppen, invis-Server an AD-Benutzerverwaltung anbinden (Modul: fileserver) |  **erledigt** ​ | sine Modul samba_ad ist soweit fertig, der invis-Server selbst erlaubt jetzt Linux-Logins für AD Benutzer mit rfc2307 (SFU) Attributen. Verwendet wird das neue sssd_ad Modul in Verbindung mit PAM. Das sine Modul fileserver ist wieder aktiviert und funktioniert. Fileserver-Freigaben sind wieder aktiv.| +
-|Einrichtung der Mailserverbasis für Zarafa inklusive Installation der Zarafa AD Schemaerweiterungen (sine Modul: mailserver)| ​ **erledigt** ​ | Hier sind sicherlich noch Anpassungen notwendig | +
-|Installation und Einrichtung des Webservers inkl. invis-Portal und Mailkontenverwaltung "​CorNAz"​ (sine Modul: webserver) |  **(so gut wie) erledigt** ​ | PHP-Klasse adLDAP ins Portal integriert, Login am Portal mit Authentifikation gegen Active Directory ist damit möglich. Konfiguration des Portals an LDAP-Pfade im AD Angepasst, alle Portal-Elemente werden wieder angezeigt. CorNAz wurde inzwischen ebenfalls ans AD angebunden. DHCP-Funktionen Hosts anlegen/modifizieren/löschen funktioniert wieder, DNS Einträge können noch nicht bearbeitet werdenBenutzer können Ihr Benutzerprofil wieder bearbeiten, Passwortänderung ist möglichBenutzer und Gruppen werden angezeigt, Benutzer und Gruppen anlegen ist jetzt möglich. Viele Portalfunktionen wurden dank der Möglichkeiten des AD erweitert. Trotzdem: **Webentwickler mit PHP/JavaScript/​Ajax Erfahrung dringend gesucht!** ​| +
-|Konfiguration der SQL Dienste MySQL/​MariaDB und PostgreSQL ​ (sine Module: ​"mysqlserver" ​und "​postgresqlserver"​) |  **unverändert** ​ | Wird zunächst unverändert aus invis 9.2 übernommen | +
-|CorNAz vollständig in invis-Portal integrieren |  **in Arbeit** ​ | CorNAz, unser Tool zur Verwaltung von Mailkonten ist etwas in die Jahre gekommen. Als klassische PHP-Applikation wirkt es gegenüber dem Ajax-lastigen invis-Portal reichlich angestaubt, daher sollen dessen Funktionen vollständig in das invis-Portal integriert werden. Mit imvisAD Version 11.0 wurde cer CorNAz Code gründlich über arbeitet. Vieles wurde in Funktionen ausgelagert,​ die sich später ins invis-Portal integrieren lassenDarüber hinaus Pflegt CorNAz jetzt die Attribute "​mail" ​und "​otherMailbox"​ in den Benutzerkonten.| +
-|Konfiguration der Firewall, Anpassung an AD (sine Modul "​firewall"​) |  ​**erledigt** ​ | invis-Server eigene Firewall Konfigurationen wurden in separate Konfigurationsdatei ausgelagert,​ Freischalten aller für AD notwendigen Ports ist noch nicht geschehen | +
-|Vorbereitung für Monitoring ​ (sine Modul: "​monitoring"​) |  ​**unverändert** ​ | Wurde zunächst unverändert aus invis 9.2 übernommen. Für openSUSE Leap musste ein neues Plugin ​zur MD-RAID Überwachung installiert werden. | +
-|Konfiguration der Groupware, Anbindung von Kopano an AD (sine Modul: Groupware) ​ |  **erledigt** ​ | Kopano Konfiguration ist abgeschlossen. Simples Setup auf Basis von Dovecot und Roundcubemail ist fertig, die Integration weitere Groupware-Alternativen folgt. Kopano nutzt jetzt das AD als Benutzer-Backend | +
-|Konfiguration der ERP Systeme ​ (sine Module: "​erp"​) |  **unverändert** ​ | Wird zunächst unverändert aus invis 9.2 übernommen. Anbindung von Kivitendo an Active Directory ist möglich, aber noch nicht umgesetzt. WaWision funktioniert genau wie zuvor.| +
-|Konfiguration des ISDN Faxservers ​ (sine Module: "​faxgate"​) |  **offen** ​ | Faxgate wird über kurz oder lang aus dem invis-Server verschwinden. Die ISDN Abschaltung bis 2018 macht eine weitere Pflege sinnlos. | +
-|OpenVPN (sine Modul: "​openvpn"​) |  **unverändert** ​ | Wird zunächst unverändert aus invis 9.2 übernommen | +
-|WebCDWriter (sine Modul: "​webcdwriter"​ |  **erledigt** ​ | Wird mit invis-Version 13.0 endgültig entfernt. | +
-|Dokuwiki direkt an AD anbinden (sine Modul: "​dokuwiki"​) |  **erledigt** ​ | Authentifikation funktioniert,​ Wiki-Redaktionsgruppen werden im AD angelegt. | +
-|Dokuwiki RPM erstellen und Setup umbauen (sine Modul: "​dokuwiki"​) |  **erledigt** ​ | Plugins werden noch immer von sine installiert. | +
-|Etherpad Lite (sine Modul: "​etherpad"​) |  **offen** ​ | Wird zunächst unverändert aus invis 9.2 übernommen. Aufgrund von Kompatibilitätsproblemen wurde etherpad-lite vorübergehend deaktiviert. | +
-|VirtualBox Konfiguration inkl. phpvirtualbox (sine Modul: "​virtualbox"​) |  **unverändert** ​ | Wurde inzwischen auf Version 5.0.x aktualisiert. | +
-|invis-Toolbox wo nötig an AD anpassen |  **erledigtt** ​ |Alle notwendigen Toolbox-Scripts sind an AD angepasst und wurden teils funktional erweitert. | +
-|sine entrümpeln |  **in Arbeit** ​ | -> Wird im Zuge der Umstellung auf **//​sine2//​** erledigt. | +
-|Umstellung auf MariaDB |  **erledigt** ​ | Zarafa nutzt jetzt MariaDB | +
- +
-==== invis 9.2 (invis "​classic"​) ==== +
- +
-Die Entwicklung der Classic Version des invis-Servers wurde eingestellt. +
  • entwicklung.1547995333.txt.gz
  • Zuletzt geändert: 2019/01/20 14:42
  • von flacco