Difference between revisions of "User:Aeric/Background Information"

From LongJump Support Wiki
imported>Aeric
(Created page with "<noinclude>__TOC__</noinclude> ===How the Wiki Works=== :* Mediawiki consists of a database and a bunch of PHP scripts and supporting files in the Wiki directory. :* The actual W…")
 
imported>Aeric
 
(5 intermediate revisions by the same user not shown)
Line 11: Line 11:
:*;image-files/: A directory we create on the local file system. It contains images that will be (or have been) uploaded to the wiki. The Wiki doesn't know about this directory. It's just a place where images can be saved before uploading. The backup system re-creates this directory from the <tt>images/</tt> file, so that an entire working environment is restored.
:*;image-files/: A directory we create on the local file system. It contains images that will be (or have been) uploaded to the wiki. The Wiki doesn't know about this directory. It's just a place where images can be saved before uploading. The backup system re-creates this directory from the <tt>images/</tt> file, so that an entire working environment is restored.
:*;download/: A directory we added to hold files we want to reference in the wiki. Only image files can be loaded into the Wiki. But that's ok. Image loads are done painfully, one at a time. Files in the <tt>download/</tt> folder can be easily updated en mass. (Image files need to be uploaded, so that "links" to them coded in the wiki cause the image to be displayed, rather than link text.)
:*;download/: A directory we added to hold files we want to reference in the wiki. Only image files can be loaded into the Wiki. But that's ok. Image loads are done painfully, one at a time. Files in the <tt>download/</tt> folder can be easily updated en mass. (Image files need to be uploaded, so that "links" to them coded in the wiki cause the image to be displayed, rather than link text.)
 
{{#ifeq: {{SITE}} | LJ |
===How Links to the Wiki Work===
===How Links to the Wiki Work===
(This is the email I sent to explain things for version 7.1.)
(This is the email I sent to explain things for version 7.1.)
Line 17: Line 17:
;Current Version Links:
;Current Version Links:
:As of today and going forward, these URLS will always point to the latest released version of the Support Wiki:
:As of today and going forward, these URLS will always point to the latest released version of the Support Wiki:
::  http://lj.platformatyourservice.com/wiki   
::  http://{subdomain}.platformatyourservice.com/wiki   
::  http://rn.platformatyourservice.com/wiki 
::  http://isv.platformatyourservice.com/wiki
 
::(To get to the main pages, “/wiki” isn’t needed.)


:Those are the best links to send to current customers, as they’ll always point to the latest pages.  And they will always stay at the top of the Google search rankings, by virtue of being the most heavily accessed Wiki pages.
:Those are the best links to send to current customers, as they’ll always point to the latest pages.  And they will always stay at the top of the Google search rankings, by virtue of being the most heavily accessed Wiki pages.


:Versioned links in bookmarks and emails will also work:
:Versioned links in bookmarks and emails will also work:
::  http://lj.platformatyourservice.com/lj71
::  http://{subdomain}.platformatyourservice.com/lj71  
::  http://rn.platformatyourservice.com/lj71 
::  http://isv.platformatyourservice.com/lj71 


:Those links will be automatically forwarded to the /wiki pages for as long as 7.1 is current.
:Those links will be automatically forwarded to the /wiki pages for as long as 7.1 is current.
Line 35: Line 29:
;Pre-Release Links:
;Pre-Release Links:
:Customers who need pre-release information can get it using links like these:
:Customers who need pre-release information can get it using links like these:
::  http://lj.platformatyourservice.com/lj72
::  http://{subdomain}.platformatyourservice.com/lj72  
::  http://rn.platformatyourservice.com/lj72
::  http://isv.platformatyourservice.com/lj72  


:When version 7.2 is released, those links will be automatically redirected to the /wiki pages.
:When version 7.2 is released, those links will be automatically redirected to the /wiki pages.
Line 44: Line 36:
;Old Version Links:
;Old Version Links:
:Anyone who needs to reference prior-release information can use links like these:
:Anyone who needs to reference prior-release information can use links like these:
:  http://lj.platformatyourservice.com/lj70
:  http://{subdomain}.platformatyourservice.com/lj70  
:  http://rn.platformatyourservice.com/lj70
}}
:  http://isv.platformatyourservice.com/lj70
 
