Go Back   HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials > ISPConfig 2 > Tips/Tricks/Mods

Do you like HowtoForge? Please consider supporting us by becoming a subscriber.
Reply
 
Thread Tools Display Modes
  #1  
Old 28th April 2007, 11:32
radim_h radim_h is offline
Senior Member
 
Join Date: Jan 2007
Location: Prague, Czech
Posts: 420
Thanks: 33
Thanked 24 Times in 19 Posts
Send a message via ICQ to radim_h
Default user names as subdomains - HOWTO

I think this can interrest someone:

It used to drive me crazy have user names in format
http://www.domain.tld/users/webXX_user
wanted them as http://user.domain.tld (third level domain)

so here is how to do it

1. in Ispconfig go to Management->System Config->Settings->ISP manager
change User Prefix to [DOMAIN]_
then user dirs will lok like http://www.domain.tld/users/domain.tld_user

2. Create file /etc/httpd/user_rewrite.conf which includes

RewriteCond %{SERVER_NAME} !^www\.
RewriteCond %{SERVER_NAME} !^mail\. ( not neccessary see bellow)
RewriteCond %{SERVER_NAME} ^([^.]*)\.(.*\..*)$
RewriteRule ^/(.*)$ /var/www/www.%2/user/%2_%1/web/$1 [L]

You can create as many lines like "RewriteCond %{SERVER_NAME} !^www\." as you want
^www\. here means that www.domain.tld will not rewrite (will not be looking for directory http://www.domain.tld/users/domain.tld_www, but show www.domain.tld) In my case i'm using also rewrite to show webmail as mail.domain.tld for each domain so i also have
RewriteCond %{SERVER_NAME} !^mail\.

3. In ISP manager->sites click on your site, then go to "Co-domains" and add
yourIP * domain.tld

6 In ISPmanger->sites-> www.domain.tld ->Basic put "Include user_rewrite.conf" into Apache Directives (Optional):


If you have more domains and don't want to forget do this for each domain, change:
Management->Form Designer->Edit Form->isp - ISP Web:->edit->web_httpd_include->Edit and put Include user_rewrite.conf into Default: window

5. In DNS manager ->domain.tld-> records you must create
CNAME * domain.tld

6. probably not necessary, but you can restart apache "apachectl restart"

and you are done



=============
If you want to have mail.domain.tld for each domain showing your default webmail
must have in DNS for your site
CNAME mail yourwebmail.yourdomain.tld
and your /etc/httpd/user_rewrite.conf should look like this

RewriteEngine on
RewriteCond %{SERVER_NAME} ^mail.*.*$
RewriteRule .* /var/www/path_to_your_webmail_site/web$0 [L]
RewriteCond %{SERVER_NAME} !^www\.
RewriteCond %{SERVER_NAME} !^www2\.
RewriteCond %{SERVER_NAME} !^mysql2\.
RewriteCond %{SERVER_NAME} ^([^.]*)\.(.*\..*)$
RewriteRule ^/(.*)$ /var/www/www.%2/user/%2_%1/web/$1 [L]

It works for me, i have configured webmail outside ISPconfig apache, if you use some webmail inside ispconfig in /home/admispconfig/ispconfig/web/yourwebmail it may not work (haven't tried)






Just have 2 questions for Falco or some other developer here .)

1. is there more ellegant way how to include user_rewrite.conf for all domains?
It didnt work for me to include in httpd.conf for all domains at once, its working just when included for each Virtual Host separatelly

2. Can i change default DNS entry for domains without editing code?
In my case i like to have DNS for all domains by default like this:

A Record
empty (domain.tld is already included in zone file but not showed in DNS manager)

CNAME
Hostname Target
* mydomain.tld
mail mail.myhosting.tld

MX
Mailserver Hostname
mail.myhosting.tld
mailbackup.myhosting.tld

(by default it shows MX admin.myhosting.tld which is wrong for me i have admin on different ip adress then users webs)

Last edited by radim_h; 16th May 2007 at 18:46.
Reply With Quote
Sponsored Links
  #2  
Old 12th May 2007, 19:47
radim_h radim_h is offline
Senior Member
 
Join Date: Jan 2007
Location: Prague, Czech
Posts: 420
Thanks: 33
Thanked 24 Times in 19 Posts
Send a message via ICQ to radim_h
Default better one

rewrite thru http:// in previous post makes not neccessary overhead, better one will be rewrite on filesystem:

RewriteRule ^/(.*)$ /var/www/www.%2/user/%2_%1/web/$1 [L]



it should be nice to have it in /etc/httpd/conf/vhosts/Vhosts_ispconfig.conf
together with
AliasMatch ^/~([^/]+)(/(.*))? /var/www/webXX/user/$1/web/$3
AliasMatch ^/users/([^/]+)(/(.*))? /var/www/webXX/user/$1/web/$3
(btw: what are this aliases for?)

Is it possible to put it somewhere in the code to create rewrite automatically for each VirtualHost?

Last edited by radim_h; 12th May 2007 at 19:55.
Reply With Quote
  #3  
Old 13th May 2007, 18:53
falko falko is offline
Super Moderator
 
Join Date: Apr 2005
Location: Lüneburg, Germany
Posts: 41,701
Thanks: 1,900
Thanked 2,741 Times in 2,575 Posts
Default

Quote:
Originally Posted by radim_h
(btw: what are this aliases for?)
Take a look at chapter 2.2.9 on http://ispconfig.org/downloads/manua..._src.htm#4_2_2 .

Quote:
Originally Posted by radim_h
Is it possible to put it somewhere in the code to create rewrite automatically for each VirtualHost?
You can modify the function make_vhost() in /root/ispconfig/scripts/lib/config.lib.php.
__________________
Falko
--
Download the ISPConfig 3 Manual! | Check out the ISPConfig 3 Billing Module!

FB: http://www.facebook.com/howtoforge

nginx-Webhosting: Timme Hosting | Follow me on:
Reply With Quote
  #4  
Old 13th May 2007, 19:00
radim_h radim_h is offline
Senior Member
 
Join Date: Jan 2007
Location: Prague, Czech
Posts: 420
Thanks: 33
Thanked 24 Times in 19 Posts
Send a message via ICQ to radim_h
Default default aliases

I was just wondering, why you guys use this aliases
to make link http://www.domain.tld/users/testuser/
when user directory is var/www/webXX/user/
then you can show it as
http://www.domain.tld/user/testuser/ without rewrite.. ?
Reply With Quote
  #5  
Old 14th May 2007, 17:18
falko falko is offline
Super Moderator
 
Join Date: Apr 2005
Location: Lüneburg, Germany
Posts: 41,701
Thanks: 1,900
Thanked 2,741 Times in 2,575 Posts
Default

Quote:
Originally Posted by radim_h
then you can show it as
http://www.domain.tld/user/testuser/ without rewrite.. ?
Yes, no rewrite is needed then.
__________________
Falko
--
Download the ISPConfig 3 Manual! | Check out the ISPConfig 3 Billing Module!

FB: http://www.facebook.com/howtoforge

nginx-Webhosting: Timme Hosting | Follow me on:
Reply With Quote
  #6  
Old 14th May 2007, 18:43
radim_h radim_h is offline
Senior Member
 
Join Date: Jan 2007
Location: Prague, Czech
Posts: 420
Thanks: 33
Thanked 24 Times in 19 Posts
Send a message via ICQ to radim_h
Default .

So why it is in there? .o)
Reply With Quote
  #7  
Old 15th May 2007, 10:53
till till is offline
Super Moderator
 
Join Date: Apr 2005
Location: Lüneburg, Germany
Posts: 36,045
Thanks: 826
Thanked 5,384 Times in 4,231 Posts
Default

Quote:
Originally Posted by radim_h
I was just wondering, why you guys use this aliases
to make link http://www.domain.tld/users/testuser/
when user directory is var/www/webXX/user/
then you can show it as
http://www.domain.tld/user/testuser/ without rewrite.. ?
I dont think that it will work without rewrite. The directory:

http://www.domain.tld/users/testuser/

is without rewrite:

/var/www/webXX/web/users/testuser/

and not:

/var/www/webXX/users/testuser/

