mirror of
				https://github.com/iiab/iiab.git
				synced 2025-03-09 15:40:17 +00:00 
			
		
		
		
	Merge pull request #702 from tim-moody/mediawiki
MediaWiki - introduce new role as part of IIAB
This commit is contained in:
		
						commit
						ad8b1ad654
					
				
					 6 changed files with 292 additions and 0 deletions
				
			
		|  | @ -9,6 +9,12 @@ | |||
|   when: dokuwiki_install | ||||
|   tags: dokuwiki | ||||
| 
 | ||||
| - name: MEDIAWIKI | ||||
|   include_role: | ||||
|     name: mediawiki | ||||
|   when: mediawiki_install | ||||
|   tags: mediawiki | ||||
| 
 | ||||
| - name: ELGG | ||||
|   include_role: | ||||
|     name: elgg | ||||
|  |  | |||
							
								
								
									
										24
									
								
								roles/mediawiki/defaults/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								roles/mediawiki/defaults/main.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | |||
| mediawiki_major_version: "1.30" | ||||
| mediawiki_minor_version: "0" | ||||
| mediawiki_version: "{{ mediawiki_major_version  }}.{{ mediawiki_minor_version }}" | ||||
| 
 | ||||
| mediawiki_download_base_url: "https://releases.wikimedia.org/mediawiki/{{ mediawiki_major_version }}" | ||||
| mediawiki_src: "mediawiki-{{ mediawiki_version }}.tar.gz" | ||||
| 
 | ||||
| mediawiki_db_name: iiab_mediawiki | ||||
| mediawiki_db_user: iiab_mediawiki_user | ||||
| mediawiki_db_user_password: changeme | ||||
| 
 | ||||
| mediawiki_admin_user: Admin | ||||
| mediawiki_admin_user_password: changeme | ||||
| 
 | ||||
| mediawiki_site_name: Community Wiki | ||||
| 
 | ||||
| mediawiki_install: True | ||||
| mediawiki_enabled: True | ||||
| 
 | ||||
| mediawiki_install_path: "{{ content_base }}" | ||||
| mediawiki_abs_path: "{{ mediawiki_install_path }}/mediawiki-{{ mediawiki_version }}" | ||||
| 
 | ||||
| mediawiki_url: /mediawiki | ||||
| mediawiki_full_url: "http://{{ iiab_hostname }}.{{ iiab_domain }}/{{ mediawiki_url }}" | ||||
							
								
								
									
										120
									
								
								roles/mediawiki/tasks/install.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										120
									
								
								roles/mediawiki/tasks/install.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,120 @@ | |||
| - name: Install required packages | ||||
|   package: name={{ item }} | ||||
|            state=present | ||||
|   with_items: | ||||
|     - "php{{ php_version }}-intl" | ||||
|     - "php{{ php_version }}-mbstring" | ||||
|   tags: | ||||
|     - download | ||||
| 
 | ||||
| - name: Download the latest MediaWiki software | ||||
|   get_url: | ||||
|     url: "{{ mediawiki_download_base_url }}/{{ mediawiki_src }}" | ||||
|     dest: "{{ downloads_dir }}" | ||||
|     timeout: "{{ download_timeout }}" | ||||
| #   force: yes | ||||
| #   backup: yes | ||||
|   register: mediawiki_download_output | ||||
|   when: internet_available | ||||
| 
 | ||||
| - name: Unpack download to permanent location | ||||
|   unarchive: | ||||
|     src: "{{ downloads_dir }}/{{ mediawiki_src }}" | ||||
|     dest: "{{ mediawiki_install_path }}" | ||||
|     owner: root | ||||
|     group: "{{ apache_user }}" | ||||
|     mode: 0755 | ||||
|     keep_newer: yes | ||||
| 
 | ||||
| - name: MySQL database needs to be running if we are trying to create a new db | ||||
|   service: | ||||
|     state: started | ||||
|     name: "{{ mysql_service }}" | ||||
| 
 | ||||
