Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Dynamix - Web Server

Featured Replies

As explained in the Dynamix webGui topic, more information about Web Server (and email-notifications) is given here in a separate topic.

 

The challenge ahead is the management of slackware packages, or rather the unmanaged way of plugins installing different versions of the same package and interfere with each other.

 

I started with an investigation of two packages "openssl" and "sqlite" which are used by several plugins, including web-server and email-notifications and have caused quite a number of issues.

 

It turns out that most plugins download the version of "openssl" and "sqlite" which is available under slackware 13.37. This contradicts with the requirement of Limetech to install packages from slackware 13.1, however it is a given fact that only a few (none?) of plugins take packages from slackware 13.1, I guess people find them too outdated...

 

The approach I have taken for Dynamix web-server and email-notifications is that the user has the choice from which slackware distribution the packages should be downloaded. I know it is not a true answer to the solution, but it hopefully helps to avoid version conflicts.

 

How does it work?

 

You need to edit the PLG file (for windows users please take an editor which can handle unix file format, notepad++ is an excellent choice).

 

At the top of the PLG file you can find the following line:

 

<!ENTITY dir "13.37">   <!-- select slackware version for packages, see list below -->

 

By default the PLG will use slackware version 13.37 (this is chosen to avoid conflicts with other plugins), but it may be changed to version 13.1 (if you want to follow Limetech recommendations), or version 14.0 (if you want up-to-date packages), or you can choose current if you want to be on the bleeding edge.

 

Inside the web-server PLG file is a table which is used to make the correct selection of the packages. A custom installation script is invoked to read this table and download the package accordingly.

 

# Mandatory packages     13.1                13.37             14.0              current
a openssl-solibs  txz    0.9.8n-i486-1       0.9.8r-i486-3     1.0.1c-i486-3     1.0.1e-i486-1                   # openssl library
n openssl         txz    0.9.8n-i486-1       0.9.8r-i486-3     1.0.1c-i486-3     1.0.1e-i486-1                   # openssl library
d libtool         txz    2.2.6b-i486-2       2.4-i486-1        2.4.2-i486-1      2.4.2-i486-2                    # tools library
d m4              txz    1.4.14-i486-1       1.4.16-i486-1     1.4.16-i486-1     1.4.17-i486-1                   # m4 library
l libmcrypt       txz    2.5.8-i486-1        2.5.8-i486-1      2.5.8-i486-1      2.5.8-i486-1                    # mcrypt library
l pcre            txz    8.02-i486-1         8.12-i486-1       8.12-i486-1       8.33-i486-1                     # pcre library

# Recommended packages   13.1                13.37             14.0              current
ap sqlite         txz    3.6.23.1-i486-1     3.7.5-i486-1      3.7.13-i486-1     3.7.17-i486-1                   # sqlite library (used by SQLITE extension)
l libzip          txz    0.9-i486-2          0.9.3-i486-1      0.9.3-i486-1      0.10.1-i486-1                   # zip library (used by ZIP extension)
l freetype        txz    2.3.12-i486-1       2.4.4-i486-1      2.4.10-i486-1     2.5.0.1-i486-1                  # freetype library (used by GD extension)
l libjpeg         txz    v8a-i486-1          v8a-i486-1        v8a-i486-1        v8a-i486-2                      # jpeg library (used by GD extension)
l libpng          txz    1.4.2-i486-1        1.4.5-i486-1      1.4.12-i486-1     1.4.12-i486-1                   # png library (used by GD extension)
l t1lib           txz    5.1.2-i486-1        5.1.2-i486-2      5.1.2-i486-3      5.1.2-i486-3                    # t1 library (used by GD extension)
x libxcb          txz    1.6-i486-1          1.7-i486-1        1.8.1-i486-1      1.9.1-i486-1                    # xcb library (used by GD extension)
x libX11          txz    1.3.3-i486-1        1.4.3-i486-2      1.5.0-i486-1      1.6.2-i486-1                    # x11 library (used by GD extension)
x libXau          txz    1.0.5-i486-1        1.0.6-i486-1      1.0.7-i486-1      1.0.8-i486-1                    # xau library (used by GD extension)
x libXdmcp        txz    1.0.3-i486-1        1.1.0-i486-1      1.1.1-i486-1      1.1.1-i486-1                    # xdmcp library (used by GD extension)
x libXpm          txz    3.5.8-i486-1        3.5.9-i486-1      3.5.10-i486-1     3.5.11-i486-1                   # xpm library (used by GD extension)