The directory of the users is outside of the document root of the website.
__________________
Till Brehm
--
Get ISPConfig support and the ISPConfig 3 manual from ispconfig.org.
Reply With Quote
  #8  
Old 15th May 2007, 14:12
falko falko is offline
Super Moderator
 
Join Date: Apr 2005
Location: Lüneburg, Germany
Posts: 41,701
Thanks: 1,900
Thanked 2,741 Times in 2,575 Posts
Default

Quote:
Originally Posted by radim_h
So why it is in there? .o)
To make personal web sites for the users available:
Quote:
Take a look at chapter 2.2.9 on http://ispconfig.org/downloads/manua..._src.htm#4_2_2 .
__________________
Falko
--
Download the ISPConfig 3 Manual! | Check out the ISPConfig 3 Billing Module!

FB: http://www.facebook.com/howtoforge

nginx-Webhosting: Timme Hosting | Follow me on:
Reply With Quote
  #9  
Old 16th May 2007, 13:23
LeoXavior LeoXavior is offline
Junior Member
 
Join Date: May 2007
Posts: 8
Thanks: 1
Thanked 0 Times in 0 Posts
Thumbs up

Hey Radim, thx for this idea.. I am very interested in getting this setup on my system...
I'm trying to follow you're directions but im unclear on the dns/cname directions..

This is what I have done so far:
1) Set users to be created thru [DOMAIN]_
2) Created file: /etc/apache2/user_rewrite.conf
3) Inserted into user_rewrite.conf:
Code:
RewriteEngine On
RewriteCond %{SERVER_NAME} !^www\.
RewriteCond %{SERVER_NAME} !^mail\.
RewriteCond %{SERVER_NAME} ^([^.]*)\.(.*\..*)$
RewriteRule ^/(.*)$ http://www.%2/users/%2_%1/$1 [P]
4) Added Include user_rewrite.conf into my sites default apache directives
5) Restarted apache2
6) Created user: serverhash.com_testuser
7) Added CNAME:
Code:
Hostname Target
testuser testuser.serverhash.com
Complete DNS setup is as follows:
Code:
 
  A Record 
  IP-Adresse  	  Hostname 
  72.148.231.196  	  www 
 
  CNAME 
  Hostname  	  Target 
  testuser  	  testuser.serverhash.com 
 
  MX 
  Mailserver  	  Hostname 
  www.serverhash.com  	   
  mail.serverhash.com  	  mail
Works:
http://www.serverhash.com/users/serv....com_testuser/
http://www.serverhash.com/~serverhash.com_testuser/

Does not work:
http://testuser.serverhash.com/

Can you see anything im doing wrong. any help is appreciated.
Reply With Quote
  #10  
Old 16th May 2007, 18:17
radim_h radim_h is offline
Senior Member
 
Join Date: Jan 2007
Location: Prague, Czech
Posts: 420
Thanks: 33
Thanked 24 Times in 19 Posts
Send a message via ICQ to radim_h
 
Thumbs up

Oh, i forget (changed now my first howto a bit)
In ISP manager click on your site, then go to "Co-domains" and add
yourIP testuser serverhash.com

and your CNAME is wrong, it has to be
CNAME
Hostname Target
testuser serverhash.com



I preffer
add co-domain
MyIP * mydomain.tld

and have DNS record
CNAME
Hostname Target
* mydomain.tld

then you don't have to care about each user apache will process anything.yourdomain.com

Last edited by radim_h; 16th May 2007 at 18:45.
Reply With Quote
The Following User Says Thank You to radim_h For This Useful Post:
LeoXavior (16th May 2007)
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Statistic not working mzo Installation/Configuration 49 20th April 2011 12:19
Anything I can do against illegal login-requests? schmidtedv Installation/Configuration 17 7th November 2008 09:25
Squirellmail and user names in "mail from ..." SkIRmiS Installation/Configuration 2 23rd October 2006 10:37
Mail Login, simple user names??? Kernal Panic Installation/Configuration 1 16th June 2006 02:45
User-name and subdomains for each user? (user@mydomain.com; user.mydomain.com) Pasco General 1 18th September 2005 19:35


All times are GMT +2. The time now is 14:39.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.