36 tutorials Linux


Linux is a Unix like operating system kernel developed by Linus Torvalds in 1991. The Linux kernel is used in a huge range of electronic devices including computers, phones, embedded systems, home appliances, etc.

Why is it called GNU/Linux sometimes?

It’s a long story, but unless you are a kernel developer you don’t interact with the Linux kernel directly every day. A kernel cannot run by itself, it needs programs and applications. The story goes that Richard Stallman, a pioneer of the free software movement in the 80s was trying to build a free ( free as in freedom ) operating system, and by the early 90s he had all the programs and applications he needed to complete the operating system, he was just lacking a kernel. When Linus Torvalds released his kernel in 1991, it was chosen as the GNU kernel and thus the GNU operating system was completed. The combination of GNU and Linux is what we call today a Linux Distribution. Many programs we use in a Linux distribution were built by GNU so to give credit to Richard Stallman many people call Linux GNU/Linux. Debian one of the first Linux distributions that came out of this duo, still refer to their Linux distribution GNU/Linux. It is important to note that Richard Stallman tried to create his own kernel called GNU Hurd but he never was able to make it stable enough to include it in the GNU operating system, so Linux was chosen instead.

Why isn’t Linux popular?

Linux is the most popular operating system in the world, people just don’t see it. Linux is like the air, is here and everywhere but people don’t see it and don’t talk about it. Many people haven’t even heard of the word Linux in their life even though they use an Android device every day. 95% of all web servers powering the Internet today are using Linux, NASA uses Linux to launch rockets into space, the international space station use Linux for their computing, etc. 82% of all smart phones in the world are powered by Android which uses Linux for its kernel, and most likely the fridge and microwave you use in your kitchen everyday are powered by a Linux based firmware. People that claim that Linux is not popular are probably referring to Linux popularity in the desktop market dominated by Windows and Mac OS, and they are correct, Linux has never been popular in the desktop market. as of now the Linux desktop market share is about 2%. Why Linux has never been popular in the desktop market is up for debate, but the fact that nobody owns Linux has made it difficult to market the operating system to the general masses.

What are the best Linux distributions to run in a laptop or desktop?

  • Ubuntu – is probably the most popular Linux distribution to use in a laptop/desktop right now.
  • Linux Mint – Many people like to use Linux Mint because it comes with everything installed out of the box. there is no media codecs, and other proprietary stuff to install, Mint includes it all by default.
  • Fedora – Fedora is the free Linux distribution packaged by Redhat. many people like Fedora because it includes cutting edge technologies in every release, and it features GNOME, the most used desktop environment in the Linux world.
  • OpenSUSE – for people that prefer the KDE desktop environment, OpenSUSE is regarded as the best KDE distro by many.
  • Debian – Debian is the father of Ubuntu, Linux Mint, and so many other Linux distributions. if you want to start from the root, use Debian.
  • Elementary OS – Elementary OS is an Ubuntu derivative Linux distribution that resembles the Mac OS interface a lot. many people like it because it is very gorgeous and easy to use.
  • Arch Linux – Arch Linux is revered by many Linux nerds. if you really want to learn Linux, you should try installing Arch to get an idea what you’re really up to. like the nerds say, when you learn Ubuntu or Fedora you learn Ubuntu or Fedora, but when you learn Arch, you learn Linux.

What are the best Linux distributions to run in a server?

  • Ubuntu Server – Ubuntu has a large presence in the server environment especially in cloud environments like Amazon, Windows Azure, and a bazillion of web hosting companies.
  • RedHat/CentOS – Redhat and its derivative CentOS is still the preferred Linux distribution to run on servers by many.
  • SUSE Linux – SUSE is a very popular server Linux distribution in Europe, and liked by many because it includes full solutions and is backed by a big name like Novell.
  • Debian – Many people run Debian on the servers because of its stability and long life support.

In this page you will find many tutorials based on Linux and applications that use Linux as their preferred operating system.


Are you new to Ubuntu? Did you hear about Ubuntu from a friend and want to try it out?  Are you trying to start using Linux in your computer but need help getting started? In this section you will find everything you need to know to get familiar and get started using Ubuntu.

What is Ubuntu?

Ubuntu is a Linux Desktop/Server Distribution developed by a small group of developers funded by Mark Shuttleworth in 2004. In 2005 Shuttleworth founded the Ubuntu Foundation and made an initial investment of 10 million dollars to ensure the long term support of the project. Nowadays Ubuntu is largely developed and supported by volunteers from around the world taking responsibility for many critical elements of the project. Ubuntu is licensed under the GPL license, and its free to use and distribute for everyone as long as the license agreement is respected.

Ubuntu Releases

Ubuntu is released on a predictable six-month basis. It was decided that every fourth release, issued on a two-year basis, would receive long-term support (LTS). LTS releases are typically used for large-scale deployments, and by users that want more stability in the OS than using cutting edge technologies. An Ubuntu LTS release is supported for 5 years after being released. A standard Ubuntu release is supported for 9 months after being released. Ubuntu LTS releases tend to be conservative in new features focusing instead on stability, while the short term support releases tend be more cutting edge packed with new features and innovation.

