Installation and Setup of Our ExpressionEngine Development Site
We’re here to take an old website and make it better. From both an administrative and public-facing angle, ExpressionEngine can make most websites easier to build, manage and use. My Introduction gives a brief overview of the what and why of the series, and now we’ll begin tackling the how.
Just a brief disclaimer, that you are reading about the methods I use to build a site with EE. There are plenty of ways to build any website, and your preferences may differ from mine. With that, I hope you can learn from what I have to tell you, and also teach me a few new tricks through the comment discussion in each of these articles.
Setting Up A Development Environment
I’ll be setting up this site on a live development server where you can watch it come together as the series progresses. Normally I go through either two or three different environments while building a site:
- Local machine. With MAMP and Headdress, I have a masterfully quick way to setup dev sites on my machine in my Home “Sites” folder and have them up and running in less than a minute with PHP and MySQL. If I am working with a client who wants to see progress at will, I bypass this step and just start at step 2.
- My development server. I use subdomains of my wi-staging.com site to host live development versions of sites for clients. I password protect the directories to keep search engines and prying eyes out until its time to launch. For non-client sites that Web Inception is building on our own, I usually skip this step and just go from step 1 to 3.
- The live site server. Deploying an EE site could be easier, but its about an hour long process for me most of the time to upload it and change the EE settings to work from either step 1 or 2. Typically, with EE, once you are in live mode, there really is no development server any longer. I am hoping EE2 will allow us to develop and deploy in a much quicker and iterative fashion.
Setting Up A Development Domain & Database
I logged into my web server and setup a new subdomain called babyfilter.wi-staging.com. As I noted earlier, I normally would password protect this site as well. The screenshot below shows our shiny new web space, ready for an EE installation.

I also created a MySQL database with its own username and password so other databases on my server are 1 step removed from this authentication information. Be sure to note your MySQL server name, database name, username and password for use during the installation.
Getting Ready for Installation
There are three versions of EE to choose from. Since this will be a public commercial site, we’ll choose the commercial license. Once you purchase and download the software from EllisLab, you are ready to install the engine. The installation documentation on the ExpressionEngine site is very well done, and you really should have no problems if you follow them. I’ll run through an installation here even though I don’t usually do anything different from their recommendations.
First off, you want to be sure that your server has all the technologies in place to host an EE site. You should consult the Requirements page of the EE docs for a quick overview. As well, there is a small PHP program you can download from the Requirements page that, when uploaded to your server and executed, will analyze the server and let you know if it can handle EE. Of course, once you have a successful install on your server, you can bypass these steps for future installations. (I use a Unix server, if you are using Windows, consult the EE documentation for variances in this process).
Now that you’ve verified your server can run EE and downloaded the files, you’ll want to unzip the files. The unzipped folder will contain everything you need to get started with ExpressionEngine. Once you review the Read_Me and License text files, you can trash them along with the build_log file. This will leave you with just the files needed to run the site.

Next, rename this folder to an appropriate name for your needs. In my case, I’ll call it babyfilter.com and I’ll move it to the Sites folder in my home directory, where I keep all my web projects. Next, dive into the System folder and delete the update.php file and the /updates/ folder. Since you are performing a fresh installation, you don’t need these.
The last step before uploading the files to your web server is to rename the System folder, which will help to keep baddies from trying to hack into your default EE system folder. In this case, we’ll keep it very simple and call it system_bf. Here is a shot of my FTP program all setup with my local folder on the left and my empty web directory on the right. I’ll now synchronize these folders so that the local files are uploaded and directories kept intact.

Installation
Once all the files have been uploaded, you are ready to get the Engine chugging. First, let’s set some file permissions:
666
- path.php
- system/config.php
- system/config_bak.php
777
- images/avatars/uploads/
- images/captchas/
- images/member_photos/
- images/pm_attachments/
- images/signature_attachments/
- images/uploads/
- system/cache/
Step 5 in the EE installation docs talks about downloading a theme and installing it, but since we will be building our own look and feel, we’ll bypass this step.
Now, let’s run the installation wizard. Simply navigate to the root of your site in a browser (http://babyfilter.wi-staging.com in this case) and the installation wizard should appear:

- Click the “Click here to begin!” button to proceed.
- Read and accept the license agreement on the next page, then click “Submit”.
- Type in the name of your renamed system folder. In our case it is system_bf.
- On the Server Settings page, much of the information is pre-filled for you. Simply enter your webmaster email address, the database settings you wrote down earlier, your admin account settings and time zone, and click the button at the bottom. The installer will alert you to any information that doesn’t work for any reason. If everything works for you, you’ll be presented with a success page:

- Next, click both of the links on this page and bookmark them. One leads to your website homepage and the other to your Control Panel (CP) homepage. Be sure to login to the CP with the admin account settings you entered during the installation.


- Finally, once you verify the site and CP are working, go back to your FTP program and delete the install.php file from the root of your new site.
Once you do that, your installation is complete! Its quite simple, and after you do 2 or 3 of them, you’ll get to the point where it take about 10-15 minutes to setup a new EE installation.
So, here is our new development website (note that this link takes you to the live development site, so you’ll see the site in different levels of completion throughout this series) and here is our new control panel. We’re ready to begin planning the site, which will be covered in the next installment next week.
Series Introduction
Next Article in Series

1 Comment
posted on January 24, 2010 at 10:44am by Tolis:
Is it possible to write an article to describe the setup?
Leave a Comment