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 packaged for Yunohost
|
||||
MediaWIki 1.22.6 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