{"id":275,"date":"2016-02-25T16:38:05","date_gmt":"2016-02-25T21:38:05","guid":{"rendered":"http:\/\/underhost.com\/blog\/?p=275"},"modified":"2025-03-21T16:59:51","modified_gmt":"2025-03-21T20:59:51","slug":"skip-whm-setup-wizard-on-new-servers-install","status":"publish","type":"post","link":"https:\/\/underhost.com\/blog\/skip-whm-setup-wizard-on-new-servers-install\/","title":{"rendered":"Skip WHM Setup Wizard on New Servers Install"},"content":{"rendered":"<h2>Automating cPanel\/WHM Setup for Large-Scale Server Deployments<\/h2>\n<p>If you manage a large number of servers with a fully automated cPanel\/WHM setup, you\u2019ve likely encountered the initial setup wizard that appears the first time you load WHM. While this wizard is helpful for manual setups, it can be a significant bottleneck in automated environments. Fortunately, there\u2019s a simple way to skip this wizard and streamline your deployment process.<\/p>\n<h3>Skipping the WHM Setup Wizard<\/h3>\n<p>To bypass the WHM setup wizard, you can create a specific file that tells WHM to skip the wizard entirely. Run the following command on your server:<\/p>\n<pre><code>touch \/etc\/.whostmgrft<\/code><\/pre>\n<p>This command creates an empty file named <code>.whostmgrft<\/code> in the <code>\/etc\/<\/code> directory. When WHM detects this file, it will skip the setup wizard, allowing your automated scripts to proceed without interruption.<\/p>\n<h3>Essential Configurations for Automation<\/h3>\n<p>While skipping the wizard saves time, there are several critical configurations that the wizard typically handles. To ensure your servers are fully configured, you should include the following commands in your automation scripts:<\/p>\n<ol>\n<li><strong>IMAP Server Setup<\/strong>:<br \/>\n    Configure your IMAP server using the following command:<\/p>\n<pre><code>\/scripts\/setupmailserver (courier | dovecot | disabled)<\/code><\/pre>\n<ul>\n<li><strong>courier<\/strong>: Use Courier as your IMAP server.<\/li>\n<li><strong>dovecot<\/strong>: Use Dovecot as your IMAP server.<\/li>\n<li><strong>disabled<\/strong>: Disable the IMAP server.<\/li>\n<\/ul>\n<\/li>\n<li><strong>DNS Server Setup<\/strong>:<br \/>\n    Set up your DNS server with this command:<\/p>\n<pre><code>\/scripts\/setupnameserver (bind | nsd | disabled)<\/code><\/pre>\n<ul>\n<li><strong>bind<\/strong>: Use BIND as your DNS server.<\/li>\n<li><strong>nsd<\/strong>: Use NSD as your DNS server.<\/li>\n<li><strong>disabled<\/strong>: Disable the DNS server.<\/li>\n<\/ul>\n<\/li>\n<li><strong>FTP Server Setup<\/strong>:<br \/>\n    Configure your FTP server using:<\/p>\n<pre><code>\/scripts\/setupftpserver (pure-ftpd | proftpd | disabled)<\/code><\/pre>\n<ul>\n<li><strong>pure-ftpd<\/strong>: Use Pure-FTPd as your FTP server.<\/li>\n<li><strong>proftpd<\/strong>: Use ProFTPd as your FTP server.<\/li>\n<li><strong>disabled<\/strong>: Disable the FTP server.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3>Creating the <code>\/etc\/wwwacct.conf<\/code> File<\/h3>\n<p>In addition to the above configurations, you should create the <code>\/etc\/wwwacct.conf<\/code> file. This file contains essential settings for your server, such as IP addresses, contact information, and DNS settings. Here\u2019s an example of what the file should look like:<\/p>\n<pre><code>ADDR 123.456.789.123\r\nCONTACTEMAIL your@emailaddress\r\nCONTACTPAGER\r\nDEFMOD x3\r\nETHDEV eth0\r\nFTPTYPE pureftp\r\nHOMEDIR \/home\r\nHOMEMATCH home\r\nHOST server.domain.com\r\nLOGSTYLE combined\r\nMINUID\r\nNS ns1.yourdomain.com\r\nNS2 ns2.yourdomain.com\r\nNS3\r\nNS4\r\nNSTTL 86400\r\nSCRIPTALIAS y\r\nTTL 14400<\/code><\/pre>\n<h4>Key Parameters in <code>\/etc\/wwwacct.conf<\/code>:<\/h4>\n<ul>\n<li><strong>ADDR<\/strong>: The primary IP address of your server.<\/li>\n<li><strong>CONTACTEMAIL<\/strong>: The email address for server-related notifications.<\/li>\n<li><strong>HOST<\/strong>: The hostname of your server.<\/li>\n<li><strong>NS<\/strong> and <strong>NS2<\/strong>: The primary and secondary nameservers for your domain.<\/li>\n<li><strong>FTPTYPE<\/strong>: The type of FTP server (e.g., <code>pureftp<\/code> for Pure-FTPd).<\/li>\n<li><strong>LOGSTYLE<\/strong>: The log format (e.g., <code>combined<\/code> for combined logs).<\/li>\n<\/ul>\n<h3>Why Automate These Configurations?<\/h3>\n<p>Automating these steps ensures consistency across all your servers, reduces the risk of human error, and saves significant time during deployment. By skipping the WHM setup wizard and pre-configuring essential settings, you can deploy servers faster and focus on more critical tasks.<\/p>\n<h3>Additional Tips for Automation<\/h3>\n<ul>\n<li><strong>Use Configuration Management Tools<\/strong>: Tools like Ansible, Puppet, or Chef can help you automate these configurations across multiple servers.<\/li>\n<li><strong>Test Your Scripts<\/strong>: Always test your automation scripts in a staging environment before deploying them to production servers.<\/li>\n<li><strong>Monitor Server Performance<\/strong>: After deployment, monitor your servers to ensure all configurations are working as expected.<\/li>\n<\/ul>\n<h3>Final Thoughts<\/h3>\n<p>Automating cPanel\/WHM setups is a game-changer for managing large-scale server deployments. By skipping the setup wizard and pre-configuring essential settings, you can streamline your workflow and ensure consistent server configurations. Whether you\u2019re managing a handful of servers or hundreds, these tips will help you save time and reduce manual effort.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Automating cPanel\/WHM Setup for Large-Scale Server Deployments If you manage a large number of servers with a fully automated cPanel\/WHM setup, you\u2019ve likely encountered the initial setup wizard that appears the first time you load WHM. While this wizard is helpful for manual setups, it can be a significant bottleneck in automated environments. Fortunately, there\u2019s [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4853,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,11],"tags":[],"class_list":["post-275","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-controlpanel","category-how-to"],"_links":{"self":[{"href":"https:\/\/underhost.com\/blog\/wp-json\/wp\/v2\/posts\/275","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/underhost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/underhost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/underhost.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/underhost.com\/blog\/wp-json\/wp\/v2\/comments?post=275"}],"version-history":[{"count":3,"href":"https:\/\/underhost.com\/blog\/wp-json\/wp\/v2\/posts\/275\/revisions"}],"predecessor-version":[{"id":5188,"href":"https:\/\/underhost.com\/blog\/wp-json\/wp\/v2\/posts\/275\/revisions\/5188"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/underhost.com\/blog\/wp-json\/wp\/v2\/media\/4853"}],"wp:attachment":[{"href":"https:\/\/underhost.com\/blog\/wp-json\/wp\/v2\/media?parent=275"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/underhost.com\/blog\/wp-json\/wp\/v2\/categories?post=275"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/underhost.com\/blog\/wp-json\/wp\/v2\/tags?post=275"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}