Difference between revisions of "User:Aeric/Configuration"

From AgileApps Support Wiki
imported>Aeric
m (Text replace - 'mw_dev' to 'aadev')
imported>Aeric
m (Text replace - 'agileappslive' to 'agileappscloud')
 
(One intermediate revision by the same user not shown)
Line 5: Line 5:
:: FTP gives access to all of the Wiki files, which is generally sufficient.
:: FTP gives access to all of the Wiki files, which is generally sufficient.
:: (Access details are in emails.)
:: (Access details are in emails.)
:* DNS entries that point to the server are <tt>agileappslive.info</tt> and <tt>platformatyourservice.com</tt>.
:* DNS entries that point to the server are <tt>agileappscloud.info</tt> and <tt>platformatyourservice.com</tt>.
:* Location of any given wiki is /usr/share/mediawiki/{wikiName}
:* Location of any given wiki is /usr/share/mediawiki/{wikiName}
:* Multiple subdomains are set up using Apache, the DNS server, and <tt>LocalSettings.php</tt>.  
:* Multiple subdomains are set up using Apache, the DNS server, and <tt>LocalSettings.php</tt>.  
Line 14: Line 14:


;Organization of the mediawiki.conf Configuration File:
;Organization of the mediawiki.conf Configuration File:
:* There are two <tt><VirtualHost></tt> sections, one for each virtual server:<br>(<tt>agileappslive.info</tt> and <tt>platformatservice.com</tt>).
:* There are two <tt><VirtualHost></tt> sections, one for each virtual server:<br>(<tt>agileappscloud.info</tt> and <tt>platformatservice.com</tt>).


:* Inside each virtual host, there is a <tt><Directory></tt> section for each wiki that can be accessed, as well as an <tt>Alias</tt> setting that maps the <tt>{domain}/xyz</tt> URL to the <tt>/usr/share/mediawiki/xyz</tt> wiki folder.
:* Inside each virtual host, there is a <tt><Directory></tt> section for each wiki that can be accessed, as well as an <tt>Alias</tt> setting that maps the <tt>{domain}/xyz</tt> URL to the <tt>/usr/share/mediawiki/xyz</tt> wiki folder.


:* In the AgileAppsLive domain, the "/wiki" alias points to the <tt>mw_prod</tt> wiki, as does the "/mw_prod" alias.
:* In the AgileAppsLive domain, the "/wiki" alias points to the <tt>aawiki</tt> wiki, as does the "/aawiki" alias.


:* When <tt>scripts/versionProductionWiki</tt> is run to make a versioned copy of the production wiki, a new directory-section and alias are created for it. E.g. "aa90".
:* When <tt>scripts/versionProductionWiki</tt> is run to make a versioned copy of the production wiki, a new directory-section and alias are created for it. E.g. "aa90".
Line 55: Line 55:
:: Put <tt>mediawiki.conf_new</tt> in place and restart the server.
:: Put <tt>mediawiki.conf_new</tt> in place and restart the server.
:: For a quick test, refresh the page for each of the main wikis:
:: For a quick test, refresh the page for each of the main wikis:
:::* http://agileappslive.info/wiki  
:::* http://agileappscloud.info/wiki  
:::* http://agileappslive.info/aadev
:::* http://agileappscloud.info/aadev
:::* http://lj.platformatyourservice.com/wiki
:::* http://lj.platformatyourservice.com/wiki
:: If you can see the page and the generated links are correct, the wiki is usable.
:: If you can see the page and the generated links are correct, the wiki is usable.

Latest revision as of 23:56, 14 August 2015

Configuration Notes

  • The wiki is hosted at Rackspace.
  • The server can be accessed with a VPN connection, using either FTP or SSH.
FTP gives access to all of the Wiki files, which is generally sufficient.
(Access details are in emails.)
  • DNS entries that point to the server are agileappscloud.info and platformatyourservice.com.
  • Location of any given wiki is /usr/share/mediawiki/{wikiName}
  • Multiple subdomains are set up using Apache, the DNS server, and LocalSettings.php.
  • The DNS entries determine which subdomains are known to the world.
  • The wiki name in the url determines which wiki is accessed. (E.g. /wiki)
  • The LocalSettings.php file in that wiki uses the subdomain to determine which skin is used.
  • The skin determines which logo is shown, which platform name to use, and the settings for several other variables, including the site name.
Organization of the mediawiki.conf Configuration File
  • There are two <VirtualHost> sections, one for each virtual server:
    (agileappscloud.info and platformatservice.com).
  • Inside each virtual host, there is a <Directory> section for each wiki that can be accessed, as well as an Alias setting that maps the {domain}/xyz URL to the /usr/share/mediawiki/xyz wiki folder.
  • In the AgileAppsLive domain, the "/wiki" alias points to the aawiki wiki, as does the "/aawiki" alias.
  • When scripts/versionProductionWiki is run to make a versioned copy of the production wiki, a new directory-section and alias are created for it. E.g. "aa90".
  • Each <Directory> contains a number of URL rewrites that are needed to make the wiki work properly. Unfortunately, they need to be copied for each directory.
  • Attempts to do global rewrites failed, as recorded in notes at the top of the file. However, the rewrites were not attempted inside the <VirtualHost> headings, as those came later.
  • So it is possible that a clever configuration could cut down the size of the <Directory> segments.
  • But, as the notes in the file attest, the Apache rewrites frequently do not work as documented--so the actual semantics must be discovered by trial and error. (A rainy day project for sure, not worth the time given that we have a working system.)

Configuring Apache

  • The Apache configuration file is /etc/httpd/conf.d/mediawiki.conf.
  • Always preserve the original and edit a copy in /usr/share/mediawiki/apache_config
  • To edit, either:
  1. SSH to the server using PuTTY or the SSH shell, and use a line-oriented editor like nano.
  2. Use FTP to bring the file back to your workstation, and use a terrific editor like NotePad++

Maintenance Scripts

To use these scripts:

  1. Using PuTTY, log in to Rackspace
  2. cd /usr/share/mediawiki/apache_config

Scripts:

  • ./get_conf
Gets a copy of the three main configuration files, primarily for backup:
httpd.conf
phpMyAdmin.conf
mediawiki.conf
  • ./try_setup
Copies the current config file as mediawiki.conf_sav.
If no else is editing mediawiki.conf, then mediawiki.conf_new has the same content, and is ready to be edited. Otherwise, copy _sav to _new before you begin.
  • ./try
Put mediawiki.conf_new in place and restart the server.
For a quick test, refresh the page for each of the main wikis:
If you can see the page and the generated links are correct, the wiki is usable.
If you've done any work on the skins, then test the changes, as well
  • ./revert
Put mediawiki.conf_sav back in place, in case the _new version didn't work.
Apache References