GoGrid Blog

Real on-demand servers. Really!

Archive for the ‘How To’ Category

10 Tips for StartUps to Survive the “Recession”

Written by Michael Sheehan on Oct 3rd, 2008 | Filed under: Cloud Computing, General, GoGrid, Hosting, How To, ServePath

DontPanic_1024 “Don’t Panic!” These are two words (made popular by Douglas Adams in The Hitchhiker’s Guide to the Galaxy) that every day become more appropriate and valid. Credit has dried up as has funding by Venture Capitalists, Angel Funders and the like. If you are a bootstrapped company, a startup or a company in “stealth mode,” right now you might be wishing that you had taken a more stable job at a large corporation (hopefully not in the Financial sector) or that you had planned better for another bubble to burst. Well fear not…there is always a way to survive, through careful planning and management.

I would like to offer the following “Guide” of my own to those small companies or startups that are struggling now, on the verge of closing shop or just ready to give up. First, let me restate Adams’ words: “Don’t Panic!” There are methods to keep your company and vision moving forward, maybe in a different direction or perhaps a bit more slowly.

Here are a few things that you may want to consider as you re-architect your survival strategy:

  1. Start Now – don’t take a “wait and see” attitude. If you have a great idea, keep moving forward, but DO start your cash conservation immediately. The mere fact that you are searching for information and reading this post is a great sign that you are being active!
  2. Outsource – sure, doing things in-house can save you some cash, but only part of the time. Truly evaluate what makes sense (cents) in your day-to-day operations. If it takes your developer a week to do something and an outside “specialist” a day or two, evaluate the costs of both actions. If you aren’t paying your employees and they are doing work in their free time, try to factor in the time-to-market of that approach. While you may save money in up-front costs, you may lose it in terms of beating your competitors to market. Here are a couple factors within “outsourcing” to consider:
    • Human Capital – frequently small boutiques who are experts in a particular field can do things faster and better than you can in-house. They, too, might be effected by the economic downturn and may be willing to cut some of their costs just to have your business.
    • Operations – this can be both on the technical or just the basic company operations side. If you are providing healthcare benefits, see if you can change your plans or even ask your employees if they have other means to get healthcare (e.g., through a spouse).
  3. Avoid Capital Expenditures (CapEx) – hardware costs money, lots of it. Of course this all depends on what stage your company is at. If you are just starting, you may be able to get away with repurposing old computers and sharing bandwidth, but as you grow and get closer to having to “prove your value proposition” to investors or even end-users, you do need some sort of infrastructure. Consider using Cloud Computing (e.g., GoGrid) to host your infrastructure, whether it be a development environment or eventually your production infrastructure. By using “the Cloud” you have zero CapEx, no monthly/yearly contracts and are billed by your usage. This is a great way to control your costs and scale only on-demand. You can easily control your capacity, and avoid having your infrastructure sitting around unused or idle.
  4. Simplify/Set Realistic Goals – The more complex you make things, the harder they are to undo. Figure out what you really want to do with your business. Is it a hobby or your life work? Do you want to be the next Google? If so, you probably want to rethink that. While it is good to have lofty goals, keep them closer to earth. Did you hire someone who sold you on reaching something unattainable? You may want to reconsider that, hard as it may be, and let those people go. Re-architect your strategies. Clearly identify the most fundamental and basic goals you want to achieve. Sometimes through simplification, you can find a niche that others haven’t. That makes you more viable and attractive. If you are doing something that everyone else is gunning for, and you are struggling, it probably isn’t worth it. You don’t need to throw it all away, but you might want to evaluate what you want to do and choose 1-2 things that are (somewhat) unique. Remember K.I.S.S (Keep It Simple, Stupid).
  5. Remain Flexible – the worst thing that you can do in these trying times is not move or be rigid. Being a startup or small company has definite advantages. You have the ability to move much more quickly than larger companies. Look to be flexibility in many areas: strategic direction, product or service feature set, tools and infrastructures and even work ethic. Keep your employees happy by finding out what works best for them. I’m reminded of a story I heard about a hair dresser who was looking for a change. After some soul searching and help from some personality profiles, they became a landscape architect: similar ideas of grooming but in a completely different field (literally). So stay flexible in your own thinking as well.
  6. Network & Socialize – as you start to panic, the worst thing you can do is do it alone. Trust me, there are many people and business who are sharing your same concerns. Some may be further down the process of recovery or re-architecting and may be willing to share with you their experiences and what to or not to do. There are so many ways to connect with people nowadays. There is the obvious Social Media (e.g., Twitter, Facebook, FriendFeed, etc.) and I’m a big proponent of these methods. However, in this case, you may really need to just “get out” and talk to people face-to-face. If you live near a big metropolitan area, there is most likely some sort of meetup (check MeetUp.com for example – their video really is great!) or event that meets your needs. Go to them. Start talking to people. (If you are in San Francisco, check out an event I host called StartUpSF.) You may be surprised as to how many great ideas you may get and even how many people really want to help. New strategic partnerships are frequently started at events like this. It’s important to listen to new ideas and see how they apply to your own. Some of the things you hear may influence how you attack other points on this list. Remember too that you can socialize your Public Relations very easily now. Read some experts’ tips and you may save costs and time there too.
  7. Conserve Expenses – this is obvious enough. Watch your energy expenditure especially. I mentioned the Cloud before; by outsourcing your IT infrastructure, you can save tremendous costs, especially if you are doing it yourself through your own server rack in your closet. Don’t travel if you don’t need to. With large bandwidth pipes, it’s easy to have video conferencing with almost the same result as a face-to-face. Save the face-to-face for closing the deal. Oh, and pack your own lunch.
  8. Don’t Ignore the Rest of the World – the US economy may be seeing some hard times, but there are other markets out there that may want to spend their money with you. Invest some time in reviewing these other markets. Their currency may be a lot stronger than the US dollar, so they may be more willing to pay for your product or service, or even invest in your business. Don’t ignore the fact that with advances in technologies, the world is a much smaller place than we actually realize.
  9. Cash Flow Management - this is true on both billables and receivables. If you have existing vendor contracts and they are part of your lifeblood, see if you can renegotiate them. As I mentioned before, you are not alone in this economic crunch and many vendors (and even lenders) would rather renegotiate than lose your business. If your own business model is not getting the traction that you desired, you might want to try to tweak it a bit. Consider offering pre-payment discounts (e.g., have people commit for a longer amount of time but discount it against a monthly or smaller cycle rate). ServePath does this type of thing with managed hosting, by offering “server specials” at a lower cost. Old inventory may be sitting around so leverage it through discounts as well.
  10. Keep your Day Job – I had to end with some humor. If your startup is your life-long passion, it is your day job so take these tips to heart. If it isn’t, remember you have to pay your bills somehow.

