Changes

Jump to navigation Jump to search
Adds detail about the comparison between MTAW and QualityBox
=== Who ===
==== MITRE / Dr. Cindy Cicalese ====
Dr. Cindy Cicalese is a leading MediaWiki developer with many custom extensions developed herself or in collaboration with the team she leads at MITRE in Washington, DC. mediawiki-tools-ansible-wikifarm (MTAW) has the most complete codebase for achieving goals very similar to our own [https://github.com/wikimedia/mediawiki-tools-ansible-wikifarm mediawiki-tools-ansible-wikifarm]. It has MediaWiki, in a farm config, with curated extensions, all configurable and deployable through Ansible. But, the more you poke at it, the more it needs to be changed to meet our needs. ===== QualityBox v. MTAW =====<ol><li>'''OS'''<br />MTAW deploys against RHEL/CentOS while QualityBox deploys on top of an Ubuntu base.
One drawback is that Cindy<li>'''structure'''s code <br />MTAW places everything in it's own directory like a chroot. This would appear to be a benefit in that you can deploy this against an existing box; or as Cindy MTAW says:
<blockquote>This directory hierarchy is self-contained, supporting migration between similarly configured hosts.</blockquote>
However, you can't really deploy something like a full LAMP stack and application on top of an existing host without managing port conflicts. You also can't just copy a directory to other hosts if any of the customization and optimization expands beyond a restricted set of services. Our goal with the QualityBox is that the system layout is what you'd expect logging into any generic Ubuntu host (e.g. /etc/apache2/conf.d, /var/lib/mysql). And, the QualityBox will have many additional tools, services and configurations optimized to offer a complete MediaWiki hosting environment. In short, QualityBox is NOT designed to be deployed on top of an existing host, but rather to create a perfect host. <li> '''DB credentials'''<br />MTAW uses variables for the db user/pass. We install MariaDB with 'changepassword' and then secure it using a randomly generated password that is stored in /root/.my.cnf MTAW says: <blockquote>By default, MediaWiki and many of its extensions are installed from the Wikimedia Foundation git repository. However, in some cases dowloads of large code bases from that repository through a firewall can stall, so the "group_vars/mw_hosts/config" file contains alternative URLs that are commented out to install from the github.com mirror. To switch to use the mirror, comment out the wikimedia URLs and uncomment the github URLs.</blockquote> It feels a bit kludgey to comment / uncomment lines in the group_vars/mw_hosts/config. Note: you should install from the mw repos if you're ever going to want to push or commit to mw. Otherwise (99.9%) you can use the github mirrors.<br />'''solution'''<br />You can't use 'when' in a YAML dict (group_vars/all/default_extensions) to alternate the provenance of the git repo. But, we could have two nearly identical files: <code>default_extensions_from_mw</code> and <code>default_extensions_from_github</code> with the URLs static. And then <code>group_vars/mw_hosts/config</code> would simply have a single variable for deciding if your preferred source is MW or GitHub: clone_from: github or mw and then install_extensions.yml would say EXTENSIONS: "<nowiki>{{ DEFAULT_EXTENSIONS_FROM_GITHUB }}</nowiki>" when clone_from = "github"would say EXTENSIONS: "<nowiki>{{ DEFAULT_EXTENSIONS_FROM_MW }}</nowiki>" when clone_from = "mw" Having two nearly identical files would help keep those files in sync because they could easily be diffed. <li>'''Certificates'''<br />MTAW grabs certs from a 'certs' directory and the naming convention must match the name of the wiki you're creating. However, we will be using '''certbot''' (in combo with DNS).  <li>'''Ports'''<br />MTAW directs all traffic on 443 through squid and port 80 is the purge/redirect port while Apache is listening on 8080 We're not installing squid (yet). <li>'''Interwiki'''<br />For now we will ignore the interwiki sharing <li>'''Cloning'''<br />We are also ignoring the 'clone wiki' feature of MTAW which is essentially just a tar and copy of the whole 'ROOT_DIR' to another host. We will later focus on sizing the host and/or possibly migrating a wiki from one place to another but it's not important at the moment.</ol> MTAW process: # setup.yml # deploy_db_hosts.yml # add_db_client.yml -e "MW_HOST=<host1>" -l <host1># deploy_mw_hosts.yml# install_mediawiki.yml -e "MW_RELEASE=REL1_26"# install_extensions.yml -e "MW_RELEASE=REL1_26"# install_skins.yml -e "MW_RELEASE=REL1_26"# create_new_wiki.yml -e "MW_HOST=<host1> WIKI_NAME=<name>" The new wiki will be available at http://<host1>/<name> For QB:# is Launch.yml# is contained in the QualityBox role (install_mariadb.yml) We'll need to separate this out to it's own role in order to be able to distinguish between a 'mw_host' and a 'db_host'# adds iptables rules for mysql. QualityBox lacks this feature. {{@todo}}# The rest of the QualityBox setup is handled by <code>provision.yml</code>
==== LCC / Lex Sulzer ====
4,558

edits

Navigation menu