mirror of
https://github.com/YunoHost-Apps/mediawiki_ynh.git
synced 2024-09-03 19:46:05 +02:00
Install script with Ldap extensions
This commit is contained in:
parent
b2ae03816b
commit
e614e9ef09
7 changed files with 288 additions and 4 deletions
|
@ -1,4 +1 @@
|
||||||
mediawiki_ynh
|
MediaWIki 1.22.6 packaged for Yunohost
|
||||||
=============
|
|
||||||
|
|
||||||
MediaWIki packaged for Yunohost
|
|
159
conf/LocalSettings.php
Executable file
159
conf/LocalSettings.php
Executable file
|
@ -0,0 +1,159 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
# This file was automatically generated by the MediaWiki 1.22.6
|
||||||
|
# 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:
|
||||||
|
# http://www.mediawiki.org/wiki/Manual:Configuration_settings
|
||||||
|
# Protect against web entry
|
||||||
|
if (!defined('MEDIAWIKI')) {
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
## Uncomment this to disable output compression
|
||||||
|
# $wgDisableOutputCompression = true;
|
||||||
|
|
||||||
|
$wgSitename = "ynh_wiki_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:
|
||||||
|
## http://www.mediawiki.org/wiki/Manual:Short_URL
|
||||||
|
$wgScriptPath = "";
|
||||||
|
$wgScriptExtension = ".php";
|
||||||
|
|
||||||
|
## The protocol and server name to use in fully-qualified URLs
|
||||||
|
$wgServer = "https://ynh_wiki_domain";
|
||||||
|
|
||||||
|
## The relative URL path to the skins directory
|
||||||
|
$wgStylePath = "$wgScriptPath/skins";
|
||||||
|
|
||||||
|
## The relative URL path to the logo. Make sure you change this from the default,
|
||||||
|
## or else you'll overwrite your logo when you upgrade!
|
||||||
|
$wgLogo = "$wgStylePath/common/images/wiki.png";
|
||||||
|
|
||||||
|
## UPO means: this is also a user preference option
|
||||||
|
|
||||||
|
$wgEnableEmail = true;
|
||||||
|
$wgEnableUserEmail = true; # UPO
|
||||||
|
|
||||||
|
$wgEmergencyContact = "apache@ynh_wiki_domain";
|
||||||
|
$wgPasswordSender = "apache@ynh_wiki_domain";
|
||||||
|
|
||||||
|
$wgEnotifUserTalk = false; # UPO
|
||||||
|
$wgEnotifWatchlist = false; # UPO
|
||||||
|
$wgEmailAuthentication = true;
|
||||||
|
|
||||||
|
## Database settings
|
||||||
|
$wgDBtype = "mysql";
|
||||||
|
$wgDBserver = "localhost";
|
||||||
|
$wgDBname = "ynh_wiki_db_name";
|
||||||
|
$wgDBuser = "ynh_wiki_db_user";
|
||||||
|
$wgDBpassword = "ynh_wiki_db_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 = array();
|
||||||
|
|
||||||
|
## 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 http://commons.wikimedia.org
|
||||||
|
$wgUseInstantCommons = 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 = "C.UTF-8";
|
||||||
|
|
||||||
|
## If you want to use image uploads under safe mode,
|
||||||
|
## create the directories images/archive, images/thumb and
|
||||||
|
## images/temp, and make them all writable. Then uncomment
|
||||||
|
## this, if it's not already uncommented:
|
||||||
|
#$wgHashedUploadDirectory = false;
|
||||||
|
## 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/Names.php
|
||||||
|
$wgLanguageCode = "ynh_wiki_language";
|
||||||
|
|
||||||
|
$wgSecretKey = "4bdd7d457332a82e70199395fdd7b053e0e69f372bda0df5129c5ce7ac8f3977";
|
||||||
|
|
||||||
|
# Site upgrade key. Must be set to a string (default provided) to turn on the
|
||||||
|
# web installer while LocalSettings.php is in place
|
||||||
|
$wgUpgradeKey = "58a5aa316988ee69";
|
||||||
|
|
||||||
|
## Default skin: you can change the default skin. Use the internal symbolic
|
||||||
|
## names, ie 'cologneblue', 'monobook', 'vector':
|
||||||
|
$wgDefaultSkin = "vector";
|
||||||
|
|
||||||
|
## 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";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# End of automatically generated settings.
|
||||||
|
# Add more configuration options below.
|
||||||
|
# LDAP
|
||||||
|
require_once 'extensions/LdapAuthentication/LdapAuthentication.php';
|
||||||
|
$wgAuth = new LdapAuthenticationPlugin();
|
||||||
|
|
||||||
|
$wgLDAPDomainNames = array(
|
||||||
|
'mediawiki',
|
||||||
|
);
|
||||||
|
|
||||||
|
$wgLDAPServerNames = array(
|
||||||
|
'mediawiki' => 'localhost',
|
||||||
|
);
|
||||||
|
|
||||||
|
$wgLDAPUseLocal = false;
|
||||||
|
|
||||||
|
$wgLDAPEncryptionType = array(
|
||||||
|
'mediawiki' => 'clear'
|
||||||
|
);
|
||||||
|
|
||||||
|
$wgLDAPSearchAttributes = array(
|
||||||
|
'mediawiki' => 'uid'
|
||||||
|
);
|
||||||
|
|
||||||
|
$wgLDAPBaseDNs = array(
|
||||||
|
'mediawiki' => 'dc=yunohost,dc=org'
|
||||||
|
);
|
||||||
|
$wgLDAPGroupBaseDNs = array(
|
||||||
|
'mediawiki' => 'dc=yunohost,dc=org'
|
||||||
|
);
|
||||||
|
$wgLDAPUserBaseDNs = array(
|
||||||
|
'mediawiki' => 'dc=yunohost,dc=org'
|
||||||
|
);
|
||||||
|
|
||||||
|
$wgLDAPPreferences = array(
|
||||||
|
'mediawiki' => array('email' => 'mail', 'realname' => 'cn')
|
||||||
|
);
|
||||||
|
|
||||||
|
$wgLDAPDebug = 0;
|
17
conf/nginx.conf
Normal file
17
conf/nginx.conf
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
location PATHTOCHANGE {
|
||||||
|
alias ALIASTOCHANGE;
|
||||||
|
if ($scheme = http) {
|
||||||
|
rewrite ^ https://$server_name$request_uri? permanent;
|
||||||
|
}
|
||||||
|
client_max_body_size 10G;
|
||||||
|
index index.php;
|
||||||
|
try_files $uri $uri/ index.php;
|
||||||
|
location ~ [^/]\.php(/|$) {
|
||||||
|
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
|
||||||
|
fastcgi_pass unix:/var/run/php5-fpm-mediawiki.sock;
|
||||||
|
fastcgi_index index.php;
|
||||||
|
include fastcgi_params;
|
||||||
|
fastcgi_param REMOTE_USER $remote_user;
|
||||||
|
fastcgi_param PATH_INFO $fastcgi_path_info;
|
||||||
|
}
|
||||||
|
}
|
49
manifest.json
Normal file
49
manifest.json
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
{
|
||||||
|
"name": "Mediawiki",
|
||||||
|
"id": "mediawiki",
|
||||||
|
"description": {
|
||||||
|
"en": "Open Source Wiki software",
|
||||||
|
"fr": "Wiki Open Source"
|
||||||
|
},
|
||||||
|
"developer": {
|
||||||
|
"name": "ElieSauveterre",
|
||||||
|
"email": "contact@mikangali.om",
|
||||||
|
"url": "http://www.mikangali.com/"
|
||||||
|
},
|
||||||
|
"multi_instance": "true",
|
||||||
|
"arguments": {
|
||||||
|
"install": [
|
||||||
|
{
|
||||||
|
"name": "domain",
|
||||||
|
"ask": {
|
||||||
|
"en": "Choose a domain for Mediawiki"
|
||||||
|
},
|
||||||
|
"example": "domain.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "path",
|
||||||
|
"ask": {
|
||||||
|
"en": "Choose a path for Mediawiki"
|
||||||
|
},
|
||||||
|
"example": "/wiki",
|
||||||
|
"default": "/wiki"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wikiname",
|
||||||
|
"ask": {
|
||||||
|
"en": "Choose a name"
|
||||||
|
},
|
||||||
|
"example": "My Wiki",
|
||||||
|
"default": "My Wiki"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "language",
|
||||||
|
"ask": {
|
||||||
|
"en": "Choose the language"
|
||||||
|
},
|
||||||
|
"choices": ["en", "fr"],
|
||||||
|
"default": "en"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
62
scripts/install
Normal file
62
scripts/install
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
# Retrieve arguments
|
||||||
|
domain=$1
|
||||||
|
path=$2
|
||||||
|
wiki_name=$3
|
||||||
|
language=$4
|
||||||
|
|
||||||
|
# Check domain/path availability
|
||||||
|
sudo yunohost app checkurl $domain$path -a mediawiki
|
||||||
|
if [[ ! $? -eq 0 ]]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Generate random DES key & password
|
||||||
|
deskey=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d '[A-Za-z0-9]' | sed -n 's/\(.\{24\}\).*/\1/p')
|
||||||
|
db_pwd=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d '[A-Za-z0-9]' | sed -n 's/\(.\{24\}\).*/\1/p')
|
||||||
|
|
||||||
|
# Use 'mediawiki' as database name and user
|
||||||
|
db_user=mediawiki
|
||||||
|
|
||||||
|
# Initialize database and store mysql password for upgrade
|
||||||
|
sudo yunohost app initdb $db_user -p $db_pwd -s $(readlink -e ../conf/SQL/mysql.initial.sql)
|
||||||
|
sudo yunohost app setting mediawiki mysqlpwd -v $db_pwd
|
||||||
|
|
||||||
|
# Copy files to the right place
|
||||||
|
final_path=/var/www/mediawiki
|
||||||
|
sudo mkdir -p $final_path
|
||||||
|
sudo wget http://releases.wikimedia.org/mediawiki/1.22/mediawiki-1.22.6.tar.gz
|
||||||
|
sudo tar xvzf mediawiki-*.tar.gz
|
||||||
|
sudo mv mediawiki-*/* $final_path
|
||||||
|
sudo rm -R mediawiki-*
|
||||||
|
sudo cp ../conf/LocalSettings.php $final_path/
|
||||||
|
|
||||||
|
# LDAP Extension
|
||||||
|
sudo wget https://codeload.github.com/wikimedia/mediawiki-extensions-LdapAuthentication/legacy.tar.gz/REL1_22
|
||||||
|
sudo tar -xzf REL1_22
|
||||||
|
sudo mkdir $final_path/extensions/LdapAuthentication
|
||||||
|
sudo mv wikimedia-mediawiki-extensions-LdapAuthentication*/* $final_path/extensions/LdapAuthentication/
|
||||||
|
sudo rm -R wikimedia-mediawiki-extensions-LdapAuthentication*
|
||||||
|
sudo rm REL1_22
|
||||||
|
|
||||||
|
# Change variables in Mediawiki configuration
|
||||||
|
sudo sed -i "s/ynh_wiki_name/$wiki_name/g" $final_path/LocalSettings.php
|
||||||
|
sudo sed -i "s/ynh_wiki_domain/$domain/g" $final_path/LocalSettings.php
|
||||||
|
sudo sed -i "s/ynh_wiki_db_name/$db_user/g" $final_path/LocalSettings.php
|
||||||
|
sudo sed -i "s/ynh_wiki_db_user/$db_user/g" $final_path/LocalSettings.php
|
||||||
|
sudo sed -i "s/ynh_wiki_db_password/$db_pwd/g" $final_path/LocalSettings.php
|
||||||
|
sudo sed -i "s/ynh_wiki_language/$language/g" $final_path/LocalSettings.php
|
||||||
|
|
||||||
|
# Update DB
|
||||||
|
sudo php5 $final_path/maintenance/update.php
|
||||||
|
|
||||||
|
# Set permissions to roundcube directory
|
||||||
|
sudo chown -R www-data: $final_path
|
||||||
|
|
||||||
|
# Modify Nginx configuration file and copy it to Nginx conf directory
|
||||||
|
sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf
|
||||||
|
sed -i "s@ALIASTOCHANGE@$final_path/@g" ../conf/nginx.conf
|
||||||
|
sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/mediawiki.conf
|
||||||
|
|
||||||
|
# Reload Nginx and regenerate SSOwat conf
|
||||||
|
sudo service nginx reload
|
||||||
|
sudo yunohost app ssowatconf
|
0
scripts/remove
Normal file
0
scripts/remove
Normal file
0
scripts/upgrade
Normal file
0
scripts/upgrade
Normal file
Loading…
Reference in a new issue