Do you have any other ideas, tips or suggestions? If so, I would love to hear them. And remember, “Don’t Panic!”


Presentation: Cloud Computing - Disruptive Innovation & Enabling Technology

Written by Michael Sheehan on Aug 20th, 2008 | Filed under: Cloud Computing, FAQs, General, GoGrid, How To

I have been working on a Cloud Computing presentation that provides a basic overview of the technology and how it (and GoGrid) fits into the marketplace. While this presentation  continues to evolve (as does the Cloud) and will subsequently undergo other iterations, I felt that many readers might find the content to be useful and informative so I’m publishing it for commentary, compliments and criticism. It also further develops the concept of the “Cloud Pyramid” and offers additional segmentation of the Cloud Computing space.

GoGrid CEO John Keagy has been presenting this at various conferences and meetings. If you are interested in having John present to your organization, please let us know. The presentation continues to evolve, representing our current thinking on Cloud Computing. We hope you enjoy it. Send us your comments!


How to Install Drupal on a GoGrid Cloud Server in Less than 15 Minutes

Written by Bryan Levine on Aug 1st, 2008 | Filed under: FAQs, Features, General, GoGrid, How To

drupal_logo

NOTE: We are currently revising this article. Please bear with us as we modify the content below for improvement.

Content Management Systems (CMS’s) are all the rage these days because of their unique ability to manage and deliver so many different types of media. The ability to create community-based websites with permission-based access and the ability to dynamically deliver different media formats and content can allow users to easily develop websites, online communities or internal intranets in a matter of minutes. Drupal, winner of dozens of open-source application awards, is one of the best and most popular Content Management Systems available today. The basic installation allows users to create online blogs, forums, wikis, books and newsletters, all of which can be privately managed by individuals or groups depending on how you set up the available permissions levels.

