Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mpdaugherty/wordpress-dev-kit

Easy creation and deployment of wordpress sites with custom themes.
https://github.com/mpdaugherty/wordpress-dev-kit

Last synced: about 1 month ago
JSON representation

Easy creation and deployment of wordpress sites with custom themes.

Awesome Lists containing this project

README

        

* Wordpress Dev Kit

This dev kit provides a fast, standardized way to get started building and managing a custom Wordpress site for your clients. You can develop and test locally, and deploy to your server with just one command.

** Local Installation

First, start by cloning this repository locally. Rename the directory to whatever you want to call your project.

#+BEGIN_SRC shell
$ git clone https://github.com/mpdaugherty/wordpress-dev-kit.git
$ mv wordpress-dev-kit
$ cd
#+END_SRC

To set up the local install, make sure mysql is running, then execute the init script and answer its questions:

#+BEGIN_SRC shell
$ bin/init.sh
What is your host name? (e.g. the @xyz.com when you SSH)
example.com
What is your remote username?
example
Where is your SSH key file? ~/.ssh/id-rsa
What is the URL at which you will install this blog? (No http/s://)
www.example.com
Who is your site's admin?
[email protected]
What is your desired MySQL DB Name?
example_wp
What is your desired DB user name?
ex_wp_user
What is your desired DB password?

You need to run this SQL (saved in wp_setup_local_sql.sql):

create database example_wp; create user 'ex_wp_user'@'localhost' identified by 'a'; GRANT ALL ON example_wp.* to 'DB_USERNAME'@'localhost'; FLUSH PRIVILEGES;

If you'd like to execute this immediately, enter your MySQL root username (otherwise, enter nothing):
#+END_SRC

** Developing your theme

Create your custom theme in the theme/ folder. To view your test site, open the test_wp folder in your webbrowser. Be sure to visit /wp-admin to log in to install your theme, create test posts, etc.

** Deployment

*** Pre-deployment set up

You need to set up your DNS records so that your desired URL points to your host.

Your host also needs to have apache installed with mod-php enabled.

This has only been tested on Ubuntu. If you are using a different distro for your server and find it does not work, let me know; I'll try to fix it.

*** Deploy script usage

To use the included deployment script, you must have python and [[http://fabfile.org/][fabric]] installed.

Then, while in your project root directory, just run

#+BEGIN_SRC shell
fab deploy
#+END_SRC

*** What it does

The fabric script will log into your remote host and create a folder for wordpress at /var/www/project-name/

Inside there, it installs wordpress and your custom theme.

After that, it installs a new apache virtualhost corresponding to the URL you decided upon before. This is located in /etc/apache2/sites-available/.conf

Finally, it reloads apache so that the new site will be enabled.

** Upgrading

Upgrading the deployment scripts, etc. is simple; Just pull from this repository:

#+BEGIN_SRC shell
git pull upstream
#+END_SRC

You should manage upgrades to your installed Wordpress version and
plugins through the Wordpress web interface as usual.

** Feedback

Add bug reports and feature requests as issues in this github repository (and add a patch if you're feeling generous!)

For other feedback, questions, etc., you can contact me at [email protected].