===Wiki/Server Configuration Notes===
===Wiki/Server Configuration Notes===
:* The wiki is hosted at Siteground. The site name is "platformatyourservice.com".
:* The wiki is hosted at Racksace. The site name is "platformatyourservice.com".
 
:* Location is /usr/share/mediawiki/{wiki_name}
:* Three subdomains are set up at there:
:* Multiple subdomains are set up using Apache, the DNS server, and <tt>LocalSettings.php</tt>.  
:**  isv.platformatyourservice.com - for ISV users
:**  lj.platformatyourservice.com  - for LongJump platform users
:**  rn.platformatyourservice.com  - for Relationals users
 
:* The DNS server forwards platformatyourservice.com -> isv.platformatyourservice
:* The DNS server forwards platformatyourservice.com -> isv.platformatyourservice
:* The root directory for all three domains is <tt>/home/platfor1/public_host</tt> (aka <tt>~platfor1/public_host</tt>)
:* The Wiki examines the server name (which includes the subdomain) to determine which logos to show and which platform name to use:
:* The Wiki examines the server name (which includes the subdomain) to determine which logos to show and which platform name to use:
:** In <tt>{wiki_name}/LocalSettings.php</tt>, <tt>$wgSitename</tt> declares the name of the Wiki site.
:** In <tt>{wiki_name}/LocalSettings.php</tt>, <tt>$wgSitename</tt> declares the name of the Wiki site.
:** That value is set conditionally, based on the hostname used to access the PHP page (lj.platformatyourservice.com or isv.platformatyourservice.com).
:** That value is set conditionally, based on the subsomain used to access the PHP page.
:** So the same verison of the Wiki is launched in all three cases, but LocalSettings.php changes <tt>$wgSitename</tt> depending on the subdomain used to access it (<tt>lj.platformatyourservice</tt> or <tt>isv.platformatyourservice</tt>).
:** So the same verison of the Wiki is launched in all three cases, but LocalSettings.php changes <tt>$wgSitename</tt> depending on the subdomain used to access it.
:** When that variable's value is "ISV Support Wiki", the unbranded, ISV version of the wiki pages are shown. Otherwise, the LongJump logo and platform name appears.
:** When that variable's value is "ISV Support Wiki", the unbranded, ISV version of the wiki pages are shown. Otherwise, a logo and platform name appears.
 
:* In the root directory, <tt>/www</tt> is a symlink to <tt>~platfor1/public_host</tt>. That symlink makes FTP uploads easier. (It may also be served up by Apache. Not yet known.)
:* The current (most recently released) version of the wiki is in <tt>public_host/wiki</tt>.
:* In the <tt>/public_host</tt> root directory, there is a PHP redirect file (<tt>index.php</tt>) that takes people who land there to the <tt>/wiki</tt> directory.
:* If the current version is 7.1, then <tt>public_host/lj71/</tt> contains a copy of that redirect file. So:
:**  When 7.1 is pre-release, bookmarks and email links can go directly to http://lj.platformatyourservice.com/lj71.
:**  After release, the links still work. (The release process will cause them redirected to the <tt>/wiki</tt> pages. BUT... All links from within the wiki go to <tt>/wiki</tt>--so users and the support crew will always have the latest released version in <tt>/wiki</tt>. (As Uday put it: "Wiki" is Sticky.)
:**  When 7.2 is released, <tt>/lj71</tt> will be restored, so any link that specifically went to that version will work, while any <tt>/wiki</tt> links will now go to the 7.2 version


===Accessing the Server===
===Accessing the Server===
Line 92: Line 68:
:* A MediaWiki site contains a number of ''wiki files'' and a ''database''.
:* A MediaWiki site contains a number of ''wiki files'' and a ''database''.
:* The ''Wiki content files'' are in the <tt>images/</tt>, <tt>extensions/</tt>, and <tt>download/</tt> folders, plus some other files.
:* The ''Wiki content files'' are in the <tt>images/</tt>, <tt>extensions/</tt>, and <tt>download/</tt> folders, plus some other files.
:* Each Wiki has its own database.<br/>The database contains page contents and edit history. It is created when the wiki is set up. It's actual location at Siteground is unclear, but we can export data from it using <tt>mysqldump</tt> and import data into it using <tt>mysql</tt>.
:* Each Wiki has its own database.<br/>The database contains page contents and edit history. It is created when the wiki is set up. Data is exported using <tt>mysqldump</tt>, and imported using <tt>mysql</tt>.
:* The <tt>/public_host/dbbackup</tt> folder contains database backups.<br/>(Each one is large. If there are many of them, they take up a lot of space on the server. There, they make it possible to go incrementally back in time, if needed. But the number of files needs to be trimmed to a reasonable level, from time to time.)
:* The backup script in the root user's home dir, is <tt>automysqlbackup.sh</tt>
:* The archive of database backups is at <tt>??</tt>


===Branching Notes===
===Branching Notes===
:* The ''sandbox'' is the new wiki you are creating. There is (or will be) a local copy on your system, as well as the remote copy on the server.
:* The ''sandbox'' is the new wiki you are creating. There is (or will be) a local copy on your system, as well as the remote copy on the server.

Latest revision as of 23:08, 27 July 2011

How the Wiki Works

  • Mediawiki consists of a database and a bunch of PHP scripts and supporting files in the Wiki directory.
  • The actual Wiki content is contained in a database.
  • Together, the file set and the database make up the Wiki that user sees.
  • In addition to PHP scripts, the directory contains:
    LocalSettings.php
    The master control script where everything else is configured.
    skins/
    The images and CSS files that create the "wrapper context" (headers, nav pane, etc.) for the wiki content.
    extensions/
    MediaWiki plug-ins that have been downloaded and "installed" by referencing them in LocalSettings.php. (Since pages are loaded dynamically, once the extension is present, it is automatically part of the Wiki. No restart needed.)
    images/
    A directory hierarchy that contains the image files after they have been loaded. The Wiki stores them there when you load an image, and keeps a pointer to them in the database.
    image-files/
    A directory we create on the local file system. It contains images that will be (or have been) uploaded to the wiki. The Wiki doesn't know about this directory. It's just a place where images can be saved before uploading. The backup system re-creates this directory from the images/ file, so that an entire working environment is restored.
    download/
    A directory we added to hold files we want to reference in the wiki. Only image files can be loaded into the Wiki. But that's ok. Image loads are done painfully, one at a time. Files in the download/ folder can be easily updated en mass. (Image files need to be uploaded, so that "links" to them coded in the wiki cause the image to be displayed, rather than link text.)

Wiki/Server Configuration Notes

  • The wiki is hosted at Racksace. The site name is "platformatyourservice.com".
  • Location is /usr/share/mediawiki/{wiki_name}
  • Multiple subdomains are set up using Apache, the DNS server, and LocalSettings.php.
  • The DNS server forwards platformatyourservice.com -> isv.platformatyourservice
  • The Wiki examines the server name (which includes the subdomain) to determine which logos to show and which platform name to use:
    • In {wiki_name}/LocalSettings.php, $wgSitename declares the name of the Wiki site.
    • That value is set conditionally, based on the subsomain used to access the PHP page.
    • So the same verison of the Wiki is launched in all three cases, but LocalSettings.php changes $wgSitename depending on the subdomain used to access it.
    • When that variable's value is "ISV Support Wiki", the unbranded, ISV version of the wiki pages are shown. Otherwise, a logo and platform name appears.

Accessing the Server

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. (Details in emails.)

Apache Modifications

To modify the Apache configuration in /etc/httpd/conf.d/mediawiki.conf, either:

  1. SSH to the server using PuTTY or the SSH shell, and use a line-oriented editor like nano.
  2. Set up TightVnc and use it to run a darn good editor like Nedit.

Apache References

Backup Notes

  • A MediaWiki site contains a number of wiki files and a database.
  • The Wiki content files are in the images/, extensions/, and download/ folders, plus some other files.
  • Each Wiki has its own database.
    The database contains page contents and edit history. It is created when the wiki is set up. Data is exported using mysqldump, and imported using mysql.
  • The backup script in the root user's home dir, is automysqlbackup.sh
  • The archive of database backups is at ??

Branching Notes

  • The sandbox is the new wiki you are creating. There is (or will be) a local copy on your system, as well as the remote copy on the server.