Line 452: |
Line 452: |
| | | |
| ===Download and install=== | | ===Download and install=== |
| + | <tabs container><tab name="For SME 10"> |
| + | You have to enable the epel repository: |
| + | yum install smeserver-extrarepositories-epel -y |
| | | |
− | You have to enable the '''[[epel]]''' repositories.
| + | then install nut-cgi: |
| yum install --enablerepo=epel nut-cgi | | yum install --enablerepo=epel nut-cgi |
| | | |
| + | then configure it the SME way: |
| Edit file /etc/ups/hosts.conf and add. | | Edit file /etc/ups/hosts.conf and add. |
| | | |
Line 520: |
Line 524: |
| } | | } |
| } | | } |
| + | |
| + | $OUT .= "#------------------------------------------------------------\n"; |
| + | $OUT .= "# nut multimon - $name\n"; |
| + | $OUT .= "#------------------------------------------------------------\n"; |
| + | |
| + | { |
| + | if ((exists $nut{'URL'}) && ($nut{'URL'} ne <nowiki>''</nowiki>)) { |
| + | $OUT .= "Alias /$nut{'URL'} /opt/nut-cgi-bin\n"; |
| + | } |
| + | } |
| + | |
| + | $OUT .= "Alias /nut /opt/nut-cgi-bin\n"; |
| + | |
| + | $OUT .= "\n"; |
| + | $OUT .= "<Directory /opt/nut-cgi-bin>\n"; |
| + | $OUT .= " DirectoryIndex upsstats.cgi\n"; |
| + | $OUT .= " Options +ExecCGI\n"; |
| + | $OUT .= " <Require$satisfy>\n" if ($pass); |
| + | $OUT .= " Require $allow\n"; |
| + | if ($pass) |
| + | { |
| + | $OUT .= " AuthName $name\n"; |
| + | $OUT .= " AuthType Basic\n"; |
| + | $OUT .= " AuthExternal pwauth\n"; |
| + | $OUT .= " require valid-user\n"; |
| + | $OUT .= " </Require$satisfy>\n"; |
| + | } |
| + | $OUT .= "</Directory>\n"; |
| + | } |
| + | } |
| + | |
| + | Configure databases and expand the template |
| + | |
| + | config setprop nut PublicAccess local |
| + | /sbin/e-smith/expand-template /etc/httpd/conf/httpd.conf |
| + | |
| + | {{Note box|The above sets access to the scripts to ''local'' ip addresses only. See the [[Web_Application_RPM#New_DB_settings]] for further info and settings}} |
| + | |
| + | Restart the web server |
| + | |
| + | systemctl restart httpd-e-smith |
| + | |
| + | </tab><tab name="For SME 9 and before"> |
| + | You have to enable the '''[[epel]]''' repositories. |
| + | yum install --enablerepo=epel nut-cgi |
| + | |
| + | Edit file /etc/ups/hosts.conf and add. |
| + | |
| + | MONITOR UPS@localhost "local UPS" |
| + | |
| + | The nut-cgi rpm contains three cgi scripts. The rpm does not install them correctly for SME however so the following modifications are needed. |
| + | |
| + | mkdir -p /opt/nut-cgi-bin |
| + | chown root:www /opt/nut-cgi-bin |
| + | mv /var/www/nut-cgi-bin/upsstats.cgi /opt/nut-cgi-bin |
| + | mv /var/www/nut-cgi-bin/upsset.cgi /opt/nut-cgi-bin |
| + | mv /var/www/nut-cgi-bin/upsimage.cgi /opt/nut-cgi-bin |
| + | chown root:www /opt/nut-cgi-bin/* |
| + | chmod 750 /opt/nut-cgi-bin/* |
| + | mkdir -p /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf |
| + | cd /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf |
| + | |
| + | Now edit and create a new file 92nutupscmon with the following content |
| + | |
| + | { |
| + | $OUT = ""; |
| + | my $allow = 'all granted'; |
| + | my $pass = '0'; |
| + | my $satisfy = 'All'; |
| + | my $name = $nut{'Name'} || 'NUT UPS Daemon Monitoring'; |
| + | my $PublicAccess = $nut{'PublicAccess'} || "local"; |
| + | |
| + | for ('exit-if-none') |
| + | { |
| + | if ($PublicAccess eq 'none') |
| + | { |
| + | next; |
| + | } |
| + | elsif ($PublicAccess eq 'local') |
| + | { |
| + | $allow = "ip $localAccess"; |
| + | $pass = 0; |
| + | $satisfy = 'All'; |
| + | } |
| + | elsif ($PublicAccess eq 'local-pw') |
| + | { |
| + | $allow = "ip $localAccess"; |
| + | $pass = 1; |
| + | $satisfy = 'All'; |
| + | } |
| + | elsif ($PublicAccess eq 'global') |
| + | { |
| + | $allow = 'all granted'; |
| + | $pass = 0; |
| + | $satisfy = 'All'; |
| + | } |
| + | elsif ($PublicAccess eq 'global-pw') |
| + | { |
| + | $allow = 'all granted'; |
| + | $pass = 1; |
| + | $satisfy = 'All'; |
| + | } |
| + | elsif ($PublicAccess eq 'global-pw-remote') |
| + | { |
| + | $allow = "ip $localAccess"; |
| + | $pass = 1; |
| + | $satisfy = 'Any'; |
| + | } |
| | | |
| $OUT .= "#------------------------------------------------------------\n"; | | $OUT .= "#------------------------------------------------------------\n"; |
Line 562: |
Line 674: |
| | | |
| sv t httpd-e-smith | | sv t httpd-e-smith |
| + | </tab> |
| + | </tabs> |
| | | |
| ===Usage of Nut-cgi Scripts=== | | ===Usage of Nut-cgi Scripts=== |