Of course, Drupal installs are fully supported on GoGrid. So, before you jump in and install Drupal, be sure that you have a GoGrid account set up. If you simply want to give Drupal a try within a Cloud Hosting environment, then with the automatic $50 credit that users receive with a new GoGrid account, you could create a GoGrid server in a few minutes and then spend the rest of your time (after the 15 minutes of setup) getting to know Drupal. Once you get your Drupal install dialed in, you might want to keep it so GoGrid makes it easy with pay-as-you-go billing and volume pricing as well. If you just wanted to test out your install skills and simply play around with Drupal on GoGrid, you can delete your cloud server(s) and use GoGrid for something else. It’s your call.

To start, simply deploy a GoGrid server through the http://my.gogrid.com customer portal. In this example, we’ll use a RHEL 4.5-based LAMP stack since it has all the software packages needed for a Drupal installation already installed.

  1. Click on the “+” button once you’ve logged in, then select “Web/App Server”. Enter a friendly name for your server, such as “Drupal” or the domain name you’ll use once your server is configured. Enter a quick description of the server and select an IP address (our new IP suggest function will suggest one automatically for you). If you already have a GoGrid server instance that runs your website and you want to install Drupal in a sub-directory or sub-domain, skip down to the second half of this article.
  2. Next, select the operating system to run your Drupal installation on. Drupal can run on either Windows or Linux machines, but in this example we’ll use a Linux-based RHEL 4.5 server image. Please note that Drupal will not run on MSSQL, so using a Linux-based distribution is easier to manage out of the box. If you wish to run Drupal on a Windows server, you will have to manually install PHP 4 or 5 with MySQL or PostgreSQL to run alongside IIS.
  3. Select the amount of RAM dedicated to your server. Depending on the amount of traffic you’re expecting, you may want to allocate a good amount of RAM to your server. I’m choosing to go with a 1GB server.
  4. Select the server image you want to deploy. In this case, I’ll be using a LAMP stack. (For Windows servers, you may want to select a Windows 2003-based operating systems with IIS and MSSQL Express installed on the server image, then install PHP and MySQL or PostgreSQL.)
  5. Click on “Save” and your server will be deployed within a matter of minutes.
  6. Once your server’s light turns green, click on the new Drupal server and then select the “Passwords” button at the left. This will take you to the login information for your server.

Now that a server has been deployed, you can go ahead and connect to it remotely via SSH. If you work on a Windows machine, you can download the PuTTY client to connect to a Linux Server. If you’re on a Mac or a Linux machine, you can open your terminal and SSH directly to the IP address of the new GoGrid server.

  1. SSH to the new server and log in using the username and password credentials located on the “Passwords” page in the GoGrid portal. In my examples, I will use the IP address 208.113.93.249. Replace this IP address throughout this document with the IP of the server you just deployed:
    ssh 208.113.93.249

    Enter your username and password to log in.

  2. Navigate to the folder where you want the Drupal installation to live. In a Linux server, this is usually in /var/www/html. If you want to install this as a subdirectory of your website, create the directory and change directories to that folder (/var/www/html/your.subdirectory).
    cd /var/www/html
  3. Now you need to download the Drupal package from drupal.org:
    wget http://ftp.drupal.org/files/projects/drupal-6.3.tar.gz
  4. Once the package has finished installing, you’ll need to un-archive it:
    tar -xzf drupal-6.3.tar.gz
  5. A new directory called “drupal-6.3” should appear when you enter the command ls to show the contents of your current directory. Now we’ll need to create the MySQL database associated with Drupal. Enter the MySQL prompt and create a new database and user for the Drupal installation. Note that you should create more securely named username, password and databases than I have below. These are just examples:
    mysql -u drupaladmin -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 21
    Server version: 5.0.58 Source distribution
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    mysql> CREATE DATABASE drupal;
    Query OK, 1 row affected (0.00 sec)
    mysql> GRANT ALL PRIVILEGES ON drupal.* TO "drupaladmin"@"localhost"
    -> IDENTIFIED BY "abcd1234";
    Query OK, 0 rows affected (0.00 sec)
    mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.01 sec)
    mysql> EXIT
    Bye
  6. You will need to modify a few files on the standard Drupal installation before proceeding with the installation. Change directories to the /sites/default directory from the root Drupal installation:
    cd sites/default/

    Now create a copy of the default.settings.php file to settings.php:

    cp default.settings.php settings.php

    Modify the file so that it is writeable from the Drupal installation:

    chmod 766 settings.php

    Create a directory called files and modify it so that it is writeable by the Drupal installation:

    mkdir files
    chmod 766 files/
  7. Now, the rest is quite simple. Open a web browser and navigate to the directory where you installed Drupal. In this example, the directory is in the root web directory, so all I have to do is navigate to my IP address (or host name if DNS records have been properly set up), and presto! The install page should appear. If it does not appear, append the URL with /install.php.
  8. Follow the on-screen instructions by selecting your language and entering your database credentials. After clicking on “Save and Continue”, you should see a progress bar for only a few moments before being brought to the following screen:
    drupal_admin2
  9. At this point, you will need to change the permissions on the files directory and on settings.php so that they are not writeable any more. You may also want to delete the file default.settings.php or move it out of your web directory entirely for security reasons:
    chmod 644 settings.php
    chmod 644 files/
    rm –rf default.settings.php

    Also make sure to move or rename the install.php file in the root Drupal installation directory. Refresh the page and all the red warning box will turn to green.

  10. Click “Save and Continue” and you will be brought to the site configuration screen. Here you can enter the name of your website and create your admin user account. Be sure to pick a secure password with at least one number, one upper-case letter and at least 7 characters long. Random passwords are always the most secure and there are several random password generators all over the web. Configure you time and date settings and follow the remainder of the on-screen instructions before hitting “Save and Continue”. It may take a few minutes for the installation to complete, so be sure not to refresh during the installation process.

