Difference between revisions of "PhpSysInfo"

From Amahi Wiki
Jump to: navigation, search
Line 81: Line 81:
 
:<code>if ( trim($diskname != "") && (CommonFunctions::executeProgram('sudo', 'smartctl --all '.' '.$diskdev.' '.$diskname, $buffer, PSI_DEBUG))) {</code>
 
:<code>if ( trim($diskname != "") && (CommonFunctions::executeProgram('sudo', 'smartctl --all '.' '.$diskdev.' '.$diskname, $buffer, PSI_DEBUG))) {</code>
  
Just a note that all we changed was:
+
Just a note that all we changed was:<br />
<code>'smartctl', '--all'</code>
+
:<code>'smartctl', '--all'</code>
To:
+
To:<br />
<code>'sudo', '/usr/sbin/smartctl --all '</code>
+
:<code>'sudo', 'smartctl --all '</code>
 +
 
 
Change yours to be the same, including the space: all '
 
Change yours to be the same, including the space: all '
Be sure that line isn't broken into multiple lines. If it is you'll see on your xml.php?plugin=SMART page errors containing: \n
+
Be sure that line isn't broken into multiple lines. If it is you'll see on your ''xml.php?plugin=SMART'' page errors containing ''\n''
And be sure that /usr/sbin/smartctl is the correct path for your installation of smartctl.
+
And be sure that <code>smartctl</code> is the correct path.
  
Next we need to add your web server group to sudo to be able to run smartctl cmds:
+
Next we need to add your web server group to ''sudo'' to be able to run <code>smartctl</code> cmds:
 
  sudo visudo
 
  sudo visudo
Paste in this line under '# User privilege specification', changing your
+
Paste in this line under ''# User privilege specification'', changing your
 
web server group (apache) to your own. For example I have pasted in:<br />
 
web server group (apache) to your own. For example I have pasted in:<br />
 
:<code>apache ALL=NOPASSWD: /usr/sbin/smartctl</code>
 
:<code>apache ALL=NOPASSWD: /usr/sbin/smartctl</code>

Revision as of 19:50, 24 July 2015

Getting More Info

After the one click install of phpsysinfo in Amahi 6 or 7, you need to do some modifications to get all system information displayed.

Install lm-sensors

Fedora

open a terminal session and login as root or if you have sudo configured use sudo in front of all commands.

type

su -

at the prompt enter your root password

then type

yum install lm_sensors
sensors-detect

Ubuntu

sudo apt-get install lm-sensors
sudo sensors-detect


Answer the questions. At the end of sensors-detect, Type "yes" to have sensors-detect insert modules into /etc/modules, or edit /etc/modules yourself service module-init-tools start

See Install and configure lm-sensors for additional help.

Configure Settings

first make a backup of your original configuration file

cd /var/hda/web-apps/phpsysinfo/html
cp phpsysinfo.ini phpsysinfo.inibak

if neccessary

yum install nano

modify the configuration file

nano phpsysinfo.ini

optional changes

DEFAULT_LANG="en"
LOAD_BAR=true
USE_VHOST=true
SENSOR_PROGRAM="LMSensors"
HDD_TEMP="command"
HIDE_FS_TYPES="tmpfs,devtmpfs"


For Ubuntu run also

sudo dpkg-reconfigure hddtemp

and set suid to YES

after saving phpsysinfo.ini phpsysinfo will provide voltage, fan, temperature data and more

Configure SMART information

Ref: How to install phpSysInfo

yum install smartmontools

in phpsysinfo.ini (located in /var/hda/web-apps/phpsysinfo/html)

ADD_PATHS="/usr/sbin,/sbin"
PLUGINS="SMART"
DEVICES="/dev/sda,/dev/sdb"

You also need to change the plugin script and give apache permission to use smartctl with the sudo command:

Because the cmd 'smartctl' is only available to root; it will not work for your web server, we need to set some permissions on it and change the command it uses: First we make a copy of the original

cp /var/hda/web-apps/phpsysinfo/html/plugins/smart/class.smart.inc.php /var/hda/web-apps/phpsysinfo/html/plugins/smart/class.smart.inc.php.bak

Now edit the following file:

nano /var/hda/web-apps/phpsysinfo/html/plugins/smart/class.smart.inc.php

Search for (Ctrl+w) (line 60): --all It has this:

if ( trim($diskname != "") && (CommonFunctions::executeProgram('smartctl', '--all'.' '.$diskdev.' '.$diskname, $buffer, PSI_DEBUG))) {

Change it to:

if ( trim($diskname != "") && (CommonFunctions::executeProgram('sudo', 'smartctl --all '.' '.$diskdev.' '.$diskname, $buffer, PSI_DEBUG))) {

Just a note that all we changed was:

'smartctl', '--all'

To:

'sudo', 'smartctl --all '

Change yours to be the same, including the space: all ' Be sure that line isn't broken into multiple lines. If it is you'll see on your xml.php?plugin=SMART page errors containing \n And be sure that smartctl is the correct path.

Next we need to add your web server group to sudo to be able to run smartctl cmds:

sudo visudo

Paste in this line under # User privilege specification, changing your web server group (apache) to your own. For example I have pasted in:

apache ALL=NOPASSWD: /usr/sbin/smartctl