# Module modes A module can be external(in other/external git repo) or internal(SubModules/). In both cases the file structure is expected as shown below # List of possible Files and expected Structure * conf.sh * preconf.sh * generic.pkg.list * apt.pkg.list * dnf.pkg.list * ``-conf.sh * ``-preconf.sh * ``-generic.pkg.list * ``-apt.pkg.list * ``-dnf.pkg.list * config/* * CMSHook-preconf.sh * CMSHook-conf.sh ## The internal module location SubModules/`` # File Explanation | File Name | Description | | -------- | ------------ | | preconf.sh | Pre config/apt install commands runs for all web servers | | conf.sh| Configuration runs for all webservers | | generic.pkg.list | packagelist for this webserver and php for all distro's | | apt.pkg.list | packagelist for this webserver and php for distro's that use apt | | dnf.pkg.list | packagelist for this webserver and php for distro's that use dnf/yum | | ``-preconf.sh | Pre config/apt install commands runs for specified webserver | | ``-conf.sh | Configuration runs for specified webserver | | ``-generic.pkg.list | packagelist for specified webserver for all distro's| | ``-apt.pkg.list | packagelist for specified webserver for distro's that use apt| | ``-dnf.pkg.list | packagelist for specified webserver for distro's that use dnf/yum| | config/* | Directory for config files | | CMSHook-conf.sh | Will run as addtional preconf when CSM is installed| | CMSHook-conf.sh | Will run after a CSM is installed| # Defining in the menu ### Add the following to ModulesMenu.list For each webserver a list define seperate. ### Rules for modulenames in menu for all modules * a “:” needs to be appended * the repo name must not contain capital leters ### Rules for modulenames in menu for external modules * the name need a “/” pre and appended Example internal module name: "mynicetest-module" Example external module name: "/external-nice-module/" ### For Whiptail add under the previous “Options+” make sure to add to all supported webservers ``` Options+=(":" "." OFF) ``` ### For legacy add to the “``Options” variable after the last entry Make sure the the entry is quoted, otherwise the installer will break ### Extra step for external modules For external modules the raw git url shoud be added to “extModules.list” Example: https://git.ictmaatwerk.com/``/``/raw/branch/master/