Change InnoDB file format to Barracuda

MySQL and MariaDB uses innoDB for storing the tables in a file format called Antelope.  For large sites, the Antelope format doesn't support more columns which makes the backup option a tedious process.
so it will be advised to change the file format to Barracuda. There are various options to do that. Here is a small workaround to change it to barracuda.

Open Mysql from the command prompt and execute the commands one by one

$] mysql -u root -p 

The username is root here
It will ask for the password: (Input the password here).

mysql> select  version();
mysql> show variables like "%innodb_file%";

The output will be like this
+--------------------------+----------+
| Variable_name            | Value    |
+--------------------------+----------+
| innodb_file_format       | Antelope |
| innodb_file_format_check | ON       |
| innodb_file_format_max   | Antelope |
| innodb_file_per_table    | ON       |
+--------------------------+----------+
4 rows in set (0.00 sec)

mysql> SET GLOBAL innodb_file_format = barracuda;

mysql> show variables like "%innodb_file%";      
+--------------------------+-----------+
| Variable_name            | Value     |
+--------------------------+-----------+
| innodb_file_format       | Barracuda |
| innodb_file_format_check | ON        |
| innodb_file_format_max   | Antelope  |
| innodb_file_per_table    | ON        |
+--------------------------+-----------+
4 rows in set (0.00 sec)

mysql> SET GLOBAL innodb_file_format_max = barracuda;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like "%innodb_file%";          
+--------------------------+-----------+
| Variable_name            | Value     |
+--------------------------+-----------+
| innodb_file_format       | Barracuda |
| innodb_file_format_check | ON        |
| innodb_file_format_max   | Barracuda |
| innodb_file_per_table    | ON        |
+--------------------------+-----------+
4 rows in set (0.00 sec)

See the picture below
Barracuda
Barracuda

Big Blue Button – a Virtual Classroom Software




This article appears in “Open Source For You” Magazine in June 2015 Edition. Its a simple and easy tryout. If you are a startup and cannot afford for software cost, here you go, its completely free. 
There are some links to images which you cannot see, if you want to see those images, please purchase it online http://electronicsforu.com/electronicsforu/subscription/subsc2scheme.asp

Introduction

BigBlueButton is a Voice Over IP (VOIP) based web conferencing software. This tool is helpful for remote learning, virtual classrooms, distance education, online learning, etc. Some of the features of BigBlueButton includes
  • Record and Playback the entire session
  • Whiteboard for lectures (Similar to a black board in a classroom)
  • Desktop Sharing
  • Integrated VOIP for listening and speaking
  • Presentation (Any pdf or presentation file can be uploaded for teaching)
  • Webcam can be shared between the users
  • Private and group chat (In case the teacher can chat with a student or the students and teachers can chat within a group)
This tool is completely open source and API is provided for deploying in local server. Also there is a developer version available for continuous development of the software.
BigBlueButton divides into three windows within a browser, the left side window shows the list of users joined during the session, the web camera control, audio, video control, etc. The middle window shows the whiteboard wherein the teacher can write, scribble, type, draw, etc to broadcast it to all the listeners and the right side window is a chat window in which all the users chat as a group or individually they can chat with the teacher or other users.

Installation of BigBlueButton in Ubuntu

BigBlueButton currently released the 0.9.0 version that can installed mainly on a Ubuntu 14.04 OS that is released with Long Term Support (LTS). Here are the recommendations before installing in a server.
Operating SystemUbuntu 14.04 – 64 bit
RAMMinimum of 4GB, but 8GB preferred
CPUA decent Quad Core CPU
Ports to be unlocked80, 1925,9123 (TCP Ports), 16384-32768 (UDP)
Space requirements500GB for recording and storage
Bandwidth100Mbps
ServerCan be a Bare metal rather than a Virtual machine
Table 1: prerequisites for BigBlueButton server
Installation of BigBlueButton in a server is a long process that consumes around 500MB of software to be downloaded and takes around 2 to 3 hours to complete.
Before installing the software, the following things have to be checked
  • Locale should be UTF-8
  • Check it using the command
—————————-CODE—————————–
$ cat /etc/default/locale

LANG=en_US.UTF-8

LANGUAGE="en_IN:en"

if not, then install the packages,

$ sudo apt-get install language-pack-en

$ sudo update-locale LANG=en_US.UTF-8

Check the version of Ubuntu

