[MediaWiki-l] Help about running several wikis on a same installation

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

[MediaWiki-l] Help about running several wikis on a same installation

Pascal GREGIS
Hello everyone,

I have troubles running several wikis on a same installation.
In fact I cannot use neither symlinks nor subdomain redirections to do it. So I have tried a hand-mde solution with a copy of index.php.
i.e. : I want to run 4 wikis, that I have called :
- andra
- anthony
- nita
- crep

To go to andra for example I type the address :
pascal.lautre.net/w/andra.php

and I have created a LocalSettings-$wikiname.php for each of the 4 wikis, setting a switch in the main LocalSettings.php to include the appropriate one.
But I've got all my vairables and paths erased when the wiki redirects, it calls index.php/Accueil for example and I have no way to know what was the original call.
I have even tried to use a hook, the BeforePageRedirect hook, but it worked only for loading the Accueil page (I guess it would be called HOme in english, or Welcome), after, I have the problem again when I try to connect, the link points to index.php instead of andra.php.

Here is the code of my LocalSettings.php:

<?php

$ppw = "/w";
if (! isset($pascal_request_uri)) {
  $pascal_request_uri = split("/", $_SERVER['REQUEST_URI'])[2];
}

$wgHooks['BeforePageRedirect'][] = function ($out, &$redirect, &$code) {
  GLOBAL $pascal_request_uri;
  GLOBAL $ppw;

  $redirect = ereg_replace("/index.php", "/$pascal_request_uri", $redirect);
  return true;
};

switch ($pascal_request_uri) {
  case "andra.php":
  case "anthony.php":
  case "nita.php":
  case "crep.php":
    require_once("LocalSettings-$pascal_request_uri");
    break;
  default:
    echo "<p>NO wiki specified. please choose a wiki, ex: <br>\n";
    echo $_SERVER['SERVER_NAME'] . "$ppw/idees.php<br>\n";
    exit(1);
}

Thank you for any help!

Pascal

_______________________________________________
MediaWiki-l mailing list
To unsubscribe, go to:
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
Reply | Threaded
Open this post in threaded view
|

Re: [MediaWiki-l] Help about running several wikis on a same installation

Brian Wolff
It would be much better if you could use separate directories instead of
renaming index.php. Renaming index.php is not really a supported
configuration. There's the obvious problem of how do other scripts, like
load.php know what wiki is being referred to.

If you're really intent on doing this, You can try ensuring that $wgScript
is set appropriately for each wiki (E.g. $wgScript = '/w/andra.php'; for
the andra one). However, there are probably places (especially for
extensions) where index.php is hardcoded, and as i mentioned before, there
are other entry points then index.php like load.php and api.php which will
be confused by this. I expect that this setup will break in subtle ways.

You would also have to ensure there are separate image directories for each
wiki or mediawiki will get confused.

p.s. ereg_replace is being removed from php, you should use preg_replace
instead.

--
bawolff


On Thu, Dec 12, 2019 at 5:54 PM Pascal GREGIS <[hidden email]> wrote:

> Hello everyone,
>
> I have troubles running several wikis on a same installation.
> In fact I cannot use neither symlinks nor subdomain redirections to do it.
> So I have tried a hand-mde solution with a copy of index.php.
> i.e. : I want to run 4 wikis, that I have called :
> - andra
> - anthony
> - nita
> - crep
>
> To go to andra for example I type the address :
> pascal.lautre.net/w/andra.php
>
> and I have created a LocalSettings-$wikiname.php for each of the 4 wikis,
> setting a switch in the main LocalSettings.php to include the appropriate
> one.
> But I've got all my vairables and paths erased when the wiki redirects, it
> calls index.php/Accueil for example and I have no way to know what was the
> original call.
> I have even tried to use a hook, the BeforePageRedirect hook, but it
> worked only for loading the Accueil page (I guess it would be called HOme
> in english, or Welcome), after, I have the problem again when I try to
> connect, the link points to index.php instead of andra.php.
>
> Here is the code of my LocalSettings.php:
>
> <?php
>
> $ppw = "/w";
> if (! isset($pascal_request_uri)) {
>   $pascal_request_uri = split("/", $_SERVER['REQUEST_URI'])[2];
> }
>
> $wgHooks['BeforePageRedirect'][] = function ($out, &$redirect, &$code) {
>   GLOBAL $pascal_request_uri;
>   GLOBAL $ppw;
>
>   $redirect = ereg_replace("/index.php", "/$pascal_request_uri",
> $redirect);
>   return true;
> };
>
> switch ($pascal_request_uri) {
>   case "andra.php":
>   case "anthony.php":
>   case "nita.php":
>   case "crep.php":
>     require_once("LocalSettings-$pascal_request_uri");
>     break;
>   default:
>     echo "<p>NO wiki specified. please choose a wiki, ex: <br>\n";
>     echo $_SERVER['SERVER_NAME'] . "$ppw/idees.php<br>\n";
>     exit(1);
> }
>
> Thank you for any help!
>
> Pascal
>
> _______________________________________________
> MediaWiki-l mailing list
> To unsubscribe, go to:
> https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
>
_______________________________________________
MediaWiki-l mailing list
To unsubscribe, go to:
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
Reply | Threaded
Open this post in threaded view
|

Re: [MediaWiki-l] Help about running several wikis on a same installation

Pascal GREGIS
Thank you Brian for the explanations. I d'ont have the courage anymore to track down all the hardcoded index.php, and if you say it may be fragile, I think I have no other option but to lose 1GB of my available space copying mediawiki directory 4 or 5 times.
It would be nice however if possible to have other options for multiwikis, as all hostings don't allow symlinks or subdomains / domain aliases.

For ereg_replace, I don't know why preg_replace gave horrible results on my server, but anyway, I should'nt need it anymore.

Pascal

Brian Wolff a écrit, le Thursday 12 December 2019 à 18:08:46 :

> It would be much better if you could use separate directories instead of
> renaming index.php. Renaming index.php is not really a supported
> configuration. There's the obvious problem of how do other scripts, like
> load.php know what wiki is being referred to.
>
> If you're really intent on doing this, You can try ensuring that $wgScript
> is set appropriately for each wiki (E.g. $wgScript = '/w/andra.php'; for
> the andra one). However, there are probably places (especially for
> extensions) where index.php is hardcoded, and as i mentioned before, there
> are other entry points then index.php like load.php and api.php which will
> be confused by this. I expect that this setup will break in subtle ways.
>
> You would also have to ensure there are separate image directories for each
> wiki or mediawiki will get confused.
>
> p.s. ereg_replace is being removed from php, you should use preg_replace
> instead.
>
> --
> bawolff
>
>
> On Thu, Dec 12, 2019 at 5:54 PM Pascal GREGIS <[hidden email]> wrote:
>
> > Hello everyone,
> >
> > I have troubles running several wikis on a same installation.
> > In fact I cannot use neither symlinks nor subdomain redirections to do it.
> > So I have tried a hand-mde solution with a copy of index.php.
> > i.e. : I want to run 4 wikis, that I have called :
> > - andra
> > - anthony
> > - nita
> > - crep
> >
> > To go to andra for example I type the address :
> > pascal.lautre.net/w/andra.php
> >
> > and I have created a LocalSettings-$wikiname.php for each of the 4 wikis,
> > setting a switch in the main LocalSettings.php to include the appropriate
> > one.
> > But I've got all my vairables and paths erased when the wiki redirects, it
> > calls index.php/Accueil for example and I have no way to know what was the
> > original call.
> > I have even tried to use a hook, the BeforePageRedirect hook, but it
> > worked only for loading the Accueil page (I guess it would be called HOme
> > in english, or Welcome), after, I have the problem again when I try to
> > connect, the link points to index.php instead of andra.php.
> >
> > Here is the code of my LocalSettings.php:
> >
> > <?php
> >
> > $ppw = "/w";
> > if (! isset($pascal_request_uri)) {
> >   $pascal_request_uri = split("/", $_SERVER['REQUEST_URI'])[2];
> > }
> >
> > $wgHooks['BeforePageRedirect'][] = function ($out, &$redirect, &$code) {
> >   GLOBAL $pascal_request_uri;
> >   GLOBAL $ppw;
> >
> >   $redirect = ereg_replace("/index.php", "/$pascal_request_uri",
> > $redirect);
> >   return true;
> > };
> >
> > switch ($pascal_request_uri) {
> >   case "andra.php":
> >   case "anthony.php":
> >   case "nita.php":
> >   case "crep.php":
> >     require_once("LocalSettings-$pascal_request_uri");
> >     break;
> >   default:
> >     echo "<p>NO wiki specified. please choose a wiki, ex: <br>\n";
> >     echo $_SERVER['SERVER_NAME'] . "$ppw/idees.php<br>\n";
> >     exit(1);
> > }
> >
> > Thank you for any help!
> >
> > Pascal
> >
> > _______________________________________________
> > MediaWiki-l mailing list
> > To unsubscribe, go to:
> > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
> >
> _______________________________________________
> MediaWiki-l mailing list
> To unsubscribe, go to:
> https://lists.wikimedia.org/mailman/listinfo/mediawiki-l

_______________________________________________
MediaWiki-l mailing list
To unsubscribe, go to:
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
Reply | Threaded
Open this post in threaded view
|

Re: [MediaWiki-l] Help about running several wikis on a same installation

Brian Wolff
If symlinks aren't an option (It would be weird for a hosting provider to
disallow that), you can probably use dummy php files that just load the
real version of themselves.

e.g. Have MediaWiki in a directory named mediawiki

then in a different directory named andra have a file named index.php
containing only
<?php
require "../mediawiki/index.php";

