Proper subdomain support.

Discussion in 'Feature Requests' started by arcain6, Jun 28, 2010.

  1. arcain6

    arcain6 New Member

    First of all... let me just say, I'm incredibly sorry for this long wall of text.
    Second, I love how far ISPconfig has come since last I used it.

    I've had ISPconfig 3 running for about 5 hours, and after getting my main domain set up, and website installed, i notice that subdomains are horribly implemented.

    Typically the control panel should follow this type of work-flow when a subdomain is added. This will ease frustration on the user's end, as well as make everything that much more organized, and easy to administrate:

    This example assumes the following:
    Domain: domain.com
    web-files are located at: /var/www/domain.com/web/
    Conf files for domain are at: /var/www/domain.com/conf/

    Subdomain to be created is: subdomain

    Organized work-flow:
    1) check if name exists if not continue, if so exit with error
    2) check if folder exists if not continue, if so exit with error
    3) create folder /var/www/domain.com/subdomain/ or exit with error
    4) add entry into domain.com/conf/httpd.include for subdomain or error (NOTE: 1)
    5) add record to DNS template for new subdomain or error (note: 2)
    6) extract skeleton site to /var/www/domain.com/subdomain/ or error
    7) reload appropriate services to implement changes or error


    Benefits of this particular way of doing things:
    1) Separation of client, domains, dns zones, and subdomains will make it much easier to maintain security, as well as maintain a clean environment.

    2) By separating everything, you will make it easier to maintain customization differences between domains and subdomains.. a domain with fopen() enabled, could be a security risk for a subdomain that doesn't require it, or doesn't trap it into the current web directory(there are many more examples)

    3) by keeping the subdomain's folder inside the main domains folder, but outside of it's web-directory, you ensure that subdomain A can't be accessed erroneously from it's domain's master web folder. and vice-versa

    4) Sometimes the norm works better than making it up as you go along

    Con's of doing it this way:

    1) erm... ya... can't really think of any " bad " reasons for doing it this way.

    NOTE: 1) it's possible to create, and read " include " files from /var/www/domain.com/conf/ folder... would make separating each domain much easier.

    NOTE: 2) Storing DNS templates for each domain / client will make it easier to separate, and maintain user's DNS zones / templates

    --------------------------------------------
    Request 2 - DNS
    --------------------------------------------


    ADDITION:
    Would it be possible to create a "wizzard " or form to add DNS records to the current DNS template...

    i.e.
    Form:
    Select Record Type: [DropDown1]
    Enter entry name: [TextField1].$domainname$
    Enter IP address: [ADJUSTABLE]*
    ------------------------------------------------------------
    Explanation of Form Functionality:
    ------------------------------------------------------------
    [DropDown1]
    A
    CNAME
    MX
    NS
    PTR
    TXT

    [TextField1]
    Enter text such as "subdomain"
    .$domainname$ is automatically filled out because the form should only be accessible from within that domain's page in ispconfig, or you can make it a drop-down list that's filled with all the domain names in current system.

    [Adjustable]
    5 possibilities based on record type that is selected:
    1) If A type is selected, [ADJustable] becomes [TextField3] and and is used to imput an IP address (Atype records are for main server hostnames, or FQDN)
    2) If CNAME type is selected [Adjustable] will become [TextField4] it is used to type in the CNAME (CNAME examples *subdomain* in subdomain.domain.com)
    3) If MX type is selected [Adjustable] becomes two fields [MX] and [SVRP]
    ( [MX] = mail.domain.com or your mail server exchange, [SVRP] = Server priority, this is a dropwdown list. 0= highest priority, 10, 20, 30.. etc to 50 = lowest priority
    4) If PTR is selected [TextField1] will be changed into [PTRtxt] and [PTRdrop] and [adjustable] is turned into [PTRtxt2]
    [PTRtxt] = IP address of PTR
    [PTRdrop] = dropdown list of 8/16/24
    [PTRtxt2] = conical name... i.e. the *subdomain* part of subdomain.domain.com
    5) if TXT is selected, [adjustable] becomes [TextField5] this is a field for putting in your server text. example: v=spf1 +a +mx -all


    Just another idea to make managing DNS more robust, as well as easier on the end user.

    If i think of any more, i'll start adding posts to this thread.

    Hope to see some new and exciting stuff :D

    Keep up the good work
    This is just a feature request i Personally have.
     
    Last edited: Jun 28, 2010
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    In ISPConfig, we separate between subdomains as alias for a website and subdomains that shall be a different website but belong to the same client. Your request is to have a subdomain as separate vhost, to get this, go in ispconfig to sites > websites > add new website, enter "sub.domain.com" into the domain field and click on save. This new subdomain vhost is created in the folder hierarchy under the same client and belongs to the group of the same client while it runs under a different web user for security reasons.
     

Share This Page