Category Archives: Linux

Linux being one of the most widely used system now a days we shared tips here which user may find useful
The commands and tricks being shared are already implemented on production servers
which you can use without any worries.

How to add multiple ips in centos 7

In centos 7 by default ifconfig command will not work.
You need to install it using this command yum install net-tools
1.  Create a file in /opt/1.sh
2.  create ip list in an excel sheet,
Example:
ip addr add 198.xxx.xx.xx dev enp6s0f0 label   enp6s0f0:1
ip addr add 198.xxx.xx.xx dev enp6s0f0 label   enp6s0f0:2
ip addr add 198.xxx.xx.xx dev enp6s0f0 label enp6s0f0:3
ip addr add 198.xxx.xx.xx dev enp6s0f0 label enp6s0f0:4
3. Add ips in /opt/1.sh file
4. Execute sh 1.sh for the ips to display in ifconfig
5. For the ips to reflect in ifconfig even after server is rebooted add this command sh /opt/1.sh in /etc/rc.d/init.d/network file and it should be added above exit $rc

Redirecting HTTP to HTTPS

Redirecting HTTP to HTTPS

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R,L]

Redirect Only a Specific Domain

RewriteEngine On
RewriteCond %{HTTP_HOST} ^yourdomain\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R,L]
Redirecting to HTTPS on a specific folder, add the following:

[ERROR] Can’t init tc log Mariadb

2018-03-30 2:06:19 139671858284288 [Note] InnoDB: Dumping buffer pool(s) not yet started
2018-03-30 2:06:19 139672598403328 [Note] Plugin ‘FEEDBACK’ is disabled.
2018-03-30 2:06:19 139672598403328 [Note] Recovering after a crash using tc.log
2018-03-30 2:06:19 139672598403328 [ERROR] Can’t init tc log
2018-03-30 2:06:19 139672598403328 [ERROR] Aborting

Was getting above error in mysql errorlog

The solution to this issue was just to go ahead and delete tc.log

rm -rf /var/lib/mysql/tc.log

Went ahead and restart mysql.. Mysql was online

root@server lib]# rm -rf /var/lib/mysql/tc.log
[root@server lib]# /etc/init.d/mysql restart
MySQL server PID file could not be found! [FAILED]
Starting MySQL.180330 02:07:40 mysqld_safe Logging to ‘/var/lib/mysql/server.cpanel.com.err’.
180330 02:07:40 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
[ OK ]
[root@server lib]#

 

Windows OS not visible on dual boot

We had attempted a dual boot vps on KVM based vps

The os were installed using ISO

First to start with windows and then linux

However after installing linux the windows OS went missing

ON googling around found a solution

The issue was due to missing modules where we had to install module  ntfs-3g

[root@ohours ~]# yum install ntfs-3g
Loaded plugins: fastestmirror
base                                                                                                                                                                                 | 3.6 kB  00:00:00
extras                                                                                                                                                                               | 3.4 kB  00:00:00
updates                                                                                                                                                                              | 3.4 kB  00:00:00
(1/4): base/7/x86_64/group_gz                                                                                                                                                        | 156 kB  00:00:00
(2/4): extras/7/x86_64/primary_db                                                                                                                                                    | 167 kB  00:00:00
(3/4): updates/7/x86_64/primary_db                                                                                                                                                   | 6.0 MB  00:00:00
(4/4): base/7/x86_64/primary_db                                                                                                                                                      | 5.7 MB  00:00:01
Determining fastest mirrors
* base: centos.mirror.lstn.net
* extras: centos.mirror.lstn.net
* updates: centos.mirror.lstn.net
No package ntfs-3g available.
Error: Nothing to do

we  had to use epel repository to install  ntfs-3g as its not available with normal repository

#Command to enable epel repository

[root@ohours ~]# yum install epel-release
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.mirror.lstn.net
* extras: centos.mirror.lstn.net
* updates: centos.mirror.lstn.net
Resolving Dependencies
–> Running transaction check
—> Package epel-release.noarch 0:7-9 will be installed
–> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================================================================================================================
Package                                               Arch                                            Version                                        Repository                                       Size
============================================================================================================================================================================================================
Installing:
epel-release                                          noarch                                          7-9                                            extras                                           14 k

Transaction Summary
============================================================================================================================================================================================================
Install  1 Package

