Step-by-Step Tutorial: How to Deploy cPanel Web Hosting Control Panel
version 11.74 on CentOS 7.5 Linux Server version 1805 in Amazon AWS
Cloud
Secondary Subject/Topic: How to Setup a New Startup Web Hosting
Company Using cPanel Web Hosting Control Panel version 11.74, CentOS
7.5 Linux Server version 1805, and Amazon AWS Cloud
Tertiary Subject/Topic: How to Startup Your Own Internet Business Like
China's Billionaire Jack Ma. Will Teo En Ming Be Able to Emulate Jack
Ma?
Objective: Experimental and Feasibility Studies for Teo En Ming's
Startup Internet Business
AUTHOR OF THIS TUTORIAL: MR. TURRITOPSIS DOHRNII TEO EN MING (ZHANG
ENMING) @ TIME TRAVELLER
ACADEMIC QUALIFICATIONS:
(1) Bachelor of Engineering (Second Class Lower Honours) in Mechanical
Engineering from National University of Singapore (Graduated DEC
2006), with Electives in Aerospace Engineering
(2) Part Time Diploma (Conversion) in Computer Networking with 4
Distinctions from Singapore Polytechnic (Graduated 2017)
(3) Full Time Diploma in Mechatronics Engineering with Merit from
Singapore Polytechnic (Graduated 1998)
(4) Certificate of Completion for CISCO Certified Network Associate
(CCNA) 5-DAY Boot Camp from NTUC Learning Hub, Singapore, Year 2017
(5) National Infocomm Competency Framework (NICF) (Singapore)
Certificate in Configuring a CISCO Router, Year 2017
(6) National Infocomm Competency Framework (NICF) (Singapore)
Certificate in Configuring a CISCO Switch, Year 2017
(7) GCE "O" Levels with 7 A1s and 1 A2, Top Student Award, Graduated 1994
(8) Primary School Leaving Examination (PSLE) Score of 238, Graduated 1990
AGE: 40 YEARS OLD (as at 1ST SEPTEMBER 2018)
COUNTRY OF RESIDENCE: REPUBLIC OF SINGAPORE
DATE: 1ST SEPTEMBER 2018 SATURDAY
TIME: 8:30 PM SINGAPORE TIME, GREENWICH MEAN TIME+8
PRIMARY EMAIL: teo.en.ming AT gmail.com
SECONDARY EMAIL: teo.en.ming.BUSINESS AT gmail.com
DOCUMENT VERSION: 1809.01
COPYRIGHT (C) 2018 TURRITOPSIS DOHRNII TEO EN MING. This step-by-step
tutorial is written by Teo En Ming in Singapore.
NB: This document consists of a total of 251 steps.
SECTION 1: DEPLOYING THE CPANEL DNSONLY DOMAIN NAME SERVERS
===========================================================
001. Login to your Amazon AWS Cloud account.
002. Click Services > Compute > EC2
003. Click Network and Security > Elastic IPs
004. Click Allocate new address. Click Allocate. New address request
succeeded, for example, 13.58.134.234.
005. Click Instances > Instances. Click Launch Instance.
006. Click AWS Marketplace.
007. Search for CentOS.
008. Select CentOS 7 (x86_64) - with Updates HVM Amazon Machine Image
(AMI). Click Continue.
009. Select General Purpose, t2.micro, 1 vCPU, 1 GB RAM (FREE TIER ELIGIBLE).
010. Click Next: Configure Instance Details.
011. Select Network: <Your VPC network>
012. Select Subnet: <Your subnet> | Public subnet | us-east-2a
013. Click Protect against accidental termination.
014. Click Next: Add Storage
015. Click Next: Add Tags
016. Enter Key = Name and Value = CPANEL NAME SERVER 1
017. Click Next: Configure Security Group
018. Click Select an existing security group
019. Select NS_SG (Name Server Security Group).
020. Click Review and Launch. Click Launch.
021. Select a key pair.
022. Click Network and Security > Elastic IPs.
023. Select Elastic IP 13.58.134.234.
024. Click actions > associate address.
025. Select Instance: CPANEL NAME SERVER 1
026. Click Allow Elastic IP to be reassociated if already attached.
027. Click Associate.
028. Login to CentOS 7 Linux Server using Putty. Use centos as username.
Follow the Installation Guide - cPanel DNSONLY Installation at
https://documentation.cpanel.net/display/74Docs/Installation+Guide+-+cPanel+DNSONLY+Installation
SECTION 2: INSTALLING CPANEL DNSONLY NAME SERVER 1
==================================================
029. cd /home
030. sudo curl -o latest-dnsonly -L
https://securedownloads.cpanel.net/latest-dnsonly
031. sudo sh latest-dnsonly
032. sudo /scripts/configure_firewall_for_cpanel
033. sudo passwd root
034. Go to https://13.58.134.234:2087 and login.
035. Click I Agree. Go to Step 2
036. Enter Server Contact Email Address.
037. Enter Server Hostname, for example, ns1.teo-en-ming-corp.com
038. Enter Primary Resolver, e.g. 8.8.8.8
039. Enter Secondary Resolver, e.g. 8.8.4.4
040. Click Save and Go to Step 3.
041. Click Skip this step and use my server's default settings.
042. Select BIND DNS Server.
043. Nameserver 1: ns1.teo-en-ming-corp.com
044. Nameserver 2: ns2.teo-en-ming-corp.com
045. Request another Elastic IP address in Amazon AWS Cloud as per
steps above, e.g. 52.15.109.147
046. Click Configure Nameserver A Records
047. ns1.teo-en-ming-corp.com IPv4: 13.58.134.234
048. ns2.teo-en-ming-corp.com IPv4: 52.15.109.147
049. Click Finish.
050. Login to your domain registrar, e.g. godaddy.com
051. Select your domain name, e.g. teo-en-ming-corp.com
052. Click Manage DNS. Click Host names. Click Add.
053. Map ns1.teo-en-ming-corp.com to 13.58.134.234. Click Save.
054. Click Add.
055. Map ns2.teo-en-ming-corp.com to 52.15.109.147. Click Save.
056. Select your domain name, e.g. teo-en-ming-corp.com
057. Click Manage DNS.
058. Under Nameservers, click Change. Select Custom.
059. Under Nameserver, enter ns1.teo-en-ming-corp.com and
ns2.teo-en-ming-corp.com
060. Log out from your domain registrar, e.g. godaddy.com
061. You should now be able to access https://ns1.teo-en-ming-corp.com:2087/
SECTION 3: INSTALLING CPANEL DNSONLY NAME SERVER 2
==================================================
062. Go to Amazon AWS Management Console.
063. Click Instances > Instances.
064. Click Launch Instance.
065. Click AWS Marketplace.
066. Search for CentOS.
067. Select CentOS 7 (x86_64) - with Updates HVM Amazon Machine Image
(AMI). Click Continue.
068. Select General Purpose, t2.micro, 1 vCPU, 1 GB RAM (FREE TIER ELIGIBLE).
069. Click Next: Configure Instance Details.
070. Select Network: <Your VPC network>
071. Select Subnet: <Your subnet> | Public subnet | us-east-2a
072. Click Protect against accidental termination.
073. Click Next: Add Storage.
074. Click Next: Add Tags.
075. Enter Key = Name and Value = CPANEL NAME SERVER 2
075. Click Next: Configure Security Group
076. Click Select an existing security group
077. Select NS_SG (Name Server Security Group).
078. Click Review and Launch. Click Launch.
079. Select a key pair.
080. Click Launch Instances.
081. Click Network and Security > Elastic IPs.
082. Select 52.15.109.147.
083. Click Actions > Associate address.
084. Select Instance: CPANEL NAME SERVER 2
085. Click Allow Elastic IP to be reassociated if already attached.
086. Click Associate.
087. Login to CentOS 7 Linux Server using Putty. Use centos as username.
088. cd /home
089. sudo curl -o latest-dnsonly -L
https://securedownloads.cpanel.net/latest-dnsonly
090. sudo sh latest-dnsonly
091. sudo /scripts/configure_firewall_for_cpanel
092. sudo passwd root
093. Go to https://ns2.teo-en-ming-corp.com:2087 and login.
094. Click I Agree. Go to Step 2.
095. Enter Server Contact Email Address.
096. Enter Server Hostname: ns2.teo-en-ming-corp.com
097. Enter Primary Resolver, e.g. 8.8.8.8
098. Enter Secondary Resolver, e.g. 8.8.4.4
099. Click Save and Go to Step 3.
100. Click Skip this stemp and use my server's default settings.
101. Select BIND DNS Server.
102. Nameserver 1: ns1.teo-en-ming-corp.com
103. Nameserver 2: ns2.teo-en-ming-corp.com
104. Click Configure Nameserver A Records
105. ns1.teo-en-ming-corp.com IPv4: 13.58.134.234
106. ns2.teo-en-ming-corp.com IPv4: 52.15.109.147
107. Click Finish.
SECTION 4: INSTALLING THE CPANEL WEB/VIRTUAL SERVER
===================================================
Follow the Installation Guide at
https://documentation.cpanel.net/display/74Docs/Installation+Guide
108. Click Network and Security > Elastic IPs
109. Click Allocate new address. Click Allocate.
110. New address request succeeded, e.g. 18.223.26.190
111. Click Instances > Instances.
112. Click Launch Instance.
113. Click AWS Martketplace.
114. Search for CentOS.
115. Select CentOS 7 (x86_64) - with Updates HVM Amazon Mage Image
(AMI). Click Continue.
116. Select General purpose, t2.micro, 1 vCPU, 1 GB RAM (FREE TIER ELIGIBLE).
117. Click Next: Configure Instance Details.
118. Select Network: <Your VPC network>
119. Select Subnet: <Your subnet> | Public subnet | us-east-2a
120. Click Protect against accidental termination.
121. Click Next: Add Storage.
122. Change Size (GiB) from 8 to 30. It is still free tier eligible.
123. Click Next: Add Tags.
124. Enter Key = Name and Value = CPANEL WEB SERVER
125. Click Next: Configure Security Group
126. Click Select an existing security group.
127. Select VS_SG (Virtual Server Security Group).
128. Click Review and Launch. Click Launch.
129. Select a key pair.
130. Click Launch Instances.
131. Click Network and Security > Elastic IPs.
132. Select 18.223.26.190
133. Click Actions > Associate address.
134. Select Instance: CPANEL WEB SERVER.
135. Click Allow Elastic IP to be reassociated if already attached.
136. Click Associate.
137. Login to CentOS 7 Linux Server using Putty. Use centos as username.
138. sudo passwd root
139. su - root
140. cd /home && curl -o latest -L
https://securedownloads.cpanel.net/latest && sh latest
141. /scripts/configure_firewall_for_cpanel
142. Go to https://18.223.26.190:2087 which is your Virtual Server and login.
143. Click I Agree. Go to Step 2.
144. Enter Server Contact Email Address.
145. Enter Server Hostname: cpanel.teo-en-ming-corp.com
146. Enter Primary Resolver, e.g. 8.8.8.8
147. Enter Secondary Resolver, e.g. 8.8.4.4
148. Click Save and Go to Step 3.
149. Click Skip this step and use my server's default settings.
150. Under Nameserver Configuration, select Disabled. DNS Server is
not necessary for a Virtual Server.
151. Nameserver 1: ns1.teo-en-ming-corp.com
152. Nameserver 2: ns2.teo-en-ming-corp.com
153. Click Configure Nameserver A Records
154. ns1.teo-en-ming-corp.com IPv4: 13.58.134.234
155. ns2.teo-en-ming-corp.com IPv4: 52.15.109.147
156. Click Save and Go to Step 5.
157. Under FTP Configuration, select Pure-FTPD.
158. Click Enable Brute Force Protection. Select Everything.
159. Click Save and Go to Step 6.
160. Click Use filesystem quotas.
161. Click Finish.
162. Click Go to WHM.
163. Enable Global DCV Passthrough.
164. Enable The SSL/TLS Wizard in cPanel.
165. Click Save Settings.
SECTION 5: CONFIGURING CPANEL DNS CLUSTER
=========================================
SECTION 5.1: CONFIGURING DNS CLUSTER FOR THE PRIMARY NAME SERVER
NS1.TEO-EN-MING-CORP.COM
=========================================================================================
166. Go to https://ns1.teo-en-ming-corp.com:2087
167. Click Clusters > DNS Cluster.
168. Click Enable DNS Clustering.
169. Click Return to Cluster Status.
170. Go to https://ns2.teo-en-ming-corp.com:2087
171. Click Clusters > DNS Cluster
172. Click Enable DNS Clustering.
173. Click Return to Cluster Status.
For the following steps, please refer to Part 3: How I Built a cPanel
Hosting Environment on Amazon AWS at
https://blog.cpanel.com/part-3-how-i-built-a-cpanel-hosting-environment-on-amazon-aws/
174. Go to https://ns1.teo-en-ming-corp.com:2087
175. Click Development > Manage API Tokens. API = Application
Programming Interface.
176. Click Generate Token.
177. Enter name: NS1
178. Click Everything
179. Click Save.
180. Copy your API token from Name Server 1 to the clipboard.
181. Go to https://18.223.26.190:2087 which is your Virtual Server.
182. Click Clusters > DNS Cluster
183. Click Enable DNS Clustering
184. Click Return to Cluster Status.
185. Select Backend Type: cPanel
186. Click Configure.
187. Remote cPanel & WHM DNS host: ns1.teo-en-ming-corp.com
188. Remote server username: root
189. Paste the API token from Name Server 1.
190. Click Setup Reverse Trust Relationship
191. Set DNS Role to Synchronize Changes.
192. Click Submit.
193. Click Return to Cluster Status
194. Go to https://18.223.26.190:2087 which is your Virtual Server.
195. Click Development > Manage API Tokens.
196. Click Generate Token.
197. Enter Name: VS
198. Click Everything.
199. Click Save.
200. Copy the API Token from the Virtual Server to the clipboard.
201. Go to https://ns1.teo-en-ming-corp.com:2087
202. Click Clusters > DNS Cluster
203. Click Configure.
204. Remote cPanel & WHM DNS host: cpanel.teo-en-ming-corp.com
205. Remote server username: root
206. Paste the API Token from the Virtual Server.
207. Click Setup Reverse Trust Relationship.
208. Set DNS Role to Standalone.
209. Click Submit.
It says DNS Lookup Failed for cpanel.teo-en-ming-corp.com
210. Go to https://18.223.26.190:2087 which is your Virtual Server.
211. Click DNS Functions. Click Add an A Entry for Your Hostname.
212. Hostname: cpanel.teo-en-ming-corp.com
213. Server Main IP: 18.223.26.190
214. Click Add Entry.
Added cpanel.teo-en-ming-corp.com ok
You should now be able to ping cpanel.teo-en-ming-corp.com
215. Go to https://ns1.teo-en-ming-corp.com:2087
216. Click Clusters > DNS Cluster
217. Click Configure.
218. Remote cPanel & WHM DNS host: cpanel.teo-en-ming-corp.com
219. Remote server username: root
220. Copy the API Token from the Virtual Server.
221. Click Setup Reverse Trust Relationship.
222. Set DNS Role to Standalone.
223. Click Submit.
224. Click Return to Cluster Status.
SECTION 5.2: CONFIGURING DNS CLUSTER FOR THE SECONDARY NAME SERVER
NS2.TEO-EN-MING-CORP.COM
===========================================================================================
225. Go to https://ns2.teo-en-ming-corp.com:2087
226. Click Development > Manage API Tokens
227. Click Generate Token
228. Enter Name: NS2
229. Click Everything
230. Click Save.
231. Copy the API Token from Name Server 2 to the clipboard.
232. Go to https://18.223.26.190:2087 which is your Virtual Server.
233. Click Clusters > DNS Cluster
234. Click Configure.
235. Remote cPanel & WHM DNS host: ns2.teo-en-ming-corp.com
236. Remote server username: root
237. Paste the API Token from Name Server 2.
238. Click Setup Reverse Trust Relationship.
239. Set DNS Role to Synchronize Changes.
240. Click Submit.
241. Go to https://ns2.teo-en-ming-corp.com:2087
242. Click Clusters > DNS Cluster
243. Click Configure.
244. Remote cPanel & WHM DNS host: cpanel.teo-en-ming-corp.com
245. Remote server username: root
246. Paste the API Token from the Virtual Server.
247. Click Setup Reverse Trust Relationship
248. Set DNS Role to Standalone.
249. Click Submit
250. Click Return to Cluster Status
SECTION 6: CONCLUSION
=====================
251. You should now be able to access your Virtual Server at
https://cpanel.teo-en-ming-corp.com:2087/
===END OF TUTORIAL===
If you happen to find any mistake with my step by step tutorial,
please drop me a message.
===BEGIN SIGNATURE===
Turritopsis Dohrnii Teo En Ming's Academic Qualifications as at 30 Oct 2017
[1] https://tdtemcerts.wordpress.com/
[2] http://tdtemcerts.blogspot.sg/
[3] https://www.scribd.com/user/270125049/Teo-En-Ming
===END SIGNATURE===