Posts Tagged ‘Apache’

I have been getting a lot of requests from freshers to guide them about their career. So I have decided to dedicate an article for that.

Pre-Fresher

I would describe someone who is in the last stages of finishing their formal education as Pre-Fresher. At this stage of your life, you need to be aware of industry trends, job market and salaries. Websites such as Tiobe Index should give you an idea of what is in demand. However, remember that what is in demand today may not remain in demand by the time you finish your degree. So its still a bit of a gamble. But if you have a broad skill set and good design and analytical skills, you can’t go wrong.

Don’t close yourself off. You may not be master of all skills. But as long as you are good at a few and know about a few others, you should be fine.

Industry experience is vital and would set you apart when you finish your education from your collegues. So I would suggest that at this stage you go for it even if you don’t get paid.

Skills worth looking at are: Java/J2EE stack, C/C++, VB, PHP, MySQL, PostgreSQL, Oracle and Linux.

Fresher

At this stage, you have finished your formal education and are ready to take on the world. You have to remember that humility, honesty and hard-work are the important attributes at this stage.

You don’t know everything. So don’t pretend you do. Don’t put things on your CV that you cannot justify. And if you don’t have a job, nothing is stopping you from downloading the latest JDK or Hibernate or JBoss Seam distribution and having a play around with it.

It is possible that you may not have access to a computer or internet. Be resourceful. I used to hire computers on an hourly basis to practice C Language.

Take any job. And once your contracted hours are over, with your manager’s permission you can spend time in some self-teaching. I am sure your manager would be more than happy to let you do that.

By this time, you should have a good idea about what skills attract you. So you can start concentrating on sharpening those skills. For example, if it is Java based Web Applications that interest you, make sure you have a look at JSF, RichFaces, JBoss Seam, JPA, Hibernate and JBoss.

There were no free databases when I had started my career. But today you are spoilt for choice. I would recommend PostgreSQL. Again, for operating systems, go for something with wide acceptance such as Fedora Linux. Have a look at distrowatch.com for other popular linux distributions.

Again, as far as an IDE is concerned, you are spoilt for choice. I would recommend Eclipse as that has a great set of available plug-ins.

Other things that you need to be aware of are Apache WebServer and Subversion (SVN) version management software.

A skillset such as that is going to give you a good start in your professional life.

One thing my teacher Dr. Mrs. Shirwaikar said to us which I follow to this day is “Your books don’t teach you everything”. And no matter how much you know, remember, you don’t know everything.

Another thing worth remembering is you may do everything correctly. But the outcome may not be what you expected. That doesn’t mean there is something wrong with what you did. Its just life – taken from Star Trek.

To install subversion on Linux and make it available over Apache, I took the following steps:

Install subversion on Fedora

yum install subversion

Install mod_dav_svn

yum install mod_dav_svn

Create the SVN Repository

mkdir /svn/repos
svnadmin create /svn/repos/sandbox

Change ownership of the folder to Apache

chown -R apache.apache /svn

Create /svn/repos/sandbox/svnauth file


[/]
user1 = rw
user2 = r

Here, user user1 will have read-write access while user user2 will have read-only access to the entire repository.

Create /svn/repos/sandbox/svnpass file

htpasswd -bcm /svn/repos/sandbox/svnpass user1 passwordUser1
htpasswd -bm /svn/repos/sandbox/svnpass user2 passwordUser2

htpasswd has the following usage

Usage:
htpasswd [-cmdpsD] passwordfile username
htpasswd -b[cmdpsD] passwordfile username password
 
htpasswd -n[mdps] username
htpasswd -nb[mdps] username password
-c Create a new file.
-n Don't update file; display results on stdout.
-m Force MD5 encryption of the password.
-d Force CRYPT encryption of the password (default).
-p Do not encrypt the password (plaintext).
-s Force SHA encryption of the password.
-b Use the password from the command line rather than prompting for it.
-D Delete the specified user.
On Windows, NetWare and TPF systems the '-m' flag is used by default.
On all other systems, the '-p' flag will probably not work.

Add the following to your apache config file

<Location /svn/sandbox>
DAV svn
SVNPath /svn/repos/sandbox
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /svn/repos/sandbox/svnpass
Require valid-user
AuthzSVNAccessFile /svn/repos/sandbox/svnauth
</Location>

Restart Apache

httpd restart

Now you can access the above repository using your browser. Simply visit http://www.yourserver.com/svn/sandbox. You will be asked for username and password. Use one of the user names and passwords you used above. For example, user1 and passwordUser1.