Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I wanted to design a project in linux which could contain programming languages(C, perl, PHP, HTML, XML etc) basically a web based project. Why i have chosen to build on Linux is because it is Open Source, and lot many things can be automated through scripting languages, which in windows i don't know.

So, i have installed linux on a virtual machine(Host-Windows 2007 & Guest Linux CentOS), CentOS(command line interface). Since i am a beginner, so I want to know what all tools can be used to facilitate and ease my development process. Some which i know are listed below, and request you to please share your experience on this.

1) Using Putty so that can access the Linux machine from anywhere within the network.

2) Since i want to develop on Linux, but want to use windows as developing platform. So have downloaded Eclipse Editor (C/PHP) on windows. But want to know how can i access linux files from here??

3) Installed Samba, and still trying to figure out how can i access linux files remotely on Windows.

4) Please share your experience, as how can i ease my development process. and what all tools i can use..??

Please let me know if you need any other clarification..

share|improve this question
  1. Putty is likely your best option for command line access. Installing a VNC server or RDP server will allow you to get access to a graphical console, but is a fair bit more work. I would stick with Putty until you need a graphical interface.
  2. Use CVS, Subversion, or GIT as a repository for version controlling the files. Windows and Linux have different methods for marking the end of a line in text files. Eclipse will integrate with any of these. Check the updates out on Linux.
  3. Configure the directories you want to share in /etc/smb.conf. You mount them like any other network shares. Windows will see the shares like any other network drive. Your windows tools (Notepad in particular) will have problems with Linux text files. You can set Eclipse to handle the Linux shares correctly, but you really should be working with local files in Eclipse.
  4. Create the project(s) in Eclipse. Share them to the repository using the Team tools in Eclipse. Check them in from Eclipse. Setup a build/test environment on Linux, and check the projects out from Eclipse. You will need to plan the appropriate directory structure. Automate the build and test deployment on Linux. Use a packaging scheme so you can package your builds for promotion through the test environments into production. Design your application so that you do not need to build for each environment.
share|improve this answer

You may also want to consider making the switch to a Linux desktop. I use Ubuntu 10.04 both at home as well as in my workplace, and it's great. Here is my setup:

  • Ubuntu 10.04 64 bit on Dell Vostro 200
  • VMware to run Windows 7 and Windows XP for testing purposes.
  • Eclipse with Subclipse Subversion Plug-in.
  • Jetty 6.1.5 and Tomcat 6.0.14 running on Ubuntu.
  • Apache 2.2 Running on Ubuntu.

The main advantage of this setup is that I don't need to run a Virtual Machine unless I'm testing my changes in Windows. All my code, as well as my Eclipse IDE, are all on the same machine, as is my Apache, Jetty, and Tomcat server. There is no need to setup Samba or any type of networking between file systems.

Apache serves the PHP files, and Jetty and Tomcat serve the Java files. For C, I have the gcc compiler at my fingertips.

The command line is really powerful in Linux, and should I need to use it, it's right there at my fingertips.

This is of course a big move as not everyone is ready to move away from Windows, and there's no reason why you couldn't start out using your current setup and then possibly experiment with this setup later on.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .