Community Blogs

Devscript: Local Development Environments on Linux with just one Command

Did you ever have that experience when you’re setting up a new Development Environment when you’ve just formatted your system or when you somehow screwed up your Configuration?.

Or Maybe you just don’t want to google for an hour every time you set this stuff up?

Let me show you what it is like with the usual installation:

sudo apt-get install apache2

sudo apt-get install php5

sudo apt-get install mysql

sudo apt-get install php5-mcrypt

php5enmod mcrypt


We are really smart Developers, We shouldn’t need to do this stupid stuff.

So, How do we fix this?

You don’t need to, Its already fixed.

Have a look at this little tool called Devscript.

Its Local Development Environments with just one Command.

Don’t believe me? Just have a look at this little Video.

DevScript from Nihal Sahu on Vimeo.

Cool, Right?

Anyway ,Try Using DevScript for your projects too.

The Official Github Page


How to check processor and cpu details on Linux

Processor/Cpu details The details about the processor that we shall be talking about include, number of cores, availability of hyper threading, architecture, cache size etc. To find these details about the cpu on your system can be a bit difficult because the way different commands check them. The commands that we are going to use include lscpu, /proc/cpuinfo and lstopo (hwloc). They report detailed information about the cpu cores/processing units. The examples...
Read more... Comment (0)

Easy File Comparisons With These Great Free Diff Tools

File comparison compares the contents of computer files, finding their common contents and their differences. The result of the comparison is often known as a diff.

diff is also the name of a famous console based file comparison utility that outputs the differences between two files. The diff utility was developed in the early 1970s on the Unix operating system. diff will output the parts of the files where they are different.

Linux has many good GUI tools that enable you to clearly see the difference between two files or two versions of the same file. This roundup selects 5 of my favourite GUI diff tools, with all but one released under an open source license.

<A HREF="">Full article</A>


Web Development Tools for Linux & How to Install Them

Often due to some restrictions by the web development company, most of the web developers are forced to use free open source platforms such as Ubuntu. For such developers, it becomes headache to work without the tools that are mandatory and used for developing a website. However, there are some similar tools available for Linux that can be used in the web development.

In this article, we are going to see a good list of Web Design / Development tools for Linux. Additionally, the installation steps given for each tool are specially for Ubuntu, however it should also work on Debian operating system.


GIMP is an open source web designing tool and an alternative for Adobe Photoshop. Personally, I believe that it lacks some of the features as well as needs to be polished, however, once you are familiar with it, it will become a good alternative to Photoshop. This tool can be used for basic image manipulation, also may be decent at the more advanced stuff too, depending on the skills of the web designer.


How to install Gimp on Linux

sudo apt-get install gimp


Inkscape is an open source vector editor. Though the UI looks ugliest for some people, however I found this tool very powerful and packed with more great features as compare to Adobe Illustrator.


How to install Inkscape on Linux

sudo apt-get install inkscape


ImageMagick is basically a command line editor, especially useful for resizing, sharpening, adding filters and watermarks on images in bulk. Check the official website of ImageMagick for more instructions.

How to install ImagicMagick on Linux

sudo apt-get install imagemagick


gEdit assists in the tasks of reading, printing and editing of texts, simply and easily. Simple, yet full of features with tools such as copy, cut, paste, undo and redo, settings fonts and colors, the software has all the common features of text editors. This does not mean that Gedit is a basic editor, with several other features. Possessing highlight setting for various programming languages ​​such as C, C + +, Java, HTML, XML, Python, Perl, among others, gEdit can be a good choice as a text editor for programming and development on Linux platform.


How to install gEdit

sudo apt-get install gedit


The Sublime Text is a code editor which supports several languages ​​such as HTML5, CSS, PHP, ASP and Python, for example. The software has a very clean interface, and the black background of the screen does not bother reading anything. Two of the best features of it are the Multiple Selections and Command Palette, which allows you to access any menu item or let you open any document in just few key strokes.


How to install Sublime Text 2 on Linux

Check the installation steps here.


Sass - another method to write CSS. With Sass, we have more freedom to treat the styles applied concepts of OO programming. It uses the Ruby language to interpret their .scss files / .sass or compilers installed on your system (Mac, Windows, Linux) to transform .scss / .sass on. Css.

How to install Sass on Linux

In order to install Sass on a distribution of Linux, you'll require to install Ruby first. To install Ruby and then Sass, follow the steps given here.


Gcolor2 is tool that translates any shade of color, so you can use it in your image editor. It displays the color code in hexadecimal, their levels of saturation, hue, and RGB values ​​and opacity. This software also has feature to save the colors, name and code.


How to install gcolor2 on Linux

sudo apt-get install gcolor2


FileZilla is an application intended for users who want to connect to servers via FTP communication protocol. With it you can upload and download files from the web easily and quickly. It will run on almost anything such as OSX, GNU/Linux and Windows.


How to install Filezilla on Linux

sudo apt-get install filezilla


Drush is a simle command line shell and scripting interface developed for Drupal. It allows you to download, enable, disable, uninstall, update modules/themes/profiles/translations via the command line in a very simple way (apt-get style).

How to install Drush on Linux

sudo apt-get install drush

Once you have installed it, simply update it to the latest version using the following command.

sudo drush dl drush --destination='/usr/share'


PhpMyAdmin is a an excellent set of PHP scripts in a form of browser base interface to manage MySQL Server. It allows you to create, edit, view and delete databases.


How to install phpmyadmin on Linux

sudo apt-get install phpmyadmin


The tasksel is one of the most efficient terminal based application that installs multiple software at once on Linux distributions such as Debian, Ubuntu, Mint, etc...


How to install Tasksel on Linux

sudo apt-get install tasksel


VirtualBox is a more reputable options for operating systems in virtual machines emulation. With it you can run a system within another, like Ubuntu (or any other Linux distribution) on a Windows PC or Mac, and vice versa.

How to install Virtual Box on Linux

sudo apt-get install virtualbox


The ApacheBench Apache is a software used for testing the performance of web servers, regardless of the server used. This is very useful for comparing the performance of different configurations, but can not always show the reality of the environment.

How to install Apache Bench on Linux

sudo apt-get install apache2-utils


Lynx is a terminal-based web browser, used to display text only, ideal for systems based console or with few graphics. It is useless for web designers, but good for developers to test the code after writing.

How to install Lynx on Linux

sudo apt-get install lynx

Hope you find these tools helpful.


Setting up VPN on Linux

There is definitely a growing trend of people trying out Linux operating systems. The motivation might be the fact that they are free and generally considered superior to Windows when it comes to security and stability. People who want to give Linux a fair shot generally go with Debian-based forks like, Ubuntu, Linux Mint etc.

Although installing some of the most common software like, Skype, Web browsers, Music players are pretty easy using the software repositories, it could be quite intimidating for a newbie to configure VPN or install a new printer if it doesn't work out-of-box.

A VPN comes very handy to protect one's personal information, gain access to geo-restricted content -- for instance, one can use a US VPN to gain access to services like Spotify and Netflix, to secure their internet connection when using unprotected public networks. However, if one looks for the right tutorial or ask for help in discussion boards, one would realize the fact that setting up things on the popular Debian-based distributions is quite easy. There are 2 types of VPN solutions, OpenVPN and PPTP VPN. Today we are going to see how to setup VPN with PPTP on Ubuntu and its derivatives.

If you know a thing or two about Linux, it would only a few minutes to setup VPN. If you are beginner, stop bitting your nails, you are going to do just fine if you are a good at following instructions.

Server side setup

The server will be responsible to assign IP addresses to all the client machines in the network, be it Linux, Windows or Mac clients.

- 1. The very first thing is to install the PPTP package on your server. One can simply use the standard "apt-get" command to install. It is advisable to update the repositories first. Use the following commands. It will only take a few seconds for the installation to complete.

sudo apt-get update
sudo apt-get install pptdp

- 2. Now you will have to edit the pptd.conf file. The file resides in the following path, "/etc/pptpd.conf"
If you have GUI you can do it with your favorite text editor (e.g. Gedit).

sudo gedit /etc/pptpd.conf

Or you could use "nano" to edit the file right from the terminal.

sudo nano /etc/pptpd.conf

If you have not used nano before, you might as well check out this discussion on Ask Ubuntu [] for help.

- 3. You need to add the following two lines to "pptpd.conf."


What does these lines do? The VPN server will use the localip inside the VPN and an IP with in the range to 300 (e.g.,,, etc.,) will be assinged to the clients that connect to the server.

- 4. The next step is to add new users. You will have to use "nano" or a text editor or Gedit like you did with editing the pptpd.config file above. The file will have all the information about users and is stored in the following file, "/etc/ppp/chap-secrets"

Edit this file to add new users. You will have the enter certain details in the right order for this to work. First you will have to enter the client's name, followed by the server, the password and IP address.

So a couple of new client added to the VPN might look like this.

computer1 pptpd password *
computer2 pptpd password *

You can either use a specific IP address, but it is better to use asterisk, which means that any IP address in the range assigned could be used to login.

- 5. This step is optional, but is advised to assign a DNS server. There are several free DNSs out there, the 2 most popular are, OpenDNS and Google's DNS.

If you want to use OpenDNS, you should use these IP addresses & If you would like to use Google's DNS, you will have to use the IPs and To use OpenDNS you can add these lines to the file.


- 6. Almost everything on the server side is done. Now it is time to wake the daemon. To start PPTPD, you will have to use the following terminal command.

service pptpd start

- 7. Now you need to setup proper forwarding. This time you will have to edit the file "/etc/systl.conf"
There should be the following line in this file.

net.ipv4.ip_forward = 1

If it doesn't exist, copy paste this into the file and save the file and update it using the command,

"sysctl -p"

- 8. Finally if you wish the clients to communicate with one another, you will have to add the following rules.
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE && iptables-save

In the above rule, you will have to replace "eth0" with the internet connection that is used by the server. You can use the commands, iwconfig and ifconfig to figure this out.

# iptables --table nat --append POSTROUTING --out-interface ppp0 -j
# iptables -I INPUT -s -i ppp0 -j ACCEPT
# iptables --append FORWARD --in-interface eth0 -j ACCEPT

The above rule also requires you to use the correct internet connection like for the first rule. That's it everything on the server side has been configured and clients could now handshake with the server now.

Client side setup

It really doesn't matter what operating system the clients run. You can find tutorials to configure Windows and Mac OSX on the internet. There are even services like Switch VPN, that can help you connect you Android device to the VPN server quite easily. However, here we are going to see how one can easily setup a Debian-based client for VPN.

- 1. The client should have pptp installed. We have already done this step on the server. You will just have to do this again on your clients with the following terminal commands on Debian-based distros.

sudo apt-get update
sudo apt-get install pptp-linux

- 2. Now you will have to load the ppp_mppe module, which could be triggered with the following command.

modprobe ppp_mppe

- 3. Create client configuration file in the following directory (/etc/ppp/peers/). You can name this file whatever you want. But you will have to remember this file name to connect to the VPN server.

pty "pptp --nolaunchpppd"
name computer1
password password
remotename PPTP

If you had named this file "vpncomputer1", you should use the following command to connect to the server.

pppd call vpncomputer1

- 4. Finally for proper routing, you will have to execute the following line.

ip route add dev ppp0

The above steps can use used several times to add multiple clients to the server.


How to disable Ipv6 on Ubuntu, Linux Mint, Debian

Ipv6 Ipv6 is the next version of the addressing scheme Ipv4 that is currently being used to assign numerical address to domain names like over the internet. Ipv6 allows for more addresses than what Ipv4 supports. However it is not yet widely supported and its adoption is still in progress. Does your system support ipv6...
Read more... Comment (0)

9 ASCII Games You'll Want to Play Again and Again

Text-based games often receive little coverage in the Linux press. However, there are some real ASCII gems out there waiting to be explored which are immensely addictive and great fun to play.

<A HREF="">Read on</A>


20 things to do after installing Elementary OS 0.2 Luna

Elementary OS Luna Elementary OS is another very cool linux distro based on Ubuntu. It has an intense focus on visual design and user experience. It comes with its own desktop environment called Pantheon that is designed to resemble mac. In this post we are going to tweak elementary OS right after a fresh installation and also install some essential apps to fully load the desktop for the best experience. 1. Enable all software repositories Launch...
Read more... Comment (0)

Add a Printer On Linux With CUPS Web Utility