Total download size: 14 k
Installed size: 24 k
Is this ok [y/d/N]: y
Downloading packages:
warning: /var/cache/yum/x86_64/7/extras/packages/epel-release-7-9.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Public key for epel-release-7-9.noarch.rpm is not installed
epel-release-7-9.noarch.rpm                                                                                                                                                          |  14 kB  00:00:00
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Importing GPG key 0xF4A80EB5:
Userid     : “CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>”
Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
Package    : centos-release-7-4.1708.el7.centos.x86_64 (@anaconda)
From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Is this ok [y/N]: y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : epel-release-7-9.noarch                                                                                                                                                                  1/1
Verifying  : epel-release-7-9.noarch                                                                                                                                                                  1/1

Installed:
epel-release.noarch 0:7-9                                                                                                                                                                               

Complete!

[root@ohours ~]# yum install ntfs-3g
Loaded plugins: fastestmirror
epel/x86_64/metalink                                                                                                                                                                 |  16 kB  00:00:00
epel                                                                                                                                                                                 | 4.7 kB  00:00:00
(1/3): epel/x86_64/group_gz                                                                                                                                                          | 266 kB  00:00:00
(2/3): epel/x86_64/updateinfo                                                                                                                                                        | 899 kB  00:00:00
(3/3): epel/x86_64/primary_db                                                                                                                                                        | 6.3 MB  00:00:00
Loading mirror speeds from cached hostfile
* base: centos.mirror.lstn.net
* epel: mirror.oss.ou.edu
* extras: centos.mirror.lstn.net
* updates: centos.mirror.lstn.net
Resolving Dependencies
–> Running transaction check
—> Package ntfs-3g.x86_64 2:2017.3.23-1.el7 will be installed
–> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================================================================================================================
Package                                        Arch                                          Version                                                     Repository                                   Size
============================================================================================================================================================================================================
Installing:
ntfs-3g                                        x86_64                                        2:2017.3.23-1.el7                                           epel                                        263 k

Transaction Summary
============================================================================================================================================================================================================
Install  1 Package

Total download size: 263 k
Installed size: 612 k
Is this ok [y/d/N]: y
Downloading packages:
warning: /var/cache/yum/x86_64/7/epel/packages/ntfs-3g-2017.3.23-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Public key for ntfs-3g-2017.3.23-1.el7.x86_64.rpm is not installed
ntfs-3g-2017.3.23-1.el7.x86_64.rpm                                                                                                                                                   | 263 kB  00:00:00
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Importing GPG key 0x352C64E5:
Userid     : “Fedora EPEL (7) <epel@fedoraproject.org>”
Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
Package    : epel-release-7-9.noarch (@extras)
From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Is this ok [y/N]: y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : 2:ntfs-3g-2017.3.23-1.el7.x86_64                                                                                                                                                         1/1
Verifying  : 2:ntfs-3g-2017.3.23-1.el7.x86_64                                                                                                                                                         1/1

Installed:
ntfs-3g.x86_64 2:2017.3.23-1.el7                                                                                                                                                                   

Complete!

#Using below command find the OS loaded in system

[root@ohours ~]# grub2-mkconfig > /dev/null
Generating grub configuration file …
Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-4754405db1084b4e8d440c2aef41bef8
Found initrd image: /boot/initramfs-0-rescue-4754405db1084b4e8d440c2aef41bef8.img
Found Windows Recovery Environment (loader) on /dev/sda1
done

if windows is not found the OS may have got formatted while installing other OS

However our windows os was intact as the results show

#make backup copy of grub.conf

sudo cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.old

#Recreate  the grub.conf to load windows and linux os using below command

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

and now reboot and see both OS load

umount: /backup: device is busy

While trying to unmount a secondary drive I see below error

umount: /backup: device is busy.

(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))

The issue was due to the drive /dev/sdb being used by some process

Below is the process on how to find process using drive and kill it and umount drive

# Command to unmount drive

root@oM1050 [/backup/weekly]# umount /backup
umount: /backup: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))

#command to see disk listing and name on which its mounted

root@oM1050 [/backup/weekly]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 48G 20G 26G 44% /
tmpfs 16G 0 16G 0% /dev/shm
/dev/sda1 865G 537G 285G 66% /home
/dev/sdc1 118G 93G 19G 84% /var
/dev/sdb 688G 686G 0 100% /backup

#command to find the process number which is using the drive

root@oM1050 [/backup/weekly]# fuser -m /dev/sdb
/dev/sdb: 11676c 12801c

# checking which process is running on it

root@oM1050 [/backup/weekly]# ps auxw|grep 11676
root 11676 0.0 0.0 109644 3088 pts/1 Ss 07:23 0:00 -bash
root 19587 0.0 0.0 105372 892 pts/1 S+ 07:32 0:00 grep 11676

# checking which process is running on it
root@oM1050 [/backup/weekly]# ps auxw|grep 12801
root 12801 1.2 0.0 106756 4544 pts/1 D 07:24 0:06 rm -i -rf 2018-02-14
root 19843 0.0 0.0 105372 896 pts/1 S+ 07:33 0:00 grep 12801

# killing the process which is engaged in /dev/sdb

root@oM1050 [/backup/weekly]# kill -9 12801
root@ok1050 [/backup/weekly]#
[1]+ Killed rm -i -rf 2018-02-14

and finally drive unmounted

root@ok1050 [~]# umount /backup
root@ok1050 [~]#

SMTP AUTH is required for message submission on port 587

The ‘SMTP AUTH’ error usually happens when users try to send mails without properly authenticating their mail account in email clients such as Outlook or Thunderbird.

What causes the error ‘SMTP AUTH is required for message submission on port 587’ in cPanel/WHM servers

With the latest cPanel/WHM update, email accounts that were working fine till now, may find their mails getting undelivered, showing this error message in the Exim log:

2018-01-17 05:57:40 H=(cruxserver12.com) [174.136.14.87]:63927 F=<zimphost@gmail.com> rejected RCPT <technical424@gmail.com>: SMTP AUTH is required for message submission on port 587
2018-01-17 05:58:09 H=(cruxserver12.com) [174.136.14.87]:63932 F=<zimphost@gmail.com> rejected RCPT <technical424@gmail.com>: SMTP AUTH is required for message submission on port 587

This has happened due to a latest security feature implemented in cPanel/WHM – ‘SMTP AUTH’ requires SSL by default.

To combat spamming in servers and to provide secure email transmission, email clients that try to send mails without using secure transmission will be denied mail delivery through the server.

The option that determines this is ‘Require clients to connect with SSL or issue the STARTTLS command before they are allowed to authenticate with the server’, which is set to ‘On’ by default, in WHM -> Exim Configuration Editor.

Setting it to Off will fix this issue  🙂

 

 

Your system has run out of available ip addresses, or you do not have permission to use any more ip addresses WHMCS

While activating a new account I could see an error

Your system has run out of available ip addresses, or you do not have permission to use any more ip addresses

The issue was due to the server running out of spare dedicated IP address

The issue can be resolved in 2 ways

1) Adding additional IP address in server

2) By editing file  /var/cpanel/packages/abckhosting which is a package file which is assigned to customers.

SSH to server in question on which account is activated  and  edit the package file as mentioned

vi /var/cpanel/packages/abckhosting

The parameter IP=y needs to be changed to  IP=n to get account activated without adding new  IP address.

BWLIMIT=unlimited
CGI=y
CPMOD=paper_lantern
DIGESTAUTH=n
FEATURELIST=default
HASSHELL=n
IP=n
LANG=en
MAXADDON=5
MAXFTP=5
MAXLST=unlimited
MAXPARK=5
MAXPOP=unlimited
MAXSQL=10
MAXSUB=5
MAX_DEFER_FAIL_PERCENTAGE=unlimited
MAX_EMAIL_PER_HOUR=unlimited
QUOTA=100000
_PACKAGE_EXTENSIONS=

 

This did help in creating new account without adding additional IP address

 

How to fix invalid cPanel license error when the IP is in fact licensed

 

Was getting below error on cpanel server  even when cpanel license was assigned for main server IP address

root@server4 [/etc/sysconfig/network-scripts]# /usr/local/cpanel/cpkeyclt
Updating cPanel license…Done. Update Failed!
Error message:
The cPanel license server said that there was no license for your IP address.
For more information visit: http://www.cpanel.net/lic.html

The exact message was: Abort, Retry, Fail?

Building global cache for cpanel…Done

 

