Results 1 to 21 of 21
  1. #1
    Join Date
    Sep 2005
    Posts
    169

    Simple Virtualhost question

    Hi,

    Virtualhosts have got me stuck, I was wondering if someone could help me out.

    It seems as though no matter what I try, even though I've read over 3 tutorials I can't get virtualhosts working properly.

    Basically I have the

    documentroot set to /var/www/html/

    I'd like to create a virtualhost (I guess name based?) which has a document root of

    /var/www/userdata/

    Something like this is what I'm trying to accomplish:

    Code:
    <VirtualHost data.jcink.com:80>
    ServerAdmin [email protected]
    DocumentRoot  /var/www/html/userdata
    ServerName data.jcink.com
    </VirtualHost>
    So when someone goes to data.jcink.com it loads up /userdata/. And have all the other subdomains on my site continue to stay where they are.

    But every time I try to do anything like that, it doesnt work. All I'm looking for is the proper code to put in the config to get it done, and if that's possible... I know I'm doing something wrong here but can't quite get it... ehh...

    Thanks for your time and help, sorry to be a bother.

  2. #2
    Join Date
    Nov 2006
    Location
    Chicago, IL
    Posts
    58
    You can try this, not sure if it will work but try this:

    <VirtualHost yoursubdomain dot com:80>
    DocumentRoot /www/subdomain/sub1
    ServerName yoursubdomain dot com
    <Directory "/www/subdomain/sub1">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
    </VirtualHost>

    please remove any spaces in the domain name, I can't post anything with links yet due to post count. But try this and see if it works..

    arche

  3. #3
    Join Date
    Jun 2004
    Posts
    35
    Hi Dan,
    have you try checking the access_logs?
    from the way your current config is, you should be able to separate the virtual sites.
    try checking the access_log/error_log and browse the virtual sites and find out where each site is being browsed from.
    - Increase your imagination dramatically but still learning more knowledge.

  4. #4
    Join Date
    Sep 2005
    Posts
    169
    @Arche: Hi, thanks. Just gave it a try, but it was unfortunately non responsive to the subdomain, still just showed my main site server login page.

    @Rudal: Don't know what you mean sorry... I'm trying to add virtualhosts, this is the only virtual host container I have added.

  5. #5
    Join Date
    Jun 2004
    Posts
    35
    do you have NameVirtualHost <ip> in your httpd.conf for named-based virtualhost? the <ip> is the IP address that you want to have named-based virtualhost.
    - Increase your imagination dramatically but still learning more knowledge.

  6. #6
    Join Date
    Sep 2005
    Posts
    169
    hmmm, no I had:

    #NameVirtualHost *


    Uncommented it just to try it, didnt work. So I re-commented it and added:

    NameVirtualHost 192.168.1.113

    Not sure if I'm doing this properly :-/

  7. #7
    Could you please paste here your full httpd.conf file?

    Thanks
    Server Surgeon George
    http://www.serversurgeon.com
    Linux, BSD and Windows Administration Services
    Toll Free US 877-378-7436 International +1-213-291-9191

  8. #8
    Join Date
    Sep 2005
    Posts
    169
    Here it is... this one is off my localhost where ive been testing

    Code:
    # IMPORTANT
    # ${path} is used to specify EasyPHP installation path
    
    #
    # Based upon the NCSA server configuration files originally by Rob McCool.
    #
    # This is the main Apache server configuration file.  It contains the
    # configuration directives that give the server its instructions.
    # See <URL:http://www.apache.org/docs/> for detailed information about
    # the directives.
    #
    # Do NOT simply read the instructions in here without understanding
    # what they do.  They're here only as hints or reminders.  If you are unsure
    # consult the online docs. You have been warned.  
    #
    # After this file is processed, the server will look for and process
    # srm.conf and then access.conf
    # unless you have overridden these with ResourceConfig and/or
    # AccessConfig directives here.
    #
    # The configuration directives are grouped into three basic sections:
    #  1. Directives that control the operation of the Apache server process as a
    #     whole (the 'global environment').
    #  2. Directives that define the parameters of the 'main' or 'default' server,
    #     which responds to requests that aren't handled by a virtual host.
    #     These directives also provide default values for the settings
    #     of all virtual hosts.
    #  3. Settings for virtual hosts, which allow Web requests to be sent to
    #     different IP addresses or hostnames and have them handled by the
    #     same Apache server process.
    #
    # Configuration and logfile names: If the filenames you specify for many
    # of the server's control files begin with "/" (or "drive:/" for Win32), the
    # server will use that explicit path.  If the filenames do *not* begin
    # with "/", the value of ServerRoot is prepended -- so "logs/foo.log"
    # with ServerRoot set to "/usr/local/apache" will be interpreted by the
    # server as "/usr/local/apache/logs/foo.log".
    #
    # NOTE: Where filenames are specified, you must use forward slashes
    # instead of backslashes (e.g., "c:/apache" instead of "c:\apache").
    # If a drive letter is omitted, the drive on which Apache.exe is located
    # will be used by default.  It is recommended that you always supply
    # an explicit drive letter in absolute paths, however, to avoid
    # confusion.
    #
    
    ### Section 1: Global Environment
    #
    # The directives in this section affect the overall operation of Apache,
    # such as the number of concurrent requests it can handle or where it
    # can find its configuration files.
    #
    
    #
    # ServerType is either inetd, or standalone.  Inetd mode is only supported on
    # Unix platforms.
    #
    ServerType standalone
    
    #
    # ServerRoot: The top of the directory tree under which the server's
    # configuration, error, and log files are kept.
    #
    ServerRoot "${path}/apache"
    
    #
    # PidFile: The file in which the server should record its process
    # identification number when it starts.
    #
    PidFile logs/httpd.pid
    
    #
    # ScoreBoardFile: File used to store internal server process information.
    # Not all architectures require this.  But if yours does (you'll know because
    # this file will be  created when you run Apache) then you *must* ensure that
    # no two invocations of Apache share the same scoreboard file.
    #
    ScoreBoardFile logs/apache_runtime_status
    
    #
    # In the standard configuration, the server will process httpd.conf (this 
    # file, specified by the -f command line option), srm.conf, and access.conf 
    # in that order.  The latter two files are now distributed empty, as it is 
    # recommended that all directives be kept in a single file for simplicity.  
    # The commented-out values below are the built-in defaults.  You can have the 
    # server ignore these files altogether by using "/dev/null" (for Unix) or
    # "nul" (for Win32) for the arguments to the directives.
    #
    #ResourceConfig conf/srm.conf
    #AccessConfig conf/access.conf
    
    #
    # Timeout: The number of seconds before receives and sends time out.
    #
    Timeout 300
    
    #
    # KeepAlive: Whether or not to allow persistent connections (more than
    # one request per connection). Set to "Off" to deactivate.
    #
    KeepAlive On
    
    #
    # MaxKeepAliveRequests: The maximum number of requests to allow
    # during a persistent connection. Set to 0 to allow an unlimited amount.
    # We recommend you leave this number high, for maximum performance.
    #
    MaxKeepAliveRequests 100
    
    #
    # KeepAliveTimeout: Number of seconds to wait for the next request from the
    # same client on the same connection.
    #
    KeepAliveTimeout 15
    
    #
    # Apache on Win32 always creates one child process to handle requests.  If it
    # dies, another child process is created automatically.  Within the child
    # process multiple threads handle incoming requests.  The next two
    # directives control the behaviour of the threads and processes.
    #
    
    #
    # MaxRequestsPerChild: the number of requests each child process is
    # allowed to process before the child dies.  The child will exit so
    # as to avoid problems after prolonged use when Apache (and maybe the
    # libraries it uses) leak memory or other resources.  On most systems, this
    # isn't really needed, but a few (such as Solaris) do have notable leaks
    # in the libraries.  For Win32, set this value to zero (unlimited)
    # unless advised otherwise.
    #
    # NOTE: This value does not include keepalive requests after the initial
    #       request per connection. For example, if a child process handles
    #       an initial request and 10 subsequent "keptalive" requests, it
    #       would only count as 1 request towards this limit.
    #
    MaxRequestsPerChild 0
    
    #
    # Number of concurrent threads (i.e., requests) the server will allow.
    # Set this value according to the responsiveness of the server (more
    # requests active at once means they're all handled more slowly) and
    # the amount of system resources you'll allow the server to consume.
    #
    ThreadsPerChild 50
    
    #
    # Listen: Allows you to bind Apache to specific IP addresses and/or
    # ports, in addition to the default. See also the <VirtualHost>
    # directive.
    #
    #Listen 3000
    #Listen 12.34.56.78:80
    Listen 8000
    Listen 1337
    Listen 3389
    Listen 80
    
    #
    # BindAddress: You can support virtual hosts with this option. This directive
    # is used to tell the server which IP address to listen to. It can either
    # contain "*", an IP address, or a fully qualified Internet domain name.
    # See also the <VirtualHost> and Listen directives.
    #
    #BindAddress *
    
    #
    # Dynamic Shared Object (DSO) Support
    #
    # To be able to use the functionality of a module which was built as a DSO you
    # have to place corresponding `LoadModule' lines at this location so the
    # directives contained in it are actually available _before_ they are used.
    # Please read the file README.DSO in the Apache 1.3 distribution for more
    # details about the DSO mechanism and run `apache -l' for the list of already
    # built-in (statically linked and thus always available) modules in your Apache
    # binary.
    #
    # Note: The order in which modules are loaded is important.  Don't change
    # the order below without expert advice.
    #
    # Example:
    # LoadModule foo_module modules/mod_foo.so
    #
    #LoadModule vhost_alias_module modules/mod_vhost_alias.so
    #LoadModule mime_magic_module modules/mod_mime_magic.so
    LoadModule status_module modules/mod_status.so
    #LoadModule info_module modules/mod_info.so
    #LoadModule speling_module modules/mod_speling.so
    LoadModule rewrite_module modules/mod_rewrite.so
    LoadModule anon_auth_module modules/mod_auth_anon.so
    #LoadModule dbm_auth_module modules/mod_auth_dbm.so
    #LoadModule digest_auth_module modules/mod_auth_digest.so
    #LoadModule digest_module modules/mod_digest.so
    #LoadModule proxy_module modules/mod_proxy.so
    #LoadModule cern_meta_module modules/mod_cern_meta.so
    #LoadModule expires_module modules/mod_expires.so
    #LoadModule headers_module modules/mod_headers.so
    #LoadModule usertrack_module modules/mod_usertrack.so
    #LoadModule unique_id_module modules/mod_unique_id.so
    
    LoadModule php4_module "${path}/php/php4apache.dll"
    
    #LoadModule php5_module "${path}/php/php5apache.dll"
    
    #
    #  Reconstruction of the complete module list from all available modules
    #  (static and shared ones) to achieve correct module execution order.
    #
    # The modules listed below, without a corresponding LoadModule directive,
    # are static bound into the standard Apache binary distribution for Windows.
    #
    # Note: The order in which modules are loaded is important.  Don't change
    # the order below without expert advice.
    #
    # [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE, UPDATE THIS TOO!]
    ClearModuleList
    #AddModule mod_vhost_alias.c
    AddModule mod_env.c
    AddModule mod_log_config.c
    #AddModule mod_mime_magic.c
    AddModule mod_mime.c
    AddModule mod_negotiation.c
    AddModule mod_status.c
    #AddModule mod_info.c
    AddModule mod_include.c
    AddModule mod_autoindex.c
    AddModule mod_dir.c
    AddModule mod_isapi.c
    AddModule mod_cgi.c
    AddModule mod_asis.c
    AddModule mod_imap.c
    AddModule mod_actions.c
    #AddModule mod_speling.c
    AddModule mod_userdir.c
    AddModule mod_alias.c
    AddModule mod_rewrite.c
    AddModule mod_access.c
    AddModule mod_auth.c
    AddModule mod_auth_anon.c
    #AddModule mod_auth_dbm.c
    #AddModule mod_auth_digest.c
    #AddModule mod_digest.c
    #AddModule mod_proxy.c
    #AddModule mod_cern_meta.c
    #AddModule mod_expires.c
    #AddModule mod_headers.c
    #AddModule mod_usertrack.c
    #AddModule mod_unique_id.c
    AddModule mod_so.c
    AddModule mod_setenvif.c
    AddModule mod_php4.c
    #AddModule mod_php5.c
    #
    # ExtendedStatus controls whether Apache will generate "full" status
    # information (ExtendedStatus On) or just basic information (ExtendedStatus
    # Off) when the "server-status" handler is called. The default is Off.
    #
    #ExtendedStatus On
    
    ### Section 2: '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.
    #
    
    #
    # Port: The port to which the standalone server listens.  Certain firewall
    # products must be configured before Apache can listen to a specific port.
    # Other running httpd servers will also interfere with this port.  Disable
    # all firewall, security, and other services if you encounter problems.
    # To help diagnose problems use the Windows NT command NETSTAT -a
    #
    Port 80
    
    #
    # ServerAdmin: Your address, where problems with the server should be
    # e-mailed.  This address appears on some server-generated pages, such
    # as error documents.
    #
    ServerAdmin [email protected]
    
    #
    # ServerName allows you to set a host name which is sent back to clients for
    # your server if it's different than the one the program would get (i.e., use
    # "www" instead of the host's real name).
    #
    # Note: You cannot just invent host names and hope they work. The name you 
    # define here must be a valid DNS name for your host. If you don't understand
    # this, ask your network administrator.
    # If your host doesn't have a registered DNS name, enter its IP address here.
    # You will have to access it by its address (e.g., http://123.45.67.89/)
    # anyway, and this will make redirections work in a sensible way.
    #
    # 127.0.0.1 is the TCP/IP local loop-back address, often named localhost. Your 
    # machine always knows itself by this address. If you use Apache strictly for 
    # local testing and development, you may use 127.0.0.1 as the server name.
    #
    ServerName localhost
    
    
    #
    # DocumentRoot: The directory out of which you will serve your
    # documents. By default, all requests are taken from this directory, but
    # symbolic links and aliases may be used to point to other locations.
    #
    DocumentRoot "${path}/www"
    
    #
    # Each directory to which Apache has access, can be configured with respect
    # to which services and features are allowed and/or disabled in that
    # directory (and its subdirectories). 
    #
    # First, we configure the "default" to be a very restrictive set of 
    # permissions.  
    #
    <Directory />
        Options FollowSymLinks Indexes
        AllowOverride All
    </Directory>
    
    #
    # Note that from this point forward you must specifically allow
    # particular features to be enabled - so if something's not working as
    # you might expect, make sure that you have specifically enabled it
    # below.
    #
    
    #
    # This should be changed to whatever you set DocumentRoot to.
    #
    <Directory "${path}/www">
          
    Allow from all
    
    php_admin_value upload_max_filesize 50M
    </Directory>
    
    #
    # UserDir: The name of the directory which is appended onto a user's home
    # directory if a ~user request is received.
    #
    # Under Win32, we do not currently try to determine the home directory of
    # a Windows login, so a format such as that below needs to be used.  See
    # the UserDir documentation for details.
    #
    <IfModule mod_userdir.c>
        UserDir "${path}/apache/users/"
    </IfModule>
    
    #
    # Control access to UserDir directories.  The following is an example
    # for a site where these directories are restricted to read-only.
    #
    #<Directory "${path}/apache/users">
    #    AllowOverride FileInfo AuthConfig Limit
    #    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    #    <Limit GET POST OPTIONS PROPFIND>
    #        Order allow,deny
    #        Allow from all
    #    </Limit>
    #    <LimitExcept GET POST OPTIONS PROPFIND>
    #        Order deny,allow
    #        Deny from all
    #    </LimitExcept>
    #</Directory>
    
    #
    # DirectoryIndex: Name of the file or files to use as a pre-written HTML
    # directory index.  Separate multiple entries with spaces.
    #
    <IfModule mod_dir.c>
        DirectoryIndex index.html index.shtml index.wml index.pwml index.php index.php3 index.php4
    </IfModule>
    
    #
    # AccessFileName: The name of the file to look for in each directory
    # for access control information.
    #
    AccessFileName .htaccess
    
    #
    # The following lines prevent .htaccess files from being viewed by
    # Web clients.  Since .htaccess files often contain authorization
    # information, access is disallowed for security reasons.  Comment
    # these lines out if you want Web visitors to see the contents of
    # .htaccess files.  If you change the AccessFileName directive above,
    # be sure to make the corresponding changes here.
    #
    # Also, folks tend to use names such as .htpasswd for password
    # files, so this will protect those as well.
    #
    <Files ~ "^\.ht">
        Order allow,deny
        Deny from all
        Satisfy All
    </Files>
    
    #
    # CacheNegotiatedDocs: By default, Apache sends "Pragma: no-cache" with each
    # document that was negotiated on the basis of content. This asks proxy
    # servers not to cache the document. Uncommenting the following line disables
    # this behavior, and proxies will be allowed to cache the documents.
    #
    #CacheNegotiatedDocs
    
    #
    # UseCanonicalName:  (new for 1.3)  With this setting turned on, whenever
    # Apache needs to construct a self-referencing URL (a URL that refers back
    # to the server the response is coming from) it will use ServerName and
    # Port to form a "canonical" name.  With this setting off, Apache will
    # use the hostname:port that the client supplied, when possible.  This
    # also affects SERVER_NAME and SERVER_PORT in CGI scripts.
    #
    UseCanonicalName Off
    
    #
    # TypesConfig describes where the mime.types file (or equivalent) is
    # to be found.
    #
    <IfModule mod_mime.c>
        TypesConfig conf/mime.types
    </IfModule>
    
    #
    # DefaultType is the default MIME type the server will use for a document
    # if it cannot otherwise determine one, such as from filename extensions.
    # If your server contains mostly text or HTML documents, "text/plain" is
    # a good value.  If most of your content is binary, such as applications
    # or images, you may want to use "application/octet-stream" instead to
    # keep browsers from trying to display binary files as though they are
    # text.
    #
    DefaultType text/plain
    
    #
    # The mod_mime_magic module allows the server to use various hints from the
    # contents of the file itself to determine its type.  The MIMEMagicFile
    # directive tells the module where the hint definitions are located.
    # mod_mime_magic is not part of the default server (you have to add
    # it yourself with a LoadModule [see the DSO paragraph in the 'Global
    # Environment' section], or recompile the server and include mod_mime_magic
    # as part of the configuration), so it's enclosed in an <IfModule> container.
    # This means that the MIMEMagicFile directive will only be processed if the
    # module is part of the server.
    #
    <IfModule mod_mime_magic.c>
        MIMEMagicFile conf/magic
    </IfModule>
    
    #
    # HostnameLookups: Log the names of clients or just their IP addresses
    # e.g., www.apache.org (on) or 204.62.129.132 (off).
    # The default is off because it'd be overall better for the net if people
    # had to knowingly turn this feature on, since enabling it means that
    # each client request will result in AT LEAST one lookup request to the
    # nameserver.
    #
    HostnameLookups Off
    
    #
    # 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 logs/error.log
    
    #
    # LogLevel: Control the number of messages logged to the error.log.
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    #
    LogLevel warn
    
    #
    # The following directives define some format nicknames for use with
    # a CustomLog directive (see below).
    #
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    LogFormat "%{Referer}i -> %U" referer
    LogFormat "%{User-agent}i" agent
    
    #
    # The location and format of the access logfile (Common Logfile Format).
    # If you do not define any access logfiles within a <VirtualHost>
    # container, they will be logged here.  Contrariwise, if you *do*
    # define per-<VirtualHost> access logfiles, transactions will be
    # logged therein and *not* in this file.
    #
    CustomLog logs/access.log common
    
    #
    # If you would like to have agent and referer logfiles, uncomment the
    # following directives.
    #
    #CustomLog logs/referer.log referer
    #CustomLog logs/agent.log agent
    
    #
    # If you prefer a single logfile with access, agent, and referer information
    # (Combined Logfile Format) you can use the following directive.
    #
    #CustomLog logs/access.log combined
    
    #
    # Optionally add a line containing the server version and virtual host
    # name to server-generated pages (error documents, FTP directory listings,
    # mod_status and mod_info output etc., but not CGI generated documents).
    # Set to "EMail" to also include a mailto: link to the ServerAdmin.
    # Set to one of:  On | Off | EMail
    #
    ServerSignature Email
    
    # 
    # Apache parses all CGI scripts for the shebang line by default.
    # This comment line, the first line of the script, consists of the symbols
    # pound (#) and exclamation (!) followed by the path of the program that 
    # can execute this specific script.  For a perl script, with perl.exe in
    # the C:\Program Files\Perl directory, the shebang line should be:
    
       #!c:/program files/perl/perl
    
    # Note you _must_not_ indent the actual shebang line, and it must be the
    # first line of the file.  Of course, CGI processing must be enabled by 
    # the appropriate ScriptAlias or Options ExecCGI directives for the files 
    # or directory in question.
    #
    # However, Apache on Windows allows either the Unix behavior above, or can
    # use the Registry to match files by extention.  The command to execute 
    # a file of this type is retrieved from the registry by the same method as 
    # the Windows Explorer would use to handle double-clicking on a file.
    # These script actions can be configured from the Windows Explorer View menu, 
    # 'Folder Options', and reviewing the 'File Types' tab.  Clicking the Edit
    # button allows you to modify the Actions, of which Apache 1.3 attempts to
    # perform the 'Open' Action, and failing that it will try the shebang line.
    # This behavior is subject to change in Apache release 2.0.
    #
    # Each mechanism has it's own specific security weaknesses, from the means
    # to run a program you didn't intend the website owner to invoke, and the
    # best method is a matter of great debate.
    #
    # To enable the this Windows specific behavior (and therefore -disable- the
    # equivilant Unix behavior), uncomment the following directive:
    #
    #ScriptInterpreterSource registry
    #
    # The directive above can be placed in individual <Directory> blocks or the
    # .htaccess file, with either the 'registry' (Windows behavior) or 'script' 
    # (Unix behavior) option, and will override this server default option.
    #
    
    #
    # Aliases: Add here as many aliases as you need (with no limit). The format is 
    # Alias fakename realname
    #
    <IfModule mod_alias.c>
    
        #
        # Note that if you include a trailing / on fakename then the server will
        # require it to be present in the URL.  So "/icons" isn't aliased in this
        # example, only "/icons/".  If the fakename is slash-terminated, then the 
        # realname must also be slash terminated, and if the fakename omits the 
        # trailing slash, the realname must also omit it.
        #
        Alias /icons/ "${path}/apache/icons/"
    
        <Directory "${path}/apache/icons">
            Options Indexes MultiViews
            AllowOverride None
            Order allow,deny
            Allow from all
        </Directory>
    
    
        Alias /images_easyphp/ "${path}/home/images_easyphp/"
    
        <Directory "${path}/home/images_easyphp">
            Options Indexes MultiViews
            AllowOverride None
            Order allow,deny
            Allow from all
        </Directory>
    
    
        Alias /mysql/ "${path}/phpmyadmin/"
    
        <Directory "${path}/phpmyadmin">
            Options FollowSymLinks Indexes
            AllowOverride None
            Order deny,allow
        </Directory>
    
    
        Alias /home/ "${path}/home/"
    
        <Directory "${path}/home">
            Options FollowSymLinks Indexes
            AllowOverride None
            Order deny,allow
            allow from 127.0.0.1
        </Directory>
    
    
        # This Alias will project the on-line documentation tree under /manual/
        # even if you change the DocumentRoot. Comment it if you don't want to 
        # provide access to the on-line documentation.
        #
        #Alias /manual/ "${path}/apache/htdocs/manual/"
    
        #<Directory "${path}/apache/htdocs/manual">
        #    Options Indexes FollowSymlinks MultiViews
        #    AllowOverride None
        #    Order allow,deny
        #    Allow from all
        #</Directory>
    
        #
        # ScriptAlias: This controls which directories contain server scripts.
        # ScriptAliases are essentially the same as Aliases, except that
        # documents in the realname directory are treated as applications and
        # run by the server when requested rather than as documents sent to the client.
        # The same rules about trailing "/" apply to ScriptAlias directives as to
        # Alias.
        #
        ScriptAlias /cgi-bin/ "${path}/cgi-bin/"
    
        #
        # "${path}/apache/cgi-bin" should be changed to whatever your ScriptAliased
        # CGI directory exists, if you have that configured.
        #
        <Directory "${path}/cgi-bin">
            AllowOverride None
            Options None
            Order allow,deny
            Allow from all
        </Directory>
    
    </IfModule>
    # End of aliases.
    
    #
    # Redirect allows you to tell clients about documents which used to exist in
    # your server's namespace, but do not anymore. This allows you to tell the
    # clients where to look for the relocated document.
    # Format: Redirect old-URI new-URL
    #
    
    #
    # Directives controlling the display of server-generated directory listings.
    #
    <IfModule mod_autoindex.c>
    
        #
        # FancyIndexing is whether you want fancy directory indexing or standard
        #
        # Note, add the option TrackModified to the IndexOptions default list only
        # if all indexed directories reside on NTFS volumes.  The TrackModified flag
        # will report the Last-Modified date to assist caches and proxies to properly
        # track directory changes, but it does _not_ work on FAT volumes.
        #
        IndexOptions FancyIndexing
    
        #
        # AddIcon* directives tell the server which icon to show for different
        # files or filename extensions.  These are only displayed for
        # FancyIndexed directories.
        #
        AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
    
        AddIconByType (TXT,/icons/text.gif) text/*
        AddIconByType (IMG,/icons/image2.gif) image/*
        AddIconByType (SND,/icons/sound2.gif) audio/*
        AddIconByType (VID,/icons/movie.gif) video/*
    
        AddIcon /icons/binary.gif .bin .exe
        AddIcon /icons/binhex.gif .hqx
        AddIcon /icons/tar.gif .tar
        AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
        AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
        AddIcon /icons/a.gif .ps .ai .eps
        AddIcon /icons/layout.gif .html .shtml .htm .pdf
        AddIcon /icons/text.gif .txt
        AddIcon /icons/c.gif .c
        AddIcon /icons/p.gif .pl .py
        AddIcon /icons/f.gif .for
        AddIcon /icons/dvi.gif .dvi
        AddIcon /icons/uuencoded.gif .uu
        AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
        AddIcon /icons/tex.gif .tex
        AddIcon /icons/bomb.gif core
    
        AddIcon /icons/back.gif ..
        AddIcon /icons/hand.right.gif README
        AddIcon /icons/folder.gif ^^DIRECTORY^^
        AddIcon /icons/blank.gif ^^BLANKICON^^
    
        #
        # DefaultIcon is which icon to show for files which do not have an icon
        # explicitly set.
        #
        DefaultIcon /icons/unknown.gif
    
        #
        # AddDescription allows you to place a short description after a file in
        # server-generated indexes.  These are only displayed for FancyIndexed
        # directories.
        # Format: AddDescription "description" filename
        #
        AddDescription "GZIP compressed document" .gz
        AddDescription "tar archive" .tar
        AddDescription "GZIP compressed tar archive" .tgz
        AddDescription "ZIP archive" .zip
        AddDescription "CAB archive" .cab
        AddDescription "Win32 Executable" .exe
    
        #
        # ReadmeName is the name of the README file the server will look for by
        # default, and append to directory listings.
        #
        # HeaderName is the name of a file which should be prepended to
        # directory indexes. 
        #
        # If MultiViews are amongst the Options in effect, the server will
        # first look for name.html and include it if found.  If name.html
        # doesn't exist, the server will then look for name.txt and include
        # it as plaintext if found.
        #
        ReadmeName README
        HeaderName HEADER
    
        #
        # IndexIgnore is a set of filenames which directory indexing should ignore
        # and not include in the listing.  Shell-style wildcarding is permitted.
        #
        IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
    
    </IfModule>
    # End of indexing directives.
    
    #
    # Document types.
    #
    <IfModule mod_mime.c>
    
        #
        # AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress
        # information on the fly. Note: Not all browsers support this.
        # Despite the name similarity, the following Add* directives have nothing
        # to do with the FancyIndexing customization directives above.
        #
        AddEncoding x-compress Z
        AddEncoding x-gzip gz tgz
        #
        # AddLanguage allows you to specify the language of a document. You can
        # then use content negotiation to give a browser a file in a language
        # it can understand.
        #
        # Note 1: The suffix does not have to be the same as the language
        # keyword --- those with documents in Polish (whose net-standard
        # language code is pl) may wish to use "AddLanguage pl .po" to
        # avoid the ambiguity with the common suffix for perl scripts.
        #
        # Note 2: The example entries below illustrate that in quite
        # some cases the two character 'Language' abbreviation is not
        # identical to the two character 'Country' code for its country,
        # E.g. 'Danmark/dk' versus 'Danish/da'.
        #
        # Note 3: In the case of 'ltz' we violate the RFC by using a three char
        # specifier. But there is 'work in progress' to fix this and get
        # the reference data for rfc1766 cleaned up.
        #
        # Danish (da) - Dutch (nl) - English (en) - Estonian (ee)
        # French (fr) - German (de) - Greek-Modern (el)
        # Italian (it) - Korean (kr) - Norwegian (no) - Norwegian Nynorsk (nn)
        # Portugese (pt) - Luxembourgeois* (ltz)
        # Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz)
        # Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)
        # Russian (ru)
        #
        AddLanguage da .dk
        AddLanguage nl .nl
        AddLanguage en .en
        AddLanguage et .ee
        AddLanguage fr .fr
        AddLanguage de .de
        AddLanguage el .el
        AddLanguage he .he
        AddCharset ISO-8859-8 .iso8859-8
        AddLanguage it .it
        AddLanguage ja .ja
        AddCharset ISO-2022-JP .jis
        AddLanguage kr .kr
        AddCharset ISO-2022-KR .iso-kr
        AddLanguage nn .nn
        AddLanguage no .no
        AddLanguage pl .po
        AddCharset ISO-8859-2 .iso-pl
        AddLanguage pt .pt
        AddLanguage pt-br .pt-br
        AddLanguage ltz .lu
        AddLanguage ca .ca
        AddLanguage es .es
        AddLanguage sv .sv
        AddLanguage cz .cz
        AddLanguage ru .ru
        AddLanguage tw .tw
        AddLanguage zh-tw .tw
        AddCharset Big5         .Big5    .big5
        AddCharset WINDOWS-1251 .cp-1251
        AddCharset CP866        .cp866
        AddCharset ISO-8859-5   .iso-ru
        AddCharset KOI8-R       .koi8-r
        AddCharset UCS-2        .ucs2
        AddCharset UCS-4        .ucs4
        AddCharset UTF-8        .utf8
    
        # LanguagePriority allows you to give precedence to some languages
        # in case of a tie during content negotiation.
        #
        # Just list the languages in decreasing order of preference. We have
        # more or less alphabetized them here. You probably want to change this.
        #
        <IfModule mod_negotiation.c>
            LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw
        </IfModule>
    
        #
        # AddType allows you to tweak mime.types without actually editing it, or to
        # make certain files to be certain types.
        #
        AddType application/x-tar .tgz
        AddType image/x-icon .ico
        AddType application/vnd.wap.wmlc .wmlc
        AddType application/x-httpd-php .phtml .pwml .php3 .php4 .php .php2 .inc
        AddType text/vnd.wap.wml .wml
        AddType text/vnd.wap.wmlscript .wmls
        AddType text/vnd.wap.wmlscriptc .wmlsc
        AddType image/vnd.wap.wbmp .wbmp
    
        #
        # AddHandler allows you to map certain file extensions to "handlers",
        # actions unrelated to filetype. These can be either built into the server
        # or added with the Action command (see below)
        #
        # If you want to use server side includes, or CGI outside
        # ScriptAliased directories, uncomment the following lines.
        #
        # To use CGI scripts:
        #
        AddHandler cgi-script .cgi
    
        #
        # To use server-parsed HTML files
        #
        AddType text/html .shtml
        AddHandler server-parsed .shtml
    
        #
        # Uncomment the following line to enable Apache's send-asis HTTP file
        # feature
        #
        #AddHandler send-as-is asis
    
        #
        # If you wish to use server-parsed imagemap files, use
        #
        #AddHandler imap-file map
    
        #
        # To enable type maps, you might want to use
        #
        #AddHandler type-map var
    
    </IfModule>
    # End of document types.
    
    #
    # Action lets you define media types that will execute a script whenever
    # a matching file is called. This eliminates the need for repeated URL
    # pathnames for oft-used CGI file processors.
    # Format: Action media/type /cgi-script/location
    # Format: Action handler-name /cgi-script/location
    #
    
    #
    # MetaDir: specifies the name of the directory in which Apache can find
    # meta information files. These files contain additional HTTP headers
    # to include when sending the document
    #
    #MetaDir .web
    
    #
    # MetaSuffix: specifies the file name suffix for the file containing the
    # meta information.
    #
    #MetaSuffix .meta
    
    #
    # Customizable error response (Apache style)
    #  these come in three flavors
    #
    #    1) plain text
    #ErrorDocument 500 "The server made a boo boo.
    #  n.b.  the single leading (") marks it as text, it does not get output
    #
    #    2) local redirects
    #ErrorDocument 404 /missing.html
    #  to redirect to local URL /missing.html
    #ErrorDocument 404 /cgi-bin/missing_handler.pl
    #  N.B.: You can redirect to a script or a document using server-side-includes.
    #
    #    3) external redirects
    #ErrorDocument 402 http://some.other-server.com/subscription_info.html
    #  N.B.: Many of the environment variables associated with the original
    #  request will *not* be available to such a script.
    
    #
    # Customize behaviour based on the browser
    #
    <IfModule mod_setenvif.c>
    
        #
        # The following directives modify normal HTTP response behavior.
        # The first directive disables keepalive for Netscape 2.x and browsers that
        # spoof it. There are known problems with these browser implementations.
        # The second directive is for Microsoft Internet Explorer 4.0b2
        # which has a broken HTTP/1.1 implementation and does not properly
        # support keepalive when it is used on 301 or 302 (redirect) responses.
        #
        BrowserMatch "Mozilla/2" nokeepalive
        BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
    
        #
        # The following directive disables HTTP/1.1 responses to browsers which
        # are in violation of the HTTP/1.0 spec by not being able to grok a
        # basic 1.1 response.
        #
        BrowserMatch "RealPlayer 4\.0" force-response-1.0
        BrowserMatch "Java/1\.0" force-response-1.0
        BrowserMatch "JDK/1\.0" force-response-1.0
    
    </IfModule>
    # End of browser customization directives
    
    #
    # Allow server status reports, with the URL of http://servername/server-status
    # Change the "localhost" to match your domain to enable.
    #
    <Location /server-status>
        SetHandler server-status
        Order deny,allow
    </Location>
    
    #
    # Allow remote server configuration reports, with the URL of
    # http://servername/server-info (requires that mod_info.c be loaded).
    # Change the "localhost" to match your domain to enable.
    #
    #<Location /server-info>
    #    SetHandler server-info
    #    Order deny,allow
    #    Deny from all
    #    Allow from localhost
    #</Location>
    
    #
    # There have been reports of people trying to abuse an old bug from pre-1.1
    # days.  This bug involved a CGI script distributed as a part of Apache.
    # By uncommenting these lines you can redirect these attacks to a logging 
    # script on phf.apache.org.  Or, you can record them yourself, using the script
    # support/phf_abuse_log.cgi.
    #
    #<Location /cgi-bin/phf*>
    #    Deny from all
    #    ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi
    #</Location>
    
    #
    # Proxy Server directives. Uncomment the following lines to
    # enable the proxy server:
    #
    #<IfModule mod_proxy.c>
    #    ProxyRequests On
    
    #    <Directory proxy:*>
    #        Order deny,allow
    #        Deny from all
    #        Allow from localhost
    #    </Directory>
    
        #
        # Enable/disable the handling of HTTP/1.1 "Via:" headers.
        # ("Full" adds the server version; "Block" removes all outgoing Via: headers)
        # Set to one of: Off | On | Full | Block
        #
    #    ProxyVia On
    
        #
        # To enable the cache as well, edit and uncomment the following lines:
        # (no cacheing without CacheRoot)
        #
    #    CacheRoot "C:/Program Files/Apache Group/Apache/proxy"
    #    CacheSize 5
    #    CacheGcInterval 4
    #    CacheMaxExpire 24
    #    CacheLastModifiedFactor 0.1
    #    CacheDefaultExpire 1
    #    NoCache a-domain.com another-domain.edu joes.garage-sale.com
    
    #</IfModule>
    # End of proxy directives.
    
    ### Section 3: Virtual Hosts
    #
    # 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://www.apache.org/docs/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.
    
    #
    # Use name-based virtual hosting.
    #
    #NameVirtualHost *
    NameVirtualHost 192.168.1.113
    #
    # VirtualHost example:
    # Almost any Apache directive may go into a VirtualHost container.
    # The first VirtualHost section is used for requests without a known
    # server name.
    #
    #<VirtualHost *>
    #    ServerAdmin [email protected]
    #    DocumentRoot /www/docs/dummy-host.example.com
    #    ServerName dummy-host.example.com
    #    ErrorLog logs/dummy-host.example.com-error_log
    #    CustomLog logs/dummy-host.example.com-access_log common
    #</VirtualHost>
    
    
    #alias
    #alias
    
    
    
    
    <VirtualHost 67.81.106.238:1337>
    ServerAdmin [email protected]
    DocumentRoot  "C:/"
    ServerName usb.jcink.com
    ServerAlias usb.jcink.com *.usb.jcink.com
    </VirtualHost>
    
    
    <VirtualHost usb.jcink.com>
    DocumentRoot "C:/"
    ServerName usb.jcink.com
    <Directory "C:/">
     Options FollowSymLinks
     AllowOverride None
     Order allow,deny
     Allow from all
    </Directory>
    </VirtualHost>

  9. #9
    Before:
    Code:
     <VirtualHost 67.81.106.238:1337>
    ServerAdmin [email protected]
    DocumentRoot  "C:/"
    ServerName usb.jcink.com
    ServerAlias usb.jcink.com *.usb.jcink.com
    </VirtualHost>
    
    
    <VirtualHost usb.jcink.com>
    DocumentRoot "C:/"
    ServerName usb.jcink.com
    <Directory "C:/">
     Options FollowSymLinks
     AllowOverride None
     Order allow,deny
     Allow from all
    </Directory>
    </VirtualHost>
    Add:
    Code:
    NameVirtualHost 67.81.106.238:80
    NameVirtualHost 67.81.106.238:1337
    Please let me know if that solved your issue.
    Server Surgeon George
    http://www.serversurgeon.com
    Linux, BSD and Windows Administration Services
    Toll Free US 877-378-7436 International +1-213-291-9191

  10. #10
    Join Date
    Sep 2005
    Posts
    169
    Hmm thanks but nope... doesn't work.

  11. #11
    after you restart apache what do you see when doing:
    tail /var/log/httpd/error_log
    ?
    Server Surgeon George
    http://www.serversurgeon.com
    Linux, BSD and Windows Administration Services
    Toll Free US 877-378-7436 International +1-213-291-9191

  12. #12
    Join Date
    Nov 2006
    Location
    Chicago, IL
    Posts
    58
    I have two questions, the first one is what is supposed to be on usb.jcink.com?

    Second, which I am sure this is a given. You are restart apache everytime you make a change right? I know it is a stupid question, but some people just forget.

    arche

  13. #13
    Join Date
    Sep 2005
    Posts
    169
    usb.jcink.com I expect to see my drive C:\ when I go there.

    I'm just using usb.jcink.com on my windows test box then I'll try the real stuff I want to do on the Linux with data.jcink.com

    If I can get this to work for that, and show drive C:\ or some other folder above the main document root, then I can do what I need to do with the /var/www/userdata/ on my linux.

    I am restarting apache, yes.

    In apache error log I see

    [Wed Jan 10 16:10:52 2007] [warn] NameVirtualHost 192.168.1.113:80 has no VirtualHosts
    [Wed Jan 10 16:10:52 2007] [warn] NameVirtualHost 67.81.106.238:80 has no VirtualHosts

  14. #14
    Join Date
    Nov 2006
    Location
    Chicago, IL
    Posts
    58
    Try this, put this next to VirtualHost *:80


    <VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "C:/"
    ServerName usb.jcink.com
    ServerAlias usb.jcink.com *.usb.jcink.com
    </VirtualHost>


    <VirtualHost *:80>
    DocumentRoot "C:/"
    ServerName usb.jcink.com
    <Directory "C:/">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
    </VirtualHost>

    NameVirtualHost *:80


    or simply just this

    NameVirtualHost *:80

    <VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "C:/"
    ServerName zeno.biyg.org
    <Directory "C:/">
    allow from all
    Options +Indexes
    </Directory>
    </VirtualHost>

    Try this and see if this works...

    arche
    Last edited by arche; 01-10-2007 at 05:21 PM.

  15. #15
    Join Date
    Sep 2005
    Posts
    169
    Hi

    Thanks but nope... ive done that before just tried it again, I did it for both 80 and 1337

    What happens when I insert that is all subdomains lead to drive C:\. Which I do not want, I only want usb.jcink.com to go to drive C:\

    EDIT: Are any of those working examples for you guys, or are they untested? If anyone has a for-sure working one, please post it and maybe I can find out what I;m screwing up...
    Last edited by Jcink; 01-10-2007 at 05:41 PM.

  16. #16
    Join Date
    Nov 2006
    Location
    Chicago, IL
    Posts
    58
    My question I have now is the domain jcink.com, is that hosted on a separte server or on the same server you are doing these sub-domains on?

    Seems what is happening is some where there is a catch all (exp. *.jcink.com) is set somewhere and is making everything point to the same dir.

    arche

  17. #17
    Join Date
    Sep 2005
    Posts
    169
    Eh, sorry for being confusing... I would have used another domain to test this separately but I dont have one right now.

    http://jcink.com http://and.all.sub.domains.jcink.com are hosted on a separate server.

    There is no regex involved in catching the subdomains, however I have my domain added to everyDNS. They offer wildcard DNS service for free, which is what allows for any subdomain to call up my server page.

    I DO use mod_rewrite and regex to make it so domains like http://seanj.jcink.com and http://jcink.com for example go to certain folders on my system. And that's worked fine for me for a while to create on the fly subdomains.

    But as for catching the subdomains and such, like http://and.all.sub.domains.jcink.com , no. Apache has no idea that even exists. The DNS is just routing it to the server IP, which is why it resolves.

    The system I'm testing on right now is a windows system. It doesnt run as a live production system, and what I have done to make my domain point to it is simply edit my host file on this computer. So on *this* windows computer I'm typing and doing this testing on, it currently routes right back to itself when I visit any subdomain or domain on jcink.com

    Hope that clears up the mess of domains I've created.

  18. #18
    Join Date
    Sep 2005
    Posts
    169
    Still can't get it. Any ideas?

  19. #19
    Join Date
    Nov 2006
    Location
    Chicago, IL
    Posts
    58
    Sorry about the delay, I had to work earlier. Quick question, I have a home server I testing on and it is a linux server. But I just noticed something, what IP is this 67.81.106.238:80? I would only put your internal IP in apache for the server at your location. Because I am assuming that you are using this test server at home/office behind a personal router. So try first using your internal IP (i.e. 192.168.1.113) for the virtual hosts, also I am not sure what kind of router you are using but make sure that you have the correct ports open. If this does not work, I will pm you the httpd.conf I am using for my internal network on my test server to see if that helps...

    arche

  20. #20
    Join Date
    Jun 2004
    Posts
    35
    Quote Originally Posted by Dan8080
    Eh, sorry for being confusing... I would have used another domain to test this separately but I dont have one right now.

    http://jcink.com http://and.all.sub.domains.jcink.com are hosted on a separate server.

    There is no regex involved in catching the subdomains, however I have my domain added to everyDNS. They offer wildcard DNS service for free, which is what allows for any subdomain to call up my server page.
    So in everyDNS, you have *.jcink.com pointed to one IP?
    Does and.all.sub.domains.jcink.com resolved to its own IP (since this is on a different server)?

    Quote Originally Posted by Dan8080
    I DO use mod_rewrite and regex to make it so domains like http://seanj.jcink.com and http://jcink.com for example go to certain folders on my system. And that's worked fine for me for a while to create on the fly subdomains.
    Do two sites above live on the same server?

    Quote Originally Posted by Dan8080
    But as for catching the subdomains and such, like http://and.all.sub.domains.jcink.com , no. Apache has no idea that even exists. The DNS is just routing it to the server IP, which is why it resolves.
    can you post the IP resolution of each domain below:
    and.all.sub.domains.jcink.com
    seanj.jcink.com
    jcink.com

    And if possible, can you post both of the httpd.conf from the two servers?
    Just the <virtualhost> syntax'es and any <namevirtualhost>

    Thanks
    - Increase your imagination dramatically but still learning more knowledge.

  21. #21
    Join Date
    Sep 2005
    Posts
    169
    Hi.

    Quick question, I have a home server I testing on and it is a linux server. But I just noticed something, what IP is this 67.81.106.238:80? I would only put your internal IP in apache for the server at your location. Because I am assuming that you are using this test server at home/office behind a personal router. So try first using your internal IP (i.e. 192.168.1.113)
    http://67.81.106.238:80/ = a home webserver, behind a Linksys WRT54GS router. Used for production, live, online all the time.

    Interal IP is 192.168.1.96

    http://67.81.106.238:1337/ = My laptop, also a home webserver. Not used for production. Not always online.

    Interal IP is 192.168.1.113

    My laptop is where I am testing all the stuff you guys have been giving me. At port 1337.

    So in everyDNS, you have *.jcink.com pointed to one IP?
    Does and.all.sub.domains.jcink.com resolved to its own IP (since this is on a different server)?
    All subdomains, and the main domain resolve to: 67.81.106.238 This is only one server. Wildcard DNS does that, yes.

    Do two sites above live on the same server?
    Yes they do. The IP address for both sites is 67.81.106.238. As well as any subdomain, ANY subdomain you visit on my site it all resolves to 67.81.106.238.

    And if possible, can you post both of the httpd.conf from the two servers?
    Just the <virtualhost> syntax'es and any <namevirtualhost>
    I have no virtual host containers in the apache conf on the Linux box @ http://67.81.106.238:80/ non what so ever right now. But here is what I have right now on my windows, my last test of this:

    NameVirtualHost 67.81.106.238:1337

    <VirtualHost 67.81.106.238:1337>
    DocumentRoot "C:/"
    ServerName usb.jcink.com
    ServerAlias *.jcink.com
    </VirtualHost>
    This is, in fact, not working.

    Thanks guys for keeping up with my thread and stuff. Sorry I've been such a bother with this 2 page thread, I didn't mean to make this that complicated and confusing for you to help me solve it. >.<

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •