Advanced Options: Pre-Installation

For cPanel & WHM version 11.28

Using this information, you can configure cPanel & WHM before it is installed.

Advanced Partitioning

For flexibility in any *nix environment, we recommend a simple partition scheme.

note Note: All of the following partitions are optional except for swap.

Partition Size Partition Contents
/boot 70 Megabytes (MB) Kernels, bootloader configuration file.
/usr 8+ Gigabytes (GB) cPanel, Apache, Apache logs, and most applications.
/var 8+ Gigabytes (GB) MySQL databases, cPanel configuration, system logs, and mail queue.
/home Fill to disk All cPanel user accounts.
/tmp 1 Gigabyte (GB) Temporary files.
swap 2x memory (RAM) Overflow from RAM contained on your disk.

Selecting a cPanel Build Type Pre-Installation

To select the build type before installing the cPanel and WHM interfaces:
  1. Create the file /etc/cpupdate.conf using the command line interface.
    • This can be done using nano or your preferred text editor. Simply enter nano cpupdate.conf into your command line interface.
  2. You can define your build type by defining the variable CPANEL. cPanel offers 4 build types to choose from: STABLE, RELEASE, CURRENT, and EDGE. To choose the build type, add 1 of the 4 following lines to /etc/cpupdate.conf.
    • CPANEL=stable
    • CPANEL=release
    • CPANEL=current
    • CPANEL=edge

The cPanel and WHM interfaces will be installed according to which of the 4 options you define in the configuration file.

Your build choice will also apply to automatic updates. For example, if you choose the stable build type, all future updates will install the newest stable build type.

note Note: For more information regarding build types and auto-updates, please see the WHM Server Configuration documentation.

Configuring YUM Before Installing cPanel

It is possible to modify yum (Yellowdog Updater Modifier) prior to installing cPanel & WHM. However, because cPanel handles its own installation of services, you will need to exclude a number of packages.

To exclude these packages:

  1. Open /etc/yum.conf with your preferred text editor in the command line interface.
  2. Enter the following line:

Exclude= apache* bind-chroot courier* dovecot* exim* httpd* mod_ssl* mysql* nsd* perl* php* proftpd* pure-ftpd* spamassassin* squirrelmail*

ALERT! Warning: Use only vendor-provided distributions when installing cPanel, as cPanel is only tested using these packages. Third-party repositories, such as RPMforge, can replace vital parts of the system and cause unexpected results.

Pre-Installation Configuration of cPanel & WHM Settings

You can set the following parameters in /var/cpanel/cpanel.config.

To set these parameters before installing cPanel & WHM:

  1. Create a file called cpanel.config.
  2. List the parameters and values you wish to configure, one per line in the cpanel.config file.
  3. Place the resulting configuration file in the appropriate location (/var/cpanel/cpanel.config).

