Configuring Eclipse to Edit your eclipse.org Website
We use Eclipse to edit our content. In order to test our content, we have two choices: (1) commit the work to CVS which will (in a matter of minutes) copy the files to the live web server where you can test; or (2) setup a local unit test environment. The benefit of (1) is that it takes very little effort. Unfortunately, by committing to the CVS server and copying to the web server, your work is made public; in effect, you are testing your work on the live web server where everybody can see it. As long as everything goes well, this is fine. The second option is to set up a local unit test environment where you can actually test your work before you make it available to the adoring masses. Intuitively, the second option is safer, and tends to work a lot better when you're disconnected (for whatever reason).
Setting up Eclipse
Installing PHP Development Tools (PDT)
You can use the text editor to edit your PHP files, but the PHP Development Tools make the experience much better. Use the "Install new software..." option in Eclipse 3.5+ to add the PHP Development Tools to your configuration.
Create a new project name 'www' in your workspace (if you have installed the PDT, then make this a PHP project).
Pull your project's website in from CVS using the following information:
Server: dev.eclipse.org path: /cvsroot/org.eclipse
Use the EXTSSH protocol; this will require that your provide your committer credentials to continue.
Locate your project's directory under HEAD/www. Right click, and select "Check out as..." from the menu. Select "Check out into existing project" and follow the wizard step to add this directory into the existing 'www' project.
If you intend to test locally, also check out the 'eclipse.org-common' directory into the 'www' project (note that you can do this later if you change your mind).
You should now be able to edit the files on your website, and push (commit) them to test them live.
Read on if you'd like to set up a local test server (that will allow you to test locally before you commit to the live server).
FWIW, if you are new project, chances are that breaking your project's website for a few minutes is not a big deal. That is, you may be able to defer setting up a test server.
Creating a Server
Most Linux distributions provide the means to install Apache 2.0 and PHP 5.0. If you know what you're doing, you can also install these pieces on other platforms, such as Windows. However, distributions such as XAMPP make this much easier.
XAMPP is a distribution of Apache HTTP Server that also includes PHP 5.0.x, MySQL and other useful software. As of October 2006, version 1.5.4 seems to contain the right versions of the parts we need.
The first step is to actually obtain XAMPP from the download web site. Depending on how paranoid you are, you can download a one-step installer for some platforms, or you can download the ZIP file and unpack it yourself. The one-step installer variant does fun things like install the web server as a service on Windows (and probably messes around with your registry). Decide for yourself how paranoid you are about that sort of thing.
In these instructions, we're going to set up Apache so that it runs files directly out of your workspace. This makes testing really easy since you don't have to copy anything anywhere to make it work. However, the following configuration instructions are a little twisted for good reason: if you're not careful, open some security holes on your workstation. These instructions will help you configure Apache so that only you can access the contents of your workspace from your workstation.
in your php.ini file, ensure short tags are enable. This can be set in a global /etc/php.ini or a site specific one
short_open_tag = On
To configure Apache, you're going to have to edit the "http.conf" file. This file is located in the "apache" directory in the XAMPP installation.
Setup a Virtual Host
In this section, you'll set up a virtual host for Apache. This virtual host will be known only to your workstation (and so will only work when used from your workstation).
Open the "httpd.conf" file. Scroll to the bottom and add the following section:
<Directory "[workspace_location]\www"> AllowOverride All Order allow,deny Allow from all </Directory> <VirtualHost local.eclipse.org:80> DocumentRoot [workspace_location]\www ServerName local.eclipse.org:80 ErrorLog logs/phoenix CustomLog logs/phoenix common </VirtualHost>
Replace [workspace_location] with the path to your Eclipse workspace. This assumes that you will store the web content in a directory named "www" (this is what the directory is called on the CVS server). If you have opted to use a different name, use it instead of "www".
Open your hosts file using your favourite text editor. On Windows, this file is likely located at
c:\windows\system32\drivers\etc\hosts. Add the following
line to this file:
This adds the name
local.eclipse.org to the list of names your computer knows about. Unless this name is propogated to some shared DNS and mapped to your machine's IP address, nobody else will be able to use this address to access your computer. This line tells Windows that when a browser makes a request to
http://local.phoenix.eclipse.org, that the local machine will handle it. Your configuration of Apache has ensured that all requests coming into that
address on the default port (80) will be handled by Apache using documents found in your workspace.
Installing Apache 2.0 and PHP 5.0 on Ubuntu Linux
Note that you will need root access to make all of these changes.
Use the package manager to install Apache 2.0 and PHP 5.0.
Create the file /etc/apache2/sites-available/local.eclipse.org with the following content:
NameVirtualHost *:80 <VirtualHost *:80> ServerName local.eclipse.org DocumentRoot [workspace location]/www ErrorLog /var/log/apache2/local.eclipse.org.log <Directory [workspace location]/www> AllowOverride All Order Allow,Deny Allow from ALL </Directory> </VirtualHost>
Replace [workspace_location] (2 occurrences!) with the path to your Eclipse workspace. This assumes that you will store the web content in a directory named "www" (this is what the directory is called on the CVS server). If you have opted to use a different name, use it instead of "www".
Add the following line to your /etc/hosts file:
Execute the following:
a2ensite local.eclipse.org /etc/init.d/apache2 restart
And you should be in business.
Note that you may have to grant read access of your workspace files to the webserver.