And do similar for load.php, and any other files ending in .php that are
top-level in MediaWiki (e.g. api.php, load.php,etc. But only the top level
ones, don't worry about the subdirectories).
Then do the same thing for the other wikis you want to install in other
directories.


This should mostly just work (WMF wikis actually do something kind of like
this, but for different reasons), although you will need to adjust
$wgExtensionAssetsPath to be 'mediawiki/extensions'; If you enable uploads,
you will need to make sure each wiki has a unique upload directory.

--
Brian
On Thu, Dec 12, 2019 at 9:28 PM Pascal GREGIS <[hidden email]> wrote:

> Thank you Brian for the explanations. I d'ont have the courage anymore to
> track down all the hardcoded index.php, and if you say it may be fragile, I
> think I have no other option but to lose 1GB of my available space copying
> mediawiki directory 4 or 5 times.
> It would be nice however if possible to have other options for multiwikis,
> as all hostings don't allow symlinks or subdomains / domain aliases.
>
> For ereg_replace, I don't know why preg_replace gave horrible results on
> my server, but anyway, I should'nt need it anymore.
>
> Pascal
>
> Brian Wolff a écrit, le Thursday 12 December 2019 à 18:08:46 :
> > It would be much better if you could use separate directories instead of
> > renaming index.php. Renaming index.php is not really a supported
> > configuration. There's the obvious problem of how do other scripts, like
> > load.php know what wiki is being referred to.
> >
> > If you're really intent on doing this, You can try ensuring that
> $wgScript
> > is set appropriately for each wiki (E.g. $wgScript = '/w/andra.php'; for
> > the andra one). However, there are probably places (especially for
> > extensions) where index.php is hardcoded, and as i mentioned before,
> there
> > are other entry points then index.php like load.php and api.php which
> will
> > be confused by this. I expect that this setup will break in subtle ways.
> >
> > You would also have to ensure there are separate image directories for
> each
> > wiki or mediawiki will get confused.
> >
> > p.s. ereg_replace is being removed from php, you should use preg_replace
> > instead.
> >
> > --
> > bawolff
> >
> >
> > On Thu, Dec 12, 2019 at 5:54 PM Pascal GREGIS <[hidden email]> wrote:
> >
> > > Hello everyone,
> > >
> > > I have troubles running several wikis on a same installation.
> > > In fact I cannot use neither symlinks nor subdomain redirections to do
> it.
> > > So I have tried a hand-mde solution with a copy of index.php.
> > > i.e. : I want to run 4 wikis, that I have called :
> > > - andra
> > > - anthony
> > > - nita
> > > - crep
> > >
> > > To go to andra for example I type the address :
> > > pascal.lautre.net/w/andra.php
> > >
> > > and I have created a LocalSettings-$wikiname.php for each of the 4
> wikis,
> > > setting a switch in the main LocalSettings.php to include the
> appropriate
> > > one.
> > > But I've got all my vairables and paths erased when the wiki
> redirects, it
> > > calls index.php/Accueil for example and I have no way to know what was
> the
> > > original call.
> > > I have even tried to use a hook, the BeforePageRedirect hook, but it
> > > worked only for loading the Accueil page (I guess it would be called
> HOme
> > > in english, or Welcome), after, I have the problem again when I try to
> > > connect, the link points to index.php instead of andra.php.
> > >
> > > Here is the code of my LocalSettings.php:
> > >
> > > <?php
> > >
> > > $ppw = "/w";
> > > if (! isset($pascal_request_uri)) {
> > >   $pascal_request_uri = split("/", $_SERVER['REQUEST_URI'])[2];
> > > }
> > >
> > > $wgHooks['BeforePageRedirect'][] = function ($out, &$redirect, &$code)
> {
> > >   GLOBAL $pascal_request_uri;
> > >   GLOBAL $ppw;
> > >
> > >   $redirect = ereg_replace("/index.php", "/$pascal_request_uri",
> > > $redirect);
> > >   return true;
> > > };
> > >
> > > switch ($pascal_request_uri) {
> > >   case "andra.php":
> > >   case "anthony.php":
> > >   case "nita.php":
> > >   case "crep.php":
> > >     require_once("LocalSettings-$pascal_request_uri");
> > >     break;
> > >   default:
> > >     echo "<p>NO wiki specified. please choose a wiki, ex: <br>\n";
> > >     echo $_SERVER['SERVER_NAME'] . "$ppw/idees.php<br>\n";
> > >     exit(1);
> > > }
> > >
> > > Thank you for any help!
> > >
> > > Pascal
> > >
> > > _______________________________________________
> > > MediaWiki-l mailing list
> > > To unsubscribe, go to:
> > > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
> > >
> > _______________________________________________
> > MediaWiki-l mailing list
> > To unsubscribe, go to:
> > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
>
> _______________________________________________
> MediaWiki-l mailing list
> To unsubscribe, go to:
> https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
>
_______________________________________________
MediaWiki-l mailing list
To unsubscribe, go to:
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
eQT
Reply | Threaded
Open this post in threaded view
|

Re: [MediaWiki-l] Help about running several wikis on a same installation

eQT
You could use the Meza [1] project to install your wiki environment for
you. Meza does wiki farms. Meza includes essentials like Visual Editor and
Elasticsearch so you can get down to using your wikis instead of building
them.

1. https://www.mediawiki.org/wiki/Meza
Full disclosure: I have contributed patches to Meza

~ Greg

eQuality Technology

*Let's work together*

https://equality-tech.com
follow us: https://twitter.com/eQualityTech
*creators of https://QualityBox.us <https://QualityBox.us> *


On Thu, Dec 12, 2019 at 4:38 PM Brian Wolff <[hidden email]> wrote:

> If symlinks aren't an option (It would be weird for a hosting provider to
> disallow that), you can probably use dummy php files that just load the
> real version of themselves.
>
> e.g. Have MediaWiki in a directory named mediawiki
>
> then in a different directory named andra have a file named index.php
> containing only
> <?php
> require "../mediawiki/index.php";
>
> And do similar for load.php, and any other files ending in .php that are
> top-level in MediaWiki (e.g. api.php, load.php,etc. But only the top level
> ones, don't worry about the subdirectories).
> Then do the same thing for the other wikis you want to install in other
> directories.
>
>
> This should mostly just work (WMF wikis actually do something kind of like
> this, but for different reasons), although you will need to adjust
> $wgExtensionAssetsPath to be 'mediawiki/extensions'; If you enable uploads,
> you will need to make sure each wiki has a unique upload directory.
>
> --
> Brian
> On Thu, Dec 12, 2019 at 9:28 PM Pascal GREGIS <[hidden email]> wrote:
>
> > Thank you Brian for the explanations. I d'ont have the courage anymore to
> > track down all the hardcoded index.php, and if you say it may be
> fragile, I
> > think I have no other option but to lose 1GB of my available space
> copying
> > mediawiki directory 4 or 5 times.
> > It would be nice however if possible to have other options for
> multiwikis,
> > as all hostings don't allow symlinks or subdomains / domain aliases.
> >
> > For ereg_replace, I don't know why preg_replace gave horrible results on
> > my server, but anyway, I should'nt need it anymore.
> >
> > Pascal
> >
> > Brian Wolff a écrit, le Thursday 12 December 2019 à 18:08:46 :
> > > It would be much better if you could use separate directories instead
> of
> > > renaming index.php. Renaming index.php is not really a supported
> > > configuration. There's the obvious problem of how do other scripts,
> like
> > > load.php know what wiki is being referred to.
> > >
> > > If you're really intent on doing this, You can try ensuring that
> > $wgScript
> > > is set appropriately for each wiki (E.g. $wgScript = '/w/andra.php';
> for
> > > the andra one). However, there are probably places (especially for
> > > extensions) where index.php is hardcoded, and as i mentioned before,
> > there
> > > are other entry points then index.php like load.php and api.php which
> > will
> > > be confused by this. I expect that this setup will break in subtle
> ways.
> > >
> > > You would also have to ensure there are separate image directories for
> > each
> > > wiki or mediawiki will get confused.
> > >
> > > p.s. ereg_replace is being removed from php, you should use
> preg_replace
> > > instead.
> > >
> > > --
> > > bawolff
> > >
> > >
> > > On Thu, Dec 12, 2019 at 5:54 PM Pascal GREGIS <[hidden email]> wrote:
> > >
> > > > Hello everyone,
> > > >
> > > > I have troubles running several wikis on a same installation.
> > > > In fact I cannot use neither symlinks nor subdomain redirections to
> do
> > it.
> > > > So I have tried a hand-mde solution with a copy of index.php.
> > > > i.e. : I want to run 4 wikis, that I have called :
> > > > - andra
> > > > - anthony
> > > > - nita
> > > > - crep
> > > >
> > > > To go to andra for example I type the address :
> > > > pascal.lautre.net/w/andra.php
> > > >
> > > > and I have created a LocalSettings-$wikiname.php for each of the 4
> > wikis,
> > > > setting a switch in the main LocalSettings.php to include the
> > appropriate
> > > > one.
> > > > But I've got all my vairables and paths erased when the wiki
> > redirects, it
> > > > calls index.php/Accueil for example and I have no way to know what
> was
> > the
> > > > original call.
> > > > I have even tried to use a hook, the BeforePageRedirect hook, but it
> > > > worked only for loading the Accueil page (I guess it would be called
> > HOme
> > > > in english, or Welcome), after, I have the problem again when I try
> to
> > > > connect, the link points to index.php instead of andra.php.
> > > >
> > > > Here is the code of my LocalSettings.php:
> > > >
> > > > <?php
> > > >
> > > > $ppw = "/w";
> > > > if (! isset($pascal_request_uri)) {
> > > >   $pascal_request_uri = split("/", $_SERVER['REQUEST_URI'])[2];
> > > > }
> > > >
> > > > $wgHooks['BeforePageRedirect'][] = function ($out, &$redirect,
> &$code)
> > {
> > > >   GLOBAL $pascal_request_uri;
> > > >   GLOBAL $ppw;
> > > >
> > > >   $redirect = ereg_replace("/index.php", "/$pascal_request_uri",
> > > > $redirect);
> > > >   return true;
> > > > };
> > > >
> > > > switch ($pascal_request_uri) {
> > > >   case "andra.php":
> > > >   case "anthony.php":
> > > >   case "nita.php":
> > > >   case "crep.php":
> > > >     require_once("LocalSettings-$pascal_request_uri");
> > > >     break;
> > > >   default:
> > > >     echo "<p>NO wiki specified. please choose a wiki, ex: <br>\n";
> > > >     echo $_SERVER['SERVER_NAME'] . "$ppw/idees.php<br>\n";
> > > >     exit(1);
> > > > }
> > > >
> > > > Thank you for any help!
> > > >
> > > > Pascal
> > > >
> > > > _______________________________________________
> > > > MediaWiki-l mailing list
> > > > To unsubscribe, go to:
> > > > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
> > > >
> > > _______________________________________________
> > > MediaWiki-l mailing list
> > > To unsubscribe, go to:
> > > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
> >
> > _______________________________________________
> > MediaWiki-l mailing list
> > To unsubscribe, go to:
> > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
> >
> _______________________________________________
> MediaWiki-l mailing list
> To unsubscribe, go to:
> https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
>
_______________________________________________
MediaWiki-l mailing list
To unsubscribe, go to:
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
Reply | Threaded
Open this post in threaded view
|

Re: [MediaWiki-l] Help about running several wikis on a same installation

Pascal GREGIS
In reply to this post by Brian Wolff
And I would need to have only dummy php files in my andra etc directory? Plus a real LocalSettings.php of course. Will they load the good json files etc?

Thanks for the tip.

Pascal

Brian Wolff a écrit, le Thursday 12 December 2019 à 21:37:36 :

> If symlinks aren't an option (It would be weird for a hosting provider to
> disallow that), you can probably use dummy php files that just load the
> real version of themselves.
>
> e.g. Have MediaWiki in a directory named mediawiki
>
> then in a different directory named andra have a file named index.php
> containing only
> <?php
> require "../mediawiki/index.php";
>
> And do similar for load.php, and any other files ending in .php that are
> top-level in MediaWiki (e.g. api.php, load.php,etc. But only the top level
> ones, don't worry about the subdirectories).
> Then do the same thing for the other wikis you want to install in other
> directories.
>
>
> This should mostly just work (WMF wikis actually do something kind of like
> this, but for different reasons), although you will need to adjust
> $wgExtensionAssetsPath to be 'mediawiki/extensions'; If you enable uploads,
> you will need to make sure each wiki has a unique upload directory.
>
> --
> Brian
> On Thu, Dec 12, 2019 at 9:28 PM Pascal GREGIS <[hidden email]> wrote:
>
> > Thank you Brian for the explanations. I d'ont have the courage anymore to
> > track down all the hardcoded index.php, and if you say it may be fragile, I
> > think I have no other option but to lose 1GB of my available space copying
> > mediawiki directory 4 or 5 times.
> > It would be nice however if possible to have other options for multiwikis,
> > as all hostings don't allow symlinks or subdomains / domain aliases.
> >
> > For ereg_replace, I don't know why preg_replace gave horrible results on
> > my server, but anyway, I should'nt need it anymore.
> >
> > Pascal
> >
> > Brian Wolff a écrit, le Thursday 12 December 2019 à 18:08:46 :
> > > It would be much better if you could use separate directories instead of
> > > renaming index.php. Renaming index.php is not really a supported
> > > configuration. There's the obvious problem of how do other scripts, like
> > > load.php know what wiki is being referred to.
> > >
> > > If you're really intent on doing this, You can try ensuring that
> > $wgScript
> > > is set appropriately for each wiki (E.g. $wgScript = '/w/andra.php'; for
> > > the andra one). However, there are probably places (especially for
> > > extensions) where index.php is hardcoded, and as i mentioned before,
> > there
> > > are other entry points then index.php like load.php and api.php which
> > will
> > > be confused by this. I expect that this setup will break in subtle ways.
> > >
> > > You would also have to ensure there are separate image directories for
> > each
> > > wiki or mediawiki will get confused.
> > >
> > > p.s. ereg_replace is being removed from php, you should use preg_replace
> > > instead.
> > >
> > > --
> > > bawolff
> > >
> > >
> > > On Thu, Dec 12, 2019 at 5:54 PM Pascal GREGIS <[hidden email]> wrote:
> > >
> > > > Hello everyone,
> > > >
> > > > I have troubles running several wikis on a same installation.
> > > > In fact I cannot use neither symlinks nor subdomain redirections to do
> > it.
> > > > So I have tried a hand-mde solution with a copy of index.php.
> > > > i.e. : I want to run 4 wikis, that I have called :
> > > > - andra
> > > > - anthony
> > > > - nita
> > > > - crep
> > > >
> > > > To go to andra for example I type the address :
> > > > pascal.lautre.net/w/andra.php
> > > >
> > > > and I have created a LocalSettings-$wikiname.php for each of the 4
> > wikis,
> > > > setting a switch in the main LocalSettings.php to include the
> > appropriate
> > > > one.
> > > > But I've got all my vairables and paths erased when the wiki
> > redirects, it
> > > > calls index.php/Accueil for example and I have no way to know what was
> > the
> > > > original call.
> > > > I have even tried to use a hook, the BeforePageRedirect hook, but it
> > > > worked only for loading the Accueil page (I guess it would be called
> > HOme
> > > > in english, or Welcome), after, I have the problem again when I try to
> > > > connect, the link points to index.php instead of andra.php.
> > > >
> > > > Here is the code of my LocalSettings.php:
> > > >
> > > > <?php
> > > >
> > > > $ppw = "/w";
> > > > if (! isset($pascal_request_uri)) {
> > > >   $pascal_request_uri = split("/", $_SERVER['REQUEST_URI'])[2];
> > > > }
> > > >
> > > > $wgHooks['BeforePageRedirect'][] = function ($out, &$redirect, &$code)
> > {
> > > >   GLOBAL $pascal_request_uri;
> > > >   GLOBAL $ppw;
> > > >
> > > >   $redirect = ereg_replace("/index.php", "/$pascal_request_uri",
> > > > $redirect);
> > > >   return true;
> > > > };
> > > >
> > > > switch ($pascal_request_uri) {
> > > >   case "andra.php":
> > > >   case "anthony.php":
> > > >   case "nita.php":
> > > >   case "crep.php":
> > > >     require_once("LocalSettings-$pascal_request_uri");
> > > >     break;
> > > >   default:
> > > >     echo "<p>NO wiki specified. please choose a wiki, ex: <br>\n";
> > > >     echo $_SERVER['SERVER_NAME'] . "$ppw/idees.php<br>\n";
> > > >     exit(1);
> > > > }
> > > >
> > > > Thank you for any help!
> > > >
> > > > Pascal
> > > >
> > > > _______________________________________________
> > > > MediaWiki-l mailing list
> > > > To unsubscribe, go to:
> > > > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
> > > >
> > > _______________________________________________
> > > MediaWiki-l mailing list
> > > To unsubscribe, go to:
> > > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
> >
> > _______________________________________________
> > MediaWiki-l mailing list
> > To unsubscribe, go to:
> > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
> >
> _______________________________________________
> MediaWiki-l mailing list
> To unsubscribe, go to:
> https://lists.wikimedia.org/mailman/listinfo/mediawiki-l

_______________________________________________
MediaWiki-l mailing list
To unsubscribe, go to:
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
Reply | Threaded
Open this post in threaded view
|

Re: [MediaWiki-l] Help about running several wikis on a same installation

Pascal GREGIS
In reply to this post by eQT
I should definitely have checked all this before installing, but I was such in a hury. As a result I lost hole days trying to work around. Halas now is a bit late for me to invest time in something new, unless it is really superquick to install and learn to use, but things are rarely superquick for blind people with lynx, and if I was sure It won't mess up with my first installations.

Thanks

Pascal

eQuality Technology a écrit, le Thursday 12 December 2019 à 17:08:17 :

> You could use the Meza [1] project to install your wiki environment for
> you. Meza does wiki farms. Meza includes essentials like Visual Editor and
> Elasticsearch so you can get down to using your wikis instead of building
> them.
>
> 1. https://www.mediawiki.org/wiki/Meza
> Full disclosure: I have contributed patches to Meza
>
> ~ Greg
>
> eQuality Technology
>
> *Let's work together*
>
> https://equality-tech.com
> follow us: https://twitter.com/eQualityTech
> *creators of https://QualityBox.us <https://QualityBox.us> *
>
>
> On Thu, Dec 12, 2019 at 4:38 PM Brian Wolff <[hidden email]> wrote:
>
> > If symlinks aren't an option (It would be weird for a hosting provider to
> > disallow that), you can probably use dummy php files that just load the
> > real version of themselves.
> >
> > e.g. Have MediaWiki in a directory named mediawiki
> >
> > then in a different directory named andra have a file named index.php
> > containing only
> > <?php
> > require "../mediawiki/index.php";
> >
> > And do similar for load.php, and any other files ending in .php that are
> > top-level in MediaWiki (e.g. api.php, load.php,etc. But only the top level
> > ones, don't worry about the subdirectories).
> > Then do the same thing for the other wikis you want to install in other
> > directories.
> >
> >
> > This should mostly just work (WMF wikis actually do something kind of like
> > this, but for different reasons), although you will need to adjust
> > $wgExtensionAssetsPath to be 'mediawiki/extensions'; If you enable uploads,
> > you will need to make sure each wiki has a unique upload directory.
> >
> > --
> > Brian
> > On Thu, Dec 12, 2019 at 9:28 PM Pascal GREGIS <[hidden email]> wrote:
> >
> > > Thank you Brian for the explanations. I d'ont have the courage anymore to
> > > track down all the hardcoded index.php, and if you say it may be
> > fragile, I
> > > think I have no other option but to lose 1GB of my available space
> > copying
> > > mediawiki directory 4 or 5 times.
> > > It would be nice however if possible to have other options for
> > multiwikis,
> > > as all hostings don't allow symlinks or subdomains / domain aliases.
> > >
> > > For ereg_replace, I don't know why preg_replace gave horrible results on
> > > my server, but anyway, I should'nt need it anymore.
> > >
> > > Pascal
> > >
> > > Brian Wolff a écrit, le Thursday 12 December 2019 à 18:08:46 :
> > > > It would be much better if you could use separate directories instead
> > of
> > > > renaming index.php. Renaming index.php is not really a supported
> > > > configuration. There's the obvious problem of how do other scripts,
> > like
> > > > load.php know what wiki is being referred to.
> > > >
> > > > If you're really intent on doing this, You can try ensuring that
> > > $wgScript
> > > > is set appropriately for each wiki (E.g. $wgScript = '/w/andra.php';
> > for
> > > > the andra one). However, there are probably places (especially for
> > > > extensions) where index.php is hardcoded, and as i mentioned before,
> > > there
> > > > are other entry points then index.php like load.php and api.php which
> > > will
> > > > be confused by this. I expect that this setup will break in subtle
> > ways.
> > > >
> > > > You would also have to ensure there are separate image directories for
> > > each
> > > > wiki or mediawiki will get confused.
> > > >
> > > > p.s. ereg_replace is being removed from php, you should use
> > preg_replace
> > > > instead.
> > > >
> > > > --
> > > > bawolff
> > > >
> > > >
> > > > On Thu, Dec 12, 2019 at 5:54 PM Pascal GREGIS <[hidden email]> wrote:
> > > >
> > > > > Hello everyone,
> > > > >
> > > > > I have troubles running several wikis on a same installation.
> > > > > In fact I cannot use neither symlinks nor subdomain redirections to
> > do
> > > it.
> > > > > So I have tried a hand-mde solution with a copy of index.php.
> > > > > i.e. : I want to run 4 wikis, that I have called :
> > > > > - andra
> > > > > - anthony
> > > > > - nita
> > > > > - crep
> > > > >
> > > > > To go to andra for example I type the address :
> > > > > pascal.lautre.net/w/andra.php
> > > > >
> > > > > and I have created a LocalSettings-$wikiname.php for each of the 4
> > > wikis,
> > > > > setting a switch in the main LocalSettings.php to include the
> > > appropriate
> > > > > one.
> > > > > But I've got all my vairables and paths erased when the wiki
> > > redirects, it
> > > > > calls index.php/Accueil for example and I have no way to know what
> > was
> > > the
> > > > > original call.
> > > > > I have even tried to use a hook, the BeforePageRedirect hook, but it
> > > > > worked only for loading the Accueil page (I guess it would be called
> > > HOme
> > > > > in english, or Welcome), after, I have the problem again when I try
> > to
> > > > > connect, the link points to index.php instead of andra.php.
> > > > >
> > > > > Here is the code of my LocalSettings.php:
> > > > >
> > > > > <?php
> > > > >
> > > > > $ppw = "/w";
> > > > > if (! isset($pascal_request_uri)) {
> > > > >   $pascal_request_uri = split("/", $_SERVER['REQUEST_URI'])[2];
> > > > > }
> > > > >
> > > > > $wgHooks['BeforePageRedirect'][] = function ($out, &$redirect,
> > &$code)
> > > {
> > > > >   GLOBAL $pascal_request_uri;
> > > > >   GLOBAL $ppw;
> > > > >
> > > > >   $redirect = ereg_replace("/index.php", "/$pascal_request_uri",
> > > > > $redirect);
> > > > >   return true;
> > > > > };
> > > > >
> > > > > switch ($pascal_request_uri) {
> > > > >   case "andra.php":
> > > > >   case "anthony.php":
> > > > >   case "nita.php":
> > > > >   case "crep.php":
> > > > >     require_once("LocalSettings-$pascal_request_uri");
> > > > >     break;
> > > > >   default:
> > > > >     echo "<p>NO wiki specified. please choose a wiki, ex: <br>\n";
> > > > >     echo $_SERVER['SERVER_NAME'] . "$ppw/idees.php<br>\n";
> > > > >     exit(1);
> > > > > }
> > > > >
> > > > > Thank you for any help!
> > > > >
> > > > > Pascal
> > > > >
> > > > > _______________________________________________
> > > > > MediaWiki-l mailing list
> > > > > To unsubscribe, go to:
> > > > > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
> > > > >
> > > > _______________________________________________
> > > > MediaWiki-l mailing list
> > > > To unsubscribe, go to:
> > > > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
> > >
> > > _______________________________________________
> > > MediaWiki-l mailing list
> > > To unsubscribe, go to:
> > > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
> > >
> > _______________________________________________
> > MediaWiki-l mailing list
> > To unsubscribe, go to:
> > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
> >
> _______________________________________________
> MediaWiki-l mailing list
> To unsubscribe, go to:
> https://lists.wikimedia.org/mailman/listinfo/mediawiki-l

_______________________________________________
MediaWiki-l mailing list
To unsubscribe, go to:
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
Reply | Threaded
Open this post in threaded view
|

Re: [MediaWiki-l] Help about running several wikis on a same installation

Brian Wolff
In reply to this post by Pascal GREGIS
You would only need the dummy files. All of them would probably load the
LocalSettings.php in the mediawiki directory, but you can have a switch in
it to have different config for each wiki.

On Thursday, December 12, 2019, Pascal GREGIS <[hidden email]> wrote:

> And I would need to have only dummy php files in my andra etc directory?
> Plus a real LocalSettings.php of course. Will they load the good json files
> etc?
>
> Thanks for the tip.
>
> Pascal
>
> Brian Wolff a écrit, le Thursday 12 December 2019 à 21:37:36 :
> > If symlinks aren't an option (It would be weird for a hosting provider to
> > disallow that), you can probably use dummy php files that just load the
> > real version of themselves.
> >
> > e.g. Have MediaWiki in a directory named mediawiki
> >
> > then in a different directory named andra have a file named index.php
> > containing only
> > <?php
> > require "../mediawiki/index.php";
> >
> > And do similar for load.php, and any other files ending in .php that are
> > top-level in MediaWiki (e.g. api.php, load.php,etc. But only the top
> level
> > ones, don't worry about the subdirectories).
> > Then do the same thing for the other wikis you want to install in other
> > directories.
> >
> >
> > This should mostly just work (WMF wikis actually do something kind of
> like
> > this, but for different reasons), although you will need to adjust
> > $wgExtensionAssetsPath to be 'mediawiki/extensions'; If you enable
> uploads,
> > you will need to make sure each wiki has a unique upload directory.
> >
> > --
> > Brian
> > On Thu, Dec 12, 2019 at 9:28 PM Pascal GREGIS <[hidden email]> wrote:
> >
> > > Thank you Brian for the explanations. I d'ont have the courage anymore
> to
> > > track down all the hardcoded index.php, and if you say it may be
> fragile, I
> > > think I have no other option but to lose 1GB of my available space
> copying
> > > mediawiki directory 4 or 5 times.
> > > It would be nice however if possible to have other options for
> multiwikis,
> > > as all hostings don't allow symlinks or subdomains / domain aliases.
> > >
> > > For ereg_replace, I don't know why preg_replace gave horrible results
> on
> > > my server, but anyway, I should'nt need it anymore.
> > >
> > > Pascal
> > >
> > > Brian Wolff a écrit, le Thursday 12 December 2019 à 18:08:46 :
> > > > It would be much better if you could use separate directories
> instead of
> > > > renaming index.php. Renaming index.php is not really a supported
> > > > configuration. There's the obvious problem of how do other scripts,
> like
> > > > load.php know what wiki is being referred to.
> > > >
> > > > If you're really intent on doing this, You can try ensuring that
> > > $wgScript
> > > > is set appropriately for each wiki (E.g. $wgScript = '/w/andra.php';
> for
> > > > the andra one). However, there are probably places (especially for
> > > > extensions) where index.php is hardcoded, and as i mentioned before,
> > > there
> > > > are other entry points then index.php like load.php and api.php which
> > > will
> > > > be confused by this. I expect that this setup will break in subtle
> ways.
> > > >
> > > > You would also have to ensure there are separate image directories
> for
> > > each
> > > > wiki or mediawiki will get confused.
> > > >
> > > > p.s. ereg_replace is being removed from php, you should use
> preg_replace
> > > > instead.
> > > >
> > > > --
> > > > bawolff
> > > >
> > > >
> > > > On Thu, Dec 12, 2019 at 5:54 PM Pascal GREGIS <[hidden email]>
> wrote:
> > > >
> > > > > Hello everyone,
> > > > >
> > > > > I have troubles running several wikis on a same installation.
> > > > > In fact I cannot use neither symlinks nor subdomain redirections
> to do
> > > it.
> > > > > So I have tried a hand-mde solution with a copy of index.php.
> > > > > i.e. : I want to run 4 wikis, that I have called :
> > > > > - andra
> > > > > - anthony
> > > > > - nita
> > > > > - crep
> > > > >
> > > > > To go to andra for example I type the address :
> > > > > pascal.lautre.net/w/andra.php
> > > > >
> > > > > and I have created a LocalSettings-$wikiname.php for each of the 4
> > > wikis,
> > > > > setting a switch in the main LocalSettings.php to include the
> > > appropriate
> > > > > one.
> > > > > But I've got all my vairables and paths erased when the wiki
> > > redirects, it
> > > > > calls index.php/Accueil for example and I have no way to know what
> was
> > > the
> > > > > original call.
> > > > > I have even tried to use a hook, the BeforePageRedirect hook, but
> it
> > > > > worked only for loading the Accueil page (I guess it would be
> called
> > > HOme
> > > > > in english, or Welcome), after, I have the problem again when I
> try to
> > > > > connect, the link points to index.php instead of andra.php.
> > > > >
> > > > > Here is the code of my LocalSettings.php:
> > > > >
> > > > > <?php
> > > > >
> > > > > $ppw = "/w";
> > > > > if (! isset($pascal_request_uri)) {
> > > > >   $pascal_request_uri = split("/", $_SERVER['REQUEST_URI'])[2];
> > > > > }
> > > > >
> > > > > $wgHooks['BeforePageRedirect'][] = function ($out, &$redirect,
> &$code)
> > > {
> > > > >   GLOBAL $pascal_request_uri;
> > > > >   GLOBAL $ppw;
> > > > >
> > > > >   $redirect = ereg_replace("/index.php", "/$pascal_request_uri",
> > > > > $redirect);
> > > > >   return true;
> > > > > };
> > > > >
> > > > > switch ($pascal_request_uri) {
> > > > >   case "andra.php":
> > > > >   case "anthony.php":
> > > > >   case "nita.php":
> > > > >   case "crep.php":
> > > > >     require_once("LocalSettings-$pascal_request_uri");
> > > > >     break;
> > > > >   default:
> > > > >     echo "<p>NO wiki specified. please choose a wiki, ex: <br>\n";
> > > > >     echo $_SERVER['SERVER_NAME'] . "$ppw/idees.php<br>\n";
> > > > >     exit(1);
> > > > > }
> > > > >
> > > > > Thank you for any help!
> > > > >
> > > > > Pascal
> > > > >
> > > > > _______________________________________________
> > > > > MediaWiki-l mailing list
> > > > > To unsubscribe, go to:
> > > > > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
> > > > >
> > > > _______________________________________________
> > > > MediaWiki-l mailing list
> > > > To unsubscribe, go to:
> > > > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
> > >
> > > _______________________________________________
> > > MediaWiki-l mailing list
> > > To unsubscribe, go to:
> > > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
> > >
> > _______________________________________________
> > MediaWiki-l mailing list
> > To unsubscribe, go to:
> > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
>
> _______________________________________________
> MediaWiki-l mailing list
> To unsubscribe, go to:
> https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
>
_______________________________________________
MediaWiki-l mailing list
To unsubscribe, go to:
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l