I think I have seen people pose this question before, and I found a great solution that works for me so I thought I would post.

I currently have an old fashioned html web site, but would like to develop a new drupal driven, content managed, web site. How do you develop it without taking the other one down, or having to move the drupal version when it is ready to go live?

Here is my answer:

1. Installed Drupal into my public_html folder
(I have a hosting company that sports a pluggin called fantastico that makes installing drupal absolutely painless)

2. After the installation, my public_html folder had two index files: index.html (the old "home page") and index.php (the new drupal front page). You can imagine my horror when I realized that someone going to my site would get the new completely undeveloped page instead of index.html. I tried many things to get index.html to load by default, but no luck. Either I couldn't get it to work, or I did, but at the expense of breaking drupal. Finally I came up with this solution:

3. Install the "front page" module, which lets you specify a special front page, or entry page for your website. I set this to redirect to index.html, the old main page and voila, anyone going to my website will get that page instead! When I am ready to go live with drupal, I will just turn off that feature! Meanwhile I can log into drupal by just typing the full url to drupal.

Has anyone else found another easier way?

Comments

Avm’s picture

Hm… you may use .htaccess for this:

DirectoryIndex index.html
ErrorDocument 404 index.html

After this all request without explicit filename like http://yoursitename.com/index.php (that's the way to access Drupal) will be proceded with your old site structure.

William Mead’s picture

I tried this exact same approach. It worked for my old website, but then when I clicked "create content" in drupal, I just got my old index.html page instead of the create content page. So it seemed to break drupal.

http://www.greasyfur.com/index.php

Avm’s picture

Yes, that's the problem - drupal based on index.php, so, if you want do someting like 'create content' for example, you should enter not ?q=node/add, but index.php?q=node/add That's sounds bad, but it works. In other case the only solution that works well as I know is to put your drupal site in subdirectory.

venkat-rk’s picture

Another way is to install drupal into a subdirectory: www.yoursite.com/test

The base url for this installation in settings.php will be www.yoursite.com/test

This way your old site will remain untouched. When you have finished development and want to make the drupal site live, all you need to do is to:

1.) Move all the directories and files under 'test' to public_html
2.) Go to settings.php and change the base url to www.yoursite.com

A bit crude, but it works.

William Mead’s picture

Yes, I knew about this method, but was trying to avoid it, because it is a little messy.

http://www.greasyfur.com/index.php

mjolley@buy-hot.com’s picture

My first site (since my college years circa 1994 that is) was OnlineHonesty.com, which is an HTML site I've been wanting to port to Drupal for months. I created an account on my VPS for the domain name OnlineHonesty.com and installed Drupal on it. I assigned it a static IP so I can login without switching nameservers.

Drupal doesn't work with an IP address. It needs a domain name :(

I could upload all the HTML files to the server, but I'd rather import their essence into the Drupal database. My HTML is pure redundant garbage. I think there are modules that should at least allow me to paste the important parts of my content in (including links, emphasis, etc.), but I need to look at this harder.

I notice that the Drupal HTML editor modules such as HTMLArea insert some of the same font-related garbage that Nvu put into my original site. I'm thinking hard about not using these editing modules, however convenient.

I'm worried about all this stuff, but for no particular reason I've been focusing on the task of importing my phpBB database to Drupal. I've found some help on that, but I haven't made it work yet. I export the tables with MyAdmin and can't import them with MyAdmin. It's probably a MySQL version incompatability, I'll look into it later. I haven't gotten as far as trying the actual MySQL script, because it needs a successful import first.

Meanwhile, on two other sites of mine, I'm having major problems using front.module.

One site is practically crippled whenever I enable front.module. It causes some kind of horrible recursive linking problem that causes the browser to pop up an emergency box. Good thing this site is my designated playground, not for the public.

The other site is very much for the public, and will be my first big-time professional site, and I'm feeling pretty shaky about using front.module.

On this site, I'm trying to use HTMLArea to edit a front_page, and it works ok except that whenever I save my work, it takes something like 20 minutes. I guess the work is being done in-browser because my CPU is 99% frozen, which I've never seen before in Windows XP (I've seen bad but not this bad). For all I know the server is experiencing a similar load. I'm pretty sure these modules weren't tested together.

Of course I could test other editors to see if the problem persists, but from my experience, the bug is in front.module. I really need the front.module functionality, because I have an introduction page that only new visitors should ever see. Once they register, they should never see this page.

Ok, I probably got so far off topic you want to shoot me, but I think I've brought up some kind of useful info.

I keep telling everyone I meet that Drupal is the easiest way to get going on the Web, yet I'm struggling a lot considering that I'm not really pushing the technology. Can anyone help me?

venkat-rk’s picture

Drupal doesn't work with an IP address. It needs a domain name

Are you sure? This link (see under 'Url warning') says Civicspace works with an IP address. As you may know, Civicspace is nothing but Drupal with additional modules. I have also read on Civicspace forums about people using their IP addresses (with the ~ sign and account name) to set up test drupal installs for their clients and then moving to the full site.

I could upload all the HTML files to the server, but I'd rather import their essence into the Drupal database.

Try the wgHTML module: http://drupal.org/node/33531

yelvington’s picture

Create an alternate configuration as site/nnn.nnn.nnn.nnn/settings.php (using the IP address) and enter the IP address as the domain in the $base_url variable in the settings.php file.

sepeck’s picture

here you go
http://drupal.org/node/6554

As to fron_page module, that sounds odd. You may wish to check the bug reports for that project and see if anyone else has reported any issues with it. If not file one.

As for exporting your db, you may wish to look into the database module and see if that exports it properly for you.

-sp
---------
Test site, always start with a test site.
Drupal Best Practices Guide -|- Black Mountain

-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide

William Mead’s picture

On your playground site, try enabling the clean URL's and see if that helps. I could not get the front module to work at all with out that. Having that enabled and working is somewhat server dependant, so us poor smucks on hosted servers are a little bit at the mercy of the hosting companies.

http://www.greasyfur.com/index.php

Geary’s picture

Drupal doesn't work with an IP address. It needs a domain name :(

That is no problem. Just edit your HOSTS file and add an entry that points any domain name of your choice to your IP address.

On Windows XP, the HOSTS file is typically located at:

C:\Windows\System32\drivers\etc\hosts

mjolley@buy-hot.com’s picture

I started a new test site with a Drupal 4.7 beta. I used the cvs version of phpBB2Drupal which worked well enough. I installed TinyMCE which happens to receive HTML pasted from Internet Explorer very well. I started pasting content from IE. My site was well on its way, so I copied the code and database to the new site and installed 4.7.0. Not so hard, after all. Thanks for the help guys, I'll probably do multisite from now on :)