$ cat /etc/lsb_release

DISTRIB_ID=Ubuntu

DISTRIB_RELEASE=14.04

DISTRIB_CODENAME=trusty

DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"
—————————-CODE—————————–
Once the checks are over, here is the installation of BigBlueButton
Server Update
Check trusty multiverse is there in the sources.list, if not add the following
—————————-CODE—————————–
$ grep “multiverse” /etc/apt/sources.list
—————————-CODE—————————–
The output should have
—————————-CODE—————————–
deb http://in.archive.ubuntu.com/ubuntu/ trusty multiverse

if the above line is not there, you can add the following command

$ echo "deb http://us.archive.ubuntu.com/ubuntu/ trusty multiverse" | sudo tee -a /etc/apt/sources.list
—————————-CODE—————————–
Now update the server before proceeding to the next step, here is the command
—————————-CODE—————————–
$ sudo apt-get update

$ sudo apt-get dist-upgrade
—————————-CODE—————————–
Once the upgrading is over, restart the OS and now to install the LibreOffice. Ubuntu comes with LibreOffice 4.2.7 and BigBlueButton uses LibreOffice 4.3 for document conversion, so the PPA for LibreOffice 4.3 version have to be added.
—————————-CODE—————————–
$ sudo apt-get install software-properties-common

$ sudo add-apt-repository ppa:libreoffice/libreoffice-4-3
—————————-CODE————————–

Installation of Key of BigBlueButton

The local machine need to access the BigBlueButton server, so the key have to be installed. Here is the command for installing the key.
—————————CODE—————————–
$ wget http://ubuntu.bigbluebutton.org/bigbluebutton.asc -O- | sudo apt-key add -

$ echo "deb http://ubuntu.bigbluebutton.org/trusty-090/ bigbluebutton-trusty main" | sudo tee /etc/apt/sources.list.d/bigbluebutton.list

$ sudo apt-get update
—————————-CODE————————–
Install ffmpeg
ffmpeg is a software that needs to be installed since it creates the playback components like audio, video, presentation, desktop sharing, etc.  This tool needs other dependencies also, so a group of tools have to be installed. Also there are some customisation in the OS. So the entire code is pasted in a shell script and the script runs the command one by one.
Simply copy paste the following code in to a ffmpeg_install.sh file
----------------------------CODE-----------------------------

sudo apt-get install build-essential git-core checkinstall yasm texi2html libvorbis-dev libx11-dev libvpx-dev libxfixes-dev zlib1g-dev pkg-config netcat libncurses5-dev

FFMPEG_VERSION=2.3.3

cd /usr/local/src

if [ ! -d "/usr/local/src/ffmpeg-${FFMPEG_VERSION}" ]; then

sudo wget "http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2"

sudo tar -xjf "ffmpeg-${FFMPEG_VERSION}.tar.bz2"

fi

cd "ffmpeg-${FFMPEG_VERSION}"

sudo ./configure --enable-version3 --enable-postproc --enable-libvorbis --enable-libvpx

sudo make

sudo checkinstall --pkgname=ffmpeg --pkgversion="5:${FFMPEG_VERSION}" --backup=no --deldoc=yes --default
—————————-CODE—————————–
and run the file using
$ sh ffmpeg_install.sh
(This process will take almost more than an hour to install ffmpeg and it adds some modules into the kernel to support the audio, video, etc.
Install BigBlueButton
Finally install the BigBlueButton software using the following command   
$ sudo apt-get install bigbluebutton
The above command will install the entire library of softwares with all the necessary dependencies, and this will download as many as 400MB of software from the Server. Figure 1 shows the installation of BigBlueButton
Installation of Demo Software
If you want to see the demo of how BigBlueButton is used, you can install the software using the command
$ sudo apt-get install bbb-demo

If you want to remove, then use the following commands

$ sudo apt-get purge bbb-demo
Other Settings
To enable the WebRTC (Audio) for the Server, the following command can be used
$ sudo bbb-conf --enablewebrtc
To make a clean restart of BigBlueButton Server, you can use the following commands
$ sudo bbb-conf --clean

$ sudo bbb-conf --check
–clean will clear all the log files of bigbluebutton and –check will search through and find any errors. See the Figure 2 for the –check command. The IP address allocated to my server is 172.16.50.247 (its a local IP). To check the status of my server, you can see the Figure 3.
Once the demo server is opened, just distribute the IP addresses and the users can connected to the IP and they can join the session. During the first time, the browser checks for devices like Microphone, Speaker and Web camera. The users are having the option of joining the session only as a listener or both listener and a speaker. In case, the user need not allow the browser to access the device.
Integrating with MOODLE (A Case Study)
MOODLE is a open Source Learning Management System (LMS) that comes with various plugins for additional functionalities. BigBlueButton also has two plugins RecordingsBN and BigBlueButtonBN
BigBlueButtonBN
This is to integrate MOODLE and BigBlueButton so that a teacher can create an activity within MOODLE and the students can join themselves in the session. The teacher have the entire control of the session. The students can join the session, only after the teacher joins the session. Also the session can be recorded by the teacher and may be used for later use.
This plugin accepts two inputs URL and a Secret Key (This setting will be set by the administrator of MOODLE). The teachers and the students need not have any control over this setting. The secret can be obtained using
$ sudo bbb-conf –secret
  Secret: 1c5d8b004826c6edcbe19fxxxxxxxxxx
Both the above parameters have to be set as shown in the figure 4
Figure 4 – MOODLE Integration
Figure 5 – Full demonstration of BigBlueButton
Figure 5 shows the demonstration of a lecture on a white board wherein a teacher is typing an information and there are two other users in the session listening. The users are viewing the video of the teacher and they can send messages to the teacher through the window provided in the right side column.
Conclusion
Using these open source tools MOODLE and BigBlueButton, huge amount of money can be saved in learning and colleges/universities across the country come forward to motivate students and faculty members to learn/use open source tools for their learning.
Useful (Reference) Links:
To download MOODLE : http://moodle.org
Edit: Now recently Big Blue Button added a new functionality called “Poll”, in which a speaker can ask for a question and answered by the listeners anonymously and the poll can be shared instantly to the viewers.
See the screen shot here

Big Blue Button
Big Blue Button

Big Blue Button
Big Blue Button

Big Blue Button
Big Blue Button

How to enable Telnet and SSH in Mac OS

Enable Telnet
This post shows how to enable Telnet and SSH in Mac OS X.
To Enable Telnet, issue the following command (Open the Terminal and issue)
$] sudo launchctl load -w /System/Library/LaunchDaemons/telnet.plist
This will enable Telnet, and to check its working, try this
$] telnet localhost
To disable Telnet, issue the following command
$] sudo launchctl unload -w /System/Library/LaunchDaemons/telnet.plist
Enable SSH
To enable SSH, in the Mac OS X,
Open System Preferences -> Sharing -> Remote Login (Put the Tick Mark)

Once enabled, these machines can be connected remotely using their IP Addresses. Both these things works only when the port 22 and 23 are unblocked by the firewall
To check Telnet is working or not
$] telnet localhost
supply the username and password (you are connected..)

Virtual Host in Bitnami Lampstack

IF you have a website that runs with an IP address and you decide to move it to a domain, then here is the clear step.  Also this post will be helpful to you if you are running a same website by two different IP Address (One in campus and another outside the campus)
Prerequisites:

Your IP Address (Example): 172.16.1.10/site (Internal IP)
Your IP Address (Example): 28.45.34.101/site (External IP)

You want to move it to: example.com (instead of example.com/site)

Step 1:
Open the file /opt/lampstack-5.5.31-0/apache/conf/bitnami/bitnami.conf
In the above file, Change these lines  (The bold lines are the changed ones)

<VirtualHost _default_:80>
DocumentRoot “/opt/lampstack-5.5.31-0/apache2/htdocs/site”
<Directory “/opt/lampstack-5.5.31-0/apache2/htdocs”>
Options Indexes FollowSymLinks
AllowOverride All
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3 >
Require all granted
</IfVersion>
</Directory>

to
<VirtualHost _default_:80>
DocumentRoot “/opt/lampstack-5.5.31-0/apache2/htdocs/site
ServerName example.com
<Directory “/opt/lampstack-5.5.31-0/apache2/htdocs”>
Options Indexes FollowSymLinks
AllowOverride All
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3 >
Require all granted
</IfVersion>
</Directory>


Step 2: (Optional)
Open the file using sudo, /etc/hosts and include your IP with the domain name
GNU nano 2.2.6 File: /etc/hosts
127.0.0.1 localhost
127.0.1.1 administrator
172.16.1.10 example.com
28.45.34.101 example.com
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Once done, restart apache server or the bitnami server by issuing this command
$/opt/lampstack-5.5.31-0] ./ctlscript restart 
And now check example.com in the browser, you have done…..

