Jump to content

Multi-site on IIS (Microsoft) Server


joeck
 Share

Recommended Posts

Hi there,

I'm trying to have a multi-site (multiple databases) setup on a IIS (Microsoft) server.
I know that IIS is not officially supported by ProcessWire but customer is insisting on IIS.

I get an 500 Error when trying to access the sub-domain/other processwire site.

Did somebody do this before or is it not possible at all to have a multi-site setup on IIS?

Thanks

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By joeck
      Hi Everyone,
      I was playing around with the ProcessWire command-line script sitemap.sh (https://processwire.com/docs/front-end/include/)
      I currently have a multi-site setup (with separate databases).
      -> site
      -> site-other
      The sitemap works but it shows only the pages from the default site directory. How can I get the sitemap of the site-other directory?
      Here is my working code that prints the sitemap of 'site':
      #!/usr/bin/php <?php namespace ProcessWire; include("index.php"); // bootstrap ProcessWire function listPage($page, $level = 0) { echo str_repeat(" ", $level) . $page->title . "\n"; foreach($page->children as $child) { listPage($child, $level+1); } } listPage($pages->get("/")); // start at homepage I tried including index.config.php instead of index.php but that didn't help...
    • By kongondo
      Using ProcessWire's in-built multi-site support (option #1 here), is it possible to bootstrap the various sites? To bootstrap ProcessWire, the only requirement is to include /path/to/processwire/index.php/. In option #1, there is only one index.php. So, including index.php defaults to bootstrapping the main site (i.e. the site at /site/. Is it possible to bootstrap the other sites, i.e. site-dogs, site-cats, site-birds, etc? I've searched the forums but nothing relevant comes up.
      Thanks.
    • By swampmusic
      Having a problem with a basic multi-site instance.
      The multi-sites are dynamically created and run as sub-domains and all is ok with them. They are created during a sign up process by end users.
      During the sign up process - once the new site & db has been created, I had planned to load the new site instance and add a new user to it, using code similar to this..
      $newSiteInstance = new ProcessWire($path, $newSiteUrl);   $u = $newSiteInstance->users->add($sitename); $u->pass = $pass; $u->email = $email; $u->addRole('content-viewer'); $x = $newSiteInstance->users->save($u);  This won't work in the registration script. It throws an error ... "SQLSTATE[42S02]: Base table or view not found".
      However, if I halt the script, load the new site incognito/other browser, then continue the script, all works perfectly.
      So $newSiteInstance = new ProcessWire($path, $newSiteUrl); doesn't seem to work for me unless a site has already been loaded in a browser or instantiated somehow.
      I am missing something here ? Does a site need to be bootstrapped before new instance will work on it ? 
      Sorry, pretty new to this php/PW arena.  Having fun though
      Any ideas folks ?
       
    • By swampmusic
      Hi Folks,
      We have a multi-site #1, multiple sites, multiple databases platform in development/concept at the moment.
      A company can sign up, register, and PW then creates a db, copies over a site folder with /wire symlink. All seems to work well, after sign up they can then enter into their subdomain site. ( Because of this dirty hack below that inserts the new subdomain into PW's hostSiteConfig array. Without this, the subdomain is not correctly registered as a PW site & instance I think).
      Does anyone know how to dynamically add an entry into the index.config.php file ? Knowing the little I have learnt so far about PW, Ryan has probably left us a really smart way to do it, but I haven't figured it out or found it yet. 
      I have done a dirty hack on it, which I'm not very happy or proud off. Anybody know of a better way around the problem ?  ... below is more or else the code I am using in the pilot version.
        // some error traps taken out for brevity on the booleans below...   $hostsArray = ProcessWireHostSiteConfig(); // $sitename normally populated from the customers signup/registration // hard coded here for this example... $sitename ='somesubdomain';   $a = $sitename . '.' . 'localhost:8020';     // machine name, port & protocol normally comes from $config, hard coded for example. $b = 'site-' . $sitename . '/site'; $newSite = array($a => $b);   $hostsArray = array_merge($hostsArray, $newSite);   // very dirty hack starting.... // creating a string copy of the array used in // index.config.php $newString=''; foreach($hostsArray as $key => $value) { $newString .= "'" . $key . "' => '" . $value . "', "; } $newString = "return array(" . $newString . ');}';   // dirty hack getting worse :-( $newConfigIndex = file_get_contents($config->paths->root . 'index.config.php'); $startpos = strpos($newConfigIndex, 'return array(');   // quality coders starting to feel sick at this point i suspect... sorry! ;-( $newConfigIndex = substr_replace($newConfigIndex, $newString, $startpos);   $boolConfigIndex = file_put_contents($config->paths->root . 'index.config.php', $newConfigIndex); // crikey! did he really just do that !!!!!!    
×
×
  • Create New...