Jan 082010
 

Hi,

When I started this blog, I started it for my own benefit so I could remember those little tweaks or fixes which escape memory at crucial times when a needed repair or a new issue arose that I had never dealt with before. When I would research these issues, I would come across great posts and information I wanted to remember and posted that information here. If I did not give credit where credit was due regarding those posts and if you find something that was posted by you, please let me know and I will credit the post to you. I cannot remember where I pulled all of the information from so, if you see something that is yours, do not fret, I am not stealing your shtuff, I am posting it so all can read and learn from the mistakes and information I have gathered. Most of the posts are mine, but not all. Thank you all for your patience and information you have shared to better improve the linux experience.

Oh and by the way, if you see a post that has outdated or incorrect information, please, please, pretty please let me know so I can update it. Believe it or not, I use this site also and I want my information to be up to date as well. Thanks again for visiting.

 Posted by at 7:57 pm
Jan 122018
 

Howdy!

When running a script using nohup and piping the output to a logfile, I received this message:

nohup: ignoring input and appending output to `nohup.out'

This is simply a notice to let you know that the standard error message will also be sent to standard out which will then be redirect to a log file, usually nohup.out. If you would prefer to not to have the message printed, you can modify nohup to send both stderr and stdout to the same file. This is ideal for scripts run in cron or schedule to avoid unnecessary log messages.

Example of message when running a script:

nohup dstat --output /home/user/logs/myoutput_stats.csv -cmnl 3600 90 &
nohup: ignoring input and appending output to `nohup.out'

Use the following modification to avoid this message:

nohup dstat --output /home/user/logs/myoutput_stats.csv -cmnl 3600 90 > /dev/null &

 Posted by at 9:34 am
Jan 092018
 

Howdy ma Peeps!

Long time no post!

I recently ran into an issue with a client trying to update OpenJDK to 1.8.0 (using the “yum install java-1.8.0”) to his cPanel server (CenotOS 6.9 WHM v68.0.23) which failed with the error that it requires (Network Security Services) nss >= 3.28.4 (and the server is running nss 3.21.0).

In attempting to update nss, it looks as though there are exclusions in the yum.conf file which blocks the server from updating nss:

exclude=bind-chroot courier* dovecot* exim* filesystem httpd* mod_ssl* mydns* mysql* nsd* nss* p0f perl* php* proftpd* pure-ftpd* ruby* spamassassin* squirrelmail*

Once removed, the OpenJDK update completed without error.

 Posted by at 8:06 am
Oct 112017
 

Redis is an open-source, networked, in-memory, key-value data store with optional durability. It is written in ANSI C. It’s a “NoSQL” key-value data store. More precisely, it is a data structure server.

To install Redis as daemon on a CentOS/RHEL/cPanel server, complete the following steps

cd /usr/local/
wget http://download.redis.io/releases/redis-stable.tar.gz
tar -xvzf redis-stable.tar.gz
cd redis*
make
cp src/redis-server /usr/local/bin
cp src/redis-cli /usr/local/bin
mkdir -p /etc/redis
mkdir -p /var/redis
cp redis.conf /etc/redis/redis.conf

Next, open the/etc/redis/redis.conf file using vim or nano and adjust the values to the ones shown below:

daemonize yes
port 6379
bind 127.0.0.1
dir  /var/redis/
logfile  /var/log/redis.log
pidfile  /var/run/redis.pid

Then, create a new file /etc/init.d/redis and add the following contents to it ( Reference https://gist.github.com/paulrosania/257849 ). Now, make it executable ( chmod +x /etc/init.d/redis ).

#!/bin/sh
#
# redis - this script starts and stops the redis-server daemon
#
# chkconfig:   - 85 15 
# description:  Redis is a persistent key-value database
# processname: redis-server
# config:      /etc/redis/redis.conf
# config:      /etc/sysconfig/redis
# pidfile:     /var/run/redis.pid
 
# Source function library.
. /etc/rc.d/init.d/functions
 
# Source networking configuration.
. /etc/sysconfig/network
 
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
 
redis="/usr/local/bin/redis-server"
prog=$(basename $redis)
 
REDIS_CONF_FILE="/etc/redis/redis.conf"
 
[ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis
 
lockfile=/var/lock/subsys/redis
 
start() {
    [ -x $redis ] || exit 5
    [ -f $REDIS_CONF_FILE ] || exit 6
    echo -n $"Starting $prog: "
    daemon $redis $REDIS_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}
 
stop() {
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}
 
restart() {
    stop
    start
}
 
reload() {
    echo -n $"Reloading $prog: "
    killproc $redis -HUP
    RETVAL=$?
    echo
}
 
force_reload() {
    restart
}
 
rh_status() {
    status $prog
}
 
rh_status_q() {
    rh_status >/dev/null 2>&1
}
 
case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
	    ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
        exit 2
esac

Now make sure the daemon will start after server reboot.

chkconfig --add redis
chkconfig redis on

Now, you will want to touch /etc/redis/local.conf and put the following configs for redis in the file so it to work properly. go inside the /etc/redis/redis.conf file.

include /etc/redis/local.conf

Now we can start redis using command

/etc/init.d/redis start

To make sure redis is working, run the command

redis-cli ping 

from the CLI. If you get the result “PONG”, this will imply that redis is working correctly.

Now, to install the redis PHP extension, use the following commands (Note: if you run EA4 in WHM, install it via the PECL Module install feature).

pecl install redis

Now open your php.ini file (on a cPanel server)

/usr/local/lib/php.ini

and add the following line to it

extension=redis.so

Now restart Apache to apply the changes to php.ini file.

service httpd restart
 Posted by at 12:40 pm
Jun 082017
 

Howdy!

I won’t be going into a whole lot of detail about sar as this has been documented elsewhere multiple times but basically, SAR stands for System Activity Report and as its name suggests, the sar command is used to collect,report & save CPU, Memory, I/O usage in Unix like operating systems. The SAR command produces reports on the fly and can also save the reports in the log files as well. The sar man page states:

The sar command writes to standard output the contents of selected cumulative activity counters in the operating system. The accounting system, based on the values in the count and interval parameters, writes information the specified number of times spaced at the specified intervals in seconds. If the interval parameter is set to zero, the sar command displays the average statistics for the time since the system was started. If the interval parameter is specified without the count parameter, then reports
are generated continuously.

Continue reading »

 Posted by at 9:57 am
Jun 062017
 

As a request comes in, it is denoted in the scoreboard. The scoreboard itself is basically a way to keep track of each incoming, waiting, and completing connections. These connections are broken down into the following types:

  1. “_” Waiting for Connection
  2. “S” Starting up
  3. “R” Reading Request
  4. “W” Sending Reply
  5. “K” Keepalive (read)
  6. “D” DNS Lookup
  7. “C” Closing connection
  8. “L” Logging
  9. “G” Gracefully finishing
  10. “I” Idle cleanup of worker
  11. “.” Open slot with no current process

Here is an example of the apache scoreboard in WHM:
Continue reading »

 Posted by at 4:24 pm