Both sides previous revisionPrevious revisionNext revision | Previous revision |
wiki_administration [2011/04/27 00:08] – [Software] peterwilliams | wiki_administration [2017/08/04 22:00] (current) – jwang |
---|
===== Hardware ===== | ===== Hardware ===== |
| |
Everything is currently on ''serpens.berkeley.edu'', AKA ''badgrads.berkeley.edu''. FIXME I don't know where the hardware is or who formally owns it. | Everything is currently on ''serpens.astro.berkeley.edu''. If you're the webmaster, ask Bill to get permission to edit the wiki. |
| |
===== Software ==== | ===== Software ===== |
| |
The DokuWiki files are in ''/export/astroweb/badgrads'', which does not seem to be network-accessible right now. They are version-controlled in a Git repository with some site-specific customizations. See below for more details on how the repository works. | The DokuWiki files are in ''/export/astroweb/badgrads'', which does not seem to be network-accessible right now. They are version-controlled in a Git repository with some site-specific customizations. See below for more details on how the repository works. |
| |
The file permissions setup is a little complicated. The reason for this is that multiple administrator uses *and* the webserver all need to be able to write files in the DokuWiki tree. The tree is owned by group ''webadmin'' with group write bits active. The directories have their setgid bits set so that files created within them get put in the ''webadmin'' group regardless of who creates them. If you're going to modify the files, you obviously need to be a member of ''webadmin''. You also need to set your umask to 002, so that files you create are group-writeable and other administrators can modify them. The permissions on the DokuWiki installation have been set up to create files with the right modes. | The file permissions setup is a little complicated. The reason for this is that multiple administrator uses **and** the webserver all need to be able to write files in the DokuWiki tree. The tree is owned by group ''badgrads'' with group write bits active. The directories have their setgid bits set so that files created within them get put in the ''badgrads'' group regardless of who creates them. If you're going to modify the files, you obviously need to be a member of ''badgrads''. You also need to set your umask to 002, so that files you create are group-writeable and other administrators can modify them. The permissions on the DokuWiki installation have been set up to create files with the right modes. |
| |
The DokuWiki installation has the "Monobook" plugin/template/style/whatever installed which gives it a MediaWiki-like appearance and style. For more info on Monobook, see [[http://tatewake.com/wiki/projects:monobook_for_dokuwiki|here]]. | The DokuWiki installation has the "Monobook" plugin/template/style/whatever installed which gives it a MediaWiki-like appearance and style. For more info on Monobook, see [[http://tatewake.com/wiki/projects:monobook_for_dokuwiki|here]]. |
| |
^ Component ^ Current Installed Version ^ | **Note on updating the wiki: Our hack to only allow users to register that are on computers in Campbell Hall will get overwritten if you do a simple update of the dokuwiki backend. You must preserve the ~5 lines of code in inc/auth.php in the register() function around line 920 (can be grepped with "BADGrads modification"). Thus, it is recommended you copy/merge dokuwiki updates (i.e. download new dokuwiki backend, modify it's inc/auth.php with the ~5 lines, then copy them over to the live badgrads server). Otherwise, lifting the IP restriction will cause spambots to spam the wiki.** |
| [[http://httpd.apache.org/|Apache HTTPD]] | 2.2.13 | | |
| [[http://www.php.net/|PHP]] | 5.3.3 | | |
| [[http://www.dokuwiki.org/|DokuWiki]] | 2010-11-07a (Anteater) | | |
| [[doku>template:monobook|MonoBook]] | 2010-08-17 | | |
| [[doku>plugin:actionlink|ActionLink Plugin]] | 2006-05-26 | | |
| [[doku>plugin:definitionlist|Definition List Plugin]] | 2008-08-13 | | |
| [[doku>plugin:google_cal|Google Calendar Plugin]] | 2007-05-1 | | |
| [[doku>plugin:jsmath|JSMath Plugin]] | 2010-10-13 | | |
| [[doku>plugin:sortablejs|Sortable Tables Plugin]] | 2.4a (2010-12-18) | | |
| [[http://www.math.union.edu/~dpvc/jsMath/|jsMath]] | 3.6e | | |
| [[http://www.math.union.edu/~dpvc/jsMath/|jsMath Image Fonts]] | 1.3 | | |
| |
| ==== Git Repository Setup (old) ==== |
| |
| The files in the live site are backed by a Git repository. As part of the DokuWiki directory tree, the ''.git'' directory is subject to the file ownership scheme described above. |
| |
| The repository has three branches: ''master'', ''dw-releases'', and ''plugin-releases''. The master branch contains the source for the live site and is the one that should be left checked out. ''dw-releases'' tracks pristine unpacks of DokuWiki release tarballs. ''plugin-releases'' is built on top of ''dw-releases'' and adds pristine unpacks of various DokuWiki plugins. ''master'' builds on top of ''plugin-releases'', adding site-specific customizations. As described below, this setup allows us to safely update the different components of the software without worrying about losing local modifications. It does require some comfort with Git, though. |
| |
| To make a change in the site-specific customizations, you should just modify the files in ''master'' and make a commit. |
| |
| To upgrade a plugin, or install a new one, you should check out ''plugin-releases'', unpack the new plugin, and commit it. (If the plugin is being upgraded, check if any existing files were deleted in the new version.) Look at the commit history of ''plugin-releases'' to see how this works. Then checkout ''master'' and merge ''plugin-releases''. If there are any site-specific customizations to be made, make them in the post-merge master branch. If there are any merge conflicts, one of the site-specific hacks apparently needs to by synced with the new plugin. |
| |
| To upgrade the base DokuWiki install, check out ''dw-releases'' and unpack the new release. Check ''data/deleted.files'' for a list of files that were deleted in the release, and ''git rm'' them. Commit everything. Check out ''plugin-releases'', and merge in ''dw-releases''. Check out ''master'', and merge in ''plugin-releases''. If there are any conflicts, one of the site-specific hacks needs fixing. |
| |
| ''git log plugin-releases'' shows the plugins that we've installed. ''git log plugin-releases..master'' shows the site-specific modifications that have been made. |
| |
====== Known Bugs / Improvement Requests ====== | ====== Known Bugs / Improvement Requests ====== |