The issue was due to wrong entries in  /etc/hosts file

went ahead and set the correct hostname and IP in  /etc/hots file and  refreshed cpanel license

root@server4 [/etc/sysconfig/network-scripts]# /usr/local/cpanel/cpkeyclt
Updating cPanel license…Done. Update succeeded.
Building global cache for cpanel…Done
root@server4 [/etc/sysconfig/network-scripts]#

 

Ffmpeg on Centos 7 and Centos 6

Login to server via SSH

Below steps are for Centos 7

yum -y install epel-release

rpm –import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

rpm -Uvh  http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release0-5.el7.nux.noarch.rpm

yum -y install ffmpeg ffmpeg-devel

 

Below steps are for Centos 6

yum -y install epel-release

rpm –import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

wget https://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-1.el6.nux.noarch.rpm

rpm ivh  nux-dextop-release-0-1.el6.nux.noarch.rpm

yum -y install ffmpeg ffmpeg-devel

 

now we need to install ffmpeg-php to get it working using PHP

yum -y install git
git clone https://github.com/tony2001/ffmpeg-php.git

cd ffmpeg-php
/usr/local/cpanel/3rdparty/php/56/bin/phpize
/opt/cpanel/ea-php56/root/usr/bin/phpize
./configure –with-php-config=/opt/cpanel/ea-php56/root/usr/bin/php-config

If you want to install on PHP 7 use

/opt/cpanel/ea-php7/root/usr/bin/phpize

 

[Usually before easyapache 4 only phpize would work] now as there are multiple version of PHP there is need to  phpize from above path.

The path would changes based on php version

if you are using PHP 7 path will be /opt/cpanel/ea-php70/root/usr/bin/phpize and

/opt/cpanel/ea-php70/root/usr/bin/php-config

You can find path using find command

[root@server ffmpeg-php]# find / -iname phpize
/opt/cpanel/ea-php55/root/usr/bin/phpize

/opt/cpanel/ea-php56/root/usr/bin/phpize

/opt/cpanel/ea-php70/root/usr/bin/phpize

 

Do not use path ./usr/local/cpanel/3rdparty/bin/phpize

 

Before compiling ffmpegphp

need to make sure all need files are in   /usr/include

When you install ffmpeg and ffmpeg-devel files get stored in  /usr/include/ffmpeg however ffmpeg while compiling looks for files in /usr/include/ so need to copy files to /usr/include using below command

scp -r /usr/include/ffmpeg/* /usr/include/

Now you can go ahead and compile

./configure –with-php-config=/opt/cpanel/ea-php56/root/usr/bin/php-config

Note [Path /opt/cpanel/ea-php56/root/usr/bin/php-config will changed on which version you are installing ffmpeg]

[root@server ffmpeg-php]# find / -iname php-config

/opt/cpanel/ea-php55/root/usr/bin/php-config
/opt/cpanel/ea-php56/root/usr/bin/php-config
/opt/cpanel/ea-php70/root/usr/bin/php-config

 

now before making make and make install few things need to be modified.

mv /usr/include/libavutil/time.h /usr/include/libavutil/time.h_

now go ahead with make and make install

now   again need to rename the above file

mv  /usr/include/libavutil/time.h_    /usr/include/libavutil/time.h

 

 

ffmpeg modules will be installed in below path

root@server ffmpeg-php]# ls -al /opt/cpanel/ea-php56/root/usr/lib64/php/modules/
total 2712
drwxr-xr-x 2 root root 4096 Dec 7 07:07 .
drwxr-xr-x 4 root root 4096 Feb 22 2017 ..
-rwxr-xr-x 1 root root 32608 Feb 22 2017 bcmath.so
-rwxr-xr-x 1 root root 33792 Feb 22 2017 calendar.so
-rwxr-xr-x 1 root root 15584 Feb 22 2017 ctype.so
-rwxr-xr-x 1 root root 86928 Feb 22 2017 curl.so
-rwxr-xr-x 1 root root 180728 Feb 22 2017 dom.so
-rwxr-xr-x 1 root root 281640 Dec 7 07:07 ffmpeg.so
-rwxr-xr-x 1 root root 57792 Feb 22 2017 ftp.so

 

Now go ahead and add extension=ffmpeg.so to php.ini for the PHP version you need and restart apache