Skip to content

Full Installation Notes

mikeedwards edited this page Oct 16, 2012 · 4 revisions

jQuery.com web-base-template

This is a set of plugins, themes, and configuration files for jQuery's website infrastructure, which is powered by WordPress. It is designed as a custom content directory. So think of web-base-template as your wp-content directory.

Installation

  1. Configure your local webserver with a virtual host that covers the relevant jQuery domains, such as *.jquery.com and *.jqueryui.com, all pointing to the same root. For example, in Apache:

    <VirtualHost *:80>
    ServerName local.jquery.com
    ServerAlias *.jquery.com *.jqueryui.com *.jquery.org *.qunitjs.com *.sizzlejs.com *.jquerymobile.com
    DocumentRoot "/srv/www/jquery"
    <Directory "/srv/www/jquery">
    	Options All
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    </VirtualHost>
    

    You do not need to configure your /etc/hosts file for local.* because jquery.com's DNS handles this for you.

  2. Place the WordPress core files in the document root you chose. (Don't install it.) You can do this any number of ways:

    • Download the latest version from http://wordpress.org/latest.zip
    • Check out the latest tag from http://core.svn.wordpress.org/tags/
    • Clone the official WordPress Github mirror at http://github.com/wordpress/wordpress/
  3. Clone web-base-template into place, so you have a file tree that looks like this:

    web-base-template/
    wp-admin/
    wp-content/
    wp-includes/
    index.php
    ...
    
  4. Copy web-base-template/wp-config-sample.php and move it up one directory, to wp-config.php. Fill in your database credentials.

  5. Create an .htaccess file with the following content into that same document root:

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    
    RewriteRule ^resources/?$ index.php [L]
    RewriteRule ^resources/(.+) gw-resources/%{HTTP_HOST}/$1 [L]
    
    # Add a trailing slash to the wp-admin of a subsite.
    RewriteRule ^([_0-9a-zA-Z\.-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
    
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [L]
    
    # Handle wp-admin, wp-includes, and root PHP files for subsites.
    RewriteRule  ^[_0-9a-zA-Z\.-]+/((wp-admin|wp-includes).*) $1 [L]
    RewriteRule  ^[_0-9a-zA-Z\.-]+/(.*\.php)$ $1 [L]
    
    RewriteRule . index.php [L]
    
  6. Make sure that you have assigned your WordPress files and directories the correct permissions.
    For example, if your WordPress files are in the directory wordpress, and you are running Apache under Mac OS X with the _www user:

    sudo chown -R _www wordpress
    sudo chmod -R g+w wordpress
    
  7. Go to http://local.jquery.com and walk through the standard WordPress installation. web-base-template includes a special install script that will initialize the entire network.

  8. Be sure to have node >= 0.8 installed on your system. Some sites, such as download.jqueryui.com, require that version or greater.

Individual Website Content Builds

Refer to the instructions for how to build content for individual sites (e.g. jquery.com, api.jquery.com, etc.)