How To Install BIND9 DNS Server on Ubuntu Step by Step

BIND is a widely used DNS Server. Ideally, DNS server consist of 2 machines that work together simultaneously, one act as master and the other one act as slave. If your domain registrar doesn’t provide you a free DNS server, or if you want to create a custom DNS record, then you might need to host your own DNS server.

In this tutorial, we will learn how to install and configure BIND9 Master and Slave DNS server. Both server will use Ubuntu OS. We will start configuring the master then the slave.

Install BIND9 Master and Slave DNS Server on Ubuntu

Here are the servers example data:

Server1 (master) IP address: 108.100.100.1
Server2 (slave) IP address: 108.100.100.2
Domain: wpcademy.com
This domain will be hosted on this server: 192.168.100.07

ON MASTER

Step1. Update ubuntu repository and install Bind using apt-get.

apt-get update
apt-get install bind9

Step2. Configure bind options

*)do this if you haven't installed nano text editor: 
apt-get install nano

nano /etc/bind/named.conf.options
options {
	directory "/var/cache/bind";
	additional-from-auth no;
	additional-from-cache no;
	version "Bind Server";

	// If there is a firewall between you and nameservers you want
	// to talk to, you may need to fix the firewall to allow multiple
	// ports to talk.  See http://www.kb.cert.org/vuls/id/800113

	// If your ISP provided one or more IP addresses for stable 
	// nameservers, you probably want to use them as forwarders.  
	// Uncomment the following block, and insert the addresses replacing 
	// the all-0's placeholder.

	 forwarders {
	 	8.8.8.8;
		8.8.4.4;
	 };

	//========================================================================
	// If BIND logs error messages about the root key being expired,
	// you will need to update your keys.  See https://www.isc.org/bind-keys
	//========================================================================
	dnssec-validation auto;
	allow-recursion { 127.0.0.1; };
	auth-nxdomain no;    # conform to RFC1035
	listen-on-v6 { any; };
};

Step 3. Store the domain name and zone file setting

 nano /etc/bind/named.conf.local
//place these lines at the bottom of file

zone "wpcademy.com" {
        type master;
        file "/etc/bind/zones/wpcademy.com.db";
        allow-transfer { 108.200.200.2; };
        also-notify { 108.200.200.200.2; };
};

Step4. Because in the above config we put zone file in “/etc/bind/zones/wpcademy.com.db”, then we need to create the folder and file

mkdir /etc/bind/zones
nano /etc/bind/zones/wpcademy.com.db
$TTL    86400
$ORIGIN wpcademy.com.
@       IN      SOA     ns1.wpcademy.com. root.wpcademy.com. (
                              1         ; Serial
                          86400         ; Refresh
                           7200         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns1.wpcademy.com.
@       IN      NS      ns2.wpcademy.com.
ns1      IN      A       108.100.100.1
ns2      IN      A       108.100.100.2

;also list other computers
@       IN      A       192.168.100.07
www     IN      A       192.168.100.07

Step 5. (last step on master) Restart bind9 dns service

 service bind9 restart

ON SLAVE

Repeat step 1-2 similar to the master.

Step 3. Configure slave bind options

 nano /etc/bind/named.conf.options
zone "wpcademy.com" {
	type slave;
	file "/var/cache/bind/wpcademy.com.db";
	masters {108.100.100.1;};
};

notice the difference in this config file from the master.

Step 4. Restart bind9 service.

 service bind9 restart

What to do next?

This DNS server will not work until you change your domain’s nameserver. It can be done from your domain’s registrar website. In this scenario, we change nameserver to:

ns1.wpcademy.com
ns2.wpcademy.com

Testing BIND

This test could be done either on the DNS server itself or from another server, or from your own PC. In this case, we will do the test from another server running Ubuntu OS.

Step 1.Install dnsutils

 apt-get install dnsutils

Step 2. Do the dig dns test

 dig wpcademy.com

Step 3. Do the nslookup dns test

 nslookup wpcademy.com

How To Setup a NGINX Virtual Host – Easy Guide

In this tutorial we are going to learn how to install and configuration of virtual hosts “Server Blocks” Nginx on your Linux server. Virtual hosts such as nginx are used for running two or more domains or websites using just one server which you can learn more about in this hosting fundamentals course. Here’s a brief tutorial that shows you how to create a virtual host or server block on Nginx web server. This guide assumes that you’ve been following along from the previous tutorial: How to Install and Configure a NGINX Server.

Setup a NGINX Virtual Host

Create a New Directory

cd /var/www
mkdir -p wpcademy.com/{public_html,logs,stats}
mkdir -p wpcademy.com/{public_html,logs,stats}
Create vhost conf file
#nano /etc/nginx/conf.d/wpcademy.com.conf

server {
   listen  80;
   server_name  wpcademy.com www.wpcademy.com;
 
   access_log  /var/www/wpcademy.com/logs/access.log ;
   error_log    /var/www/wpcademy.com/logs/error.log ;
 
   location / {
       root   /var/www/wpcademy.com/public_html;
       index  index.php index.html index.htm;
 
   }
 
   error_page   500 502 503 504  /50x.html;
   location = /50x.html {
       root   /var/www/wpcademy.com/public_html;
   }
 
  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  location ~ .php$ {
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
root    /var/www/wpcademy.com/public_html;
fastcgi_param  SCRIPT_FILENAME  /var/www/wpcademy.com/public_html$fastcgi_script_name;
include fastcgi_params;
}
 
 
   location ~ /.ht {
       deny  all;
   }
}
# nano /etc/nginx/conf.d/wpcademy.com.conf
server {
   listen  80;
   server_name  wpcademy.com www.wpcademy.com;
 
   access_log  /var/www/wpcademy.com/logs/access.log ;
   error_log    /var/www/wpcademy.com/logs/error.log ;
 
   location / {
       root   /var/www/wpcademy.com/public_html;
       index  index.php index.html index.htm;
 
   }
 
   error_page   500 502 503 504  /50x.html;
   location = /50x.html {
       root   /var/www/wpcademy.com/public_html;
   }
 
  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  location ~ .php$ {
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
root    /var/www/wpcademy.com/public_html;
fastcgi_param  SCRIPT_FILENAME  /var/www/wpcademy.com/public_html$fastcgi_script_name;
include fastcgi_params;
}
 
   location ~ /.ht {
       deny  all;
   }
}

Add vhost on nginx.conf

# nano /etc/nginx/nginx.conf
### add line like this on http section:
include /etc/nginx/conf.d/*.conf;

Restarting nginx and php-fpm

# /etc/init.d/nginx restart
# /etc/init.d php-fpm restart

Note: Please make sure that all the domain names are propagated and are properly directed to your servers ip address, if not you will not able able to check if your new configuration works or not.

Congratulation’s! You have successfully installed server blocks Nginx. Thanks for using this tutorial for installing Virtual hosts Nginx on Linux system. For additional help or useful information, we recommend you to check the official Nginx web site

How To Install Netbeans 11.0 on Ubuntu 18.04 LTS

Install Netbeans on Ubuntu 18

The NetBeans is an open-source integrated development environment which provides a powerful application frame platform which allows programmers to create Java-based net applications, mobile software, and desktop software.

This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo’ to the commands to get root privileges. I will show you through the step by step installation Netbeans on a Ubuntu 18.04 (Bionic Beaver) server.

Install Netbeans on Ubuntu 18.04 LTS

Step 1. First, make sure that all your system packages are up-to-date

sudo apt update
sudo apt upgrade

Step 2. Installing Java OpenJDK.

NetBeans requires having the Java VM installed on the machine, so you would need to install either Oracle Java 8 or OpenJDK 8:

sudo apt install openjdk-8-jdk
sudoaptinstallopenjdk-8-jdk

Step 3. Installing Netbeans IDE.

Install the Netbeans using snap:

sudo snap install netbeans --classic
sudosnapinstallnetbeans--classic

The process may take some time depending on your connection speed. On successful installation, you will see the following output:
netbeans 10.0 from ‘apache-netbeans’ installed

netbeans10.0from’apache-netbeans’installed

Step 4. Assessing Netbeans IDE.

Now that Netbeans is installed on your Ubuntu system you can start it typing netbeans in your terminal or by clicking on the Netbeans icon (Activities -> Netbeans).

Congratulation’s! You have successfully installed Netbeans. Thanks for using this tutorial for installing Netbeans on your Ubuntu 18.04 system. For additional help or useful information, we recommend you to check the official Netbeans website.

How To Install RubyMine 2019.1 on Ubuntu 18.04 LTS

Install RubyMine on Ubuntu 18

RubyMine is an all-new IDE for Ruby and Rails developers, developed by JetBrains (best known for Java IDE IntelliJ IDEA). RubyMine build upon the IntelliJ IDEA platform and brings together all of the essential features you expect of an IDE (editor, debugging tools, source control integration, code completion, and so forth) along with lots of extra goodies specific to Ruby, such as GUI-based support for RSpec and Test.

This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo’ to the commands to get root privileges. I will show you through the step by step installation RubyMine on a Ubuntu 18.04 (Bionic Beaver) server.

Install RubyMine on Ubuntu 18.04 LTS

Step 1. First, make sure that all your system packages are up-to-date

sudo apt update
sudo apt upgrade

Step 2. Installing Snappy Package Manager.

Install Snappy package manager type following command:

sudo apt install snapd snapd-xdg-open

Step 3. Installing RubyMine on Ubuntu.

First, download and installed RubyMine snap package run following command:

sudo snap install rubymine --classic

After successful installation to start RubyMine via terminal run following command:

rubymine

Also start RubyMine from activities on Ubuntu. Typing RubyMine will show you RubyMine icon.

Congratulation’s! You have successfully installed RubyMine. Thanks for using this tutorial for installing RubyMine on your Ubuntu 18.04 system. For additional help or useful information, we recommend you to check the official RubyMine website.

How To Disable IPv6 on Ubuntu 18.04 LTS

Disable IPv6 on Ubuntu 18

IPv6 is enabled by default in Ubuntu. But you may want to disable IPv6 for many reasons. Some programs may cause problems when IPv6 is enabled, So if you are not planning to use IPv6, simply disable it and not worry about any potential problems. In this tutorial we will learn you how to disable IPv6 on Ubuntu 18.04 LTS.

This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo’ to the commands to get root privileges. I will show you through the step by step disable IPv6 on an Ubuntu 18.04 Bionic Beaver server.

Step 1. First, make sure that all your system packages are up-to-date

sudo apt update
sudo apt upgrade

Step 2. Permanently Disable  with sysctl.

To disable IPv6 using sysctl, Open the Ubuntu terminal and Perform the following steps:

nano /etc/sysctl.conf

Add the following lines at the end of the sysctl.conf file:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

In Ubuntu server 18.04 LTS, you will need to add additional lines for each interface you want to disable IPv6:

net.ipv6.conf.<ifname>.disable_ipv6 = 1

For change to be effected, run the sysctl -p command:

sysctl -p

Step 3. Disable IPv6 using GRUB.

Perform the following steps with root privileges

Open the /etc/default/grub, Modify GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT to append ipv6.disable=1:

GRUB_CMDLINE_LINUX="ipv6.disable=1"
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"

Update the grub configuration:

update-grub

update-grub

Reboot the server:

systemctl reboot

Congratulation’s! You have successfully disable IPv6. Thanks for using this tutorial for disable IPv6 on your Ubuntu 18.04 Bionic Beaver system. For additional help or useful information, we recommend you to check the official UFW Firewall website.

How To Install OpenCart v3.0.3.2 on Ubuntu 18.04 LTS

Install OpenCart on Ubuntu 18

OpenCart is a free open source ecommerce platform for online merchants. OpenCart provides a professional and reliable foundation from which to build a successful online store. In this tutorial we will learn you how to install OpenCart on Ubuntu 18.04 LTS.

This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo’ to the commands to get root privileges. I will show you through the step by step installation OpenCart on a Ubuntu 18.04 (Bionic Beaver) server.

Install OpenCart on Ubuntu 18.04 LTS

Step 1. First make sure that all your system packages are up-to-date

sudo apt update
sudo apt upgrade

Step 2. Install LAMP (Linux, Apache, MariaDB and PHP) server.

A Ubuntu 18.04 LAMP server is required. If you do not have LAMP installed, you can follow our guide here. Also install all required PHP modules:

apt-get install php7.1-cli php7.1-mbstring php7.1-gd php7.1-opcache php7.1-mysql php7.1-json php7.1-mcrypt php7.1-xml php7.1-curl

Step 3. Download OpenCart

First thing to do is to go to OpenCart’s download page and download the latest stable version of OpenCart:

sudo mkdir -p /var/www/html/example.com
cd /tmp
wget https://github.com/opencart/opencart/releases/download/3.0.3.1/opencart-3.0.3.1.zip
unzip opencart-*.zip
sudo mv /tmp/upload/* /var/www/html/example.com/

Next, copy the configurations files:

sudo cp /var/www/html/example.com/{config-dist.php,config.php}
sudo cp /var/www/html/example.com/admin/{config-dist.php,config.php}

We will need to change some folders permissions:

sudo chown -R www-data: /var/www/html

Step 4. Configuring MariaDB for OpenCart.

By default, MariaDB is not hardened. You can secure MariaDB using the mysql_secure_installation script. You should read and below each steps carefully which will set root password, remove anonymous users, disallow remote root login, and remove the test database and access to secure MariaDB.

mysql_secure_installation

Configure it like this:

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

Next we will need to log in to the MariaDB console and create a database for the OpenCart. Run the following command:

mysql -u root -p

This will prompt you for a password, so enter your MariaDB root password and hit Enter. Once you are logged in to your database server you need to create a database for OpenCart installation:

MariaDB [(none)]> CREATE DATABASE opencart;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON opencart.* TO 'opencartuser'@'localhost' IDENTIFIED BY 'opencartuser_passwd';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q

Step 5. Configuring Apache web server for OpenCart.

Create a new virtual host directive in Apache. For example, create a new Apache configuration file named ‘opencart.conf’ on your virtual server:
[/php]
touch /etc/apache2/sites-available/opencart.conf
ln -s /etc/apache2/sites-available/opencart.conf /etc/apache2/sites-enabled/opencart.conf
nano /etc/apache2/sites-available/opencart.conf
[/php]

Add the following lines:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/example.com
ServerName your-domain.com
ServerAlias www.your-domain.com
<Directory /var/www/html/example.com/>
Options FollowSymLinks
AllowOverride All
</Directory>
ErrorLog /var/log/apache2/your-domain.com-error_log
CustomLog /var/log/apache2/your-domain.com-access_log common

Save and close the file. Restart the apache service for the changes to take effects:

sudo a2ensite magento.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

Step 6. Accessing OpenCart.

OpenCart will be available on HTTP port 80 by default. Open your favorite browser and navigate to http://your-domain.com/ or http://server-ip and complete the required the steps to finish the installation. If you are using a firewall, please open port 80 to enable access to the control panel.

Congratulation’s! You have successfully installed OpenCart. Thanks for using this tutorial for installing OpenCart e-commerce on Ubuntu 18.04 systems. For additional help or useful information, we recommend you to check the official OpenCart website.

How To Install CyberPanel on Ubuntu 18.04 LTS

Install CyberPanel on Ubuntu 18

CyberPanel comes with two versions one is simply called CyberPanel and other is Called CyberPanel Ent. CyberPanel comes with OpenLiteSpeed and is completely free for an unlimited number of domains and worker processes.

This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo’ to the commands to get root privileges. I will show you through the step by step installation Wine on an Ubuntu 18.04 (Bionic Beaver) server.

Install CyberPanel on Ubuntu 18.04 LTS

Step 1. First, make sure that all your system packages are up-to-date

sudo apt update
sudo apt upgrade

Step 2. Download Installer

To install cyber panel run the below command:

cd /tmp
wget -O installer.sh https://cyberpanel.net/install.sh
chmod 755 installer.sh

After downloading the script and changing the permissions above, run the commands below to begin the installation:

sudo sh installer.sh
Checking OS...
Detecting Ubuntu 18.x...
Pre-flight check completed...
Process check completed...

    CyberPanel Installer v2.0

  1. Install CyberPanel.
  
  2. Install Addons.
  
  3. Exit.
  
Please enter the number[1-3]: 1

You be prompted with the next screen, select the option below:

CyberPanel Installer v2.0

  RAM check : 1446/1993MB (63.72%) 
  
  Disk check : 8/20GB (34%) (Minimal 10GB free space)

  1. Install CyberPanel with OpenLiteSpeed.
  
  2. Install Cyberpanel with LiteSpeed Enterprise.
  
  3. Exit.
  
Please enter the number[1-3]: 1

Installing the packages you choose:


 
Installing from official server or mirror server?

Mirror server network is optimized for Asia Pacific region...
If you experience very slow download speed during installation, please try use mirror server on clean system...
Use mirror server [y/N]: y

Replace JS/CSS files to JS Delivr?
This may improve panel loading speed in Asia Pacific region... 
Please select [y/N]: y

Install Memcached extension for PHP?
Please select [y/N]: y

Install LiteSpeed Memcached?
Please select [y/N]: y

Install Redis extension for PHP?
Please select [y/N]: y

Install Redis?
Please select [y/N]: y

The Complete Installation Process takes 5-10 mins, you should see similar screen like the one below with the administrator login detail:

The installer will output your administrator details:

###################################################################
                CyberPanel Successfully Installed                  
                Current Disk usage : 4/20GB (16%)                        
                Current RAM  usage : 246/487MB (47.84%)                         
                Installation time  : 0 hrs 6 min 26 sec                      

                Visit: https://(YOUR_SERVER_IP):8090                     
                Panel username: intan                              
                Panel password: ramona                            
                Mysql username: root                               
                Mysql password: ramona                     

            Please change your default admin password              

          If you change mysql password, please  modify file in     
         /etc/cyberpanel/mysqlPassword with new password as well   

              Website : https://www.cyberpanel.net                 
              Forums  : https://forums.cyberpanel.net              
              Wikipage: https://docs.cyberpanel.net                
             Enjoy your accelerated Internet by                  
                CyberPanel & OpenLiteSpeed                                       
###################################################################

After the successful installation, you can access CyberPanel using the below details:

https:(ip address):8090 
Username: intan 
Password: ramona

Congratulation’s! You have successfully installed CyberPanel. Thanks for using this tutorial for installing CyberPanel open source host control panel on Ubuntu 18.04 LTS (Bionic Beaver) system. For additional help or useful information, we recommend you to check the official CyberPanel web site.