If you manage apache server manually (Other than using bitnami lampstack), then you can edit the httpd-vhosts.conf file with the above steps.

How to access ext2, ext3 and ext4 filesystems in windows OS



Dual boot with Windows and Linux leads to the access of files in other Operating Systems. Viewing a windows partition on a Linux OS is not a big task. One can simply mount the OS and can see the files of windows within Linux.

But accessing Linux EXT2, EXT3 and EXT4 files within Windows can be done only through an external software.

EXt2FSD is a software that does this job. you can download the software from this link 
Once installed, its as easy as possible to “assign a drive letter ” to the partition.  Figure below shows that.

Ext2FSD
Ext2FSD

Ext2FSD
Ext2FSD

Its just a simple process to access the linux files within windows. This is really helpful for the machines with UEFI partition. When Linux Boot loader is deleted, this will help to retrieve the files.
Any other info, please comment below.

vokoscreen - a screen recorder for Linux

There are many screen recorders available for Windows and Mac. But over these years, getting a screen recorder for Linux is always a challenge.  There have been some screen recorders like recordmydesktop, gtk-recordmydesktop, qt-recordmydeskop. They are not user friendly and not suitable for productive recordings.
So, there should be some alternatives to control the video, audio, web camera, etc. Two such tools are available.
Here is the step to do that
$] sudo add-apt-repository ppa:vokoscreen-dev/vokoscreen-daily
$] sudo apt-get update
$] sudo apt-get install vokoscreen
But in the latest version of Ubuntu (16.04), it can given directly as
$] sudo apt install vokoscreen
Once installed, its very easy to use as shown in the following figures
vokoscreen
vokoscreen Video configuration

vokoscreen
Vokoscreen Audio Control

vokoscreen
vokoscreen webcamera control

vokoscreen
vokoscreen 

How to Mount NTFS and exFAT Partition in RHEL CentOS

Mounting NTFS

Mounting NTFS partition in CentOS/RHEL will need a simple trick. Here is the step.
$] sudo yum install epel-release

$] sudo yum install ntfs-3g

Suppose if the name of the device is /dev/sda3 and /dev/sda4, then here is the command to mount it from the terminal
$] sudo mkdir /mnt/WinE

$] sudo mkdir /mnt/WinD

$] sudo mount -t ntfs-3g /dev/sda3 /mnt/WinE  $] sudo mount -t ntfs-3g /dev/sda4 /mnt/WinD
If your windows OS is running with any updates or under hibernation, the above command will not work, Here is the solution for that. You can open the drives under read only mode.

if you get the error like shown above, here is the command 

$] sudo mount -t ntfs-3g /dev/sda3 /mnt/WinE -ro o

$] sudo mount -t ntfs-3g /dev/sda4 /mnt/WinD -ro o
NB: Sometimes you need not type "-t ntfs-3g", if the libraries are there, without this attribute also, the disk will be mounted.
Mounting in RHEL

Mounting exFAT file system

exFAT is another filesystem supported by the Unix families like (Mac OS). CentOS has a way to 
customise for mounting the exfat filesystem.

$] sudo yum install scons gcc fuse-devel rpmbuild
$] wget http://download1.rpmfusion.org/free/el/updates/6/SRPMS/exfat-utils-1.0.1-1.el6.src.rpm
$] wget http://download1.rpmfusion.org/free/el/updates/6/SRPMS/fuse-exfat-1.0.1-1.el6.src.rpm

$] rpm -ivh fuse-exfat-1.0.1-1.el6.src.rpm exfat-utils-1.0.1-1.el6.src.rpm

$] cd
./rpmbuild/SPECS
$] rpmbuild -ba fuse-exfat.spec
$] rpmbuild -ba exfat-utils.spec

$] cd
../RPMS/x86_64/
$] rpm -ivh fuse-exfat-1.0.1-1.el6.x86_64.rpm exfat-utils-1.0.1-1.el6.x86_64.rpm

The following is optional.
$] ln -s /usr/sbin/mount.exfat /sbin/mount.exfat

Again you can click the icon in the explorer to mount the exFAT partition, in the terminal

$] sudo mount -t exfat /dev/sdb2 /mnt/WinC