Ubuntu Flavors

There are 10 different Ubuntu flavors; each with its own desktop environment ( DE ). A Desktop Environment is a set of programs and applications with which the user interact with in his or her computer. The underlying platform in all Ubuntu flavors is the same, just the Interface the user interact with is different. The most popular desktop environments in Linux are Gnome, KDE, XFCE, and LXDE.

  • Ubuntu – Official Ubuntu release with the Unity Desktop
  • Edubuntu — Ubuntu for education
  • Ubuntu GNOME — Ubuntu with the GNOME desktop environment
  • Kubuntu — Ubuntu with the K Desktop environment
  • Ubuntu Kylin — Ubuntu localized for China
  • Lubuntu — Ubuntu that uses LXDE
  • Mythbuntu — Designed for creating a home theatre PC with Myth TV
  • Ubuntu Studio — Designed for multimedia editing and creation
  • Xubuntu — Ubuntu with the XFCE desktop environment
  • Ubuntu MATE — Ubuntu with the MATE desktop environment

What is the best Ubuntu flavor for me?

If you are new to Linux then the official Ubuntu release with the Unity Desktop will be the best for you to use. The Unity Desktop is professionally designed and meant to be used by non-technical computer users. Linux always has been an operating system used by computer nerds only, but Ubuntu is the first Linux distribution that tries to bring Linux to the masses. Ubuntu is the most popular Linux distribution used in desktops and laptops.

Ubuntu Server

Because Ubuntu Server has no desktop environment, there is only one official flavor of Ubuntu for servers.

Browse all

Browse all 13 tutorials


ownCloud is a web-based file synchronization and sharing tool that allows you to automatically sync up files saved locally on your computer to a remote server.

How does ownCloud work?

ownCloud is a server/client software. When you setup ownCloud, you can either access your files through the web portal or through the ownCloud client installed in your computer. You can set the client software to automatically startup when the computer is turned on, and sync new or modified files saved in the ownCloud directory every time it detects changes, and if an internet connection is present. The ownCloud client software can be installed in multiple computers including Macs and Linux so you can access your synced files from anywhere you have access to the Intermet or the ownCloud client is installed.

Top ownCloud features?

  • Sharing with ownCloud you can share files with everybody including none ownCloud users
  • Syncing with ownCloud you can sync files from multiple devices including smart phones and table
  • Live Collaboration with ownCloud you can collaborate in real time e.g. editing documents.
  • Universal File Access from ownCloud you can access all data spread out in multiple locations like Windows shared drives, SharePoint, S3  buckets, etc.
  • Favorites Files favorite files in ownCloud for easy access
  • Active Directory/LDAP AD integration for corporate users.

Popular Linux distributions that support ownCloud out of the box :

  • Debian 7, 8
  • Ubuntu 14.04, 16.04 LTS
  • RHEL/CENTOS 6.6, 7

Available only as a download:

  • Ubuntu 12.04
  • SLES 11 SP3
  • SLES 12

Web components required:

  •  Apache: 2.4
  • PHP 5.4 or greater
  • GD Library
  • cURL
  • Databases: MySQL 5.1 or higher; PostgreSQL 9.1.14 or higher

Virtual platforms supported:

  • Hyper-V
  • VMware ESX
  • Xen
  •  KVM

Note: Windows Server flaky support only on 2008 or greater

Requires PHP 5.4 or greater integrated with IIS including MySQL and CGI.

Browse all

Browse all 4 tutorials


Apache is the most popular web server in the world. Developed by the Apache Software Foundation, Apache is an open source free web server . It runs on about 70% of all web servers in the world. It is fast, reliable, and secure. It is highly customizable through extensions and modules. Most web hosting providers offer Apache as their default web server in their web hosting packages.

Some notable Apache web features:

  • Loadable Dynamic Modules
  • Multiple Request Processing modes (MPMs) including Event-based/Async
  • Highly scalable (easily handle more than 10,000 simultaneous connections )
  • .htaccess support
  • Reverse proxy with caching
  • Load balancing
  • Fault tolerance and Failover with automatic recovery
  • WebSocket, FastCGI, SCGI, AJP and uWSGI support with caching,
  • Dynamic configurationTLS/SSL with SNI and OCSP stapling support via OpenSSL
  • Name- and IP address-based virtual servers IPv6-compatible
  • HTTP/2 protocol support
  • URL rewriting, Headers and content rewriting
  • Custom logging with rotation
  • Concurrent connection limiting
  • Bandwidth throttling, ,
  • Embedded Perl, PHP and Lua scripting, CGI support

In this section you will find step by step tutorials on how to do certain things with Apache.

Browse all

Browse all 5 tutorials


Nagios is an open source monitoring system to monitor small to enterprise computer networks. With Nagios you can monitor servers, switches, applications and services. Nagios alerts you whenever there is a problem, and sends a notification when the problem has been resolved. You can receive notifications via email, SMS messages and even phone calls. Nagios is licensed under GNU GPLv2.


  • Monitor network services like SMTP, HTTP, SNMP, FTP, SSH, POP, etc.
  • Monitor Servers resources like disk drives, memory, processor, server load usage, system logs, etc. you can extend Nagios capabilities with hundreds of plugins found in its official website repository.
  • With Nagios you can define network hosts as parents (Hyper-V, or VMware Hosts for example) so you don’t get flooded with alerts that all systems (VMs hosted in the hosts) are down. You will only receive notifications about the parent hosts.
  • You can set it to send you Emails, SMS, and even voice calls whenever there is a problem in the network.
  • You can setup Nagios in a distributed system if you need to have a monitoring system in multiple locations.
  • When you install Nagios it automatically installs a web portal where you can view current network status, problem history, log files, notifications that have been triggered by the system, etc.

Agent for Windows hosts

NSClient++ is the preferred Agent to monitor Windows server hosts. NSClient++ listens on theTCP port 12489, and the command you use to collect information from the host is check_nt. With NSClient++ you can monitor CPU load, RAM usage, disk drive usage, server running processes, etc. there are hundreds of custom plugins you can download from the Nagios official site repository to make Nagios monitor many other custom devices, services.

Agent for Linux Hosts

NRPE (Nagios Remote Plug-Ins Executor) is the preferred agent to monitor Linux hosts. The NRPE daemon binds to the 5666 port, and you collect information from the remote hosts using the check_nrpe command. With NRPE you can remotely execute Nagios plugins on other Linux/Unix machines. This allows you to monitor remote machine metrics (disk usage, CPU load, etc.).

Agent for other devices

There is no Nagios agent for embedded devices like Routers, Switches, UPSs, and many other devices were no custom software can be installed. In those devices Nagios use the NNTP protocol to gather information.

Browse all

Browse all 4 tutorials


WordPress is the most popular Content Management System (CMS) on the Internet. About 22% of all websites on the web are powered by WordPress. WordPress is open source and free to use, modify and distribute as is released under the GPL license.

WordPress History

WordPress started as a fork from b2/cafelog by Matt Mullenweg and Mike Little after b2/cafelog main developers dropped the project. Matt announced the first version of WordPress May 27, 2003. The first version of WordPress was an improvement to the b2/cafelog code base, with new additional features:

  • XHTML 1.1 compliant template
  • New administration interface
  • Ability to do manual excerpts
  • New templates

In May 24, 2004 version 1.2 was released which included a plugin architecture that allowed users and web developers to extend the functions in WordPress.  Version 1.5 was announced in February 2005, and it included a new theme system. With this new theme system, a theme could be broken down (headers, sidebars, footers, etc.) into their own files so you can make a change in one place and see it everywhere immediately. In December 2005 WordPress 2.0 was released, and this version included a new admin area. This new admin panel was built using JavaScript and DHTML to make a better user interface where users did not need to load a page to perform tasks. Users now could add categories and tags to posts without leaving post editor or delete comments without reloading the comments screen.

Top WordPress Features

  • Themes - There are thousands of WordPress themes that you can install with a click of a button within the WordPress admin panel.
  • Plugins - There is a huge amount of plugins in the wordpress plugin repository to make WordPress do whatever you want it to do.
  • Responsive Design - Most of all  WordPress themes are responsive which means your site will fit in all device screens.
  • Comments - WordPress allows comments out of the box.

  • Multi-Site - Since WordPress version 3.0 you can create a network of sites with one single WordPress installation, sort like wordpress.com

  • Multi-language - WordPress supports many languages

  • Abundant Support - Because of WordPress popularity finding support in its official and many other unofficial WordPress forums is easy

Server Installation Requirements

Most Web hosting companies provide support for WordPress out of the box, but if you are installing WordPress in your own server these are the requirements:

  • Apache or Nginx web server
  • PHP 5.6 or higher
  • MySQL 5.6 or higher or MariaDB 10 or higher

Browse all

Browse 1 tutorial


Joomla is a CMS ( Content Management System ) to build websites and online applications. some of the things you can do with Joomla are:

  • Corporate Web sites or portals
  • Corporate intranets and extranets
  • Online magazines, newspapers, and publications
  • E-commerce and online reservations
  • Government applications
  • Small business Web sites
  • Non-profit and organizational Web sites
  • Community-based portals
  • School and church Web sites
  • Personal or family homepages

Joomla is open source and 100% free. in this section you will find many step by step tutorials on how to do many things in Joomla.

Browse all

Browse all 2 tutorials

Web Development

Web development is the task of building websites of all sizes either public or private. Web development involves web design, coding, scripting, security, and web server configuration. In this section you will find step by step tutorials on how to do many tasks related to web development.

Browse all

Browse all 5 tutorials


Subsonic is a web based application that allows you to host and stream your Music, and Videos through the Internet. Subsonic is a java based application so it needs the tomcat web server to run. In this section you will find some tutorials I have written on how to setup and configure Subsonic.

Browse all

Browse all 2 tutorials