That’s it! You should be brought to the welcome page where you can click on links to the admin page or online docs. You can login and start posting content immediately. Download, modify and design your own skins (Drupal even has a skin API!), add extensions and plugins from http://drupal.org and setup users and permissions. There are literally hundreds of extensions and plugins you can install to host MP3’s, Flash movies or anything else imaginable.

Drupal is one of the best community portals available and is a great PHP-based option for beginners to get their hands dirty in PHP. The user-interface is intuitive and robust, allowing admins to set up user-roles and permissions for nearly every function that can be performed by the software. This is especially useful as a company intranet or as a community page for your customers to access support materials. And installing on a GoGrid Cloud server allows you to simply delete your server if you make a mistake and start over within minutes or just give Drupal a test run.

Also be sure to check out our “How to Install WordPress on a GoGrid Server in Less Than 10 Minutes” and “How to Install phpBB on a GoGrid Cloud Server in Less Than 10 Minutes“. You could have a Drupal CMS, a WordPress Blog and a phpBB forum up and running in less than an hour!


Availability in the Cloud

Written by Michael Sheehan on Jul 28th, 2008 | Filed under: Cloud Computing, Features, General, GoGrid, How To

Today I came across a very interesting post, written by Mukul Kumar, which poses an intriguing topic of Cloud availability. Spawned most likely because of some “lack” of availability on Amazon’s S3 recently, Kumar discusses how companies might want to look towards creating redundancy across Cloud providers (such as GoGrid) in order to increase the availability of a company’s online presence.

All too frequently, companies look to a single solution for their hosting options, whether it be within the Cloud or using more traditional hosting methods. These single solutions can easily translate into single sources of failure, “don’t put your eggs in one basket” being the phrase the comes to mind.

Kumar illustrates some ways to make a company’s Cloud reliance a bit more redundant by using some traditional methods of choosing various providers.

cloud_availability

Using a fairly straight-forward rsync (an open source utility that provides fast incremental file transfer) methodology, Kumar shows how servers can be configured as hot-standbys using different Cloud providers, allowing for redundancy to take place.

ha-config2

For those looking to create “bullet proof” installations of their hosted presence, I definitely recommend giving Kumar’s post a good read.


How to Install phpBB on a GoGrid Cloud Server in less than 10 Minutes

Written by Bryan Levine on Jul 23rd, 2008 | Filed under: FAQs, Features, General, GoGrid, How To

phpbb_logo If you’re running software applications or services in your GoGrid cloud, then there’s a good chance that you need a way for your customers to communicate with one another. Forums and bulletin boards are great tools for companies to allow their customers to help each other out with your products. Using these tools also alleviates some of the load on your support teams, saving you labor expenses and time. One of the best bulletin boards is the open-source phpBB software. This is a simple-to-install, feature-rich, PHP-based web application that takes only minutes to configure on a GoGrid server.

