Type of Server Software available for Ubuntu

  Ubuntu desktop edition, as we have already said does not come with the server software selection. In such case , you would have the freedom to install the various software for different needs. Let us look into the range and type of servers available for the service. Remember however that every server needs to the configured according to the needs of the machine. While we would have loved to provide you with in detailed description for each server we talk about, it would not be possible for the reason that most server software come with a real big manual. Some of them are so flexible that the manual might be more voluminous than what whole Fast Track could contain.
   It is this reason that we suggest the regular home user to install only that which is required. Installing too many server software on a home machine can slow down the system. In case you do not require some functionality it is best not to install the respective server. Now, let us see the options to tempt you for not following our words.

SSH Server

   We tell you, this is one of the most basic servers you would find out there with one of the most useful users.  SSH is the protocol similar to telnet and can be used to open and run a remote machine's console at your desktop. Almost all Linux machines come with the ability to connect to a remote SSH Server. Open SSH is one of the most well known software fr SSH Servers. It includes strong encryption,XII forwarding, port forwarding, agent forwarding and data compression among other features. This package is available simply by the name 'ssh'in the Synaptic package manager.
   The file governing the behavior of OpenSSH are -/.ssh/config and/etc/ssh/ssh_config.

DNS Server

   While DNS is something really complicated to understand and almost completely useless for a home user from all viewpoints except the two best excuses to 'experiment' and 'learn', we mention it here anyway.  The most popular DNS Server for the Linux platform is the BIND Server which can be found in the bind9 package in Ubuntu. This server is one of those which is heavily used at those Linux Servers on the Internet which are being  utilized as DNS server.  It comes with all the functionality needed from a DNS servers in general.
   The configuration files for BIND are usually found in/etc/bind among which named.conf, named.conf.options and named.conf.locales are the most important ones.

Mail Server

   You are not supposed to mistake the server with the client.  While evolution is a great email client, it is not a server.  It is also worth a mention that a mail server contains of a number of programs which must inter-operate well with each other.  As such, the terms 'mail server' would not qualify for a single software program as far as completing the list of functionalities is concerned.  Unless you are really in need for setting up an email server on your machine, do not install it.  It's not a job for a faint hearted one.  However, if you are someone who likes to take challenges head-on, we would be happy to tell you the place where you shall find the exact instructions for satisfying your apetite.  It would  be : http://help.ubuntu.com/community/MailServer.  While it might not list every software you need to install to get your own email server running with all the functionality involved, a community would be happy to help you.

Database Servers

   There are some who might not like to cal their machine a server. But then at least few must already be aware that even VLC can work as a multimedia server.  A database server as such is not something too cool to talk about but can be extremely useful for someone who is either trying to develop his own application (we missed 'web'eh?) or is trying to test out which CMs suits the best.  A database server is used in many cases ranging from music catalogs to large scale applications' storage point.  There are quite interesting servers in this category.
      My SQL : If you are a developer or interested in developing almost any type of web application, or even just interested in computing, chances are you have already heard of this immensely popular word. My SQL, is used in some of the major companies worldwide.  The name would include Yahoo, Google, Amazon, ebay and a few more.  The major reasons for using My SQL are speed and availability of different storage engines which can be attached to My SQL at any time. Also configuring it is quite easy and does not involve much pain.  For a developer who loves to carry his laptop around,/etc/my.cnf. Of course it takes a whole lot of extra pain than just editing this file for those who want the fully fledged server to run but this is the minimum we could tell you.  Look into the manual for more.  In case you are a student sand are not already using MySQL and are in need of a database which would obey the command s and queries written in your course book, do look over to the next option.  We assure you will not be disappointed.
      PostgreSQL : One of the open source databases which stands apart from most others in the free arena. The reason is the standards compliance. PostgreSQL has been designed ground up to remain integrated(unlike MySQL whose functionalities depend on the storage engine in use)and comply to as many SQL standards as possible.  While there are a lot of functionalities which are not supported by MySQL, PostgreSQL would not let you down. One of the features which PostgreSQL happily announces is "complete support for foreign keys". Yes, the default engine of MySQL, also known as myisam is not in favor of using foreign keys. Moreover, it does not always follow the SQL queries in the way Oracle would.  Since most text books are written keeping oracle in mind, it might be a problem for a student who expects MySQL.  PostgreSQL on other hand is fine in these regards.  Please note that we do not mean to degrade the reputation of MySQL. Both these master pieces of OSS(MySQL and PostgreSQL) do what have been designed for ('speed' and 'standard compliance',in the order)and it is completely up to the user to select one.  In case you are interested in it already, do get through the manual for configuration details for it is not as easy to configure as MySQL.
      SQLite :Some do not even call it a database and yet it is found in so many products, including our beloved 'firefox'. Aimed at being small and able to support the most basic features of the databases i.e. providing a way to access tables smartly, this little nifty program gets the job done easily. Its ability to be embedded inside another product is what makes it even more usable.  If all you want from a database is to read and write to a couple (or a few more) tables, took no further.  There simply is nothing to configure here. Get set go !
     There are many other databases available such as firebird, ingres, maxdb, luciddb and so one, but one must go through the supported feature set well before selecting one.  Get one which suits the best,. Now for those who were looking for the word 'oracle' somewhere in the proximity of the above boundaries, we tell you is compatible to run on Linux but we do not mention it here because of its propriety and closed source nature.  Moreover the only free edition available(named as the 'Express edition')from Oracle limits you at a limit of 4 GB for data storage and is not available in the Ubuntu repositories.  Please Google Oracle for more.