# Optional packages      13.1                13.37             14.0              current           remove this
l aspell          txz    0.60.5-i486-2       0.60.6-i486-1     0.60.6-i486-1     0.60.6-i486-1     no-install    # spelling library (used by PSPELL extension)
l enchant         txz    1.5.0-i486-1        1.5.0-i486-1      1.5.0-i486-1      1.6.0-i486-1      no-install    # enchant library (used by ENCHANT extension)
l libxslt         txz    1.1.26-i486-1       1.1.26-i486-1     1.1.26-i486-2     1.1.28-i486-1     no-install    # xslt library (used by XSL extension)
a xz              tgz    4.999.9beta-i486-1  5.0.2-i486-1      5.0.4-i486-1      xz-5.0.5-i486-1   no-install    # xz utility (used by XSL extension)
n curl            txz    7.20.1-i486-1       7.21.4-i486-1     7.27.0-i486-2     7.31.0-i486-1     no-install    # curl library (used by CURL extension)
n net-snmp        txz    5.5-i486-2          5.6.1-i486-1      5.6.1-i486-5      5.7.2-i486-2      no-install    # snmp library (used by SNMP extension)

 

There is an option to install or *not* install a package. Anything 'mandatory' must be installed, either by the web-server plugin or another plugin.

 

A number of recommended packages is installed too, but you may choose not to install them (for example when no use of the GD extension is required). If so then add "no-install" for the particular package.

 

The optional packages can be installed by removing the "no-install" text.

 

Hopefully this helps people in making the right choice and avoid conflicts (though not guaranteed)  ;D

  • Replies 92
  • Views 26.3k
  • Created
  • Last Reply

Part of the reason why we have these package conflicts to begin with is due to Slackware's philosophy of "let the user manage package versions". This turns out of be quite questionable in practice and puts the burden of choice on the user and no accountability on the developer. This is high risk for the user and makes for unreliable software and a poor experience.

 

It is the developer's responsibility to know what the potential package conflicts are and know what required packages are truly compatible with the deliverable. That means you need to do a TON of testing.

 

Your blanket method above may or may not work. You may need to allow some packages from each Slackware release. For example, in my application, I had to use glibc from 13.1, kernel-headers from 13.37, and libyaml from 14.0.

 

Just because a package is newer, doesn't mean it's incompatible. Conversely, just because a package is older doesn't mean it's more reliable.

 

Shameless plug: Part of the reason I built boiler was to deal with dependency resolution in plugins. It has a sophisticated method for dealing with dependency versions that makes it easy for devs. If devs could work together to build a more homogeneous ecosystem, we could avoid a lot of these dependency issues.

 

Just my two cents.

  • Author

I am not saying my approach is the best, it is just a way of dealing with the problem :)

 

I am following your 'boiler' initiative and think it has good potential, to make it truly work it should become 'standard' in unRAID and give developers an incentive to start using it.

 

At the moment there are too few rules to follow (my 2 cents)...

I wish this topic got more attention from Limetech. I think it would be high value to a lot of us trying to help with the pain points we experience and have a place to bring together our ideas and create some standards.

  • Author

I wish this topic got more attention from Limetech. I think it would have high value to a lot of us trying to help with the pain points we experience and have a place to bring together our ideas and create some standards.

 

Yeah, developers are at the moment a bit a loose end, it will definitely help to get more focus...

Or Tom  change so we have unraid backed in to a another distro (OpenSuse, Arch ,centOS)

 

Then we might not need all this "user plugins"  ;)  but that perhaps that is another discussion we might discus somewhere else  ;D

 

//Peter

Or Tom  change so we have unraid backed in to a another distro (OpenSuse, Arch ,centOS)

 

Then we might not need all this "user plugins"  ;)  but that perhaps that is another discussion we might discus somewhere else  ;D

 

//Peter

 

I couldn't agree more, at a bit of a loose end was going to update my server so i could run an unRaid VM and another VM with a Linux distro running webserver, ownclould, transmission and what ever else i could put on it.

 

Never been a fan of all these plugins makes things problematic on a solid system, anyway back to topic.

Right, I really apologize for this guys.  Here's what I'm aiming for:

 

1/ Publish 5.0.5 - this has a couple minor fixes

2a/ Publish 5.1-beta1 - this is 5.0.5 with latest 'webGui' integrated.

2b/ Push this 'webGui' onto github as 'webGui-master'.

3/ Publish 6.1-beta1 - this is 64-bit unRaid with numerous updates including 'webGui-master' and virtualization support.

 

Idea is webGui will run on both platforms.

 

Lets hope the timescale isn't the same a version 5 final :)

hello,

i cant get the server working...

all i hae installed is the gui from dynamix

 

when i try to install the web server, the main gui doesn't work anymore

 

what can the the problem be?

 

  • Author

hello,

i cant get the server working...

all i hae installed is the gui from dynamix

 

when i try to install the web server, the main gui doesn't work anymore

 

what can the the problem be?

 

Did you put the web server plugin in the folder /boot/config/plugins ?

Did you put the web server plugin in the folder /boot/config/plugins ?

 

yeah, and i'm using unraid 5.0.4

  • Author

Did you put the web server plugin in the folder /boot/config/plugins ?

 

yeah, and i'm using unraid 5.0.4

 

How did you install the web server plugin, did you use CLI and the command "installplg" ?

 

Can you execute the following (telnet into your system) and post the results:

lighttpd -f /etc/lighttpd.conf

 

php -v

 

 

at the moment i cant, im copying large amount of data.

but when i can, i will do it :)

 

i did't use any commands, i hust rebooted the system

  • Author

at the moment i cant, im copying large amount of data.

but when i can, i will do it :)

 

i did't use any commands, i hust rebooted the system

 

no worries!

 

Do you have any other plugins besides Dynamix installed, there might be a conflict...

no, i only use the newest version of your web server plugin and the main addon => dynamix GUI

 

How did you install the web server plugin, did you use CLI and the command "installplg" ?

 

Can you execute the following (telnet into your system) and post the results:

lighttpd -f /etc/lighttpd.conf

 

php -v

 

lighttpd -f /etc/lighttpd.conf => 2014-01-02 12:00:05: (log.c.166) server started

php -v => php: error while loading shared libraries: libmcrypt.so.4: cannot open shared object file: No such file or directory

 

 

 

[LimeTech GUI and LimeTech Enhanced GUI]

I cant tell if these webGUI's are different.

Great Question.

The GUIs are different, but DYNAMIX builds upon and reuses the structure of the stock GUI.

There are bound to be lots of questions about inter-compatibility.  Perhaps it would be good to keep track of these--this question is bound to recur.

 

 

I ensured compatibility by removing SimpleFeatures, unMENU, and the LimeTech enhanced GUI just to be sure that there were no conflicts.

 

 

  • Author

The notes on the Dynamix web page state the following:

 

Dynamix webGui completely replaces the stock unRAID GUI which comes with version 5.0, do not use Dynamix webGui on any earlier versions - including the earlier RC candidates of unRAID. Do not mix Dynamix and SimpleFeatures plugins, these are not compatible. ...

 

... The following plugins can be used to further enhance the functionality of Dynamix. They all require the Dynamix webGui to be present (installation of the add-on will be aborted when the Dynamix webGui isn't detected).

 

When installing the Dynamix webGui it will delete the Limetech updated webGui (if present) to avoid conflicts, you guessed it - these two don't work together.

  • Author

 

How did you install the web server plugin, did you use CLI and the command "installplg" ?

 

Can you execute the following (telnet into your system) and post the results:

lighttpd -f /etc/lighttpd.conf

 

php -v

 

lighttpd -f /etc/lighttpd.conf => 2014-01-02 12:00:05: (log.c.166) server started

php -v => php: error while loading shared libraries: libmcrypt.so.4: cannot open shared object file: No such file or directory

 

The PHP error refers to a problem in the OPENSSL library, either PHP or OPENSSL didn't get installed properly, or you have another plugin installed which may have a conflicting openssl package installed.

 

Can you telnet into your server and do  the following:

 

rm /boot/config/plugins/dynamix.web.server*.plg

rm /boot/config/plugins/dynamix/dynamix.web.server*

rm /boot/packages/openssl*

 

Reboot your system to complete the uninstall of the web server and associated packages.

 

Next download the latest PLG file (right-click and choose "save link as" - store it in /boot/config/plugins

 

And re-install the web server plugin

 

cd /boot/config/plugins

installplg dynamix.web.server-2.0.2-noarch-bergware.plg

 

Also make sure there are no *competing* plugins installing openssl as well.

by removing openssl in packages everything is working perfect!

i must say, finally curl is also working :)

 

no i still have to install mysql, and then i'm good to go :)

 

thx!!

  • Author

by removing openssl in packages everything is working perfect!

i must say, finally curl is also working :)

 

no i still have to install mysql, and then i'm good to go :)

 

thx!!

 

Good to hear  :)

 

By default the mySQL extension in PHP is disabled, you need to edit the file /boot/config/plugins/dynamix/dynamix.php.cfg and remove the ';' for the mysql extension.

 

extension=mysql.so

extension=mysqli.so

 

Please use an editor which can handle linux file format (e.g. notepad++).

 

everything works good until I install my xbmcsalud plugin, once I install that I lose the gui? any idea why?

  • Author

everything works good until I install my xbmcsalud plugin, once I install that I lose the gui? any idea why?

 

xbmcsalud installs a number of libraries which conflict with the installation of Dynamix web server.

 

It breaks the updated version of PHP, used by the GUI, resulting in the loss of the GUI.

 

You can try to install Dynamix web server using slackware build 13.1. Therefore you need to edit the PLG file and change:

 

<!ENTITY dir "13.37">

into

 

<!ENTITY dir "13.1">

After that install the package:

 

cd /boot/config/plugins

installplg dynamix.web.server-2.0.2-noarch-bergware.plg

 

I don't use xbmc myself, but maybe others can chime in...

 

tried that they break each other, great work but won't work for me unless I can figure it out.

 

thanks

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.