<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Remigus Tochukwu</title>
    <description>The latest articles on DEV Community by Remigus Tochukwu (@remigus_tochukwu_91f27d55).</description>
    <link>https://dev.to/remigus_tochukwu_91f27d55</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3277413%2Fed8d5d98-19df-45a7-afdc-e63bca41fc9a.jpg</url>
      <title>DEV Community: Remigus Tochukwu</title>
      <link>https://dev.to/remigus_tochukwu_91f27d55</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/remigus_tochukwu_91f27d55"/>
    <language>en</language>
    <item>
      <title>How to build my CV in HTML and CSS</title>
      <dc:creator>Remigus Tochukwu</dc:creator>
      <pubDate>Tue, 08 Jul 2025 01:03:22 +0000</pubDate>
      <link>https://dev.to/remigus_tochukwu_91f27d55/how-to-build-my-cv-in-html-and-css-1gcf</link>
      <guid>https://dev.to/remigus_tochukwu_91f27d55/how-to-build-my-cv-in-html-and-css-1gcf</guid>
      <description>&lt;p&gt;“How to Build My CV in HTML and CSS”&lt;br&gt;
Hi everyone! Today, I’ll show you how I built my CV using HTML and CSS.&lt;/p&gt;

&lt;p&gt;Step 1: I created a folder and added two files:&lt;/p&gt;

&lt;p&gt;index.html&lt;/p&gt;

&lt;p&gt;style.css&lt;/p&gt;

&lt;p&gt;Step 2: In my HTML file, I structured my CV using:&lt;/p&gt;

&lt;p&gt;header&lt;/p&gt;

&lt;p&gt;sections for background, education, experience, etc.&lt;/p&gt;

&lt;p&gt;Step 3: I linked my CSS file in the &lt;/p&gt;:

&lt;p&gt;html&lt;br&gt;
Copy&lt;br&gt;
Edit&lt;br&gt;
&lt;br&gt;
Step 4: In style.css, I styled my CV with:&lt;/p&gt;

&lt;p&gt;clean fonts&lt;/p&gt;

&lt;p&gt;colors&lt;/p&gt;

&lt;p&gt;spacing&lt;/p&gt;

&lt;p&gt;dark mode support&lt;/p&gt;

&lt;p&gt;Step 5: I opened my HTML in the browser. That’s it—my CV is now a web page!&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;/p&gt;

</description>
      <category>html</category>
      <category>css</category>
      <category>resume</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to setup Billionmail and host it on AWS.</title>
      <dc:creator>Remigus Tochukwu</dc:creator>
      <pubDate>Thu, 19 Jun 2025 17:51:50 +0000</pubDate>
      <link>https://dev.to/remigus_tochukwu_91f27d55/how-to-setup-billionmail-and-host-it-on-aws-c7c</link>
      <guid>https://dev.to/remigus_tochukwu_91f27d55/how-to-setup-billionmail-and-host-it-on-aws-c7c</guid>
      <description>&lt;p&gt;&lt;strong&gt;How I setup Billionmail, Hosted It on AWS, and Sent My First Email: A Step-by-Step Journey&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Building your own email server from scratch isn’t easy — but it’s incredibly rewarding. In this article, I’ll walk you through how I created &lt;strong&gt;Billionmail&lt;/strong&gt;, hosted it on &lt;strong&gt;Amazon Web Services (AWS)&lt;/strong&gt;, and successfully sent my first custom email.&lt;/p&gt;

&lt;p&gt;From domain registration to server configuration, SMTP setup, troubleshooting, and that final moment of success — this is a transparent, honest account of every step, including the challenges I faced and how I overcame them.&lt;/p&gt;

&lt;p&gt;I also want to dedicate this journey to &lt;strong&gt;my mentor, Paschal Ogu&lt;/strong&gt;, whose immense support and guidance helped make this possible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Registering a Domain on Whogohost&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To begin, I purchased a domain name — the foundation of any custom email server.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I went to &lt;a href="https://www.whogohost.com/" rel="noopener noreferrer"&gt;Whogohost&lt;/a&gt; and searched for a suitable and cheap domain for my brand.&lt;/li&gt;
&lt;li&gt;After payment, I gained access to the domain management dashboard.&lt;/li&gt;
&lt;li&gt;I took note of the DNS settings, which I’d later need to configure Billionmail properly.&lt;/li&gt;
&lt;li&gt;Prepared to point my domain to my AWS server&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Outcome:&lt;/strong&gt; Domain registered and ready to connect to a mail server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Downloading Billionmail from the Official Website&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Next, I headed to the &lt;strong&gt;Billionmail website&lt;/strong&gt; to get the actual codebase.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Located and copied the download link or source code.&lt;/li&gt;
&lt;li&gt;Went to my &lt;strong&gt;AWS Live Server&lt;/strong&gt; and used terminal commands to download Billionmail directly.&lt;/li&gt;
&lt;li&gt;Extracted and reviewed the downloaded files to understand the configuration.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;cd /opt &amp;amp;&amp;amp; git clone &lt;a href="https://github.com/aaPanel/BillionMail" rel="noopener noreferrer"&gt;https://github.com/aaPanel/BillionMail&lt;/a&gt; &amp;amp;&amp;amp; cd BillionMail &amp;amp;&amp;amp; bash install.sh&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Outcome:&lt;/strong&gt; Billionmail codebase downloaded and ready for deployment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Hosting Billionmail on AWS EC2 and Configuring Domain&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To host Billionmail, I launched an &lt;strong&gt;EC2 instance&lt;/strong&gt; (Ubuntu Server) on AWS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;a. EC2 Setup&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Created a new EC2 instance.&lt;/li&gt;
&lt;li&gt;Chose security groups to open required ports:

&lt;ul&gt;
&lt;li&gt;22 (SSH), 80 (HTTP), 443 (HTTPS), 25, 587, and 465 (SMTP).&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Logged in via SSH to set up the environment.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;ssh -i mykey.pem ubuntu@&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;b. Linking My Domain to AWS&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Went back to Whogohost DNS settings.&lt;/li&gt;
&lt;li&gt;Added:

&lt;ul&gt;
&lt;li&gt;An &lt;strong&gt;A Record&lt;/strong&gt; pointing to the EC2 public IP.&lt;/li&gt;
&lt;li&gt;An &lt;strong&gt;MX Record&lt;/strong&gt; for mail delivery.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SPF&lt;/strong&gt;, &lt;strong&gt;DKIM&lt;/strong&gt;, and &lt;strong&gt;DMARC&lt;/strong&gt; records for email verification and spam protection.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Waited for DNS propagation to complete.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Outcome:&lt;/strong&gt; Billionmail was publicly accessible under my domain name. The server was now live.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Setting Up SMTP with Gmail (and Why It Failed)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With the server up, I attempted to set up &lt;strong&gt;SMTP using my Gmail account&lt;/strong&gt; to send emails.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Input Gmail SMTP credentials in the Billionmail settings.&lt;/li&gt;
&lt;li&gt;Tried sending a test email.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Issue:&lt;/strong&gt; The email failed to send.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Root Cause:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Postfix&lt;/strong&gt;, the core mail transfer agent on my server, wasn’t properly configured.&lt;/li&gt;
&lt;li&gt;Gmail SMTP is also restrictive when used outside authorized apps.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Troubleshooting Billionmail and Updating the Server&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To fix the issue, I returned to the EC2 instance for troubleshooting and do system updates.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Actions Taken:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Opened my server terminal and switch to root or sudo enabled user (sudo -i)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enter Billionmail Mgt console directory (adjust if installed elsewhere) cd /opt/Billionmail&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pull latest code and update (bm update)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Restarted the server and services&lt;/strong&gt;:
bm restart&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check the upgrade status of mail services&lt;/strong&gt;:
bm status&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Updated Billionmail to the latest version (2.1)&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Used provided update scripts or downloaded the latest version from the official source.&lt;/li&gt;
&lt;li&gt;Replaced core files while keeping existing configs intact.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Edited configuration files&lt;/strong&gt;:&lt;/li&gt;
&lt;li&gt;Opened the HTTP configuration file:&lt;/li&gt;
&lt;li&gt;sudo nano /etc/apache2/sites-available/000-default.conf&lt;/li&gt;
&lt;li&gt;Verified the domain, mail routes, and authentication setup.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Outcome:&lt;/strong&gt; All core services were updated and running on Billionmail v2.1.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6: Creating a Sample Email and Sending My First Message&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Since Gmail SMTP didn’t work, I decided to bypass it completely and create a &lt;strong&gt;sample custom email account&lt;/strong&gt; directly on the Billionmail server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Did:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Created &lt;a href="mailto:noreply@billionmail.com.ng"&gt;noreply@billionmail.com.ng&lt;/a&gt; within Billionmail's user management.&lt;/li&gt;
&lt;li&gt;Set up internal routing via Postfix.&lt;/li&gt;
&lt;li&gt;Sent a test email from my new address.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Success!&lt;/strong&gt; My first email was sent directly from the Billionmail server, using my domain and custom SMTP.&lt;/p&gt;

&lt;p&gt;🙏 &lt;strong&gt;A Special Thank You&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;None of this would have been possible without the immense help and mentorship of &lt;strong&gt;Paschal Ogu&lt;/strong&gt;. His guidance through the configuration issues, mail server best practices, and troubleshooting techniques helped me overcome every roadblock.&lt;/p&gt;

&lt;p&gt;Thank you, Paschal, for your support and patience throughout this journey!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Takeaways&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Buying a domain&lt;/strong&gt; is just the beginning — DNS setup and record management are just as important.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AWS EC2&lt;/strong&gt; gives you full control over your server environment.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Postfix&lt;/strong&gt; is essential for sending mail, and its configuration requires attention to detail.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Using Gmail SMTP&lt;/strong&gt; for custom mail servers is not always ideal — a native setup is more flexible.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Persistence and mentorship&lt;/strong&gt; are your greatest assets during setup and troubleshooting.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tools Used&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Tool&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Purpose&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Whogohost&lt;/td&gt;
&lt;td&gt;Domain registration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AWS EC2&lt;/td&gt;
&lt;td&gt;Server hosting&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Billionmail&lt;/td&gt;
&lt;td&gt;Email platform&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Postfix&lt;/td&gt;
&lt;td&gt;Mail transfer agent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Apache&lt;/td&gt;
&lt;td&gt;Web server&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SSH/Nano&lt;/td&gt;
&lt;td&gt;Server access and file editing&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;At first I thought it was an impossible task but I had to challenge myself. Building your own mail server might sound tough but with patience, the right tools, and good mentorship, you can achieve it. 100%.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