| - name: Create MySQL mediawiki database | ||||
|   mysql_db: | ||||
|     name: "{{ mediawiki_db_name }}" | ||||
|     state: present | ||||
| 
 | ||||
| - name: Create MySQL mediawiki database user | ||||
|   mysql_user: | ||||
|     name: "{{ mediawiki_db_user }}" | ||||
|     password: "{{ mediawiki_db_user_password }}" | ||||
|     priv: "{{ mediawiki_db_name }}.*:ALL,GRANT" | ||||
|     state: present | ||||
| 
 | ||||
| - name: Configure MediaWiki | ||||
|   shell: > | ||||
|     php '{{ mediawiki_abs_path }}/maintenance/install.php' | ||||
|     --dbname={{ mediawiki_db_name }} | ||||
|     --dbserver="localhost" | ||||
|     --installdbuser={{ mediawiki_db_user }} | ||||
|     --installdbpass={{ mediawiki_db_user_password }} | ||||
|     --dbuser={{ mediawiki_db_user }} | ||||
|     --dbpass={{ mediawiki_db_user_password }} | ||||
|     --server="{{ iiab_hostname }}.{{ iiab_domain }}" | ||||
|     --scriptpath=/mediawiki | ||||
|     --lang=en | ||||
|     --pass={{ mediawiki_admin_user_password }} | ||||
|     "{{ mediawiki_site_name }}" | ||||
|     "{{ mediawiki_admin_user }}" | ||||
|   args: | ||||
|     chdir: "{{ mediawiki_abs_path }}" | ||||
|     creates: "{{ mediawiki_abs_path }}/LocalSettings.php" | ||||
| 
 | ||||
| - name: Copy mediawiki config file to change a few calculated settings | ||||
|   template: | ||||
|     src: LocalSettings.php.j2 | ||||
|     dest: "{{ mediawiki_abs_path }}/LocalSettings.php" | ||||
|     owner: root | ||||
|     group: "{{ apache_user }}" | ||||
|     mode: 0640 | ||||
| 
 | ||||
| - name: Copy mediawiki httpd conf file | ||||
|   template: | ||||
|     src: mediawiki.conf.j2 | ||||
|     dest: "/etc/{{ apache_config_dir }}/mediawiki.conf" | ||||
| 
 | ||||
| - name: Enable httpd conf file if we are disabled (debuntu) | ||||
|   file: | ||||
|     src: /etc/apache2/sites-available/mediawiki.conf | ||||
|     dest: /etc/apache2/sites-enabled/mediawiki.conf | ||||
|     state: link | ||||
|   when: mediawiki_enabled and is_debuntu | ||||
| 
 | ||||