Apple Inc, is seen by many in the open source world as a power hungry and closed technology company. Although it might be the case to some extent, Apple has in fact contributed quite some open source code. The Darwin kernel based on FreeBSD, Webkit which is a open source browser engine and CUPS web utility to name a few are some of the projects Apple has released under GPL. The CUPS web utility is one project that many Linux users simply can't live without. Based on the Internet Printing Protocol (IIP), CUPS has become a standard printing service in many Linux distros, especially the ones that are based no Debian. Many Debian-based distributions like Ubuntu, Linux Mint, Elementary OS, etc are now bundled with the Common Unix Printing System. It was originally developed for Mac OS X and since it was made open source is now used by UNIX like operating systems.

If ou are using a Linux computer and wish to print from it, you should make use of CUPS to configure your printer. Let us take a look at how you can connect a printer with this print server.

  • 1. Most of the popular Linux operating system are pre-loaded with CUPS. To check if your Linux box has CUPS, open up a browser and load the following address, http://localhost:631/



If you get a page that looks something like in the image above, congratulations, you already have CUPS in your system. If you get an error, you should probably install it. For Ubuntu and and its derivative, you can use the following code to install it.

sudo apt-get update

sudo apt-get install cups

You should also check if all the CUPS dependensies are also installed and check its status.

dpkg -l cups

service cups status

  • 2. Once you have CUPS installed, visit the address mentioned above from your favorite web browser. Under administrator click on Add Printers and Classes. In the next page click on Add printers and you will have a page that looks like this. You might be asked to enter your username and password to security reasons.

add printer

Image source:

Choose “Internet Printing Protocol (https)” or “HP Printer (HPLIP)” if you have an HP machine. You can also use the https method to install your HP Printer.

  • 3. In the next page you will be required to add an IP address. This is the IP address of your printer. The IP of your printer could be easily found out using the following terminal commands.



If the printer is connected to a server the IP address of the server is going to the the IP of the printer, as well. It could look something like this, socket://, along with the port number if need be.

  • 4. You will now be asked for a Name, Description and Location of the printer. You can enter whatever you want in this these fields and also choose sharing option.

Add printer


  • 5. In the next page, you will be able to choose your printer using the Make and Model name. If you don't find your model in the printer, you can use your PPD file to configure the machine. Most of the PPD files could be downloaded from the printer manufacturers support website, a simple Google search will help you find the necessary PPDs. Once you have downloaded the PPD, you can browse to the folder using the CUPS interface and add the printer.
  • 6. Once the printer has been added, you can find your printer in the CUPS home page, using the following address http://localhost:631/

The machine is now ready for printing. You can now configure it, and queue jobs. Using the above steps, you will be able to add multiple printers to your Linux machine.

With the help of CUPS, installing a printer in a Linux machine is not as intimidating as it used to be in the old days even though you might have to use the terminal a couple of times. However on the downside, it might be impossible for you to find the ink level in your printer directly from the machine, like how you could do it with proprietary software provided by the manufacturer for Windows. So the next time you are buying printer ink, make sure you buy more supplies from Ink Station and Amazon for backup.


9 commands to check hard disk partitions and disk space on Linux

In this post we are taking a look at some commands that can be used to check up the partitions on your system. The commands would check what partitions there are on each disk and other details like the total size, used up space and file system etc. Commands like fdisk, sfdisk and cfdisk are general partitioning...
Read more... Comment (1)

20 things to do after installing Linux Mint 17 Qiana Cinnamon

Linux Mint 17 Qiana Cinnamon Linux Mint 17 has been released and is named Qiana. Mint is one of the best linux distros that targets desktop users with focus on usability and simplicity. It comes in various flavors with different desktop environments like Mate and Cinnamon and different base distros like Ubuntu or Debian. In this post we are playing with the cinnamon edition of Linux Mint 17. More information about the Cinnamon edition (including download links) can be...
Read more... Comment (0)
Page 3 of 132

Upcoming Linux Foundation Courses

  1. LFS230 Linux Network Management
    06 Oct » 09 Oct - Virtual
  2. LFD331 Developing Linux Device Drivers
    13 Oct » 17 Oct - Virtual
  3. LFS430 Linux Enterprise Automation
    13 Oct » 16 Oct - Virtual

View All Upcoming Courses

Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board