Jump to:

10843 Posts in 2514 Topics by 1792 members

All other Modules

SilverStripe Forums » All other Modules » Subdomain access

Discuss all other Modules here.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Page: 1
Go to End
Author Topic: 1629 Views
  • jseth
    Avatar
    Community Member
    98 Posts

    Subdomain access Link to this post

    I have installed the subsites module(s) and everything works wonderfully, however, I am am unable to access the subsite other than in the CMS. When I click on Draft Site, it is trying to go to http://staff.(serverIP address)/eastern/?stage=Stage and returns Bad Gateway. I'm certain that I have something configured incorrectly somewhere but am not sure where to look. The main site opens fine. It's not live yet, but the url I use to access the main site it is http://localhost (or IP address if remotely)/eastern and that opens fine, so I'm guessing that the url of the subsite would be http://staff.localhost.eastern/ but that doesn't work either. I did add that to the hosts file but no success. Any suggestions or insight into what I am doing wrong?

  • Willr
    Avatar
    Forum Moderator
    5462 Posts

    Re: Subdomain access Link to this post

    Could you post the lines you added to your host file. I also think you also need to setup a virtual host (on apache at least). If you could post the code you added to your virtual host as well that would be useful.

  • jseth
    Avatar
    Community Member
    98 Posts

    Re: Subdomain access Link to this post

    I added the following to the hosts file:
    127.0.0.1 staff.localhost

    Our network manager will create a virtual host on apache for me. Do I also need another .httaccess file in the subsites directory?

  • jseth
    Avatar
    Community Member
    98 Posts

    Re: Subdomain access Link to this post

    Willr,
    I found a previous post of yours regarding setting up multiple sites on one server (http://www.silverstripe.org/archive/show/166015#post166015) and found that to satisfy our needs. All I need to be able to do is to have a public site, and an internal staff intranet, and each needs to have a different template. I thought that subdomains was the only way to have separate templates, but your solution for two installations/databases sure seems easier, although the subsites was pretty neat. Thanks for your help.

  • jseth
    Avatar
    Community Member
    98 Posts

    Re: Subdomain access Link to this post

    Hi Willr. I'm hoping you can help me - we have our two separate silverstripe sites (and databases) set up, plus one non-silverstripe website, all on one server. We want to use virtual hosts (not subdomains like I was trying before), but are running into a problem. The non-silverstripe site (vh3.eastech.org) which uses index.html as its home page, comes up fine when the AddType and AddHandler lines are remmed out. When the AddType and AddHandler lines are not remmed out, the non-silverstripe site comes up with the Download File box. The silverstripe sites come up with:

    "Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.

    Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request."

    The error log says that "Request exceeded the limit of 10 redirects..." which I have read has something to do with the rewrite settings.

    I've occasionally gotten the silverstripe sites to come up with just the directory listing, and when I click on index.php, the page opens with no formatting.

    On the original server, everything works fine when we access the sites just using the http://servername.eastech.org/eastern, or /staff, or sumfun, but we want the url to be staff.eastech.org, or eastern.eastech.org, or sumfun.eastech.org.

    We're trying to get this to work on a cloned server. It's apache 2.2.3 on a suse linux server, which basically means that the apache stuff isn't where you might expect. Here is what is in the httpd file (with xx.x.xxx.xxx as the ip of the server):

    # /etc/apache2/httpd.conf
    #
    # This is the main Apache server configuration file. It contains the
    # configuration directives that give the server its instructions.
    # See <URL:http://httpd.apache.org/docs-2.2/>; for detailed information about
    # the directives.

    # Based upon the default apache configuration file that ships with apache,
    # which is based upon the NCSA server configuration files originally by Rob
    # McCool. This file was knocked together by Peter Poeml <poeml+apache@suse.de>.

    # If possible, avoid changes to this file. It does mainly contain Include
    # statements and global settings that can/should be overridden in the
    # configuration of your virtual hosts.

    # Overview of include files, chronologically:
    #
    # httpd.conf
    # |
    # |-- uid.conf . . . . . . . . . . . . . . UserID/GroupID to run under
    # |-- server-tuning.conf . . . . . . . . . sizing of the server (how many processes to start, ...)
    # |-- sysconfig.d/loadmodule.conf . . . . .

    • load these modules
      # |-- listen.conf . . . . . . . . . . . . . IP adresses / ports to listen on
      # |-- mod_log_config.conf . . . . . . . . . define logging formats
      # |-- sysconfig.d/global.conf . . . . . . .
    • server-wide general settings
      # |-- mod_status.conf . . . . . . . . . . . restrict access to mod_status (server monitoring)
      # |-- mod_info.conf . . . . . . . . . . . . restrict access to mod_info
      # |-- mod_usertrack.conf . . . . . . . . . defaults for cookie-based user tracking
      # |-- mod_autoindex-defaults.conf . . . . . defaults for displaying of server-generated directory listings
      # |-- mod_mime-defaults.conf . . . . . . . defaults for mod_mime configuration
      # |-- errors.conf . . . . . . . . . . . . . customize error responses
      # |-- ssl-global.conf . . . . . . . . . . . SSL conf that applies to default server _and all_ virtual hosts
      # |
      # |-- default-server.conf . . . . . . . . . set up the default server that replies to non-virtual-host requests
      # | |--mod_userdir.conf . . . . . . . . enable UserDir (if mod_userdir is loaded)
      # | `--conf.d/apache2-manual?conf . . . add the docs ('?' = if installed)
      # |
      # |-- sysconfig.d/include.conf . . . . . .
    • your include files
      # | (for each file to be included here, put its name
      # | into APACHE_INCLUDE_* in /etc/sysconfig/apache2)
      # |
      # `-- vhosts.d/ . . . . . . . . . . . . . . for each virtual host, place one file here
      # `-- *.conf . . . . . . . . . . . . . (*.conf is automatically included)
      #
      #
      # Files marked
    • are created from sysconfig upon server restart: instead of
      # these files, you edit /etc/sysconfig/apache2

      # Filesystem layout:
      #
      # /etc/apache2/
      # |-- charset.conv . . . . . . . . . . . . for mod_auth_ldap
      # |-- conf.d/
      # | |-- apache2-manual.conf . . . . . . . conf that comes with apache2-doc
      # | |-- mod_php4.conf . . . . . . . . . . (example) conf that comes with apache2-mod_php4
      # | `-- ... . . . . . . . . . . . . . . . other configuration added by packages
      # |-- default-server.conf
      # |-- errors.conf
      # |-- httpd.conf . . .xx.x.xxx.xxx . . . . . . . . . . top level configuration file
      # |-- listen.conf
      # |-- magic
      # |-- mime.types -> ../mime.types
      # |-- mod_autoindex-defaults.conf
      # |-- mod_info.conf
      # |-- mod_log_config.conf
      # |-- mod_mime-defaults.conf
      # |-- mod_perl-startup.pl
      # |-- mod_status.conf
      # |-- mod_userdir.conf
      # |-- mod_usertrack.conf
      # |-- server-tuning.conf
      # |-- ssl-global.conf
      # |-- ssl.crl/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificate Revocation Lists (CRL)
      # |-- ssl.crt/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificates
      # |-- ssl.csr/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificate Signing Requests
      # |-- ssl.key/ . . . . . . . . . . . . . . PEM-encoded RSA Private Keys
      # |-- ssl.prm/ . . . . . . . . . . . . . . public DSA Parameter Files
      # |-- sysconfig.d/ . . . . . . . . . . . . files that are created from /etc/sysconfig/apache2
      # | |-- global.conf
      # | |-- include.conf
      # | `-- loadmodule.conf
      # |-- uid.conf
      # `-- vhosts.d/ . . . . . . . . . . . . . . put your virtual host configuration (*.conf) here
      # |-- vhost-ssl.template
      # `-- vhost.template

      ### Global Environment ######################################################
      #
      # The directives in this section affect the overall operation of Apache,
      # such as the number of concurrent requests.

      # run under this user/group id
      Include /etc/apache2/uid.conf

      # - how many server processes to start (server pool regulation)
      # - usage of KeepAlive
      Include /etc/apache2/server-tuning.conf

      # ErrorLog: The location of the error log file.
      # If you do not specify an ErrorLog directive within a <VirtualHost>
      # container, error messages relating to that virtual host will be
      # logged here. If you *do* define an error logfile for a <VirtualHost>
      # container, that host's errors will be logged there and not here.
      ErrorLog /var/log/apache2/error_log

      # generated from APACHE_MODULES in /etc/sysconfig/apache2
      Include /etc/apache2/sysconfig.d/loadmodule.conf

      # IP addresses / ports to listen on
      Include /etc/apache2/listen.conf

      # predefined logging formats
      Include /etc/apache2/mod_log_config.conf

      # generated from global settings in /etc/sysconfig/apache2
      Include /etc/apache2/sysconfig.d/global.conf

      # optional mod_status, mod_info
      Include /etc/apache2/mod_status.conf
      Include /etc/apache2/mod_info.conf

      # optional cookie-based user tracking
      # read the documentation before using it!!
      Include /etc/apache2/mod_usertrack.conf

      # configuration of server-generated directory listings
      Include /etc/apache2/mod_autoindex-defaults.conf

      # associate MIME types with filename extensions
      TypesConfig /etc/apache2/mime.types
      #DefaultType text/plain
      <FilesMatch \.php$>
      SetHandler application/x-httpd2-php
      </FilesMatch>

      AddType application/x-httpd-php5 .php .htm.html
      AddHandler x-httpd-php5 .php .htm .html
      Include /etc/apache2/mod_mime-defaults.conf

      # set up (customizable) error responses
      Include /etc/apache2/errors.conf

      # global (server-wide) SSL configuration, that is not specific to
      # any virtual host
      Include /etc/apache2/ssl-global.conf

      # forbid access to the entire filesystem by default

      <Directory /srv/www/htdocs/eastern>
      Options FollowSymLinks SymLinksifOwnerMatch
      AllowOverride All
      Order deny,allow
      Allow from all
      </Directory>

      <Directory /srv/www/htdocs/staff>
      Options FollowSymLinks SymLinksifOwnerMatch
      AllowOverride All
      Order deny,allow
      Allow from all
      </Directory>

      <Directory /srv/www/htdocs/editortraining>
      Options FollowSymLinks SymLinksifOwnerMatch
      AllowOverride All
      Order deny,allow
      Allow from all
      </Directory>

      # use .htaccess files for overriding,
      AccessFileName .htaccess
      # and never show them
      <Files ~ "^\.ht">
      Order allow,deny
      Deny from all
      </Files>

      AddType application/x-httpd-php5 .php .htm .html
      AddHandler /x-httpd-php5 .php

      # List of resources to look for when the client requests a directory
      DirectoryIndex index.php index.html index.html.var

      ### 'Main' server configuration #############################################
      #
      # The directives in this section set up the values used by the 'main'
      # server, which responds to any requests that aren't handled by a
      # <VirtualHost> definition. These values also provide defaults for
      # any <VirtualHost> containers you may define later in the file.
      #
      # All of these directives may appear inside <VirtualHost> containers,
      # in which case these default settings will be overridden for the
      # virtual host being defined.
      #
      Include /etc/apache2/default-server.conf

      # Another way to include your own files
      #
      # The file below is generated from /etc/sysconfig/apache2,
      # include arbitrary files as named in APACHE_CONF_INCLUDE_FILES and
      # APACHE_CONF_INCLUDE_DIRS
      Include /etc/apache2/sysconfig.d/include.conf
      Include /etc/apache2/conf.d/php5.conf

      ### Virtual server configuration ############################################
      #
      # VirtualHost: If you want to maintain multiple domains/hostnames on your
      # machine you can setup VirtualHost containers for them. Most configurations
      # use only name-based virtual hosts so the server doesn't need to worry about
      # IP addresses. This is indicated by the asterisks in the directives below.
      #
      # Please see the documentation at
      # <URL:http://httpd.apache.org/docs-2.2/vhosts/>;
      # for further details before you try to setup virtual hosts.
      #
      # You may use the command line option '-S' to verify your virtual host
      # configuration.
      #
      #Include /etc/apache2/vhosts.d/*.conf

      NameVirtualHost xx.x.xxx.xxx

      <VirtualHost xx.x.xxx.xxx>
      ServerName internet.eastech.org
      DocumentRoot /srv/www/htdocs
      </VirtualHost>

      <VirtualHost xx.x.xxx.xxx>
      ServerName vh1.eastech.org
      DocumentRoot /srv/www/htdocs/staff
      </VirtualHost>

      <VirtualHost xx.x.xxx.xxx>
      ServerName vh2.eastech.org
      DocumentRoot /srv/www/htdocs/eastern
      </VirtualHost>

      <VirtualHost xx.x.xxx.xxx>
      ServerName vh3.eastech.org
      DocumentRoot /srv/www/htdocs/sumfun
      </VirtualHost>

      # Note: instead of adding your own configuration here, consider
      # adding it in your own file (/etc/apache2/httpd.conf.local)
      # putting its name into APACHE_CONF_INCLUDE_FILES in
      # /etc/sysconfig/apache2 -- this will make system updates
      # easier

    1629 Views
Page: 1
Go to Top

Want to know more about the company that brought you SilverStripe? Then check out SilverStripe.com

Comments on this website? Please give feedback.