Standard

WebVirtMgr@CentOS 6 KVM libvirtd

Install WebVirtMgr @ Centos 6:

# yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# yum -y install git python-pip libvirt-python libxml2-python python-websockify supervisor nginx
# git clone git://github.com/retspen/webvirtmgr.git
# cd webvirtmgr
# pip install -r requirements.txt
# ./manage.py syncdb
# ./manage.py collectstatic


##########Adding additional superusers

# ./manage.py createsuperuser

######
# cd ..
# mv webvirtmgr /var/www/
####NGINX VIRTULKA HOST:

# cat /etc/nginx/conf.d/webvirtmgr.conf 
server {
    listen       6699;
    server_name  kvm.belomor.nl:6699;
    

    location /static/ {
root /var/www/webvirtmgr/webvirtmgr;        
expires max;
    }

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-for $proxy_add_x_forwarded_for;
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_connect_timeout 600;
        proxy_read_timeout 600;
        proxy_send_timeout 600;
        client_max_body_size 1024M; # Set higher depending on your needs 
    }
}

###Update SELinux policy

# setsebool httpd_can_network_connect true 

####SET OWNER nginx
# chown -R nginx:nginx /var/www/webvirtmgr


#####################

Continue Reading →

more
Standard

WordPress backup & rsync to remote Debian host

script:

#!/bin/bash

#this script is: /home/gus/backup.sh
#backup are in: /data/backups

#set date of backup
sysdate=`date '+%Y-%b-%d-%H:%M'`
#set prefix for backup type
prefix='site-to-backup-data'
#make tar.gz archive backup of WP dir....
tar -zcvf /data/backups/${prefix}_$(date +%Y-%b-%d-%H:%M).tar.gz /data/site-to-backup/site-to-backupaz

#set prefix for mysq backup
prefix='site-to-backup-mysql'
#set user of mysql
MUSER='user'
#set passwors of mysl user
MPASS='passwd'
#mysq dump....
mysqldump -u $MUSER -p$MPASS --databases db_name --single-transaction | gzip -9 > /data/backups/${prefix}_$(date +%Y-%b-%d-%H:%M).sql.gz

#ROTATION
#delete old mysql backups (keep always the 10 most recent files)
cd /data/backups
ls -A1t | grep mysql | tail -n +11 | xargs rm -rf

#delete old site backups (keep always the 10 most recent files)
ls -A1t | grep data | tail -n +11 | xargs rm -rf
#echo date
echo "Full Backup Done@"$sysdate
<!--more-->
###RSYNC BACKUP STEPS:

##for backup on remote server was chosen 'gus-backup' user!

# ssh-keygen -f ~/.ssh/id_rsa -q -P ""

# scp -P NNNN /root/.ssh/id_rsa.pub [email protected]:/home/gus-backup/rsync-key.pub

#####On remote machine login via gus-backup!

$ if [ ! -d .ssh ]; then mkdir .ssh ; chmod 700 .ssh ; fi 
$ mv rsync-key.pub .ssh/ 
$ cd .ssh/ 
$ if [ ! -f authorized_keys ]; then touch authorized_keys ; chmod 600 authorized_keys ; fi 
$ cat rsync-key.pub >> authorized_keys 

######Check ssh login via key from source machine passwordless!

# ssh -p NNNN [email protected]

#check rsync relation from source server!

###########
# rsync --progress -e 'ssh -p NNNN' -avzp /data/backups [email protected]:/home/gus-backup/
###########

##############cron job:

# crontab -l
###START AT 01:30 AM EVERY DAY
#30 1 * * * /home/gus/backup.sh
###START AT 02:30 AM EVERY DAY
30 2 * * * rsync --progress -e 'ssh -p NNNN' -avzp /data/backups [email protected]:/home/gus-backup/
####EVERY MIN
*/1 * * * * /home/gus/backup.sh

Continue Reading →

more
Standard

Migrate KVM Guest running on LVM to another KVM Hypervizor.

Sharing tutorial how I have migrated vm.belomor.nl…

**///////////////// Create the key pair:

# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
02:39:0b:41:de:2e:1c:65:dd:54:82:5a:64:68:1f:e0 root@source-kvm
The key's randomart image is:
+--[ RSA 2048]----+
| .o +=o+o..      |
| . *oo= ..       |
|  +.E+ .         |
| . +.+.          |
|  o o . S        |
|   .   .         |
|                 |
|                 |
|                 |
+-----------------+

**/////////////////Share pubkey between the two hosts from source server

# ssh-copy-id root@destination-kvm
root@destination-kvm's password: 
Now try logging into the machine, with "ssh 'root@destination-kvm'", and check in:

  .ssh/authorized_keys

to make sure we haven’t added extra keys that you weren’t expecting.

**/////////////////Create Logical Volume on target:

# lvcreate -L 50G -n vm.belomor.nl vol_group_vm</strong>
  Logical volume "vm.belomor.nl" created

**/////////////////Pipe the volume to the target host:

# dd if=/dev/vol_group_vm/vm.belomor.nl | ssh root@destination-kvm 'dd of=/dev/vol_group_vm/vm.belomor.nl'

104857600+0 records in
104857600+0 records out
53687091200 bytes (54 GB) copied, 2632.79 s, 20.4 MB/s

**/////////////////Cofee Brake :)
**/////////////////Cofee Brake :)
**/////////////////Dump the xml definition.

# virsh dumpxml vm.belomor.nl > vm.belomor.nl_dump.xml

**/////////////////Transfer xml-file:

# scp vm.belomor.nl_dump.xml root@destination-kvm:/root/
vm.belomor.nl_dump.xml

**/////////////////Define the machine on target:

# virsh define vm.belomor.nl_dump.xml

Domain vm.belomor.nl defined from vm.belomor.nl_dump.xml

**/////////////////Start transferred machine:

# virsh start vm.belomor.nl

#######################AFTER SUCCESSFUL MIGRATION YOU CAN PROCEED WITH CLEAN UP PROCEDURE:

# virsh undefine vm.belomor.nl
Domain vm.belomor.nl has been undefined

# lvremove /dev/vol_group_vm/vm.belomor.nl 
Do you really want to remove active logical volume vm.belomor.nl? [y/n]: y
  Logical volume "vm.belomor.nl" successfully removed

Done...
# date
Tue Apr  5 13:56:10 AZT 2016

[email protected]; [email protected]

more
logo-ubuntu
Standard

Solve Overheating Issue In Ubuntu 14.04 (2 Graphic Adaptor issue)

After installation Ubuntu 14.04 on my laptop HP Envy dv6 with two graphic adaptors Intel/NVidia GT635M I discovered that my laptop start to overheat and make a noise in 5-10 minutes not only during playing flash or video but also during web browsing. The temperature increased up to 82 C. That appears due to Ubuntu can’t automatically switching between Intel/NVidia cards. I have implemented following solution to decrease temperature to 58 C.

First detect how many card your laptop has:

# lspci -vnn | grep -i VGA -A 12

then you should to install the latest NVidia drivers:

# sudo add-apt-repository ppa:xorg-edgers/ppa -y
# sudo apt-get update
# sudo apt-get install nvidia-current nvidia-settings

If you want, you can also select any version of NVidia drivers:

# aptitude search NVidia
nvidia-173
nvidia-304
nvidia-310
nvidia-319
nvidia-331
nvidia-340
nvidia-343
nvidia-current
nvidia-experimental-Х

after NVidia drivers installation complete you should to install Bumblebee Project to activate NVidia Optimus technology (improving performance metrics \ energy consumption)

# sudo add-apt-repository ppa:bumblebee/stable
# sudo apt-get update
# sudo apt-get install bumblebee bumblebee-NVidia
# sudo apt-get install primus

Done. Restart the system now you can use your laptop without fear to grill your balls :)

more
Standard

SSL Certificate Installation in Apache 2.x / Enable SSL/HTTPS on a Joomla

SSL Certificate Installation in Apache 2.2.15 (CentOS 6.7) / Enable SSL/HTTPS on a Joomla 2.5.9

#############################################################

1. First you need to generate a Certificate Signing Request CSR on Apache 2.x

# Openssl req –new  -newkey rsa:2048 –nodes –keyout ajdms.btrp.net.key –out ajdms.btrp.net csr

2. Create /etc/ssl/crt folder
3. Find and Copy ajdms.btrp.net.key file to new created folder /etc/ssl/crt
4. Upload received (if you procured) CRT files  ajdms_btrp_net.crt DigiCertCA.crt to /etc/ssl/crt
5. Edit Add following strings to httpd.conf

# cd /ect/httpd/conf
# vi httpd.conf

VirtualHost 192.168.200.100:443
DocumentRoot /var/www/dms
ServerName ajdms.btrp.net
SSLEngine on
SSLCertificateFile /etc/ssl/crt/ajdms_btrp_net.crt
SSLCertificateKeyFile /etc/ssl/crt/ajdms.btrp.net.key
SSLCertificateChainFile /etc/ssl/crt/DigiCertCA.crt
/VirtualHost

If you don’t have permissions for editing httpd.conf you can use this command

# chmod -R 777 /etc/httpd/conf/

6. Press Esc to exit inserting mode, then type :x to save close vi
7. Test your Apache config before restarting

# apachectl configtest

8. Restart Apache service

# apachectl stop
# apachectl start

#########################################################
Now we need to log into Joomla CPanel to complete HTTPS protocol enabling for Joomla
9. Go to Joomla Admin Panel — File Manager— Root Folder (Using Profiles module, can be downloaded here : http://extensions.joomla.org/extension/core-enhancements/file-management/profiles )
10. Open and add to  .htaccess file following strings

RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [QSA,R=301,L]
IfModule !mod_ssl.c>
Redirect permanent / https://ajdms.btrp.net

11. Enable SSL function in Joomla. Go to JoomlaAdmin Panel — Global Configuration —  Server—-Force SSL
12. Choose Entire Site
13. Check your web site it has SSL now.

more
Standard

Linux partition space alert script

A simple bash script to send email if /local mount point is used more than 90%:

# cat /root/disk.sh 
#!/bin/bash
CURRENT=$(df /local | grep /local | awk '{ print $5}' | sed 's/%//g')
THRESHOLD=90

if [ "$CURRENT" -gt "$THRESHOLD" ] ; then
    mail -s '!!!Disk Space Alert ORACLE oracle.belomor.nl!!!' [email protected] -c [email protected] -c [email protected] -c [email protected] << EOF
Oracle partition remaining free space is critically low. Used: $CURRENT%
EOF
fi

##############

hourly run script:

# crontab -l | grep disk
@hourly /root/disk.sh
# date

Fri Apr  1 14:31:27 AZT 2016

more