The latest version of phpBB (version 3.0) does have some specific server requirements, namely: Windows or Linux, an SQL database system (e.g., mySQL 3.23 or above, MS SQL Server 2000 or above, or PostgreSQL 7.x or above) and PHP 4.3.3 or above. GoGrid has you covered with those requirements so you don’t have to monkey around with doing any changes (with the exception of Windows, you will have to install PHP for that).

To start, simply deploy a GoGrid server through the http://my.gogrid.com customer portal. In this example, we’ll use a CentOS 4.5-based LAMP stack since it has all the software packages needed for a phpBB installation already installed.

  1. Click on the “+” button once you’ve logged in, then select “Web/App Server”. Enter a friendly name for your server, such as “phpBB” or the domain name you’ll use once your server is configured. Enter a quick description of the server and select an IP address (our new IP suggest function will suggest one automatically for you). If you already have a GoGrid server instance that runs your website and you want to install phpBB in a sub-directory or sub-domain, skip down to the second half of this article.
  2. Next, select the operating system to run your phpBB installation on. phpBB can run on either Windows or Linux machines, but in this example we’ll use a Linux-based CentOS 4.5 server image.
  3. Select the amount of RAM dedicated to your server. Depending on the amount of traffic you’re expecting, you may want to allocate a good amount of RAM to your server. I’m choosing to go with a 2GB server.
  4. Select the server image you want to deploy. In this case, I’ll be using a LAMP stack. (For Windows servers, you may want to select a Windows 2003-based operating systems with IIS and MSSQL Express installed on the server image.)
  5. Click on “Save” and your server will be deployed within a matter of minutes.
  6. Once your server’s light turns green, click on the new phpBB server and then select the “Passwords” button at the left. This will take you to the login information for your server.

Now that a server has been deployed, you can go ahead and connect to it remotely via SSH. If you work on a Windows machine, you can download the PuTTY client to connect to a Linux Server. If you’re on a Mac or a Linux machine, you can open your terminal and SSH directly to the IP address of the new GoGrid server.

  1. SSH to the new server and log in using the username and password credentials located on the “Passwords” page in the GoGrid portal. In my examples, I will use the IP address 208.113.93.242. Replace this IP address throughout this document with the IP of the server you just deployed:
    ssh 208.113.93.242

    Enter your username and password to log in.

  2. Navigate to the folder where you want the phpBB installation to live. In a Linux server, this is usually in /var/www/html. If you want to install this as a subdirectory of your website, create the directory and change directories to that folder (/var/www/html/your.subdirectory).
    cd /var/www/html
  3. Now you need to download the phpBB package from phbb.com (note: this is for the 3.0.2 version of phpBB. There may be subsequent versions so you should check and change the path below as appropriate):
    wget http://downloads.sourceforge.net/phpbb/phpBB-3.0.2.zip?download
  4. Once the package has finished installing, you’ll need to unzip it:
    unzip phpBB-3.0.2.zip
  5. A new directory called “phpBB3″ should appear when you enter the command ls to show the contents of your current directory. Now we’ll need to create the MySQL database associated with phpBB. Enter the MySQL prompt and create a new database and user for the phpBB installation. Note that you should create more securely named username, password and databases than I have below. These are just examples:
    mysql -u phpbb3admin -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 21
    Server version: 5.0.58 Source distribution
  6. Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    mysql> CREATE DATABASE phpbb3;
    Query OK, 1 row affected (0.00 sec)
    
    mysql> GRANT ALL PRIVILEGES ON phpbb3.* TO "phpbb3admin"@"localhost"
     -> IDENTIFIED BY "abcd1234";
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.01 sec)
    mysql> EXIT
    Bye
  7. Now, the rest is quite simple. Open a web browser and navigate to the directory where you installed phpBB. In this example, the directory is in the root web directory, so all I have to do is navigate to my IP address (or host name if DNS records have been properly set up), and presto! The install page should appear. If it does not appear, append the URL with /install/index.php.
  8. Read through all the docs on the initial page. This provides information about the GNU public license, provides links to the install guide and gives details on how to get support from phpBB.
  9. Next, click on the “Install” tab at the top of the page. This will provide a web-interface to pass parameters to the configuration files:
    phpbb_install
  10. Follow the on-screen instructions that will guide you through the installation. Since this server has all the requirements necessary for a LAMP environment, there should be no issues with the requirements page at all.
  11. Follow the on screen instructions to the “Database Settings” page. The “Database server hostname or DNS” field will be localhost. Fill in the “Database Name” and “Database Username” fields according to the database name and database user you created in step 5. Don’t worry about the “Database Server Port” field unless you have manually changed the port that MySQL runs on. In my case, I would enter phpbb3 in the “Database name” field and phpbb3admin in the “Database User” field. Enter the “Database Password”; in my case, this is abcd1234. You should receive the “successful connection” message. Now you can click on the “Proceed to next step” button.
  12. This is where you set your phpBB admin user details. Choose any name and password combination that you like. It is always best to use a random password generator; just make sure you write it down! Enter your email address as well. Click on the “Proceed to next step” button and you should receive the “test passed” message. Click the button again.
  13. This page will write your configurations to the config.php file. You may receive an error message saying that config.php is not writeable. If this happens, change permissions on the file and refresh the page, but be sure to restore security to it after the install is complete:
    chmod 777 config.php
  14. You should be prompted with a message that says the configuration file was written. You can then click the “Proceed to next step” button again to move on. You should be at the “Advanced Settings” page. Fill in all of the information in the “Email Settings” section if you want to be able to send and receive emails through the phpBB software. You can also choose to use an external server to handle your email from this page. Next is the “Server URL Settings” section. If you are running this installation locally and haven’t changed any default settings in Apache, leave this information as is. If you are running an SSL cert, you will need to follow the on screen instruction in the first three fields of this section. If you have already set up DNS records and have www address, you can note this in the “Domain Name” field. Click on the “Proceed to next step” button when finished.
  15. You should receive a message that says that the database tables have been written successfully. Click on the “Proceed to next step” button again. This may take several minutes as the installation finishes according to all your configurations.
  16. Move or rename the install directory on the server so that it is not accessible by the outside world. This command will move it up into the /www directory if the phpBB install was done in the root web directory:
    mv install/ ..

That’s it! You should be brought to the admin control panel where you can configure your new bulletin board to your liking. Download, modify and design your own skins, add extensions from http://phpbb.com and setup users and permissions.

phpBB is an excellent community tool that developers, customers and support agents can all use to communicate with one another. It allows businesses to save support and developer labor, provide an elevated level of customer service and get feedback from their users all in one centralized and easy-to-use place! Set up moderators and administrators to keep your forums organized and reply to your users as you see fit.

Be sure to check the GoGrid blog regularly for more How-To’s. GoGrid Cloud Servers truly give you “control in the cloud” and can help you quick build and scale community services like phpBB or WordPress.


How to: Install WordPress on a GoGrid Server in less than 10 minutes

Written by Bryan Levine on Jun 30th, 2008 | Filed under: FAQs, Features, General, GoGrid, How To

wordpresslogo WordPress is the most popular blogging content management system software in use today with over 4 million downloads in its existence. It can be seen on hundreds of thousands of websites, most notably on Ebay.com, CNN.com, People.com and the NewYorkTimes.com. Millions of readers view WordPress -based websites every day and get near real-time RSS feeds from their favorite authors. Blogging is a great way to promote your company (hence your visit here), review your current obsessions or talk about your hobbies in a community-oriented fashion.

That being said, this article will show you how to do a quick WordPress installation in less than 10 minutes on GoGrid. You will be up and running, ready to post content about what you ate for lunch or the newest tech gadget you saw on the streets, all with the clean aesthetics and easy, feature-rich navigation of a WordPress website.

To start, simply deploy a GoGrid server through the http://my.gogrid.com customer portal. In this example, we’ll use a CentOS 4.5-based LAMP stack since it has all the software packages needed for a WordPress installation already installed.

  1. Click on the “+” button once you’ve logged in, then select “Web/App Server”. Enter a friendly name for your server, such as “WordPress” or the domain name you’ll use once your server is configured. Enter a quick description of the server and select an IP address (our new IP suggest function will suggest one automatically for you).
  2. Next, select the operating system to run your WordPress installation on. WordPress can run on either Windows or Linux machines, but in this example we’ll use a Linux-based CentOS 4.5 server image.
  3. Select the amount of RAM dedicated to your server. Depending on the amount of traffic you’re expecting, you may want to allocate a good amount of RAM to your server. I’m choosing to go with a 2GB server.
  4. Select the server image you want to deploy. In this case, I’ll be using a LAMP stack. (For Windows servers, you may want to select a Windows 2003-based operating systems with IIS and MSSQL Express installed on the server image.)
  5. Click on “Save” and your server will be deployed within a matter of minutes.
  6. Once your server’s light turns green, click on the new WordPress server and then select the “Passwords” button at the left. This will take you to the login information for your server.

Now that a server has been deployed, you can go ahead and connect to it remotely via SSH. If you work on a Windows machine, you can download the PuTTY client to connect to a Linux Server. If you’re on a Mac or a Linux machine, you can open your terminal and SSH directly to the IP address of the new GoGrid server.

  1. SSH to the new server and log in using the username and password credentials located on the “Passwords” page in the GoGrid portal. In my examples, I will use the IP address 208.113.93.243. Replace this IP address throughout this document with the IP of the server you just deployed:
    ssh 208.113.93.243

    Enter your username and password to log in.

  2. Navigate to the folder where you want the WordPress installation to live. In a Linux server, this is usually in /var/www/html.
    cd /var/www/html
  3. Now you need to download the WordPress package from wordpress.org:
    wget http://wordpress.org/latest.tar.gz
  4. Once the package has finished installing, you’ll need to unzip it:
    tar –xzf latest.tar.gz
  5. A new directory called “WordPress” should appear when you enter the command “ls” to show the contents of your current directory. Now we’ll need to create the MySQL database associated with WordPress. Enter the MySQL prompt and create a new database and user for the WordPress installation. Note that you should create more securely named username, password and databases than I have below. These are just examples:
    mysql -u wordpressadmin -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 21
    Server version: 5.0.58 Source distribution
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    mysql> CREATE DATABASE wordpress;
    Query OK, 1 row affected (0.00 sec)
    mysql> GRANT ALL PRIVILEGES ON wordpress.* TO "wordpressadmin"@"localhost"
     -> IDENTIFIED BY "abcd1234";
    Query OK, 0 rows affected (0.00 sec)
    mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.01 sec)
    mysql> EXIT
    Bye
  6. In the wordpress directory, change the name of the file wp-config-sample.php to wp-config.php:
    mv wp-config-sample.php wp-config.php
  7. Open the wp-config.php file in a text editor and enter your database details. I’ll be using vi for this, but you may use something different:
    vi wp-config.php

    Under the ** MySQL settings ** section, enter in the appropriate information regarding your database that you just created. Again, these are examples taken from the steps above:

    // ** MySQL settings ** //
    define('DB_NAME', 'wordpress'); // The name of the database
    define('DB_USER', 'wordpressadmin'); // Your MySQL username
    define('DB_PASSWORD', 'abcd1234'); // ...and password
    define('DB_HOST', 'localhost');    // 99% chance you won't need to change this value
    define('DB_CHARSET', 'utf8');
    define('DB_COLLATE', '');
  8. Move all of the WordPress files into the desired location on the server. Currently, they are one level below the root domain directory, so we’ll have to move all of the files up one level. If you wish to keep them where they are, you will have to access your WordPress installation via the web at your IP address/ wordpress, i.e. 208.113.93.243/wordpress. You can move the files to wherever you see fit dependent on where you want them to appear on your website. In this example, the WordPress files will be moved to the root domain directory, /var/www/html:
    cd ..
    mv wordpress/* /var/www/html
  9. Run the WordPress installation script by accessing the file wp-admin/install.php in a web browser. This will be the IP address/wp-admin/install.php or your hostname/wp-admin/install.php. If you installed WordPress in the root directory as I did above, go to http://208.113.93.243/wp-admin/install.php, but replace my IP address with yours. If you installed WordPress in a sub-directory, go that URL in your browser. You should see the following login prompt page:wordpress-install

Once your WordPress installation is configured properly, you can join the ranks of the thousands of bloggers out there in the blogosphere. Remember to set up your RSS feeds so that people can get notified when you update your site. The only problem you should have now is deciding what to post. What is going to make your blog stand out in the crowd? Hmm, sounds like a good topic for a blog entry…