| - name: Remove httpd conf file if we are disabled (OS's other than debuntu) | ||||
|   file: | ||||
|     path: /etc/apache2/sites-enabled/mediawiki.conf | ||||
|     state: absent | ||||
|   when: not mediawiki_enabled and is_debuntu | ||||
| 
 | ||||
| - name: Restart Apache, so it picks up the new aliases | ||||
|   service: | ||||
|     name: "{{ apache_service }}" | ||||
|     state: restarted | ||||
| 
 | ||||
| - name: Add 'mediawiki' to list of services at /etc/iiab/iiab.ini | ||||
|   ini_file: | ||||
|     dest: "{{ service_filelist }}" | ||||
|     section: mediawiki | ||||
|     option: "{{ item.option }}" | ||||
|     value: "{{ item.value }}" | ||||
|   with_items: | ||||
|     - option: name | ||||
|       value: mediawiki | ||||
|     - option: description | ||||
|       value: '"mediawiki is a blog and web site management application."' | ||||
|     - option: mediawiki_src | ||||
|       value: "{{ mediawiki_src }}" | ||||
|     - option: mediawiki_abs_path | ||||
|       value: "{{ mediawiki_abs_path }}" | ||||
|     - option: mediawiki_db_name | ||||
|       value: "{{ mediawiki_db_name }}" | ||||
|     - option: mediawiki_db_user | ||||
|       value: "{{ mediawiki_db_user }}" | ||||
|     - option: mediawiki_url | ||||
|       value: "{{ mediawiki_url }}" | ||||
|     - option: mediawiki_full_url | ||||
|       value: "{{ mediawiki_full_url }}" | ||||
|     - option: mediawiki_enabled | ||||
|       value: "{{ mediawiki_enabled }}" | ||||
							
								
								
									
										3
									
								
								roles/mediawiki/tasks/main.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								roles/mediawiki/tasks/main.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | |||
| - name: Include the install playbook | ||||
|   include_tasks: install.yml | ||||
|   when: mediawiki_install | ||||
							
								
								
									
										133
									
								
								roles/mediawiki/templates/LocalSettings.php.j2
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										133
									
								
								roles/mediawiki/templates/LocalSettings.php.j2
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,133 @@ | |||
| <?php | ||||
| # This file was automatically generated by the MediaWiki 1.29.1 | ||||
| # installer. If you make manual changes, please keep track in case you | ||||
| # need to recreate them later. | ||||
| # | ||||
| # See includes/DefaultSettings.php for all configurable settings | ||||
| # and their default values, but don't forget to make changes in _this_ | ||||
| # file, not there. | ||||
| # | ||||
| # Further documentation for configuration settings may be found at: | ||||
| # https://www.mediawiki.org/wiki/Manual:Configuration_settings | ||||
| 
 | ||||
| # Protect against web entry | ||||
| if ( !defined( 'MEDIAWIKI' ) ) { | ||||
| 	exit; | ||||
| } | ||||
| 
 | ||||
| ## Uncomment this to disable output compression | ||||
| # $wgDisableOutputCompression = true; | ||||
| 
 | ||||
| $wgSitename = "{{ mediawiki_site_name }}"; | ||||
| 
 | ||||
| ## The URL base path to the directory containing the wiki; | ||||
| ## defaults for all runtime URL paths are based off of this. | ||||
| ## For more information on customizing the URLs | ||||
| ## (like /w/index.php/Page_title to /wiki/Page_title) please see: | ||||
| ## https://www.mediawiki.org/wiki/Manual:Short_URL | ||||
| $wgScriptPath = "{{ mediawiki_url }}"; | ||||
| 
 | ||||
| ## The protocol and server name to use in fully-qualified URLs | ||||
| #$wgServer = "http://{{ iiab_hostname }}.{{ iiab_domain }}"; | ||||
| 
 | ||||
| ## The URL path to static resources (images, scripts, etc.) | ||||
| $wgResourceBasePath = $wgScriptPath; | ||||
| 
 | ||||
| ## The URL path to the logo.  Make sure you change this from the default, | ||||
| ## or else you'll overwrite your logo when you upgrade! | ||||
| $wgLogo = "$wgResourceBasePath/resources/assets/wiki.png"; | ||||
| 
 | ||||
| ## UPO means: this is also a user preference option | ||||
| 
 | ||||
| $wgEnableEmail = true; | ||||
| $wgEnableUserEmail = true; # UPO | ||||
| 
 | ||||
| $wgEmergencyContact = "apache@{{ iiab_hostname }}.{{ iiab_domain }}"; | ||||
| $wgPasswordSender = "apache@{{ iiab_hostname }}.{{ iiab_domain }}"; | ||||
| 
 | ||||
| $wgEnotifUserTalk = false; # UPO | ||||
| $wgEnotifWatchlist = false; # UPO | ||||
| $wgEmailAuthentication = true; | ||||
| 
 | ||||
| ## Database settings | ||||
| $wgDBtype = "mysql"; | ||||
| $wgDBserver = "localhost"; | ||||
| $wgDBname = "{{ mediawiki_db_name }}"; | ||||
| $wgDBuser = "{{ mediawiki_db_user }}"; | ||||
| $wgDBpassword = "{{ mediawiki_db_user_password }}"; | ||||
| 
 | ||||
| # MySQL specific settings | ||||
| $wgDBprefix = ""; | ||||
| 
 | ||||
| # MySQL table options to use during installation or update | ||||
| $wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary"; | ||||
| 
 | ||||
| # Experimental charset support for MySQL 5.0. | ||||
| $wgDBmysql5 = false; | ||||
| 
 | ||||
| ## Shared memory settings | ||||
| $wgMainCacheType = CACHE_NONE; | ||||
| $wgMemCachedServers = []; | ||||
| 
 | ||||
| ## To enable image uploads, make sure the 'images' directory | ||||
| ## is writable, then set this to true: | ||||
| $wgEnableUploads = false; | ||||
| #$wgUseImageMagick = true; | ||||
| #$wgImageMagickConvertCommand = "/usr/bin/convert"; | ||||
| 
 | ||||
| # InstantCommons allows wiki to use images from https://commons.wikimedia.org | ||||
| $wgUseInstantCommons = false; | ||||
| 
 | ||||
| # Periodically send a pingback to https://www.mediawiki.org/ with basic data | ||||
| # about this MediaWiki instance. The Wikimedia Foundation shares this data | ||||
| # with MediaWiki developers to help guide future development efforts. | ||||
| $wgPingback = false; | ||||
| 
 | ||||
| ## If you use ImageMagick (or any other shell command) on a | ||||
| ## Linux server, this will need to be set to the name of an | ||||
| ## available UTF-8 locale | ||||
| $wgShellLocale = "en_US.utf8"; | ||||
| 
 | ||||
| ## Set $wgCacheDirectory to a writable directory on the web server | ||||
| ## to make your wiki go slightly faster. The directory should not | ||||
| ## be publically accessible from the web. | ||||
| #$wgCacheDirectory = "$IP/cache"; | ||||
| 
 | ||||
| # Site language code, should be one of the list in ./languages/data/Names.php | ||||
| $wgLanguageCode = "en"; | ||||
| 
 | ||||
| $wgSecretKey = "7fe8694a015bc9faaa1be7151ea650485bf2df5a7bd86d0463da01ada946cd52"; | ||||
| 
 | ||||
| # Changing this will log out all existing sessions. | ||||
| $wgAuthenticationTokenVersion = "1"; | ||||
| 
 | ||||
| # Site upgrade key. Must be set to a string (default provided) to turn on the | ||||
| # web installer while LocalSettings.php is in place | ||||
| $wgUpgradeKey = "52eee9ee5a42b1d1"; | ||||
| 
 | ||||
| ## For attaching licensing metadata to pages, and displaying an | ||||
| ## appropriate copyright notice / icon. GNU Free Documentation | ||||
| ## License and Creative Commons licenses are supported so far. | ||||
| $wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright | ||||
| $wgRightsUrl = ""; | ||||
| $wgRightsText = ""; | ||||
| $wgRightsIcon = ""; | ||||
| 
 | ||||
| # Path to the GNU diff3 utility. Used for conflict resolution. | ||||
| $wgDiff3 = "/usr/bin/diff3"; | ||||
| 
 | ||||
| ## Default skin: you can change the default skin. Use the internal symbolic | ||||
| ## names, ie 'vector', 'monobook': | ||||
| $wgDefaultSkin = "vector"; | ||||
| 
 | ||||
| # Enabled skins. | ||||
| # The following skins were automatically enabled: | ||||
| wfLoadSkin( 'CologneBlue' ); | ||||
| wfLoadSkin( 'Modern' ); | ||||
| wfLoadSkin( 'MonoBook' ); | ||||
| wfLoadSkin( 'Vector' ); | ||||
| 
 | ||||
| 
 | ||||
| # End of automatically generated settings. | ||||
| # Add more configuration options below. | ||||
| 
 | ||||
							
								
								
									
										6
									
								
								roles/mediawiki/templates/mediawiki.conf.j2
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								roles/mediawiki/templates/mediawiki.conf.j2
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | |||
| Alias {{ mediawiki_url }} {{ mediawiki_abs_path }} | ||||
| <Directory {{ mediawiki_abs_path }}> | ||||
|     Options Indexes FollowSymLinks | ||||
|     AllowOverride All | ||||
|     Require all granted | ||||
| </Directory> | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue