Bobcares

Configuring mod_dav on cPanel

by | Mar 25, 2010

As a follow up to my previous post, I thought I’d dive into more detail on how to configure a site for mod_dav on a cPanel server. You can read this post to find out how to set it up on a server without a control panel.

 

Hire Bobcares Linux Server Administrators
Get super reliable servers and delighted customers

See how we do it!

 

 

WARNING: The following steps assume that your current Apache configuration is in working order and that running EasyApache or rebuilding httpd.conf will not result in the loss of configuration data/settings. Make sure you backup httpd.conf before proceeding.

Enabling mod_dav:

1)Login to WHM and go to Main >> Software >> EasyApache (Apache Update) and navigate your way to the “Exhaustive Options List” section.
2)Under “Apache Built-in Modules“, tick the box next to “Dav“, which conveniently has the following note right under it:

Among other things mod_dav can be used by DAV enabled Frontpage clients instead of FP extensions

3)Save and build the configuration.

 

Setting up the mod_dav configuration file:

Create a custom configuration file, say webdav.conf in the following folder:

/usr/local/apache/conf/userdata/std or ssl /1 or 2/username/domainname.com/

*Where std or ssl is determined by whether you are using SSL for the site or not.
*Where 1 or 2 depends on whether you are running Apache 1.x or 2.x.
*Where username and domainame.com should be replaced with the cPanel username and domain name of the site you are setting this up on.

 

So if you are setting up webdav for user bob on the site bobcares.com, running without SSL on Apache 2.x, the path will be:
/usr/local/apache/conf/userdata/std/2/bob/bobcares.com/
If this is the first time you are setting up a custom configuration for this site, this folder will not exist and you must create it.

 

The mod_dav configuration:

To enable mod_dav for the public_html folder on a site, you simply have to put the following lines of code in the webdav.conf file you just created:

 

DavLockDB /usr/local/apache/DavLock
<Directory /home/username/public_html>
Dav On
</Directory>

 

The DavLockDB directive is used to specify the path of the lock file. The lock file is used by mod_dav to identify which user is currently editing which file. This is the core feature of the “Distributed Authoring and Versioning” capability of mod_dav
The Directory directive specifies the shared folder inside which the files will be stored and can be edited by multiple users.
But as I mentioned in my previous post, since mod_dav is an Apache module, it will run as the Apache user “nobody”. We have to add at least one level of authentication, so we should use:

 

DavLockDB /usr/local/apache/DavLock
<Directory /home/username/public_html/>
Dav On
AuthType Basic
AuthName DAV
AuthUserFile /home/username/.htpasswrd/public_html/passwd
<LimitExcept GET HEAD OPTIONS>
Require user wbuser
</LimitExcept>
</Directory>

 

This will ensure that normal access to the public_html folder is not interrupted, but you must enter a username and password if you wish to edit the files in that folder. To add a username/password to the list, use the command:

htpasswd -b /home/username/.htpasswrd/public_html/passwd username password

 

Preserving the changes:

To save these changes so that these settings are not lost when httpd.conf is rebuilt. Run the following commands:

/scripts/verify_vhost_includes --commit
/scripts/ensure_vhost_includes --user=username

Where username is the username of the account. The second command will rebuild the Apache configuration and restart Apache. If you check the VirtualHost of the domain you will now see a line to include all configuration files in this include folder.

Thats it! You have now configured mod_dav for the site…enjoy!


About the Author:

Hamish works as a Senior Software Engineer in Bobcares. He joined Bobcares in July 2004, and is an expert in Control panels and Operating systems used in the Web Hosting industry. He is highly passionate about Linux and is a great evangelist of open-source. When he is not on his xbox, he is an avid movie lover and critic.


0 Comments

Never again lose customers to poor
server speed! Let us help you.

Privacy Preference Center

Necessary

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID - Preserves user session state across page requests.

gdpr[consent_types] - Used to store user consents.

gdpr[allowed_cookies] - Used to store user allowed cookies.

PHPSESSID, gdpr[consent_types], gdpr[allowed_cookies]
PHPSESSID
WHMCSpKDlPzh2chML

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

_ga - Preserves user session state across page requests.

_gat - Used by Google Analytics to throttle request rate

_gid - Registers a unique ID that is used to generate statistical data on how you use the website.

smartlookCookie - Used to collect user device and location information of the site visitors to improve the websites User Experience.

_ga, _gat, _gid
_ga, _gat, _gid
smartlookCookie
_clck, _clsk, CLID, ANONCHK, MR, MUID, SM

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

IDE - Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.

test_cookie - Used to check if the user's browser supports cookies.

1P_JAR - Google cookie. These cookies are used to collect website statistics and track conversion rates.

NID - Registers a unique ID that identifies a returning user's device. The ID is used for serving ads that are most relevant to the user.

DV - Google ad personalisation

_reb2bgeo - The visitor's geographical location

_reb2bloaded - Whether or not the script loaded for the visitor

_reb2bref - The referring URL for the visit

_reb2bsessionID - The visitor's RB2B session ID

_reb2buid - The visitor's RB2B user ID

IDE, test_cookie, 1P_JAR, NID, DV, NID
IDE, test_cookie
1P_JAR, NID, DV
NID
hblid
_reb2bgeo, _reb2bloaded, _reb2bref, _reb2bsessionID, _reb2buid

Security

These are essential site cookies, used by the google reCAPTCHA. These cookies use an unique identifier to verify if a visitor is human or a bot.

SID, APISID, HSID, NID, PREF
SID, APISID, HSID, NID, PREF