ISPConfig3 für OpenBSD

Dieses Thema im Forum "Entwicklerforum" wurde erstellt von Brainfood, 2. Okt. 2012.

  1. Brainfood

    Brainfood Member

    Hallo Community,

    ich würde gerne ISPConfig3 unter OpenBSD lauffähig machen, die einzige Prämisse wäre wohl der Verzicht auf Package-Updates (da diese sehr zeitaufwendig manuell unter OpenBSD gepflegt werden müssen) ...

    Die fertigen Pre_Install_Skripte packe ich dann ins OpenSource www.ipfrog.de Image ...

    Was ist alles für eine Dist.Anpassung notwendig?

    /tmp/ispconfig3_install/install/lib/ ... files
    /tmp/ispconfig3_install/dist/ ... files

    spezifische in der ispconfig server verwaltung selbst?

    Wie genau fragt der ISPConfig Installer die Distributionsversion ab?

    get_distname ...?
     
    Zuletzt bearbeitet: 2. Okt. 2012
  2. Till

    Till Administrator

    Du musst wahrscheinlich nur den Installer und den system monitor anpassen.

    ja.

    Die monitor Klasse ist in server/lib/classes/

    ja.
     
  3. Brainfood

    Brainfood Member

    ich habe soweit die install_files angepasst:

    Code:
    # php -q install.php                                          
    
    --------------------------------------------------------------------------------
     _____ ___________   _____              __ _         ____
    |_   _/  ___| ___ \ /  __ \            / _(_)       /__  \
      | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ /
      | |  `--. \  __/  | |    / _ \| '_ \|  _| |/ _` |  |_ |
     _| |_/\__/ / |     | \__/\ (_) | | | | | | | (_| | ___\ \
     \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, | \____/
                                                  __/ |
                                                 |___/ 
    --------------------------------------------------------------------------------
    
    >> Initial configuration  
    
    Operating System: OpenBSD 5.1 or compatible
    
        Following will be a few questions for primary configuration so be careful.
        Default values are in [brackets] and can be accepted with <ENTER>.
        Tap in "quit" (without the quotes) to stop the installer.
    
    
    Select language (en,de) [en]: 
    
    Installation mode (standard,expert) [standard]: 
    
    Full qualified hostname (FQDN) of the server, eg server1.domain.tld  [srv48devel.plitc.eu]: 
    
    MySQL server hostname [localhost]: 
    
    MySQL root username [root]: 
    
    MySQL root password []: ispconfig
    
    MySQL database to create [dbispconfig]: 
    
    MySQL charset [utf8]: 
    
    usage: useradd -D [-b base-directory] [-e expiry-time] [-f inactive-time]
                   [-g gid | name | =uid] [-k skel-directory] [-L login-class]
                   [-r low..high] [-s shell]
           useradd [-mov] [-b base-directory] [-c comment] [-d home-directory]
                   [-e expiry-time] [-f inactive-time]
                   [-G secondary-group[,group,...]] [-g gid | name | =uid]
                   [-k skel-directory] [-L login-class] [-p password] [-r low..high]
                   [-s shell] [-u uid] user
    Generating a 2048 bit RSA private key
    ................+++
    ...............................................................................................................................+++
    writing new private key to 'smtpd.key'
    -----
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) []:DE
    State or Province Name (full name) []:DE
    Locality Name (eg, city) []:DE
    Organization Name (eg, company) []:DE
    Organizational Unit Name (eg, section) []:DE
    Common Name (eg, fully qualified host name) []:DE
    Email Address []:DE
    chown: user is invalid: vmail
    Configuring Jailkit
    Configuring Dovecot
    PHP Warning:  chmod(): No such file or directory in /tmp/ispconfig3_install/install/dist/lib/openbsd51.lib.php on line 99
    PHP Warning:  chgrp(): Unable to find gid for root in /tmp/ispconfig3_install/install/dist/lib/openbsd51.lib.php on line 109
    Configuring Spamassassin
    Configuring Amavisd
    Couldn't find /etc/adduser.conf: creating a new adduser configuration file
    
    --- bleibt an dieser stelle hängen ---
    PAM.D gibt es unter OpenBSD nicht ... kann man eine andere Authentifizierungs-Schnittstelle verwenden (z.B. openbsd-bsdauth) ?

    Wenn nicht wird das ganze recht kompliziert ...
     
    Zuletzt bearbeitet: 2. Okt. 2012
  4. Till

    Till Administrator

    Pam.d wird von ispconfig nicht verwendet, es werden lediglich normale Linux Systemuser angelegt. Das mailsystem authentifiziert sich über dovecot-sql und nicht pam.
     
  5. Brainfood

    Brainfood Member

    bin ein stück weiter:

    Code:
    # php -q install.php    
    
    
    --------------------------------------------------------------------------------
     _____ ___________   _____              __ _         ____
    |_   _/  ___| ___ \ /  __ \            / _(_)       /__  \
      | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ /
      | |  `--. \  __/  | |    / _ \| '_ \|  _| |/ _` |  |_ |
     _| |_/\__/ / |     | \__/\ (_) | | | | | | | (_| | ___\ \
     \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, | \____/
                                                  __/ |
                                                 |___/ 
    --------------------------------------------------------------------------------
    
    
    >> Initial configuration  
    
    Operating System: OpenBSD 5.1 or compatible
    
        Following will be a few questions for primary configuration so be careful.
        Default values are in [brackets] and can be accepted with <ENTER>.
        Tap in "quit" (without the quotes) to stop the installer.
    
    
    Select language (en,de) [en]: 
    
    Installation mode (standard,expert) [standard]: expert
    
    Full qualified hostname (FQDN) of the server, eg server1.domain.tld  [srv48devel.plitc.eu]: 
    
    MySQL server hostname [localhost]: 
    
    MySQL root username [root]: 
    
    MySQL root password []: ispconfig
    
    MySQL database to create [dbispconfig]: db_14
    
    MySQL charset [utf8]: 
    
    The next two questions are about the internal ISPConfig database user and password.
    It is recommended to accept the defaults which are 'ispconfig' as username and a random password.
    If you use a different password, use only numbers and chars for the password.
    
    ISPConfig mysql database username [ispconfig]: 
    
    ISPConfig mysql database password [91986c5b1204ef849d74def5e5e4030d]: 
    
    Shall this server join an existing ISPConfig multiserver setup (y,n) [n]: 
    
    Adding ISPConfig server record to database.
    
    Configure Mail (y,n) [y]: 
    
    Configuring Postfix
    Generating a 2048 bit RSA private key
    ............+++
    .....................+++
    writing new private key to 'smtpd.key'
    -----
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) []:DE
    State or Province Name (full name) []:
    Locality Name (eg, city) []:
    Organization Name (eg, company) []:
    Organizational Unit Name (eg, section) []:
    Common Name (eg, fully qualified host name) []:
    Email Address []:
    Configuring Mailman
    Configuring Dovecot
    Configuring Spamassassin
    Configuring Amavisd
    
    Illegal username. Please see the restrictions section of the man page.
    
    ^C
    # Caught signal SIGINT -- cleaning up.
    stty: tcsetattr: Input/output error
    
    #
    -m option von installer_base.lib.php gibts unter openbsd useradd nicht, also dann:

    Code:
    $command = 'useradd -g '.$cf['vmail_groupname'].' -u '.$cf['vmail_userid'].' -d '.$cf['vmail_mailbox_base'].' '.$cf['vmail_username'].' ';
    unter openbsd nennt sich der amavis user: _vscan

    wo ist er in den ispconfigs definiert?
     
  6. Brainfood

    Brainfood Member

    wieder etwas weiter:

    Anpassung: installer_base.lib.php
    Code:
    // Add the clamav user to the amavis group
                    exec('usermod -G _vscan _clamav');
    Code:
    Configuring Spamassassin
    Configuring Amavisd
    Configuring Getmail
    Configuring Pureftpd
    PHP Warning:  chgrp(): Unable to find gid for root in /tmp/ispconfig3_install/install/lib/installer_base.lib.php on line 1049
    sh: cannot create /etc/pure-ftpd/conf/ChrootEveryone: No such file or directory
    sh: cannot create /etc/pure-ftpd/conf/BrokenClientsCompatibility: No such file or directory
    sh: cannot create /etc/pure-ftpd/conf/DisplayDotFiles: No such file or directory
    sh: cannot create /etc/pure-ftpd/conf/DontResolve: No such file or directory
    Configuring BIND
    PHP Warning:  chgrp(): Unable to find gid for bind in /tmp/ispconfig3_install/install/lib/installer_base.lib.php on line 1147
    Configuring Apache
    PHP Warning:  symlink(): No such file or directory in /tmp/ispconfig3_install/install/lib/installer_base.lib.php on line 1209
    Configuring Vlogger
    PHP Warning:  chgrp(): Unable to find gid for root in /tmp/ispconfig3_install/install/lib/installer_base.lib.php on line 1413
    Configuring Apps vhost
    useradd: Warning: home directory `/var/www/apps' doesn't exist, and -m was not specified
    Illegal username. Please see the restrictions section of the man page.
    Illegal username. Please see the restrictions section of the man page.
    Illegal username. Please see the restrictions section of the man page.
    Illegal username. Please see the restrictions section of the man page.
     
  7. Till

    Till Administrator

    Die installer_base.lib wird für eine Anpassungen es Installers nie geändert, stattdessen überschreibst Du die Unterfunktionen die geändert werde sollen in der bSD spezifischen Controllerklasse so wie es für alle Linux Distributionen gemacht wird.
     
  8. Brainfood

    Brainfood Member

    ich wollte nur schauen ob das ganze ohne weiteres unter openbsd funktionsfähig ist, wenn dann alle änderungen in einer changelog zusammengefasst stehen, folgt eine saubere umsetzung:

    Code:
    # php -q install.php 
    
    
    --------------------------------------------------------------------------------
     _____ ___________   _____              __ _         ____
    |_   _/  ___| ___ \ /  __ \            / _(_)       /__  \
      | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ /
      | |  `--. \  __/  | |    / _ \| '_ \|  _| |/ _` |  |_ |
     _| |_/\__/ / |     | \__/\ (_) | | | | | | | (_| | ___\ \
     \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, | \____/
                                                  __/ |
                                                 |___/ 
    --------------------------------------------------------------------------------
    
    
    >> Initial configuration  
    
    Operating System: OpenBSD 5.1 or compatible
    
        Following will be a few questions for primary configuration so be careful.
        Default values are in [brackets] and can be accepted with <ENTER>.
        Tap in "quit" (without the quotes) to stop the installer.
    
    
    Select language (en,de) [en]: 
    
    Installation mode (standard,expert) [standard]: 
    
    Full qualified hostname (FQDN) of the server, eg server1.domain.tld  [srv48devel.plitc.eu]: 
    
    MySQL server hostname [localhost]: 
    
    MySQL root username [root]: 
    
    MySQL root password []: ispconfig
    
    MySQL database to create [dbispconfig]: db_23
    
    MySQL charset [utf8]: 
    
    Generating a 2048 bit RSA private key
    ..+++
    .......................................................................................................+++
    writing new private key to 'smtpd.key'
    -----
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) []:DE
    State or Province Name (full name) []:
    Locality Name (eg, city) []:
    Organization Name (eg, company) []:
    Organizational Unit Name (eg, section) []:
    Common Name (eg, fully qualified host name) []:
    Email Address []:
    Configuring Jailkit
    Configuring Dovecot
    Configuring Spamassassin
    Configuring Amavisd
    Configuring Getmail
    Configuring Pureftpd
    Configuring BIND
    Configuring Apache
    PHP Warning:  symlink(): No such file or directory in /tmp/ispconfig3_install/install/lib/installer_base.lib.php on line 1209
    Configuring Vlogger
    Configuring Apps vhost
    Illegal username. Please see the restrictions section of the man page.
    Illegal username. Please see the restrictions section of the man page.
    hättest du für Zeile 1209 ein Tipp, Till?
     
  9. F4RR3LL

    F4RR3LL Member

    Ich hab den ganzen Spaß schonmal für FreeBSD angefangen gehabt.
    Würde mich freuen wenn Du es sauber und vor allem upgradefhähig hinbekommst.

    Viel Erfolg.

    Gruß Sven
     
  10. Till

    Till Administrator

    Was steht denn in der zeile? Du hast die Datei ja wahrscheinlich schon verändert und ich weiß nicht auf welcher SVN Revision Dein aktueller Code basiert.
     
  11. Brainfood

    Brainfood Member

    @F4RR3LL

    Wir BSDler sind genug damit beschäftigt, ständig aus den Ports bauen zu müssen, eine schicke "apt-get update/upgrade" Funktion käme uns dann göttlich vor :D ... Linux / Debian mag zwar sehr einfach und schnell installiert und eingerichtet werden, wenn es jedoch an die Substanz geht ... fängt das gefrickel an ...

    Ich hätte schon gerne unter der ISPConfig3 Haube ein FreeBSD auf ZFS oder nen OpenBSD mit vernünftigem Crypto-Framework für meine Hifn Karten am Start ...

    @Till, ist ispconfig3-stable

    Zeile 1209:

    Code:
                    if(!@is_link($vhost_conf_enabled_dir.'/000-ispconfig.conf')) {
                            symlink($vhost_conf_dir.'/ispconfig.conf',$vhost_conf_enabled_dir.'/000-ispconfig.conf');
                    }
    
     
  12. Brainfood

    Brainfood Member

    Ach Till, hast etwas dagegen wenn ich die geänderte tar.gz hier als link reinstelle?

    vielleicht animiert das jemanden mitzumachen ...

    Wenn das ganze Open/Free-BSD Unterfangen mal etwas Licht am Ende des Tunnels bekommen sollte, vielleicht schaust du zum Schluss mal drüber und fügst es als optional unterstützte OS-Versionen mit in die stable/public rein ...
     
  13. Till

    Till Administrator

    Das Konfigurationsverzeichnis für die apache vhosts existiert bei Dir scheinbar nicht. Es muss 2 Verzeichnisse geben, eiens für die vhosts und eines für die symlinks zu den vhosts umd diese aktivieren / deaktivieren zu können ohne sie zu löschen. Standradmäßig ist das /etc/apache2/sites-enabled und /etc/apache2/sites-available. Diese kannst Du ja in install/dist/conf/ für jede Distribution festlegen.

    Kannst Du gerne machen.

    Wenn es funktioniert dann nehmen wir das gerne mit auf. Das Problem was ich aktuell sehe ist dass Du die Änderugen auf Basis von stable machst, alle Entwickler aber auf basis von svn arbeiten. Es wird in den nächsten Tagen eine neue Major Version von ispconfig 3 veröffentlicht (3.0.5) in der ein Jahr Entwicklungszeit und somit sehr sehr viele Änderungen stecken, wenn Du jetzt auf Basis von stable was entwickelst werden wir das kaum mehr aufnehmen können oder es komplett neu entwickeln müssen. Es wäre besser wenn Du die Version aus dem svn welche die neue stable in wenigen Tagen sein wird nimmst.
     

Diese Seite empfehlen