Samba File Server

   Samba server is used to create file sharing serves which are compatible with Windows network.  So if you have this file on your Linux system residing in your home directory and you would like it to be available to the friends who keep looking at Windows all day, and want to keep it simple for them, we suggest go for the samba dance party. Err, we meant "install samba server" on your Ubuntu machine. Once you are done with the installation, your friends can do a \\\    from their machine.  We suggest you install gadmin-samba as well, unless you want to work around with/etc/samba directory.

File Server (FTP)

   Files are what the network was created for.  The age old daddy of all file transfer protocols even made still rules them if you bring in ease of use, interoperability and standards in the picture.  Not only it keeps things simple, it also is capable of keeping things secure by asking visitors a password! The two most popular FTP daemons(read services) for Ubuntu are vsfipd and orifipd.  Unless you are really in mood to configure  things in the config-file style, we suggest you go for the profipd package and also install the gadmin-proftp package to make sure you have a GUI helper to get things working fast and easy way.  Geeks can go for vsfipd  for it stands for 'Very Secure FTP Daemon" and is something Ubuntu recommends.

Proxy Server

   Squid is something which lives in the water.  That is fine for those interested in animal life.  For those who want to make sure that people on the network follow the rules set by you when it comes to what to browse and what not to.  Squid is synonymous to 'proxy'.  It can be used as a proxy server for blocking unwanted web sites, providing a simpler way to access the web in complicated environment and at times saving bandwidth by using its web  cache feature! No matter why you want to luse a proxy server.  Squid is something you are going to turn to later, if not sooner.

Web Server

Web pages are what make the web sites. Web sites are what make the web and a web server is what serves the web page.  Without a web server, there would be no web at all. Linux is one of the most used operating systems as a web server machine and the most popular web server(sometimes it seems like its the only one) is the Apache web server.  While Apache  web server can also be installed on a Windows machine, it enjoys the status of being the most preferred server on a Linux and Mac machines.  Apache is unique with its modular architecture where you can enable support for a huge number  of functionalists and additional protocols over the web server by adding mode(or plugins).  It is easy to enable or disable modules by editing the right configuration file. You can find apache in the Synaptic by name 'apache2'.
      While there is a whole lot of configuration options for any server, and especially web servers, the most important of all for  the apache 2 web server would be httpd.conf file. On most Linux distributions it can be found in/etc/apache2 directory. However, this file lis not the one which is most important to Ubuntu.  For Ubuntu, you should get interested in/etc/apache2/apache2.conf file.  That said we believe the comments in the files mentioned above would be good enough to tell you the options about which you would care.

Installing a LAMP Server

LAMP server is a misnomer for it is not one single server. LAMP is actually an acronym for Linux Apache MySQL P-Programming languages. You already know Linux and we have told you about the Apache web server and the MySQL database server. Coming to the last part , 'P-Programming Languages'one interesting thing abut the P Part of LAMP is that it can be replaced by more than one word. All these words are the name of the server side scripting languages. The most common replacement for P in LAMP is 'PHP' with 'PERL' and 'Python' as the other alternatives. Due to the immense popularity of PHP both individually as well as in comparison to Perl and Python. LAMP sometimes is simply called as Linux-Apache-MySQL-PHP.
   If you remove the 'L' part(and we mean to say if you remove Linux from the picture), you would also find packages which run on Windows and Mac.  They are very predictably named as WAMP and MAMP respectively. However, since we are talking about Ubuntu Linux, WAMP and MAMP do not come into the picture.
   If you are in need to install LAMP, the most geeky way is to install them by hand; compile them.  For some one who would love to same time, as apt-get is the second best bet.  In case you  want to keep it simple and silly. Synaptic is the way to go. Simply go to the Synaptic package manager and install Apache2, MySQL and PHPS.  And you must not forget to install the packages which connect them. For example if you have MySQL and PHPS but do not have php-mysql package, things won't work.  While all this is much simpler than anything else, there is still the simplest method to be uncovered.
   The simplest method would be to use the command called 'tasksel'.  But before you go and run it, let us tell you - its not available with Ubuntu as a default package.  The reason you ask for? Well. let us repeat it again - Ubuntu was made for home users.  However, as we all know, there is nothing to complicated with installing software when the Linux distro you are using spell U-B-U-N-T-U.  So launch a terminal and whisper to it.

.   sudo  apt-get  install  tasksel

    Once done, run the command

.   sudo  tasksel
    On the gnome-terminal and you will have an option to install many packages which require installation of a set of packages and then need you to configure them. Select from the list 'LAMP Server' and hit OK button(you should use the keyboard, actually).  You can also install, from the same screen a few other tasks which actually require you a lot of configuration.  Tasksel can be used to install the software set but not to uninstall them.  The  reason behind this rather-awkward behavior is that tasksel uses apt-get to install the software in a chose package. However, it is possible that a few more software packages instaled later start using one of the libraries installed during the task installation.  For example, if you install LAMP and then install Amarok and configure amarok to use MySQL as a music catalog, chances are that uninstalling LAMP completely after all this will break your Amarok music collection. For this reason, you should apt-get remove the packages manually using best of your judgement
   Once LAMP is installed, you can configure easily the parts of LAMP such as apache2conf and php.ini to configure each of the package individually. We assure that you might have understood. that installing server on an Ubuntu machine is not a deal big enough to make you bother much.

Next Post »