Setting up a Development copy of the masspirates.org blog: Difference between revisions
(initial revision) |
No edit summary |
||
Line 46: | Line 46: | ||
wordpress's database, and load that database backup on your local | wordpress's database, and load that database backup on your local | ||
machine. | machine. | ||
== VirtualHost configuration == | |||
Without getting into the intracacies of web server configuration, | |||
you'll need to add a VirtualHost configuration that looks something | |||
like this. | |||
<VirtualHost localhost:80> | |||
ServerName masspirates.local | |||
ServerAlias masspirates.org | |||
DocumentRoot /home/www/masspirates.org | |||
<Directory /home/www/masspirates.org> | |||
AllowOverride all | |||
</Directory> | |||
</VirtualHost> | |||
(These directives are for the apache web server) | |||
You'll also need an /etc/hosts entry | |||
127.0.0.1 masspirates.local | |||
127.0.0.1 masspirates.org | |||
Wordpress and piratenkleider (our Wordpress theme) are obsessed with | |||
fully-qualified URLs, and changing hostnames requires some minor | |||
surgery. You may find it easiest to repoint masspirates.org to your | |||
local machine (via an /etc/hosts entry). | |||
To get my own development instance working, I also had to disable the | |||
wordpress-automatic-upgrade plugin, as follows: | |||
mkdir plugins-disabled | |||
mv plugins/wordpress-automatic-upgrade plugins-disabled/ | |||
== pushing and deploying changes == | |||
To push changes from your machine to the master repository | |||
# assuming that you're pushing branch "master" | |||
git push origin master | |||
To deploy those changes | |||
ssh masspiratesweb@rose.mayfirst.org | |||
cd ~/masspirates.org/web/blog | |||
git remote update | |||
git merge origin/master |
Latest revision as of 20:59, 1 May 2014
Setting up a Development copy of the masspirates blog
source control
I've put wordpress (the masspirates blog) under git version control. The master git repository (on rose.mayfirst.org) is
~masspiratesweb/masspirates.org/include/git/blog
Creating a local copy for development
To create your own copy of the masspirates.org blog,
mkdir blog cd blog git clone ssh://masspiratesweb@rose.mayfirst.org/home/members/masspirateparty/sites/masspirates.org/users/masspiratesweb/masspirates.org/include/git/blog .
For now, I've excluded files in wp-content/uploads but I may change my mind about that in the future.
You'll need a MySQL database for your development environment. Like this:
mysql> create database masspirates_wp default character set utf8; Query OK, 1 row affected (0.03 sec)
mysql> grant all privileges on masspirates_wp.* to 'masspirates_wp'@'localhost' identified by 'SOME-PASSWORD'; Query OK, 0 rows affected (0.00 sec)
Next, copy dev/sync.conf.sample to dev/sync.conf. Edit dev/sync.conf
to provide local database parameters.
Next,
cp wp-config-db.php.sample wp-config-db.php
Then provide the appropriate database configuration parameters in wp-config-db.php.
After you've done this much
./dev/sync.wordpress
sync.wordpress will download wp-content/uploads, create a backup of wordpress's database, and load that database backup on your local machine.
VirtualHost configuration
Without getting into the intracacies of web server configuration, you'll need to add a VirtualHost configuration that looks something like this.
<VirtualHost localhost:80> ServerName masspirates.local ServerAlias masspirates.org DocumentRoot /home/www/masspirates.org <Directory /home/www/masspirates.org> AllowOverride all </Directory> </VirtualHost>
(These directives are for the apache web server)
You'll also need an /etc/hosts entry
127.0.0.1 masspirates.local 127.0.0.1 masspirates.org
Wordpress and piratenkleider (our Wordpress theme) are obsessed with fully-qualified URLs, and changing hostnames requires some minor surgery. You may find it easiest to repoint masspirates.org to your local machine (via an /etc/hosts entry).
To get my own development instance working, I also had to disable the wordpress-automatic-upgrade plugin, as follows:
mkdir plugins-disabled mv plugins/wordpress-automatic-upgrade plugins-disabled/
pushing and deploying changes
To push changes from your machine to the master repository
# assuming that you're pushing branch "master" git push origin master
To deploy those changes
ssh masspiratesweb@rose.mayfirst.org cd ~/masspirates.org/web/blog git remote update git merge origin/master