** Description changed: - When installing cacti on a system with lighttpd already installed + When installing cacti on a system with lighttpd already installed, debian/cacti.postinst runs but fails to set up a symlink for the file lighttpd.conf An excerpt of the code I believe to be at fault is here: # Only try to add a symlink on a fresh install to respect # changes done by the administrator if [ "$2" = '' ]; then - for server in $webservers; do - if [ -d "/etc/${server}/conf.d" ]; then - if [ ! -e "/etc/${server}/conf.d/cacti.conf" ] ; then - ln -s ../../cacti/apache.conf "/etc/${server}/conf.d/cacti.conf" - fi - invoke-rc.d $server reload || true - elif [ -d "/etc/${server}/conf-available" ]; then - if [ ! -e "/etc/${server}/conf-available" ] ; then - ln -s ../../cacti/lighttpd.conf "/etc/${server}/conf-available/cacti.conf" - fi - fi - done + for server in $webservers; do + if [ -d "/etc/${server}/conf.d" ]; then + if [ ! -e "/etc/${server}/conf.d/cacti.conf" ] ; then + ln -s ../../cacti/apache.conf "/etc/${server}/conf.d/cacti.conf" + fi + invoke-rc.d $server reload || true + elif [ -d "/etc/${server}/conf-available" ]; then + if [ ! -e "/etc/${server}/conf-available" ] ; then + ln -s ../../cacti/lighttpd.conf "/etc/${server}/conf-available/cacti.conf" + fi + fi + done fi I've included the part about apache to show where in regards to the full statement that the web server is restarted. I believe the correct behavior should be as follows: if [ "$2" = '' ]; then - for server in $webservers; do - if [ -d "/etc/${server}/conf.d" ]; then - if [ ! -e "/etc/${server}/conf.d/cacti.conf" ] ; then - ln -s ../../cacti/apache.conf "/etc/${server}/conf.d/cacti.conf" - fi - elif [ -d "/etc/${server}/conf-available" ]; then - if [ ! -e "/etc/${server}/conf-available/20-cacti.conf" ] ; then - ln -s ../../cacti/lighttpd.conf "/etc/${server}/conf-available/20-cacti.conf" - lighty-enable-mod cacti - fi - invoke-rc.d $server reload || true - fi - done + for server in $webservers; do + if [ -d "/etc/${server}/conf.d" ]; then + if [ ! -e "/etc/${server}/conf.d/cacti.conf" ] ; then + ln -s ../../cacti/apache.conf "/etc/${server}/conf.d/cacti.conf" + fi + elif [ -d "/etc/${server}/conf-available" ]; then + if [ ! -e "/etc/${server}/conf-available/20-cacti.conf" ] ; then + ln -s ../../cacti/lighttpd.conf "/etc/${server}/conf-available/20-cacti.conf" + lighty-enable-mod cacti + fi + invoke-rc.d $server reload || true + fi + done fi My changes reflect the fact that: - it needs to check if the file already exists rather than checking the directory - I've changed the file name to reflect what I believe to be an appropriate interpretation of the naming convention for the debian take on conf files for lighttpd which is nn-name where nn reflects the priority number - included a call to lighty-enable-mod to then enable the cacti conf file (as we are installing cacti aren't we?) - shifted the call to invoke a http reboot to after lighttpd statements so that in both apache and lighttpd cases the daemon is restarted - - There is also a problem with the lighttpd.conf file that is provided, it is as so: + There is also a problem with the lighttpd.conf file that is provided, it + is as so: # Cacti Alias alias.url += ( - "/cacti" => "usr/share/cacti/site", + "/cacti" => "usr/share/cacti/site", ) it should be: # Cacti Alias alias.url += ( - "/cacti" => "/usr/share/cacti/site", + "/cacti" => "/usr/share/cacti/site", ) to reflect that it is relative to the root directory rather than current.
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1132415 Title: if statement for symlink of lighttpd.conf is wrong in cacti.postinst To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/cacti/+bug/1132415/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs