cPanel – folder&files structure

Apache – /usr/local/apache

  • bin- apache binaries are stored here: httpd, apachectl, apxs
  • conf – configuration files – httpd.conf: php.conf
  • cgi-bin
  • domlogs – domain access and stat log files for all domains is stored here
  • htdocs – default apache DocumentRoot location
  • include – header files
  • libexec – shared object (.so) files are stored here:  libphp4.so,mod_rewrite.so
  • logs – apache logs: access_log, error_log, suexec_log
  • man – apache manual pages
  • icons – icon/jpg/gif images
  • modules – shared object (.so) files are store here: Apache-2.x+
  • Init Script :/etc/rc.d/init.d/httpd or /usr/local/apache/bin/apachectl: apache start script
  • cPanel script to restart apache – /scripts/restartsrv_httpd
  • /opt – Apache modules built here

Exim

  • Conf : /etc/exim.conf – exim main configuration file: Do not manually edit
  • /etc/localdomains – list of domains allowed to relay/receive mail
  • Log : /var/log/exim_mainlog – incoming/outgoing mail logs
  • Log : /var/log/exim_rejectlog – exim rejected mails are reported here
  • Log : /var/log/exim_paniclog – exim errors are logged here
  • Mail queue: /var/spool/exim/input
  • Cpanel script to restart exim – /scripts/restartsrv_exim
  • Email forwarders and catchall address file – /etc/valiases/domainname.com
  • Email filters file – /etc/vfilters/domainname.com
  • POP user authentication file – /home/username/etc/domainname/passwd
  • Catchall inbox – /home/username/mail/new
  • POP user inbox – /home/username/mail/domainname/popusername/new
  • POP user spambox – /home/username/mail/domainname/popusername/spam• Program : /usr/sbin/exim (suid – -rwsr-xr-x 1 root root )
  • Init Script: /etc/rc.d/init.d/exim : /scripts/restartsrv_exim : service exim restart
  • Check queue: exim -bpc

ProFTPD

  • Program :/usr/sbin/proftpd
  • Init Script :/etc/rc.d/init.d/proftpd : /scripts/restartsrv_ftpserver
  • Conf: /etc/proftpd.conf
  • Log: /var/log/messages, /var/log/xferlog
  • Accounts file – /etc/proftpd/$username (all ftp accounts are stored here)

Pure-FTPD

  • Program : /usr/sbin/pure-ftpd
  • Init Script :/etc/rc.d/init.d/pure-ftpd : /scripts/restartsrv_ftpserver
  • Conf: /etc/pure-ftpd.conf
  • Accounts file: /etc/proftpd/$username (all ftp accounts are stored here)
  • Anonymous ftp document root – /etc/pure-ftpd/ip-address

Frontpage Extensions

  • Program – (Install): /usr/local/frontpage/version5.0/bin/owsadm.exe
  • Uninstall and then install for re-installations
  • FP files are found as _vti-bin, _vti-pvt, _vti-cnf, vti-log inside the public_html
  • /scripts/setupfp5 domain.com

Mysql

  • Program : /usr/sbin/mysqld :/usr/bin/mysqld_safe
  • Init Script : /etc/rc.d/init.d/mysql : service mysql start/stop : /scripts/restartsrv_mysql
  • Conf : /etc/my.cnf, /root/.my.cnf
  • Data directory – /var/lib/mysql (location for all database storage)
  • Database naming convention- username_dbname (eg: john_sales)(DBMapping)
  • Log: Startup errors – /var/lib/mysql/hostname.tld.err
  • Socket file – /var/lib/mysql/mysql.sock, /tmp/mysql.sock

PostgreSQL

  • Program:
  • Init Script:
  • Conf: /var/lib/pgsql/data/postgresql.conf & pg_hba.conf
  • Data Directory: /var/lib/pgsql/data
  • Log: /var/lib/pgsql/

SSHD

  • Program :/usr/local/sbin/sshd
  • Init Script :/etc/rc.d/init.d/sshd – /scripts/restartsrv_sshd – service sshd restart
  • Conf: /etc/ssh/sshd_config
  • Log: /var/log/messages

Perl

  • Program :/usr/bin/perl or /usr/local/bin/perl (one should symlink to the other)
  • Directory :/usr/lib/perl5/5.8.x/ or /usr/local/lib/perl5
  • Version: perl -v
  • Check: /scripts/checkperlmodules : /scripts/perlmods -s
  • Installer: /scripts/perlinstaller : perl -MCPAN -e shell
  • Build: /home/.cpan :/home/.cpcpan

System PHP

  • Program :/usr/local/bin/php, /usr/bin/php, /usr/local/php4/bin/php
  • ini file: /usr/local/lib/php.ini – apache must be restarted after any change to this file
  • PHP can be recompiled using /scripts/easyapache : /scripts/phpup using /var/cpanel/easy/apache/profile/
  • Also in WHM you can go to Main » Software » EasyApache (Apache Update) to recompile.

Internal PHP

  • Program : /usr/local/cpanel/3rdparty/bin/php : /var/cpanel/3rdparty/bin/php
  • ini file: /usr/local/cpanel/3rdparty/etc/php.ini
  • internal PHP can be recompiled using-  /scripts/makecpphp using /var/cpanel/easy/apache/profile/makecpphp.profile.yaml
  • /var/cpanel/3rdparty

Named(BIND)

  • Program: /usr/sbin/named
  • Init Script: /etc/rc.d/init.d/named
  • Config: /etc/named.conf
  • Zone files:/var/named/
  • Log: /var/log/messages: /var/named/data/named.run

NSD (Alternate DNS option)(limited to 500 domains and 50 IPʼs)

  • Program: /usr/sbin/nsd
  • Init Script : /etc/rc.d/init.d/nsd • db records : /var/named
  • Config: /etc/nsd/nsd.conf
  • Log: /var/log/messages

Courier

  • Program: /usr/lib/courier-imap/libexec/couriertcpd
  • Init Script: /etc/init.d/courier : /scripts/restartsrv_courier
  • Config: /usr/local/libexec/courier-imap
  • Log: /var/log/maillog

Dovecot

  • Program: /usr/sbin/dovecot
  • Init Script: /etc/init.
  • Config: /etc/dovecot.conf
  • Log: /var/log/maillog

DBMapping

  • Unordered List Item• Directory: /var/cpanel/databases
  • Scripts:
  • /usr/local/cpanel/bin/dbindex
  • /usr/local/cpanel/bin/dbmaptool
  • /usr/local/cpanel/bin/dbstoregrants
  • /usr/local/cpanel/bin/setupdbmap

Tomcat

  • Directory: /usr/local/jakarta/tomcat
  • Conf: /usr/local/jakarta/tomcat/conf/server.xml
  • Log:
  • /usr/local/jakarta/tomcat/logs/catalina.out
  • /usr/local/jakarta/tomcat/logs/catalina.err
  • /usr/local/apache/logs/mod_jk.log
  • Scripts:
  • /scripts/addservlets –domain=
  • /scripts/remservlets

Ruby

  • Directory:
  • /home/username/rails_apps
  • /home/username/.gem/ruby
  • Scripts: /scripts/installruby

Spamd

  • Directory: /etc/mail/spamassassin
  • Program: /usr/bin/spamd & /usr/bin/spamc & /usr/bin/spamassassin
  • Scripts: /scripts/installspam

Clamd

  • Conf: /etc/clamd.conf
  • Scripts:
  • clamscan
  • freshclam

EasyApache

  • /var/cpanel/easy/apache
  • /var/cpanel/userdata
  • /usr/local/apache/conf/
  • /var/cpanel/templates/apache2
  • /usr/local/cpanel/src/templates/apache2
  • /home/cpeasyapache
  • /opt
  • /usr/local/cpanel/logs/easy/apache

cPanel installation directory structure – /usr/local/cpanel

  • 3rdparty/ – tools like fantastico, mailman files are located here
  • addons/ – AdvancedGuestBook, phpBB, etc.
  • base/ – phpmyadmin, squirrelmail, skins, webmail, etc.
  • bin/ – cpanel binaries
  • cgi-sys/ – cgi files such as cgiemail, formmail.cgi, formmail.pl, etc.
  • logs/ – cpanel access_log, error_log, license_log, stats_log
  • whostmgr/ – whm related files
  • base/frontend – cPanel related files – themes+ perl/ – internal Perl modules for compiled binaries
  • etc/init – init files for cPanel services

WHM related files – /var/cpanel – whm files

  • bandwidth/ – rrd files of domains
  • username.accts – reseller accounts are listed in this files
  • packages – list of hosting packages
  • root.accts – list of root owned domains
  • suspended – list of suspended accounts
  • users/ – cpanel user file: theme, bwlimit, addon, parked, sub-domains all are listed in this files
  • zonetemplates/ – dns zone template files are taken from here

Common CPanel scripts – /scripts/

  • addns – add a dns zone
  • addfpmail2 -Adds frontpage mail extensions to all domains
  • addpop – add a pop account
  • addservlets – Add JSP support to a domain (requires tomcat)
  • adduser – Add a user to the system
  • apachelimits – calculates memory limits for apache processes then adds result to httpd.conf
  • bandminup – Updates Bandmin Application
  • biglogcheck – looks for logs nearing 2 gigabytes in size
  • bsdcryptoinstall – Installs crypto on FreeBSD
  • bsdldconfig – Configures the proper lib directories in FreeBSD
  • bsdpkgpingtest – Tests the connection speed for downloading FreeBSD packages
  • buildbsdexpect – Install expect on FreeBSD
  • buildeximconf – Rebuilds exim.conf
  • build_maxemails_config – Sets limit on amount of emails one can send from domains.
  • buildpostgrebsd-dev – Installs postgresql on FreeBSD.
  • chpass – change cpanel passwords (does not change all passwords)
  • checkperlmodules – Contains a list of standard CPAN modules to install on cPanel
  • check_users_my_cnf – Check user accounts for ~/.my.cnf files that do not work and disable them. This script only returns output when it detects a bad .my.cnf.
  • chcpass – For internal use only, do not use.
  • chkmydns – Performs a simple configuration check of MyDNS
  • cleandns – removes domains from named.conf that do not have a Zone.
  • comparecdb $file1 $file2 – Compare the content of 2 CDB files.
  • convert_roundcube_mysql2sqlite — Converts the Roundcube database from MySQL to SQLite
  • courierup – used to update/reinstall courier
  • cpaddonsup – Update cPanel’s addon.
  • cpbackup – to backup accounts (if backups enabled) (–force)
  • delpop – Removes POP account
  • dnscluster – used to synchronize DNS zones with clustered servers (–help)
  • dovecotup – Updates dovecot mail server
  • dumpcdb – Displays the contents of a CDB file
  • dumpstor – displays contents of .datastore storable files
  • dumpgdbm – displays contents of .gdbm locale files
  • easyapache – recompile/upgrade apache and/or php
  • editquota – used to manually set a users quota limit
  • ensure_vhost_includes – ensures users includes are added in httpd.conf
  • eximup – used to update exim to latest version (overwrites any manual changes)
  • export mydnsdbb – Exports zones from MyDNS for use with BIND and NSD
  • fixcommonproblems – fixes mailbox permissions, mailman, cgi scripts, ndc and quotas
  • fixfrontpageperm – fixes permission issues with Front Page
  • fixmailinglistperms — Repairs permissions for all mailing list files and directories
  • fixmailman – fixes common mailman issues fixndc – fixes rndc errors with named
  • fixquotas – fixes quota problems
  • fullhordereset – resets horde database to a fresh one (previous user data is lost)
  • ftpup – used to update/install FTP server (pureftpd or proftpd) to latest version
  • gather-update-logs — Sends update logs to cPanel for analysis
  • generatemaildirsize – generates new maildirsize for any or all users *(–help)
  • hook — Executes any hooks that would be called normally in the specified context
  • imapup – Updates IMAP email server
  • importmydnsdb — Imports zone information from BIND and NSD into MyDNS
  • initquotas – initializes quotas
  • installzendopt – installs zend optimizer – thru phpextensionmgr
  • installruby — Installs Ruby
  • installpostgres — Installs PostgreSQL
  • killacct – terminate an account  (backup account before termination)
  • killdns – removes a DNS Zone
  • killpkg – removes a package
  • mailperm – fixes permission problems with mail directories
  • makecpphp – rebuilds internal PHP from /var/cpanel/easy/apache/profile/makecpphp.profile.yaml
  • mydnsup — Installs and updates MyDNS packages
  • mysqlup – updates mysql to latest version specified in /var/cpanel/cpanel.config
  • nsdup – Updates BIND services for name servers
  • park – to park a domain (only adds DNS)
  • pkgacct – used to create an account backup
  • pre* –  creates pre service scripts that run before a service is updated
  • post* – creates post service scripts that run after a service is updated
  • portsup – Updates Ports(FreeBSD systems only)
  • phpup – used to update PHP only
  • phpextensionmgr – Installs IonCube, Zend Optimizer, SuHosin & eAccelerator
  • realchpass – Similar to chpass, changes cPanel password only (not FTP or MySQL)
  • realperlinstaller – Automates the installation of Perl CPAN modules
  • realrawchpass – For internal use only, do not use.
  • rebuildcpusers – chowns /var/cpanel/users files
  • rebuildnamedconf – rebuilds /etc/named.conf with zones from /var/named/*.db
  • rebuildparkeddomains
  • restartsrv_$servicename – restart script for services
  • restartsrv_mydns — Restarts script from MyDNS
  • restorepkg – restores an account from a backup file (pkgacct file)(must be in /home)
  • runlogsnow – update logs of all users
  • runstatsonce – Updates statistics for a user
  • runweblogs – update stats for a particular user
  • securetmp – secures /tmp partition with options nosuexec and nosuid
  • setupftpserver – sets the FTP server to install (pureftpd or proftpd)
  • setupmailserver – sets the mail service to install (courier or dovecot)
  • setupnameserver – sets the DNS service to install (Bind or NSD)
  • slurp_exim_mainlog — Imports exim mainlog data into the eximstats database
  • suphpup – Updates SuPHP tool
  • suspendacct – suspends an account
  • try-later – Executes a user-defined check command at a specified interval
  • unsuspendacct – unsuspends an account
  • upcp – updates cpanel to the latest version (–force)
  • upcp-running – Specifies whether a upcp command is running
  • updatenow – updates the cpanel scripts
  • updateuserdomains – updates /etc/userdomains entries from /var/cpanel/users
  • update_php_timezonedb — Updates the timezone database used by PHP
  • xfer_horde_sid_resolver.pl — Resolves key collision errors before importing Horde data during an account transfer
  • wwwacct – to create new accounts (wwwacct domain.com user password)

Important cPanel/WHM files (& Config files)

  • /usr/local/apache/conf/httpd.conf – apache configuration file
  • /etc/exim.conf – mail server configuration file
  • /etc/named.conf – name server (named) configuration file
  • /etc/proftpd.conf – proftpd server configuration file
  • /etc/pure-ftpd.conf – pure-ftpd server configuration fileetc/valiases/domainname (catchall and forwarders are set here)
  • /etc/vfilters/domainname – email filters are set here
  • /etc/userdomains – all domains are listed here addon, parked, subdomains, and the usernames
  • /etc/localdomains – exim related file all domains should be listed here to be able to send/receive emails
  • /etc/cpbackup-userskip.conf
  • /etc/sysconfig/network – Networking Setup
  • /etc/hosts
  • /etc/resolv.conf – Networking Setup–> Resolver Configuration
  • /etc/nameserverips – Networking Setup–> Nameserver IPs ( for resellers to give their nameservers )
  • /var/cpanel/resellers – For addpkg, etc permissions for resellers.
  • /etc/chkserv.d – Main » Service Configuration » Service Manager
  • /etc/ipaddrpool – free IP addresses
  • /etc/ips.dnsmaster – nameserver IP’s
  • /etc/domainips –  dedicate IPʼs set for specific domains
  • /etc/wwwacct.conf – account creation defaults file in WHM (Basic cPanel/WHM Setup)
  • /etc/cpupdate.conf – Update Config file
  • /etc/cpbackup.conf – Configure Backup
  • /etc/clamav.conf – clamav (antivirus configuration file )
  • /etc/my.cnf – mysql configuration file
  • /usr/local/lib/php.ini – php configuration file
  • /etc/ips – IP addresses on the server (excluding shared IP’s) (IP Functions–>Show IP Address Usage )
  • /var/run/chkservd – Main » Server Status » Service Status
  • /var/log/dcpumon – top log process
  • /root/cpanel3-skel – skeleton directory. Eg: public_ftp, public_html. (Account Functions)
  • /var/spool/exim/input – Mail queue
  • /var/spool/exim/msglog – email message logs
  • /var/spool/cron – cronjobs are stored here for all users
  • /var/cpanel/users – cpanel user file that defines account settings
  • /var/cpanel/users.cache – user cache files that are read by cPanel
  • /var/cpanel/cpanel.config – cpanel configuration file ( Tweak Settings )
  • /var/cpanel/Counters – To get the counter of each users.
  • /var/cpanel/bandwidth – To get bandwith usage of domains
  • /var/cpanel/userdata – Defines parked, addon, subdomains as well as VirtualHost
  • /var/cpanel/logs – transfer logs
  • /var/cpanel/easy/apache – easyapache build files/profile
  • /var/cpanel/userhomes – session home for cPanel, Horde, Roundcube, phpmyadmin
  • /var/cpanel/serviceauth – chkservd service user/pass data
  • /var/cpanel/updatelogs – upcp daily logs
  • /var/cpanel/horde – version file, backups and logs stored here
  • /var/cpanel/roundcube – version file, backups and logs stored here
  • /var/cpanel/squirrelmail – version file stored here
  • /var/cpanel/packages – default and custom packages created herevar/cpanel/databases – dbmapping files
  • /var/cpanel/cpanelsync – DNS Clustering files

 

Sources:

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.