Tag: IP
[warn] Init: SSL server IP/port conflict: www.domain.com:443
by admin on Sep.07, 2009, under DirectAdmin
If you get this warning in your apache logs, don’t worry, it’s perfectly normal.
[warn] RSA server certificate CommonName (CN) `localhost’ does NOT match server name!?
[warn] Init: SSL server IP/port conflict: www.domain.com:443
[warn] Init: You should not use name-based virtual hosts in conjunction with SSL!!
The reason it’s there is because DA uses name based hosting. What that means is you’ll have many domains on one IP. The warning comes up because of the fact that only 1 ssl certificate is valid per IP address. An explanation on that can be found from the link below.
Note that these are just warnings, not errors.
Adding custom httpd.conf code to the VirtualHosts of a domain
by admin on Sep.07, 2009, under DirectAdmin
DirectAdmin Allows Admin to insert extra httpd.conf code that a User may require. To access the control page for this functionality, go to Admin Panel -> Admin Settings -> Customize Httpd Configurations.
Once you see the list of domain, click the domain you wish to insert the extra httpd.conf code to.
At the bottom of the page, you’ll see the current httpd.conf for that User. It will contain all VirtualHosts for all domain, subdomains and redirects. Any changes made by this page will only affect the VirtualHosts for the domain in question, not the other domains owned by that user. If all domains need the changes, then you would repeat this process for each domain.
The top textarea is where you will paste the custom httpd.conf code you wish to insert. The code you write will be inserted into the |CUSTOM| token for all VirtualHosts for this domain. You can edit the templates as needed if you require to move the |CUSTOM| token to a different position in the VirtualHost.
All tokens that are available for the VirtualHost will be available with this feature. You can also set any token you wish. For example, if you with to change the DocumentRoot for a domain, you can paste:
|?DOCROOT=/new/path/you/want|
Note that this new DocumentRoot will be used for all DocumentRoots for this domain, including https connections and subdomains, so it may not be a desired effect.
Another common use is to add another ServerAlias. This allows another domain to be used to access the exact same content. To accomplish this, you would write
ServerAlias newdomain.com www.newdomain.com
To get newdomain.com and www.newdomain.com to point to the original domain for the VirtualHost. You will also have to make sure that newdomain.com and www.newdomain.com both resolve to the same IP as stored in |IP|.
Using a custom VirtualHost template
by admin on Sep.07, 2009, under DirectAdmin
If you wish to change the setup of the VirtualHosts for all domains, you can do so by creating your own custom templates.
cd /usr/local/directadmin/data/templates
cp virtual_host*.conf custom
cd custom
Once you’ve copied the 4 VirtualHost files (or just the ones you want) to the custom directory, you can then edit the new files you’ve just copied. DirectAdmin will always check for the custom file before going to the default ones. Failure to copy the virtual_host*.conf files to the custom directory before modifying them will result in a loss of all changes when DirectAdmin updates itself (the files are overwritten). Note that there are actually 8 virtual_host files, but you only need to worry about the 4 that apply to you. The files with the 2 in them are for apache 2.x. The ones without the 2 in them are for apache 1.3.
Inside the virtual_host*.conf files, you’ll find code that is similar to httpd.conf code, but contains what are known as tokens. These tokens are what will be replaces with specific user data for each domain created.
Available tokens
DOMAIN
the name of the domain. eg: domain.com
IP
the IP address associated with that domain. eg: 192.168.3.4
HOME
The users home directory. eg: /home/gary
ADMIN
The email address of the server admin. webmaster@domain.com
HOSTNAME
The hostname of the server. eg: server.domain.com
SAFE_MODE
ON or OFF if php safe_mode is enabled or not
PHP
ON or OFF if php is enabled or not
CGI
The whole httpd.conf line used to add the Script-Alias
HANDLERS
httpd.conf code holding all apache handlers
MIMETYPE
httpd.conf code holding all apache mime types
USER
the username
GROUP
the users group name (99% of the time, it’s the same as the USER)
DOCROOT
The DocumentRoot of the VirtualHost. This is the path that apache will use to access the data when the ServerName (domain.com) is requested
SUB
for the virtual_host_*sub.conf file, the subdomain name. eg: sub
CUSTOM
custom httpd.conf code to be inserted if the domain.com.cust_httpd file exists. (See Adding custom httpd.conf code the VirtualHost of one domain)
CAROOT
The whole httpd.conf line used to load in the SSLCACertificateFile directive
CERT
The path of the certificate to be used for the domain
KEY
The path of the certificate to be used for the domain
The top of the templates should contain |?CGI=…| and |?DOCROOT=…|. These lines are where the data for the CGI and DOCROOT tokens are set. If cgi is not enabled, this line wil be ignored and the CGI token will be empty. If the domain is suspended, the DOCROOT will be filled the the path of the suspend page. The CAROOT token will be empty unless the User has added a valid CARootCertificate through DA.
You can use tokens when assigning a value to CGI or DOCROOT, just use `TOKEN` instead of |TOKEN|.
Once you are happy with your new virtual_host*.conf files they’ll need to be used in the real httpd.conf files. You can trigger DirectAdmin to rewrite all User httpd.conf files by running:
echo "action=rewrite&value=httpd" >> /usr/local/directadmin/data/task.queue
The command will be added the the task queue which is checked once per minute, so it may be a few minutes before all httpd.conf files have been rewritten. *Note: the main /etc/httpd/conf/httpd.conf is never overwritten (unless DirectAdmin is reinstalled) so any changes you make will be safe.
Note, that you can also use if-then-else statements if you don’t want all settings to be global. Example, say you want a custom item added, only for 1 domain:
|*if DOMAIN="domain.com"|
#custom item for just this domain
|*endif|
See the if-then-else link for more info on what else you can do with this basic scripting tool.
You can also run actual scripts with database queries, etc… if you wanted using the script portion of the templates.
More info on that here: http://www.directadmin.com/features.php?id=756
