Difference between revisions of "Tech/Server Notes"

From Stumptown Syndicate
Jump to: navigation, search
(Created page with " == Upgrading WordPress == We handle WordPress upgrades for the Syndicate network using svn. <code><pre> cd /var/www/stumptownsyndicate.org/public/wordpress # Get the mysql...")
 
(added note about ebizquality.com being no longer maintained)
 
(36 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
== Servers ==
  
== Upgrading WordPress ==
+
Stumptown Syndicate runs servers to host our own websites and provides hosting to a few Portland user groups and community projects. New servers are named using a scheme based on fictional scientists and engineers. [http://en.wikipedia.org/wiki/List_of_fictional_scientists_and_engineers This Wikipedia list] may be of use.
  
We handle WordPress upgrades for the Syndicate network using svn.
+
=== [http://beaker.stumptownsyndicate.org beaker.stumptownsyndicate.org] ===
  
<code><pre>
+
This is a Rackspace Cloud server that hosts stumptownsyndicate.org and sites for many of our projects. Its configuration is managed using chef: http://github.com/stumpsyn/servers
cd /var/www/stumptownsyndicate.org/public/wordpress
+
  
# Get the mysql credentials
+
* WordPress Multi-Site ([http://stumptownsyndicate.org/wp-admin/network/ network admin], [[Tech/WordPress_Upgrade|How to upgrade]])
head -n 30 wp-config.php
+
** Syndicate Projects
 +
*** http://stumptownsyndicate.org
 +
*** http://pdxtechworkshops.org
 +
*** http://citizencodeofconduct.org
 +
*** http://igniteportland.org
 +
*** http://barcampportland.org
 +
*** http://wherecamppdx.org
 +
** Supported User Groups & Community Efforts
 +
*** http://womenwhohack.org
 +
*** http://codensplode.org
 +
*** http://koshevoy.net/
 +
* User Group Dokuwikis
 +
** http://pdxdevops.org/
 +
** http://pdxfunc.org/
 +
** http://pdxruby.org/
 +
** http://pdxfoscon.org/ (as a static archive)
 +
* This MediaWiki installation
 +
* BarCamp Portland schedule sites ([http://2009.barcampportland.org 2009], [http://2010.barcampportland.org 2010], [http://2011.barcampportland.org 2011], [http://2012.barcampportland.org 2012], [http://2013.barcampportland.org 2013])
 +
* The [http://wherecamppdx.org/wiki WhereCampPDX DokuWiki instance]
 +
* An instance of [http://fusioninvoice.com FusionInvoice] at http://invoices.stumptownsyndicate.org
 +
** We're using a custom invoice template that can be found at: https://github.com/stumpsyn/fusion-invoice-template
  
# Dump a backup of the WP database (you'll be prompted for the password that you just displayed)
+
==== Chef Configuration ====
mysqldump -u syndicate -p syndicate > ~/wordpress_backup_`date +%s`.sql
+
  
# Determine the current version of wordpress by looking at the URL provided by:
+
When setting up this server, our Chef code does the following:
svn info
+
  
# Switch to the new version, replacing x.x.x with the desired version number
+
* Installs system-level dependencies (apache, php, mysql, etc)
svn switch http://core.svn.wordpress.org/tags/x.x.x
+
* Installs WordPress
 +
** Exports the WordPress source from svn to /var/www/wordpress
 +
** Creates a MySQL database and user for WordPress, and writes these credentials to wp-config.php
 +
** Creates Apache config files for each domain hosted in the WordPress multisite install, as listed in the node config
 +
** Installs [http://wp-cli.org wp-cli]
 +
** Installs WordPress plugins and themes specified in the node config
 +
* Installs CiviCRM as a WordPress plugin and creates a database for it (but does not configure its database connection)
 +
* Writes simple apache config files for dokuwiki and static sites, as listed in the node config
 +
* Creates a database for MediaWiki
 +
* Creates a database and apache config for Fusion Invoice
  
</pre></code>
+
It notably '''''does not''''':
 +
 
 +
* Import any existing WordPress database
 +
* Add any custom contents of /var/www/wordpress/wp-content
 +
* Configure WordPress caching
 +
* Install any of the various dokuwiki instances
 +
* Move any static files, such as the WhereCamp sponsor logos
 +
* Install or configure MediaWiki
 +
* Install of configure Fusion Invoice
 +
 
 +
=== animal.stumptownsyndicate.org ===
 +
 
 +
This is a [https://mycloud.rackspace.com/ Rackspace Cloud server] that used to host stumptownsyndiate.org and sites for many of our projects. It has since been replaced by [[#bunsen.stumptownsyndiate.org]], but remains online for a final backup check.
 +
 
 +
=== [http://lucca.stumptownsyndicate.org lucca.stumptownsyndicate.org] ===
 +
 
 +
This is a Rackspace Cloud server, set up to run Rails apps.  Its configuration
 +
is managed via Chef: http://github.com/stumpsyn/servers
 +
 
 +
When rebuilding this machine, the Chef run will only set up the basic framework needed
 +
to run the listed apps. You will still need to deploy each of the apps using Capistrano
 +
and set up their data.
 +
 
 +
* [http://calagator.org Calagator] - Portland's Tech Calendar
 +
* [http://proposals.igniteportland.org/ Ignite Portland Proposals]
 +
* [http://proposals.ignitecorvallis.com/ Ignite Corvallis Proposals]
 +
 
 +
=== [http://bunsen.stumptownsyndicate.org bunsen.stumptownsyndicate.org] ===
 +
 
 +
This is a Rackspace Cloud server that runs various tools we use to communicate and do our work. This server's configuration is managed using chef: http://github.com/stumpsyn/servers
 +
 
 +
* http://etherpad.stumptownsyndicate.org - an [http://etherpad.org etherpad-lite] instance
 +
* http://znc.stumptownsyndicate.org - a [http://znc.in ZNC] IRC bouncer, accepting SSL connections on port 7777
 +
 
 +
=== [http://banzai.stumptownsyndicate.org banzai.stumptownsyndicate.org] ===
 +
 
 +
Rackspace Cloud server for [http://epdx.org/ epdx.org].
 +
 
 +
=== [http://arroway.stumptownsyndicate.org arroway.stumptownsyndicate.org] ===
 +
 
 +
This is the primary Open Source Bridge server, on Rackspace Cloud.
 +
 
 +
The public Open Source Bridge site is made up of a few interwoven services:
 +
 
 +
* WordPress is serving the [http://opensourcebridge.org front page], blog, and other content pages
 +
* [https://github.com/osbridge/openconferenceware OpenConferenceWare] runs the [http://opensourcebridge.org/sessions session submission and scheduling system]
 +
* MediaWiki provides the [[osbridge::Main_Page|osbridge wiki]] (you can interlink from this wiki to the osbridge wiki using interwiki links, like this: <nowiki>[[osbridge::2013]]</nowiki>)
 +
 
 +
==== Transferring data to a new VM ====
 +
 
 +
When setting up a new server to fulfill this role, several pieces of data need to be transferred over manually.
 +
 
 +
# Spin up a new VM and run the Chef script for arroway
 +
# Deploy OCW
 +
## Transfer the <code>osbridge_ocw</code> MySQL database
 +
## Copy OCW configuration files into <code>/var/www/osbridge-ocw/shared/config</code>
 +
## Copy uploaded OCW user photos into <code>/var/www/osbridge-ocw/shared/public/system</code>
 +
## (optional) Copy OCW logs into <code>/var/www/osbridge-ocw/shared/log</code>
 +
## In a local checkout of OCW, add a stage for the new server in <code>config/deploy</code>
 +
## Deploy OCW with capistrano: <code>cap [stage name] deploy</code>
 +
# Install MediaWiki
 +
## Transfer the <code>mediawiki</code> MySQL database
 +
## Copy the OSB MediaWiki installation into <code>/var/www/mediawiki</code>
 +
## Ensure <code>/var/www/mediawiki/LocalSettings.php</code> is properly configured to connect to the database
 +
# Install WordPress
 +
## Transfer the <code>osbridge_wordpress</code> MySQL database
 +
## Copy the OSB WordPress installation into <code>/var/www/wordpress</code>; maintaining the newly-created wp-config.php (WordPress is already installed in a basic state, but files may have changed since the initial install so copying the existing instance is highly recommended)
 +
# Copy OSB web badge assets to <code>/var/www/badges/</code>
 +
 
 +
 
 +
 
 +
== Heroku ==
 +
 
 +
We're using [http://heroku.com Heroku] to run an instance of [https://github.com/errbit/errbit Errbit], which provides unified error logging for our Rails apps: http://errbit.stumptownsyndicate.org
 +
 
 +
== Old Servers ==
 +
 
 +
=== sumomo.koshevoy.net ===
 +
 
 +
We inherited this server from Igal, it has since been shut down. It hosted several local user group sites and community projects, as well as his personal sites that we're keeping online in memoriam (on our personal, non-Syndicate servers). The server was hosted on Igal's Rackspace account.
 +
 
 +
* Personal Sites moved elsewhere:
 +
** http://angstorm.com/
 +
** http://pragmaticraft.com/
 +
** http://automateit.org/
 +
** http://press4service.com/
 +
** ebizquality.com - no longer maintained; we let the domain expire
 +
 
 +
=== hawthorne.opensourcebridge.org ===
 +
 
 +
This was the old OS Bridge server. It was hosted on a donated account from [http://networkredux.com Network Redux]. It was originally configured using [http://automateit.org/ AutomateIt], though changes may have been made outside of the automated setup system since then.
 +
 
 +
Behind the scenes, this server also hosted:
 +
 
 +
* http://etherpad.opensourcebridge.org, our etherpad instance (We'd like to upgrade this, and possibly move it to another domain for more general syndicate use)
 +
* http://compticketeer.opensourcebridge.org
 +
* The osbridge secrets wiki
 +
* Some [http://opensourcebridge.org/stats web analytics software], which may not be correctly configured
 +
 
 +
Several other things, still hosted on this machine, are outdated and should be shut down
 +
 
 +
* An outdated demo copy of OCW
 +
* http://redmine.opensourcebridge.org
 +
* [http://opensourcebridge.org/planning/ The old planning wiki]
 +
 
 +
=== marquam.opensourcebridge.org ===
 +
 
 +
This was originally the failover server for opensourcebridge.org.

Latest revision as of 04:31, 27 August 2015

Servers

Stumptown Syndicate runs servers to host our own websites and provides hosting to a few Portland user groups and community projects. New servers are named using a scheme based on fictional scientists and engineers. This Wikipedia list may be of use.

beaker.stumptownsyndicate.org

This is a Rackspace Cloud server that hosts stumptownsyndicate.org and sites for many of our projects. Its configuration is managed using chef: http://github.com/stumpsyn/servers

Chef Configuration

When setting up this server, our Chef code does the following:

  • Installs system-level dependencies (apache, php, mysql, etc)
  • Installs WordPress
    • Exports the WordPress source from svn to /var/www/wordpress
    • Creates a MySQL database and user for WordPress, and writes these credentials to wp-config.php
    • Creates Apache config files for each domain hosted in the WordPress multisite install, as listed in the node config
    • Installs wp-cli
    • Installs WordPress plugins and themes specified in the node config
  • Installs CiviCRM as a WordPress plugin and creates a database for it (but does not configure its database connection)
  • Writes simple apache config files for dokuwiki and static sites, as listed in the node config
  • Creates a database for MediaWiki
  • Creates a database and apache config for Fusion Invoice

It notably does not:

  • Import any existing WordPress database
  • Add any custom contents of /var/www/wordpress/wp-content
  • Configure WordPress caching
  • Install any of the various dokuwiki instances
  • Move any static files, such as the WhereCamp sponsor logos
  • Install or configure MediaWiki
  • Install of configure Fusion Invoice

animal.stumptownsyndicate.org

This is a Rackspace Cloud server that used to host stumptownsyndiate.org and sites for many of our projects. It has since been replaced by #bunsen.stumptownsyndiate.org, but remains online for a final backup check.

lucca.stumptownsyndicate.org

This is a Rackspace Cloud server, set up to run Rails apps. Its configuration is managed via Chef: http://github.com/stumpsyn/servers

When rebuilding this machine, the Chef run will only set up the basic framework needed to run the listed apps. You will still need to deploy each of the apps using Capistrano and set up their data.

bunsen.stumptownsyndicate.org

This is a Rackspace Cloud server that runs various tools we use to communicate and do our work. This server's configuration is managed using chef: http://github.com/stumpsyn/servers

banzai.stumptownsyndicate.org

Rackspace Cloud server for epdx.org.

arroway.stumptownsyndicate.org

This is the primary Open Source Bridge server, on Rackspace Cloud.

The public Open Source Bridge site is made up of a few interwoven services:

Transferring data to a new VM

When setting up a new server to fulfill this role, several pieces of data need to be transferred over manually.

  1. Spin up a new VM and run the Chef script for arroway
  2. Deploy OCW
    1. Transfer the osbridge_ocw MySQL database
    2. Copy OCW configuration files into /var/www/osbridge-ocw/shared/config
    3. Copy uploaded OCW user photos into /var/www/osbridge-ocw/shared/public/system
    4. (optional) Copy OCW logs into /var/www/osbridge-ocw/shared/log
    5. In a local checkout of OCW, add a stage for the new server in config/deploy
    6. Deploy OCW with capistrano: cap [stage name] deploy
  3. Install MediaWiki
    1. Transfer the mediawiki MySQL database
    2. Copy the OSB MediaWiki installation into /var/www/mediawiki
    3. Ensure /var/www/mediawiki/LocalSettings.php is properly configured to connect to the database
  4. Install WordPress
    1. Transfer the osbridge_wordpress MySQL database
    2. Copy the OSB WordPress installation into /var/www/wordpress; maintaining the newly-created wp-config.php (WordPress is already installed in a basic state, but files may have changed since the initial install so copying the existing instance is highly recommended)
  5. Copy OSB web badge assets to /var/www/badges/


Heroku

We're using Heroku to run an instance of Errbit, which provides unified error logging for our Rails apps: http://errbit.stumptownsyndicate.org

Old Servers

sumomo.koshevoy.net

We inherited this server from Igal, it has since been shut down. It hosted several local user group sites and community projects, as well as his personal sites that we're keeping online in memoriam (on our personal, non-Syndicate servers). The server was hosted on Igal's Rackspace account.

hawthorne.opensourcebridge.org

This was the old OS Bridge server. It was hosted on a donated account from Network Redux. It was originally configured using AutomateIt, though changes may have been made outside of the automated setup system since then.

Behind the scenes, this server also hosted:

Several other things, still hosted on this machine, are outdated and should be shut down

marquam.opensourcebridge.org

This was originally the failover server for opensourcebridge.org.