Parameter Description Type (Acceptable Values) Default Value
account_login_access Specify who can access a user's cPanel account. owner in this case indicates an account's reseller. Comma Delimited String (owner_root, owner, user) owner_root,owner,user
allow_server_info_status_from IP addresses or hostnames that are allowed to view the /server-info and server-status pages. Comma Delimited String (192.168.0.1, host.example.com) Not Applicable
allowcpsslinstall Allow cPanel users with a dedicated IP address to install SSL hosts. Boolean (1, 0) 1
allowparkhostnamedomainsubdomains Allow cPanel users to park subdomains of the server's hostname main domain. Boolean (1, 0) 0
allowparkonothers Allow users to park domains on top of domains owned by other users. Boolean (1, 0) 0
allowperlupdates Allow Perl updates from RPM-based Linux vendors. Boolean (1, 0) 0
allowremotedomains Allow users to create parked/addon domains that resolve to other servers. Boolean (1, 0) 0
allowresellershostnamedomainsubdomains Allow resellers to create accounts with subdomains of the server's hostname main domain. Boolean (1, 0) 0
allowunregistereddomains Allow the creation of parked/addon domains that have not been registered. Boolean (1, 0) 0
alwaysredirecttossl Always redirect users to the SSL/TLS ports when visiting example.com/cpanel, example.com/webmail, etc. Boolean (1, 0) 0
anon_data_optout Send anonymous usage data to cPanel. Boolean (1, 0) 0
apache_port The port on which Apache listens for unsecured HTTP connections. Integer 80
apache_ssl_port The port on which Apache listens for secured (SSL/TLS) HTTP connections. Integer 443
autocreateaentries Automatically create A entries for registered nameservers when creating a new domain. Boolean (1, 0) 1
awstatsbrowserupdate Allow users to update AWStats from cPanel. Boolean (1, 0) 0
awstatsreversedns Allow AWStats reverse DNS resolution. Boolean (1, 0) 0
bind_deferred_restart_time The time (in seconds) dnsadmin will wait before restarting bind. Integer 0
blockcommondomains Prevent users from adding common Internet domains. Boolean (1, 0) 1
check_zone_syntax Check zone file syntax when saving and synchronizing zones. Boolean (1, 0) 1
cookieipvalidation Validate IP addresses during cookie-based authentication attempts. String (disabled, loose, strict) strict
coredump Allow WHM, webmail, and cPanel to create core dumps for debugging purposes. Boolean (1, 0) 0
cpaddons_adminemail The default administrative contact for cPAddon moderation-related email. String (user@example.com) Not Applicable
cpaddons_autoupdate Automatically updates cPAddons. Boolean (1, 0) 1
cpaddons_max_moderation_req_all_mod Maximum number of moderated requests a user may have at any time. Integer 99
cpaddons_max_moderation_req_per_mod Maximum number of moderated requests per addon a user may have at any time. Integer 99
cpaddons_moderation_request Alert the cPAddons administrator of pending moderation requests. Boolean (1, 0) 0
cpaddons_no_3rd_party Prevent users from installing addon scripts that are not provided by cPanel. Boolean (1, 0) 0
cpaddons_no_modified_cpanel Prevent users from installing cPanel addon scripts that have been modified. Boolean (1, 0) 1
cpaddons_notify_owner Notify resellers when their users have cPAddon installations that need to be updated. String (Allow users to choose, always, never) Allow users to choose
cpaddons_notify_root Notify the cPAddons administrator when users have cPAddon installations that need to be updated. Boolean (1, 0) 1
cpaddons_notify_users Notify cPanel users when their cPAddon installations need to be updated. String (Allow users to choose, always, never) Allow users to choose
cpredirect Specify where to redirect users who access example.com/cpanel, example.com/whm, etc. without SSL. String (example.com) Not Applicable
cpredirectssl Specify where to redirect users who access example.com/cpanel, example.com/whm, etc. with SSL. String (SSL Certificate Name, example.com) Not Applicable
cpsrvd-domainlookup Allow usernames to be determined from the account 's domain name when no username is given. Boolean (1, 0) 0
cpsrvd-gzip Compress cPanel & WHM interface pages using gzip compression to conserve bandwidth. Boolean (1, 0) 1
default_login_theme The theme you wish to display when users reach the cPanel login screen. String (mobile, cpanel) cpanel
defaultmailaction Forwarding destination for a new account's default address. String (blackhole, fail, localuser) localuser
disable_compiled_dnsadmin Use an uncompiled version of dnsadmin. Boolean (1, 0) 0
disableipnscheck Allow nameservers to use shared IP addresses. Boolean (1, 0) 0
disablequotacache Disable disk quota display caching. Boolean (1, 0) 0
discardformmailbccsubject Silently discard FormMail-clone requests with a bcc: header in the subject line. Boolean (1, 0) 1
disk_usage_include_sqldbs Include databases in disk usage calculations. This option requires MySQL 5+. Boolean (1, 0) 1
dnsadmin_log Log dnsadmin requests to /usr/local/cpanel/logs/dnsadmin.log. Boolean (1, 0) 0
dnsadmin_verbose_sync Enable verbose DNS zone syncing. Do not use this option on a production server. Boolean (1, 0) 0
dnsadminapp DNS request management application. String (dnsadmin, auto-detect SSL) undef
dnslookuponconnect Resolve each client's IP to a domain name when they connect to a cPanel service. Boolean (1, 0) 0
dumplogs Delete access logs after stats are run. Boolean (1, 0) 1
email_account_quota_default_selected Select which option to be preselected in the interface when a user accesses the email accounts feature. String (unlimited, userdefined) userdefined
email_account_quota_userdefined_default_value The value that will automatically appear in the quota box when creating a new email address. Integer (Maximum value of 2048) 250
emailpasswords Send passwords in plain text by email when creating a new account. Boolean (1, 0) 0
emailusers_diskusage_critical_contact_admin Notify the admin or reseller when an account has reached "critical" disk usage. Boolean (1, 0) 1
emailusers_diskusage_critical_percent The percentage of disk space that must be used for it to be considered in a "critical" state. Integer or Undef 90
emailusers_diskusage_full_contact_admin Notify the admin or reseller when an account has reached "full" disk usage. Boolean (1, 0) 1
emailusers_diskusage_full_percent The percentage of disk space that must be used for it to be considered in a "full" state. Integer or Undef 98
emailusers_diskusage_warn_contact_admin Notify the admin or reseller when an account has reached "warn" disk usage. Boolean (1, 0) 1
emailusers_diskusage_warn_percent The percentage of disk space that must be used for it to be considered in a "warn" state. Integer or Undef 80
emailusers_mailbox_critical_percent The percentage of disk space that must be used by an email account to be considered in a "critical" state. Integer or Undef 90
emailusers_mailbox_full_percent The percentage of disk space that must be used by an email account to be considered in a "full" state. Integer or Undef 98
emailusers_mailbox_warn_percent The percentage of disk space that must be used by an email account to be considered in a "warn" state. Integer or Undef 80
emailusersbandwidthexceed Email users when they exceed their bandwidth. Boolean (1, 0) 0
emailusersbandwidthexceed70 Email users when they have used 70% of their bandwidth. Boolean (1, 0) 0
emailusersbandwidthexceed75 Email users when they have used 75% of their bandwidth. Boolean (1, 0) 0
emailusersbandwidthexceed80 Email users when they have used 80% of their bandwidth. Boolean (1, 0) 0
emailusersbandwidthexceed85 Email users when they have used 85% of their bandwidth. Boolean (1, 0) 0
emailusersbandwidthexceed90 Email users when they have used 90% of their bandwidth. Boolean (1, 0) 0
emailusersbandwidthexceed95 Email users when they have used 95% of their bandwidth. Boolean (1, 0) 0
emailusersbandwidthexceed97 Email users when they have used 97% of their bandwidth. Boolean (1, 0) 0
emailusersbandwidthexceed98 Email users when they have used 98% of their bandwidth. Boolean (1, 0) 0
emailusersbandwidthexceed99 Email users when they have used 99% of their bandwidth. Boolean (1, 0) 0
exim-retrytime Time in minutes that Exim will wait between mail server queue runs. Integer 60
extracpus The load average above the number of CPUs at which the log file process will be suspended. Integer 0
file_upload_max_bytes The maximum file size in megabytes that can be uploaded to the server. Integer (Between 1 and 10240 or Undef) Undef
file_upload_must_leave_bytes The minimum amount of disk space in megabytes a user must have to upload a file. Integer 5
ftppasslogs Include the password in the FTP raw log file. Boolean (1, 0) 0
htaccess_check_recurse The maximum number of directories deep to look for .htaccess files when .htacceses checks are performed.
Values above 100 are discouraged.
Integer 2
ignoredepreciated Receive warnings about deprecated features in future versions of cPanel & WHM. Boolean (1, 0) 0
interchangever The version of Interchange you wish to use. String (5.0, 4.8, 4.9, disable) disable
jaildefaultshell Use a jailshell as the default shell for new accounts. Boolean (1, 0) 0
keepftplogs Keep FTP log files at the end of the month. Boolean (1, 0) 0
keeplogs Keep log files at the end of the month. Boolean (1, 0) 0
keepstatslog Keep the stats log (/usr/local/cpanel/logs/stats_log) between cPanel restarts. Boolean (1, 0) 0
loadthreshold Minimum load average that will make the server status appear red. Integer, Float, or Undef 2
logchmod Apache log file's chmod value. Integer 0640
maxcpsrvdconnections The maximum number of requests that the cPanel service daemon will serve at one time. Integer (Maximum value of 16384) 160
maxemailsperhour The maximum number of emails each domain can send per hour. Integer or Undef Undef
maxmem The maximum amount of memory a cPanel process can use before it is killed. Integer (Minimum value of 128) 128
mysql-version Specifies the major version of MySQL that the mysqlup script should install. String (4.0,4.1,5.0,5.1) 5.0
nativessl Use native SSL support when possible. Boolean (1, 0) 1
nosendlangupdates Prevent language file changes from being sent to cPanel. Boolean (1, 0) 0
numacctlist Number of accounts per page to display in the List Accounts feature. Integer or Undef 30
php_max_execution_time The maximum amount of time in seconds a PHP script is allowed to run before it is killed. Integer 90
php_post_max_size The maximum size in megabytes that cPanel will allow for a PHP POST request. Integer (Maximum value of 2047) 55
php_register_globals Enable PHP register globals. This feature is deprecated in PHP as of PHP 5.3.0. Boolean (1, 0) 0
php_upload_max_filesize The maximum file size in megabytes that users are able to upload via PHP. Integer (Maximum value of 2047) 50
phploader The PHP loader you wish to use. String (none, ioncube, sourceguardian, oldsourceguardian) none
popchecktimes The number of times per hour users are allowed to check mail using POP3. Integer 0
popfloodcheck Attempt to prevent POP3 connection floods. Boolean (1, 0) 1
proxysubdomains Enable proxy subdomains to automatically redirect unconfigured cPanel, webmail, webdisk, and WHM subdomains to the correct port. Boolean (1, 0) 1
proxysubdomainsfornewaccounts Automatically enable proxy subdomains for new accounts. Boolean (1, 0) 1
proxysubdomainsoverride Allow users to create cPanel, webmail, webdisk, and WHM subdomains that override proxy domains that were generated automatically. Boolean (1, 0) 1
publichtmlsubsonly Prevent users from creating subdomains outside their public_html directory. Boolean (1, 0) 0
referrerblanksafety Only allow cPanel & WHM to execute functions if the browser provides a referrer. Boolean (1, 0) 0
referrersafety Only allow cPanel & WHM to execute functions if the browser-provided referrer matches the destination URL. Boolean (1, 0) 0
remotewhmtimeout The time to wait in seconds for connections between this server and remote WHM servers before timeout. Integer (Minimum value of 35) 35
repquota_timeout The maximum amount of time in seconds you wish to allow the server to spend fetching disk usage and quota information. Integer 60
requiressl Require SSL for remote logins. Boolean (1, 0) 1
resetpass Allow cPanel users to reset their passwords via email. Boolean (1, 0) 0
rollback Enable our build archiving and restoration facility. Boolean (1, 0) 0
rotatelogs_size_threshhold_in_megabytes The threshold in megabytes above which cpanellogd will rotate log files. Integer (Minimum value of 10) 300
showwhmbwusageinmegs Show bandwidth usage in megabytes by default in WHM. Boolean (1, 0) 0
skipanalog Disable Analog stats. Boolean (1, 0) 0
skipawstats Disable AWStats Boolean (1, 0) 0
skipboxcheck Disable mailbox usage warnings. Boolean (1, 0) 1
skipboxtrapper Disable BoxTrapper spam trap. Boolean (1, 0) 0
skipdiskcheck Disable disk space usage warnings. Boolean (1, 0) 1
skipformmail Disable FormMail-clone CGI Boolean (1, 0) 1
skiphorde Disable the Horde webmail client. Boolean (1, 0) 0
skiphttpauth Disable HTTP authentication for cPanel & WHM. Boolean (1, 0) 1
skipmailman Disable Mailman Boolean (1, 0) 0
skipnotifyacctbackupfailure Prevent warnings from being sent to users when a backup has an error. Boolean (1, 0) 0
skiproundcube Disable Roundcube Boolean (1, 0) 0
skipspamassassin Disable SpamAssassin Boolean (1, 0) 0
skipspambox Disable the SpamAssassin spambox Boolean (1, 0) 0
skipsqmail Disable Squirrelmail Boolean (1,0) 0
skipwebalizer Disable Webalizer stats Boolean (1, 0) 0
skipwhoisns Disable whois lookups for the nameserver IP manager. Boolean (1, 0) 0
statsloglevel The amount of debugging information you wish to include in /usr/local/cpanel/logs/stats_log.
Larger numbers indicate more debugging information.
Integer (Between 1 and 10) 1
tcp_check_failure_threshold The number of times ChkServd TCP check must fail before a notification is sent and the service is restarted. Integer or Undef 3
urchinsetpath The path to your Urchin installation. String (/path/to/Urchin) Not Applicable
use_apache_md5_for_htaccess Use MD5 encoded passwords in Apache htpasswd files. Boolean (1, 0) 1
use_information_schema Enable INFORMATION_SCHEMA for MySQL. Boolean (1, 0) 1
use_safe_quotas When enabled, quotas are disabled, adjusted, and re-enabled when changed. Boolean (1, 0) 0
useauthnameservers Ignore configured nameservers for new domains that are already registered and using authoritative nameservers. Boolean (1, 0) 0
usemailformailmanurl Add the mail. prefix for Mailman URLs. Boolean (1, 0) 0
usemysqloldpass Use old style (MySQL 4.0) passwords for MySQL passwords. Boolean (1, 0) 0
xsrftokens Require security tokens for all cPanel interfaces. Boolean (1, 0) 0

The /etc/wwwacct.conf File

The /etc/wwwacct.conf file contains the most basic setup instructions for cPanel & WHM. This information includes the hostname, nameservers, and some other important information for cPanel servers. Once cPanel & WHM is installed, you can find and edit most of this information in the Basic cPanel & WHM Setup (Main >> Server Configuration >> Basic cPanel & WHM Setup) interface. You can find an example of /etc/wwwacct.conf below:

Show... Hide

ADDR 192.168.0.1
CONTACTEMAIL user@example.com
CONTACTPAGER
DEFMOD x3
ETHDEV eth0
HOMEDIR /home
HOMEMATCH home
HOST host.example.com
LOGSTYLE combined
MINUID
NS ns1.example.com
NS2 ns2.example.com
NS3
NS4
NSTTL 86400
SCRIPTALIAS y
TTL 14400

You can find a list of all of the parameters you must include in your /etc/wwwacct.conf file below. You must include all of the following parameters in your /etc/wwwacct.conf file, even if you do not wish to specify a value for a parameter.

Key Value
ADDR Your server's default IP address.
CONTACTEMAIL The system administrator's email address. This address is used when sending notifications of account creation/termination, service status information, and several other events.
CONTACTPAGER The SMS number at which you wish to receive notifications.
DEFMOD The default cPanel theme to use.
ETHDEV The default ethernet device. This should normally be eth0 on Linux servers, unless the server is running Virtuozzo.
HOMEDIR The path to the default home directory.
HOMEMATCH A string used to determine whether a partion should be used as a home directory for new accounts. (e.g. A value of users would match system mounts of users, users1, users3, etc.)
LOGSTYLE The Apache log format to use. This value should always be combined.
MINUID The minimum UID of cPanel created accounts. This defaults to 500 if this setting is not set.
NS or NS(2-4) Nameservers to add to DNS zones by default. If you do not configure at least NS and NS2, account creation will fail.
NSTTL The default TTL (time to live) for DNS zones.
SCRIPTALIAS Defines whether a /cgi-bin/ directory should be aliased on account creation.

Topic revision: r31 - 25 Mar 2011 - 17:52:02 - Main.GeorgeAlpizar