bonienl Posted December 23, 2013 Share Posted December 23, 2013 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) Quote Link to comment
nicinabox Posted December 23, 2013 Share Posted December 23, 2013 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. Quote Link to comment
bonienl Posted December 23, 2013 Author Share Posted December 23, 2013 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)... Quote Link to comment
nicinabox Posted December 23, 2013 Share Posted December 23, 2013 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. Quote Link to comment
bonienl Posted December 23, 2013 Author Share Posted December 23, 2013 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... Quote Link to comment
peter_sm Posted December 24, 2013 Share Posted December 24, 2013 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 //Peter Quote Link to comment
Harpz Posted December 24, 2013 Share Posted December 24, 2013 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 //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. Quote Link to comment
Ockingshay Posted December 24, 2013 Share Posted December 24, 2013 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 Quote Link to comment
petrolboerke Posted December 28, 2013 Share Posted December 28, 2013 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? Quote Link to comment
bonienl Posted December 28, 2013 Author Share Posted December 28, 2013 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 ? Quote Link to comment
petrolboerke Posted December 28, 2013 Share Posted December 28, 2013 Did you put the web server plugin in the folder /boot/config/plugins ? yeah, and i'm using unraid 5.0.4 Quote Link to comment
bonienl Posted December 28, 2013 Author Share Posted December 28, 2013 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 Quote Link to comment
petrolboerke Posted December 28, 2013 Share Posted December 28, 2013 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 Quote Link to comment
bonienl Posted December 28, 2013 Author Share Posted December 28, 2013 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... Quote Link to comment
petrolboerke Posted December 28, 2013 Share Posted December 28, 2013 no, i only use the newest version of your web server plugin and the main addon => dynamix GUI Quote Link to comment
petrolboerke Posted January 2, 2014 Share Posted January 2, 2014 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 Quote Link to comment
hernandito Posted January 2, 2014 Share Posted January 2, 2014 Will this plugin work if I have the following webGUI installed? https://github.com/limetech/webGui I cant tell if these webGUI's are different. Thanks, H. Quote Link to comment
DaleWilliams Posted January 2, 2014 Share Posted January 2, 2014 [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. Quote Link to comment
bonienl Posted January 2, 2014 Author Share Posted January 2, 2014 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. Quote Link to comment
bonienl Posted January 2, 2014 Author Share Posted January 2, 2014 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. Quote Link to comment
petrolboerke Posted January 4, 2014 Share Posted January 4, 2014 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!! Quote Link to comment
bonienl Posted January 4, 2014 Author Share Posted January 4, 2014 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++). Quote Link to comment
HarryRosen Posted January 4, 2014 Share Posted January 4, 2014 everything works good until I install my xbmcsalud plugin, once I install that I lose the gui? any idea why? Quote Link to comment
bonienl Posted January 4, 2014 Author Share Posted January 4, 2014 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... Quote Link to comment
HarryRosen Posted January 4, 2014 Share Posted January 4, 2014 tried that they break each other, great work but won't work for me unless I can figure it out. thanks Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.