You will now be prompted to input your username and password. All Done!
Check back for more updates from Atlantic.Net, or learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) options and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Install Apache In Fedora 20
> URL: https://www.atlantic.net/vps-hosting/how-to-install-apache-fedora-20/ | Published: 2015-02-27 | Updated: 2024-06-05 | Author: Jose Velazquez
##### Verified and Tested 02/27/15
### **Introduction**
In this How-To, we will walk you through the install of Apache in your Fedora 20 Cloud Server.
Apache is a web server that is very popular in Linux systems and over the Internet. It is used by many Web Hosting companies worldwide because of its popularity and efficiency in hosting sites over the World Wide Web.
### **Prerequisites**
A cloud server with Fedora 20 already installed. If you don’t already have a server, please spin up a market-leading virtual private server in under 30 seconds.
## **Installing Apache in Fedora 20**
Install Apache with the following command:
```
yum install httpd
```
Start Apache with the following command:
```
systemctl start httpd.service
```
You will want the Apache service to start on start-up/reboot with the following command:
```
systemctl enable httpd.service
```
Add the following commands in Apache to override in Firewall-cmd as follows:
```
firewall-cmd --set-default-zone=public
```
```
firewall-cmd --permanent --zone=public --add-service=http
```
```
firewall-cmd --permanent --zone=public --add-service=https
```
```
firewall-cmd --reload
```
You can now verify that Apache is installed correctly by typing http:// and your IP on your browser.
HTTP: //YOUR.IP.ADD.RESS
You should see the following screenshot in your browser:

Fedora Test Page
Congratulations! You have just installed Apache on your Fedora 20 Cloud Server. Thank you for following along in this How-To, and check back with us for any new updates.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to: Common Tasks In A Windows Server 2012
> URL: https://www.atlantic.net/vps-hosting/how-to-common-tasks-windows-server-2012/ | Published: 2015-02-27 | Updated: 2024-06-05 | Author: Ariel Beltre
##### Verified and Tested 2/27/2015
### Introduction
In this article, we will be reviewing a few common tasks that can be performed in your Windows 2012 server. Many administrators find themselves having trouble performing basic functions because the interface in Windows 2012 is so different from what they are used to. We will go over what some of these tasks are and how to complete them.
### Prerequisites
A server with Windows 2012 already installed.
## How to reboot Windows Server 2012
Some administrators have a tough time figuring out how to reboot their server in Windows 2012. This is mainly due to the absence of the Start menu and also the shutdown option that has always existed on the start menu.
To power down or reboot your server, move your mouse to the upper right-hand corner of the screen. Once done, Windows will display a series of icons along the right side of the screen. Click the Settings icon, and you will be taken to the Settings page, shown below. The bottom row of icons includes a power button. You can use this option to shut down or reboot the server.
 Start: Power
## Accessing the Control Panel in Windows Server 2012
There are several different ways to access the control panel. Here, we will go over the two most common methods.
The first method is to use the same set of icons explained in the previous step. Move your mouse to the upper right corner of the screen, and click on settings. When the settings page appears, click on the Control Panel link.
Another way to access the Control Panel is by going into Desktop mode and then moving your mouse to the lower-left corner of the screen. Once done, the start tile will appear. Right-click on this tile, and a menu will appear. This menu will contain an option to access the Control Panel.
## Accessing the Administrative Tools in Windows Server 2012
In Windows Server 2008 and 2008 R2, you can access the Administrative Tools by clicking on the start icon, going to All Programs, and clicking the Administrative Tools option. Since we know the start menu does not exist, you have to access the Administrative Tools differently.
In Windows Server 2012, there is a couple of different ways to access the Administrative Tools, and one method involves using the server manager. As you can see below, the server manager’s tools menu contains all of the Administrative Tools that you are probably familiar with from Windows Server 2008.
 Server Manager: Tools
Sometimes Administrators might prefer not to go into the server manager every time they need to access an administrative tool. It would make it a lot easier if the tools were accessible from the start screen, and Thankfully, it is pretty easy to make that happen.
To do so, make sure that you are looking at the Windows start screen. Please keep in mind that this technique WILL NOT work if you are in desktop mode. Now, move your mouse to the upper right corner of the screen, and click on the Settings icon. When the settings page appears, click on the Tiles link. As you can see below, there is a slide bar that you can use to control whether or not the administrative tools are shown on the start screen.
 Start: Administrative Tools
## Accessing Your Applications in Windows Server 2012
One of the most frustrating aspects of the new interface is that applications are no longer bound to a centralized start menu. Some administrators have found that after upgrading from a previous version of Windows Server, their start screen only contains a small subset of the items that previously resided on their server’s start screen. These missing items still exist, and you just have to know where to look for them.
To access all of the tiles that the start screen is hiding, click the small arrow at the bottom portion of the screen, as shown below.
 Start: Apps
Once done, you will be taken to an apps screen similar to the one shown below. As you can see, the apps are categorized like how they might have been on the start menu.
Apps are categorized like how they might have been on the start menu.
## The Run Prompt and the Command Line in Windows Server 2012
The run prompt and the command prompt are both easily accessible. To reach these items, navigate to your start screen. Once done, move your mouse to the lower-left corner of the screen. When the start tile appears, right-click on it, and you will see a menu listing option for run, command prompt, and command prompt (ADMIN).
 Start: Tools
## Changing Administrator Password in Windows Server 2012
To change the Administrator password, you must first access the server via a remote desktop. Once at the Start screen, click on Administrative Tools. This will open the Administrative Tools window from which you will want to double-click on Computer Management. Once done, expand Local Users and Groups, and click on Users from the drop-down. From here, you should see two options for Administrator and Guest, as shown below. Right-click on Administrator, and then click on Set Password > Proceed. Type your new password in both fields, then press OK.
 Computer Management: Administrator
### Conclusion
Although the interface may be confusing at first, the vast majority of the available items in the Windows Server 2008 R2 interface still exist. You just have to know where they are located.
## Atlantic.Net
Atlantic.Net offers [VPS hosting](https://www.atlantic.net/vps-hosting/) and [dedicated hosting](https://www.atlantic.net/dedicated-server-hosting/) services, which include a layer of business-essential managed services to your hosting packages. Contact us today for more information.
---
# How to Enable Ping on Windows Server 2008 R2
> URL: https://www.atlantic.net/vps-hosting/how-to-enable-ping-windows-server-2008-r2/ | Published: 2015-02-27 | Updated: 2024-06-05 | Author: Atlantic.Net NOC
##### Verified and Tested 02/28/2015
### Introduction
In this how-to, we will learn how to enable ping on a Windows Server 2008 R2.
### Prerequisites
Administrator control
## Enabling Ping on Windows Server 2008 R2
First, we will need to open Windows Firewall with Advanced Security. To do this, go to Start>All Programs>Administrative Tools>Windows Security with Advanced Security.

Once opened, click on **Inbound Rules** at the top left. Scroll down and select **File and Printer Sharing (Echo Request – ICMPv4 – In)**. Once selected, click on **Enable Rule**.
 using PARTED and place them into a RAID1 software raid mirror.
PARTED, like fdisk, is a utility used to manipulate hard disk partitions. One advantage it has over fdisk is that it can handle provisioning disks whose volumes will span larger than ~1.9 TB in size.
## Creating 2TB or Larger Partition with PARTED
We have to partition the drives using PARTED; regular fdisk can’t do it (it doesn’t know how to handle anything over 1.9 TB) and mark the drives as GPT. We then use MDADM to create the software raid mirror.
For the example, the two new 3TB drives will be /dev/sdb and /dev/sdc
Partition disks using PARTED
```
parted -a optimal /dev/sdb
```
This will load you into the Parted CLI on /dev/sdb. Run the following commands to make the disk GPT:
```
mklabel gpt
```
You should get a warning that says:
```
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost.Do you want to continue? Yes/No?
```
Type `Y` and then run the following command to make your /dev/sdb disk set to ext4 and a primary disk starting at 0% and fill to 100%:
```
mkpart primary ext4 0% 100%
```
To see the partition that you made information, use the following command:
```
print
```
Depending on your setup, you will get something similar to the following:
```
Model: Msft Virtual Disk (scsi) Disk /dev/sdb: 3TB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 1049kB 3TB 3TB primary raid
```
To flag your partition as Raid, run the following command:****
```
set 1 raid on
```
Perform the same procedure above for /dev/sdc.
Tell mdadm to create a RAID device called /dev/md0 by running the following command:
```
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
```
```
mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90 Continue creating array?
```
Read the warning and hit `Y` and you should get an output like the following:
```
mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.
```
Wait for the system to complete the sync process. Once completed, create a new directory and mount your new MD device.
To view your current partition set up run the following command:
```
cat /proc/mdstat
```
You should get an output like the following:
```
Personalities : [raid1]
md0 : active raid1 sdc1[1] sdb1[0]
10475392 blocks super 1.2 [2/2] [UU]
```
Create a new raid 1 directory by running:
```
mkdir /raid1
```
Then mount your Raid to your new raid 1 directory
```
mount /dev/md0 /raid1/
```
Next, we need to update fstab and mdadm.conf
With your favorite editor, open /etc/fstab and add the following to the last line of fstab file.
```
/dev/md0 /raid1 ext4 defaults 0 0
```
It should look similar to the following once done
```
#
# /etc/fstab
# Created by anaconda on Fri Jun 20 09:39:24 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=bfc860b0-9d1c-41e9-984f-83166f20dc03 / ext4 defaults 1 1
UUID=e136ebe6-f2b8-4098-bd16-11a1fa6044e2 /boot ext4 defaults 1 2
UUID=911f21eb-7500-41cd-9c0d-e2d4ab822b55 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/md0 /raid1 ext4 defaults 0 0
```
Update madam with the following command:
```
mdadm --detail --scan > /etc/mdadm.conf
```
Congratulations! You’ve created a new RAID1 device using MDADM with GPT partitioning.
Thank you for following along with this how-to! Please check back here for more updates and to learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) solutions.
See our [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# Atlantic.Net Cloud – How To Add An Additional Public IP to your Atlantic.Net Cloud Server
> URL: https://www.atlantic.net/vps-hosting/atlantic-net-cloud-how-to-add-an-additional-public-ip-to-your-atlantic-net-cloud-server/ | Published: 2015-02-27 | Updated: 2025-08-04 | Author: Alexander Wise
##### **Verified and Tested 02/28/2015**
## Introduction
This how-to will show you how to add an additional public IP to your Atlantic.Net Cloud Server. Many services on a server might ask for or require additional public IPs to work correctly. Creating private name servers, websites with SSLs, email generation, splitting services to different public IPs. The list goes on and on, and we encourage you to get more IPs and use them as you need.
## Adding an additional Public IP address to your Cloud Server
You must be logged into your Atlantic.Net Cloud Control Panel at cloud.atlantic.net. Navigate to the “Public IPs” section of the cloud control panel.

From there, select “Reserve IP” and choose the location that matches the server you will be assigning the IP to.

To assign the IP to a server, click its check box and click “Assign IP.”

Be sure to select the server you want to assign the IP to, and then click Assign IP.

Keep in mind that you will still need to add the IP manually to the server’s network interface. We will go over that in another How-To based on your OS choice.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Add an Additional Public IP address to Windows Server 2012
> URL: https://www.atlantic.net/vps-hosting/how-to-add-an-additional-public-ip-address-to-windows-server-2012/ | Published: 2015-02-28 | Updated: 2025-08-04 | Author: Alexander Wise
##### **Verified and Tested 02/28/2015**
## Introduction
This how-to will show you how to add an additional IP address to Windows Server 2012. Many services on a server might ask for or require an additional public IP address to work correctly, such as creating private name servers, websites with SSLs, email generation, splitting services to different public IPs.
## Prerequisites
You must first reserve and assign an additional public IP to your Windows Server 2012. For that guide, please visit 0ur [tutorials](https://www.atlantic.net/tutorials/) page.
## Adding an additional Public IP address to Windows Server 2012
Now, you want to log into your server. Open up the Networking and Sharing Center so we can edit the Network Interface. For that guide, please visit [How to open network sharing center windows server 2012](https://www.atlantic.net/vps-hosting/how-to-open-network-sharing-center-windows-server-2012/)
Make sure to click on “Change adapter settings” if you have not done so already.
 Change adapter settings
Click on Local Area Connection. Notice it highlights blue and adds some options in the above line. Let’s click on “Change settings of this connection.”
 Control Panel: Network Connection
Now double click on “Internet Protocol Version 4 (TCP/IPv4)”. If you do not like to double click, then select it and click “Properties.”
 Internet Protocol Version 4 (TCP/IPv4)
Since this is an additional IP address, we are going to click on “Advanced.”
 Internet Protocol Version 4 (TCP/IPv4)
We are almost done. Now under the top section “IP addresses” click “Add…”.
 IP Settings
Now, we are going to use the info that was provided in the Public IP section for the IP we reserved and Assigned.
 Manage Additional IPs  IP Address
Press OK four times to return you to the Network Connections screen. Now, you can check to see if it is configured correctly. Right-click on Local Area Connection, click on Status, Click on Details…, and look at the multiple IPv4 Addresses and the Subnet mask for each one.
 Status
Learn more about Atlantic.Net’s [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](ttps://www.atlantic.net/vps-hosting/pricing/).
---
# How to Open Network and Sharing Center in Windows Server 2008
> URL: https://www.atlantic.net/vps-hosting/how-to-open-network-sharing-center-windows-server-2008/ | Published: 2015-02-28 | Updated: 2024-06-06 | Author: Atlantic.Net NOC
##### **Verified and Tested 02/28/2015**
## **How to open Network and Sharing Center in Windows Server 2008**
This guide will show you how to get to the Network and Sharing Center to edit your Network Interfaces. We usually use this to get to the Network Connections for configuration.
### **How do I do it?**
Because this is Windows, there are many different ways to do this, and I will share some of the easiest ways to do it. Feel free to comment about this guide if you know another easy way that I overlooked!
Most Servers will have the Network Monitor icon visible by default.
 Network Tray Icon
Right-click this and then click on “Open Network and Sharing Center.”
The next option is to use search from the Start menu. Click on the Start button, and type one of the main words, “Network,” “Sharing,” “Center.” “Sharing” and “Center” will have the fewest options that pop up, so they will be your best bet, but any one of these will work.
 Start Menu: Search
If you already have the Server Manger open (see below), you can bypass the Network and Sharing Center. Click on “View Network Connections.”
 Server Manager: View Network Connections
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Open Network and Sharing Center in Windows Server 2012
> URL: https://www.atlantic.net/vps-hosting/how-to-open-network-sharing-center-windows-server-2012/ | Published: 2015-02-28 | Updated: 2025-12-17 | Author: Atlantic.Net NOC
### Introduction
The **Network and Sharing Center** is one of the most important tools in Windows Server. You use it to manage network adapters, change IP addresses, configure DNS, and troubleshoot connectivity issues.
In this guide, you’ll learn **how to open the Network and Sharing Center in Windows Server 2008, 2012, 2016, 2019, 2022, and 2025**, using the easiest and fastest methods for each version.
This tutorial focuses on **practical steps**, not theory, so you can get where you need to go without confusion.
## What Is the Network and Sharing Center?
The Network and Sharing Center is the central place where you can:
- View active network connections
- Open **Network Connections** (Ethernet adapters)
- Change IPv4 and IPv6 settings
- Configure DNS and gateway values
- Diagnose network problems
Most administrators open it when they need to **edit network interfaces**, especially on servers with static IP addresses.
## Opening the Network and Sharing Center in Windows Server
There are many different ways to do this; however, I will share some of the easiest ways. Feel free to comment about this guide if you know another easy way that I overlooked!
## Method 1: Using the Network Tray Icon (Quickest Way)
Most Servers will have the Network Monitor icon visible by default.

Sample Tray Icon
Right-click this and then click on “Open Network and Sharing Center.”
## Method 2: Using the Start Screen (Recommended)
**1. For Windows Server 2008, 2012 and 2016**
The next option is to use search from the Start Screen. Click on the Start Screen button, and type one of the main words, **“Network,” “Sharing,” “Center.” “Center”** will have the fewest options that pop up, so it would be your best bet, but any one of these will work. Note that what you start to type will appear in the top right of the window.

Start Button

Search
**2. For Windows Server 2019 and 2022**
Microsoft changed the workflow in newer versions. You now start from **Ethernet Settings**.
1. Click the **Search bar** on the taskbar
2. Type **Ethernet Settings**
3. Open **Ethernet Settings**
4. Click **Network and Sharing Center**
This method works the same way on both Server 2019 and Server 2022.
**3. For Windows Server 2025**
Windows Server 2025 continues the modern Settings-based approach.
1. Click the **Search bar**
2. Type **Ethernet Settings**
3. Open **Ethernet Settings**
From here, you can manage adapters or navigate to advanced network options.
## Method 3: Using Server Manager (Direct Access to Network Connections)
If you already have the Server Manger open, then you can bypass the Network and Sharing Center. Click on Local Server, which you see highlighted below.

Server Manager Dashboard
Then you can click on the networking information. It is a link that will take you directly to the “Network Connections” page.

Server Manager properties
## Final Thoughts
**Although Microsoft has changed the interface over the years, the **Network and Sharing Center remains** essential** for Windows Server administration.
Once you know the correct path for your server version, you can reach your network settings in seconds instead of clicking through menus.
If you manage VPS or dedicated servers, this is one of those shortcuts you’ll use almost daily—so it’s worth remembering.
Thank you for following along, and feel free to check back with us for further updates or learn more about our reliable [VPS hosting](https://www.atlantic.net/vps-hosting/) servers and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Install Hyper-V Role on a Windows Server 2008 R2 Server
> URL: https://www.atlantic.net/vps-hosting/how-to-install-hyper-v-role-windows-server-2008-r2-server/ | Published: 2015-02-28 | Updated: 2024-06-05 | Author: Atlantic.Net NOC
##### Verified and Tested 02/28/2015
### Introduction
This how-to will guide you through installing Hyper-V on your Windows Server 2008 R2. Hyper-V is used to manage Virtual Machines within your server.
## Installing Hyper-V Role on Windows Server 2008 R2 Server
Hyper-V is installed as a service within the **Roles and Services Manager** in your **Server Manager. **You can open **Server Manager **by clicking the icon on the bottom-left side of the screen.
 Server Manager Try Icon
Once you are in **Server Manager**, click on **Roles **on the left panel to open your server’s Roles page. Then, click the **Add Roles **link on the right side of the window to open the **Add Roles Wizard.**
 Before you begin
****Click **Next **to continue the installation. The installer will provide a list of possible roles to install. Check the **Hyper-V** box and click **Next.**
 Select Server Roles
The installer will then provide you with helpful links regarding the use and initial configuration of Hyper-V. You can read these first if you wish. Click **Next** when you are ready to move on. The following page will allow you to use a network adapter to allow a virtual network between your virtual machines. This will be useful if you intend to have your virtual machines communicate with each other. We can add this later, so for right now, let’s skip this step. Click **Next** to continue.
 Create Virtual Networks
Click **Install **on the following page to finish installing the role.
 Confirm Install Selection
The server will notify you that you will have to restart your server for the role to finish installing. Click **Close,**and a prompt will come up asking to restart the server. Click **Yes **to restart your server.
 Restart the Server
Once the server has restarted, the installation progress will automatically continue. Once done, click **Close**.
 Installation Results
Hyper-V is now successfully installed! You can access Hyper-V through your system’s **Start Menu**.
 Hyper-V manager
Thank you for following along in this How-To. Take a look at the following article – [How to Expand a VM Hard Disk in Hyper-V on Windows Server 2012.](https://www.atlantic.net/dedicated-server-hosting/how-to-expand-vm-hard-disk-hyper-v-2012/)
## More About Atlantic.Net
Atlantic.Net offers world-class hosting solutions, including [VPS hosting](https://www.atlantic.net/vps-hosting/) services. See our [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Add an Additional Public IP to Windows Server 2008
> URL: https://www.atlantic.net/vps-hosting/how-to-add-additional-public-ip-windows-server-2008/ | Published: 2015-02-28 | Updated: 2024-06-04 | Author: Atlantic.Net NOC
##### **Verified and Tested 02/28/2015**
### Introduction
This how-to will show you how to add an additional public IP to your Windows 2008 Server. Many services on a server might ask for or require additional public IPs to work correctly, such as creating private name servers, websites with SSLs, email generation, splitting services to different public IPs.
## Adding an additional Public IP address to Windows Server 2008
Now you want to log into your server. Open up the Networking and Sharing Center so we can edit the Network Interface. For that guide, please visit [https://www.atlantic.net/cloud-hosting/how-to-open-network-sharing-center-windows-server-2008/](https://www.atlantic.net/vps-hosting/how-to-open-network-sharing-center-windows-server-2008/)
Make sure to click on “Change adapter settings” if you have not done so already.

Click on Local Area Connection. Notice it highlights blue and adds some options in the above line. Let’s click on “Change settings of this connection.”

Now double click on “Internet Protocol Version 4 (TCP/IPv4)”. If you do not like to double click, then select it and click “Properties.”

Since this is an additional IP address, we are going to click on “Advanced.”

We are almost done. Now under the top section “IP addresses,” click “Add…”.

Now, we will use the info provided in the Public IP section for the IP we reserved and Assigned.


Press OK four times to return you to the Network Connections screen. Now you can check to see if it is configured correctly. Right-click on Local Area Connection, click on Status, Click on Details…, and look at the multiple IPv4 Addresses and the Subnet mask for each one.

Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# State of the Legal Cloud – Overview & Highlights
> URL: https://www.atlantic.net/vps-hosting/state-of-the-legal-cloud-overview-highlights/ | Published: 2015-03-04 | Updated: 2025-03-06 | Author: Alexander Wise
The American Bar Association focuses heavily on technology, with its Legal Technology Resource Center (LTRC) releasing the *ABA TechReport* every year.
Technology author Dennis Kennedy wrote a report on cloud computing for the 2014 edition, revealing incredible growth in the legal cloud over the next 6-12 months: 35% of non-cloud firms expect to use web-based apps or deploy the ultra-reliable, supercomputer-trumping virtual machines themselves for the first time.
- **Survey Nuggets**
- **Application to Legal Work**
- **Security Mechanisms Overlooked**
- **Strengths of the Legal Cloud**
- **The Future**
**Survey Nuggets**
Although the forecast into 2015 was incredibly promising, Kennedy noted that the 12 months leading up to the report did not indicate additional adoption. It was essentially a plateau year (or holding-pattern year, to maintain the cloud analogy), with 3 out of 10 law firms stating that they use the cloud, matching the 2013 number.
Attorneys are mainly sold on software-as-a-service (SaaS) solutions such as Dropbox, used by 6 out of 10 attorneys.
Understandably, Law firms are concerned with the security and privacy of their data. However, “the employment of precautionary measures is quite low, with no more than 40% of respondents taking any one of the standard cautionary measures listed in the*Survey*” (which included security best practices such as SSL encryption).
Disturbingly, respondents were doing less to protect data than in 2013, with 1 in 5 attorneys not taking any of the data-safeguarding steps presented in the survey.
Attorneys continue to enjoy the ability to retrieve and manipulate their files whenever and wherever they want. They also like the affordability.
Security has become a more prominent consideration, with attorneys listing **vendor reputation** as the key differentiator.
Attorneys currently working with cloud trusted it more than previously, with 78% saying they would keep using the technology, versus 70% in 2013.
**Application to Legal Work**
As stated above, the proportion of 2014 respondents who said they used cloud applications stayed at the same level, 30%. This holding pattern followed a year in which cloud ascended remarkably, from 20% to 30% adoption.
Those relatively new to the field (with under 20 years practicing law) have proven to be the early adopters, but the veteran attorneys are now using the services to just as great a degree.
The legal cloud is a little more prominent in the Midwest and West Coast, but usage is pretty balanced throughout the country.
The primary branches of law that utilize cloud are:
- Corporate – 37%
- Commercial – 37%
- Real estate – 36%
- Family law – 36%
Two unexpectedly low practice areas were intellectual property, down to 33% from 42% the previous year, and litigation. Kenny found the latter figure particularly shocking: “Given the significance of electronic discovery and the availability of cloud-based electronic discovery services,” he said, “ it is somewhat surprising that there is only a 28.5% usage in litigation practices.”
As indicated above, this year, the disparity between older and younger attorneys exhibited in 2013 evaporated: those up to 49 years old were no likelier to use cloud than attorneys in their 50s, with both measuring 32%.
**Security Mechanisms Overlooked**
While attorneys reported they are skeptical of cloud data protection, most aren’t taking reasonable proactive steps themselves – perhaps due to a lack of technical knowledge. Precautionary usage was as follows:
- Check provider service level agreement (SLA) – 32%
- Survey privacy policy – 37%
- Backups on own PC or server – 39%
- SSL or other encryption – 29%
As a side-note, specialized professionals such as doctors and lawyers are often unaware of how critical data encryption is to maintain their confidentiality. That’s clear in the high number of HIPAA violations medical practices experience each year due to unencrypted laptops and mobile devices. There are also tools with which you can encrypt cloud data, such as Boxcryptor, which was recently recommended in *TechRepublic*.
Kennedy seemed baffled by the perceived lack of effort to protect data from cybercriminals or even theft by the cloud provider itself: “Particularly striking,” Kennedy observed, “is the ‘cobbler’s children’s shoes’ element of lawyers not reviewing cloud services agreements for their own usage.”
**Strengths of the Legal Cloud**
Attorneys were also asked to describe why they were using the cloud, what advantages they thought it offered. The top reason listed was the technology’s around-the-clock, real-time convenience, allowing attorneys to accomplish work on their terms. Cost-effectiveness was also prominently mentioned as a strong suit. Additional pluses cited by lawyers, to a lesser extent, were:
- The financial upside of foregoing in-house IT
- The convenience and security advantage of outsourcing patches and upgrades
- The immediacy of cloud servers and applications
**The Future**
Undoubtedly, many attorneys will follow the path taken by the general business world to the Cloud Server model. This model combines a public cloud with a private cloud, designating services to each server as appropriate. Others will integrate a cloud server with a custom dedicated solution. Either way, as the security mechanisms section above suggests, you can use [VPS hosting](https://www.atlantic.net/vps-hosting/) solutions without being at its mercy. **Take control today!**
By Kent Roberts
Atlantic.Net can also assist with managed, [dedicated hosting](https://www.atlantic.net/dedicated-server-hosting/) and [VPS hosting](https://www.atlantic.net/vps-hosting/) solutions – contact us today for a consultation.
---
# Building the Tax Cloud
> URL: https://www.atlantic.net/vps-hosting/building-the-tax-cloud/ | Published: 2015-03-11 | Updated: 2024-11-09 | Author: Sam Guiliano
It’s unseen, but it’s changing our lives. We can watch movies from any location and fill our phones with applications that offer data accessible “in real-time” because of the high speed and low cost of cloud technology.
However, the accounting world has often not fully used the cloud, unaware of innovations in public cloud security and the emergence of the hybrid model, which allows companies to integrate public and private components. Four out of 10 (41%) accountants reported in a 2014 Network Management Group poll that they were not using any cloud computing services, while 3 in 10 (32%) said that they were converting, at least, one of their applications to the cloud by 2016.
## Why More Accountants Should Convert to the Cloud
Christina E. Wiseman, the wireless tech product manager for the accounting branch of Thomson Reuters, is [not impressed](http://www.accountingtoday.com/news/technology-products/why-tax-and-accounting-professionals-should-take-a-walk-in-the-cloud-73783-1.html). Citing a Pew Research Center study, she notes that the web is used by nine out of 10 men and women (87%), while among adults under 30 years old (97%).*“*Given the connectivity of clients and prospects,” said Wiseman, “it’s unquestionably time for accounting firms to understand what the cloud is all about and take full advantage of its benefits.
Wiseman describes the following benefits, which she finds to be overwhelmingly compelling in favor of cloud systems:
## Agility, Accessibility, and Productivity
Using either software-as-a-service (web-based software directly through a third party) or your own applications stored on a cloud server that you control and manage, you can work within your systems from any device and any location at any time. That means your workforce can sign on from anywhere to complete projects.
Cloud also makes it possible to point customers to your web portal to survey their own information, which is becoming a standard expectation.
## Affordability and Speed
With the “opex” model of this form of distributed virtual hosting, there is a meager cost of entry to set up your computing network and keep it running. You also don’t have to worry about storing any servers if you go with a solution that utilizes a hosting provider for all its infrastructure.
**“**Traditional business software typically requires a large upfront licensing fee, in addition to an annual maintenance fee and your own infrastructure costs,” Wiseman explains, “while most cloud service providers offer a pay-as-you-go model where you’re charged a monthly or annual fee for use.”
You also don’t have to pay for your own technology professionals: cloud services take care of that. The software of whatever core services you order is patched and upgraded by the host.
Wiseman says not to think of the cloud as an additional expense, and instead, it should replace the current tech services within your budget. She stresses that you don’t want to forget to consider upgrading and patching labor (which you are now pushing to another company) in your cost analysis. You can sometimes save more when you use the cloud provider for backup, too, says Wiseman.
## Data Protection and Availability
Although cloud sounds exciting in some ways, many risk-averse professionals worry about storing data in this form, says Wiseman.
It’s easy to forget that Apple was believed to be hacked by someone stealing passwords and simply logging into various accounts, not by someone actually invading the computing giant’s network – at least according to Apple’s assessment.
Furthermore, the hacks of Sony Pictures, Target, and Anthem are disturbing. However, none of those companies are technology-focused. Hosting providers base their reputations on security, so the investment in precautionary measures tends to be a much higher proportion of the overall budget than with other types of companies.
## Choosing a Cloud Provider
Wiseman recommends that you choose a provider that was founded a minimum of three years ago (2012 or earlier) and check for SSAE 16 auditing.
“[The SSAE 16 standard was] designed in part to test a vendor’s infrastructure—including hardware, software, procedures and personnel, and data,” Wiseman comments, “in areas including security, integrity, confidentiality, and ability to protect clients’ personal information.”
Make sure the cloud service has a strong disaster recovery plan in place as well. You want them to have multiple data centers so that you can back up your information in a separate geographical location. Self-healing capabilities will allow you to jump over to backup data without any delay.
## Meeting Customer Needs
Finally, the cloud allows you to meet the speed and access demands of clients and potential clients. Yes, you have to protect everyone’s data. Nonetheless, you must also exhibit never-before-seen reliability and supercomputer power (two characteristics of cloud) if you want to compete.
Just as you must meet the needs of your clients, we can meet your needs. As noted above, Wiseman recommends gauging reputability by the number of years in business. We were founded in 1994, so we have over three decades of experience. Talk to us today about building a partially **cloud-based** **hybrid infrastructure** for your firm.
## How Atlantic.Net Can Help
Atlantic.Net can assist with cloud, managed, [dedicated hosting](https://www.atlantic.net/dedicated-server-hosting/), and [VPS hosting](https://www.atlantic.net/vps-hosting/) solutions – contact us today for a consultation.
---
# How to Create a New Atlantic.Net Cloud Server
> URL: https://www.atlantic.net/vps-hosting/how-to-create-new-atlantic-net-cloud-server/ | Published: 2015-03-18 | Updated: 2025-03-06 | Author: Alexander Wise
### Introduction
This tutorial will show you how to create a Cloud Server through the Atlantic.Net Cloud admin portal.
## How to Create a New Cloud Server

**1.** Sign in to [cloud.atlantic.net](https://cloud.atlantic.net/?page=userlogin).
**2.** Click the “Add Server” button.
On the initial “Add a Server” page, you will see a few options:
**3.** Enter what you would like your server’s name to be in the “Server Name.”
**4.** Click on the data center you would like your Cloud Server to be located under “Location.”
**5.** Select the type of server you would like under “Type.” Under the first tab, “Operating Systems,” there are vanilla versions of popular operating systems. Under the second tab, “Applications,” are the servers that come with popular applications, like WordPress, cPanel, and LAMP, already pre-installed.
*Note: When selecting anything under “Applications,” this overwrites any OS you may have chosen on the Operation Systems page. Please note that cPanel does come at an extra cost found on our [VPS hosting pricing](https://www.atlantic.net/vps-hosting/pricing/) page.*
**6.** Select what plan size you want under “Plan.”
*Note: The plans do change depending on the OS you have chosen. All available plans will be provided as well as the specifications and their pricing.*
**7.** Choose whether to enable backups for your new Cloud Server. Check the box next to “Enable Backups” if you would like to have daily snapshots of your server taken. Visit our [VPS Hosting](https://www.atlantic.net/vps-hosting/) page for pricing and details.
**8.** Finish creating your server by clicking the “Create Server” button. It will take a few moments for your server to build. The credentials will be displayed at the top of the page in green and will also be emailed to you. After this, the server will be listed as ‘PROVISIONED,’ and you will be able to access it via [Remote Desktop Connection](https://www.atlantic.net/vps-hosting/how-to-remote-desktop-windows-server/), [SSH](https://www.atlantic.net/vps-hosting/how-to-ssh-linux-server-windows/), or [VNC](https://www.atlantic.net/hipaa-compliant-hosting/how-to-using-vnc-access-cloud-server/) using the credentials highlighted at the top of the page.
**Note: Atlantic.Net does not keep your credentials on file, so please be sure to keep this information recorded for your convenience.**
---
## Contacting Atlantic.Net Support
If the above step-by-step directions do not assist you in completing your task or an issue arises while following these steps, please feel free to contact our Support Department at 866.618.3282 (option 3) or email us directly at cloudsupport@atlantic.net. If you need assistance setting-up a [dedicated hosting](https://www.atlantic.net/dedicated-server-hosting/) account, check out our dedicated server hosting page.
---
# How to Delete a Atlantic.Net Cloud Server
> URL: https://www.atlantic.net/vps-hosting/how-to-delete-atlantic-net-cloud-server/ | Published: 2015-03-18 | Updated: 2024-06-05 | Author: Chelsea Fieler
### Introduction
This guide will show you how to delete an Atlantic.Net Cloud Server from your cloud.atlantic.net portal. Please keep in mind that once a server has been removed, all data stored on that server is immediately deleted and irretrievable for security reasons. Be sure that you want to remove the server you have selected, as this action can not be reversed.
## How to Delete a Cloud Server
To delete your virtual private server, select the box next to the server you want to delete. The box should turn into a blue square with a white check. If you are ready to remove the server, click remove.


After you click remove, you will get a warning message saying that you are about to delete your server. If you are sure, click OK.
After you click OK, you should see that your server’s status has changed to removed.

## Contacting Atlantic.Net Support
If the above step-by-step directions do not assist you in completing your task or an issue arises while following these steps, please feel free to contact our Support Department at 866.618.3282 (option 3) or e-mail us directly at cloudsupport@atlantic.net.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# Cloud Hosting – Getting Started with DNS Records
> URL: https://www.atlantic.net/dedicated-server-hosting/cloud-hosting-getting-started-with-dns-records/ | Published: 2015-03-18 | Updated: 2025-08-04 | Author: Alexander Wise
Atlantic.Net’s Cloud Portal includes a DNS management module that enables you to manage DNS records for your domains. DNS records tell people where your domain is hosted so they can reach it by name instead of just by server IP. This tutorial will show you how to manage these settings in the [Atlantic.Net Cloud Portal](https://cloud.atlantic.net/?page=userlogin).
## Pre-Setup
First, we will want to make sure you have a domain to add to the DNS Manager. Domains can be purchased from domain registrars such as GoDaddy or Network Solutions, and they will also control which name servers can use your domain. In this case, the cloud name servers you want to point your domain to are:
- ```
ns1.quickroutedns.com
```
- ```
ns2.quickroutedns.com
```
- ```
ns3.quickroutedns.com
```
To change the name servers for your GoDaddy account, [you can see their guide here](https://www.godaddy.com/help/set-custom-nameservers-for-domains-registered-with-godaddy-12317).
To change the name servers for your Network Solutions account, [you can see their guide here](http://www.networksolutions.com/support/move-dns-to-a-new-server/).
Once your name servers have been changed to the cloud, we can add the DNS records to the cloud name servers. Start by logging into the [Atlantic.Net Cloud Portal](https://cloud.atlantic.net/?page=userlogin).

On the *Domain Names* page, click on ‘**Add Domain’**to get started adding your domain.

As seen in the below image, a new entry field will appear. **Enter in your domain name** (in this example, example.net). Note: Only add the top-level domain name here. For example, you would enter in *example.net*, not *www.example.net.*

After adding your domain, you will get a popup that says ‘*Domain created successfully!*‘ like the picture below.

After hitting **‘OK’** on the popup, you will go back to the *Domain Names* page with a list of your domains. There are buttons next to each labeled ‘*Manage*‘ and ‘*Delete*.’ ‘*Delete*‘ will delete the domain and all associated DNS records from the system, and’ *Manage*‘ will take you to the management page for that domain.
This makes the DNS zone where all records are kept for that particular domain. However, our site isn’t accessible yet. To point people to our site appropriately, we’ll need to add DNS records in the DNS zone.
## Common DNS Setups
## Basic Website
For a basic website, we’ll be setting up two *A records* for your website. The two most common ways people access a website are *example.net* and *www.example.net*. We will need to add an *A record* for each one of these. We have to do this so anyone can access the site with or without the *www.*
- **Log in** to [https://cloud.atlantic.net/](https://cloud.atlantic.net/?page=userlogin).
- Click on ‘**DNS**.’
- Click on ‘**Manage.’**

- Click ‘**Add DNS Record**‘ to add a new record.
 This page contains pre-made records. Do not change any of these records.
- In the *Type* column, choose ‘**A/AAAA**‘.
- Leave the *Host *field **empty.**
- In the *Content *column, enter **your server IP address.**
- Click ‘**Add’.**

The record is successfully added when you see the following popup:

We’ll be doing the same thing for your ‘*www*‘ record.
- Click on ‘**Add DNS Record**.’
- Choose in the *Type*column, choose ‘**A/AAAA’.**
- In the *Host *field, type **‘www.’**
- In the *Content *field, enter **your server IP address.**
- Click ‘**Add**‘.
You’ve successfully added records for your website.
**Note**: The records may take a few minutes to make their way to the rest of the world or propagate. While our side knows the records were added, those records then have to propagate to all other name servers that any other computer is using. This process can take up to 72 hours to complete globally but is usually done locally within 5-15 minutes. We can test our newly created record by either going to the site or checking a DNS propagation tool such as [WhatsMyDNS](https://whatsmydns.net/).
WhatsMyDNS checks an array of name servers across the globe for the requested record. While some may not pop up yet, give it some time, and the same IP should come up across all name servers. It can check a variety of records which we’ll cover in this guide.
## Mail Server
Setting up a mail server will require one *A **record,* an *MX record,* an *SPF record*, and a *PTR* *record*. The *MX record* will tell other computers where to send mail being sent to your domain. The *SPF record* is used for the security of your emails and domain.
- Click on ‘**DNS**.’
- Next to your domain, click ‘**Manage**.’
- Click on ‘**Add DNS Record**.’
- In the *Type *column, choose ‘**A/AAA****A**‘.
- In the *Host *column, enter ‘**mail**.’
- In the *Content *column, enter **your server IP address.**
- Click ‘**Add**‘.

To add an *MX record*:
- Click on ‘**Add DNS Record**.’
- In the *Type* column, choose ‘**MX**.’
- In the *Host *column, enter ‘**@**.’
- In the *Content *column, enter the **host field** of the *A record* you just added.

To add an *SPF record*:
- Generate an *SPF record* from **spfwizard net**.
- Click on ‘**Add DNS Record**.’
- In the *Type** *column, choose ‘**TXT**.’
- In the *Host *column, enter ‘**mail**.’
- In the *Content *column, enter **the contents of your generated *SPF record***.
- Click ‘**Add**‘.
 Make sure to include the quotation marks provided with your output.
The *PTR record*, also known as a pointer record, works in reverse to the *A record*. Instead of pointing a domain to an IP, it points an IP to a domain. Because of this, a *PTR* will need to be set up on the ISP side to get the IP pointed to the domain when requested. To add a *PTR record:*
- On the left-hand side of the cloud control panel, click on ‘**Server PTRs**.’
- **Locate** the IP address you need to set up a *PTR* for.
- In the *Points To* section, enter **your mail domain name**.
- Click ‘**Save Changes**.’


You have successfully added your *PTR record. *To check if the PTR was added successfully, you can go directly to the server IP in a browser, and it should redirect to the domain immediately.
**Note: **Atlantic.net’s cloud control panel can only control the IPs that Atlantic.Net controls.
You’ve successfully added DNS records for your mail server.
## Advanced DNS Guide
While most DNS records are relatively straightforward with entering something in the ‘Host’ field and something else in the ‘Content’ field, others require a bit more definition before using it. If you want to know about DNS regarding site security or have questions about the other records available, we’ll talk about those here. These are all extraneous records that aren’t necessary to keep a site up and running.
## The SRV Record
The SRV record, also known as a Service record, is used to specify the hostname and port of an application or program running on a server. This is a more complicated setup and is only usually required by a handful of services such as SIP (Session Initiation Protocol) for VoIP services or any service that requires indication specifically through DNS prior to opening a communication channel.
- Click on ‘**DNS**.’
- Next to your domain, click ‘**Manage**.’
- Click on ‘**Add DNS Record**.’
- In the *Type *column, choose ‘**A/AAA****A**‘.
- In the *Host *column, enter **your server name**.
- In the *Content *column, enter **your server IP address.**
- Click ‘**Add**‘.
To add the *SRV record*:
- Click on ‘**Add DNS Record**.’
- In the *Type* column, choose ‘**SRV**.’
- In the *Service Name* field, enter your service in the **correct syntax: _service._proto.name**
- In the *Weight* field, enter **10** (modify as needed).
- In the *Port *field, enter **the port listening for that service.**
- In the *Domain* field, enter **the A record you just entered.**
- Click ‘**Add**‘.
 Remember, the SRV record requires an A/AAAA record to be attached to, and you will need to add that record first for the SRV record to work.
You have successfully added your *SRV record*.
## The DKIM Record
The DKIM record, more commonly known as a domain key, is another form of TXT record used to verify the sender of emails. Domain keys use an encryption method embedded into each email that should be sent only by the authorized server to authenticate with the DKIM record. It’s essentially a check and balance system for all emails that say they belong to a domain.
- Create a **private key, a public key, and a text entry for the host field at [dkimcore org](http://dkimcore.org/).**
- Configure your local mail server to use the provided private key.
- Click ‘**Add DNS Record**.’
- In the *Type* field, choose ‘**TXT**.’
- In the *Host *field, enter **the previously provided text entry for the host field.**
- In the *Content *field, enter **the previously provided public key in Bind9 format.**
- Click ‘**Add**‘.
 You can expand the ‘Content’ field by clicking and dragging on the two lines in the bottom right-hand corner of the field.
You have successfully added a *DKIM record. *
**Note: **Once the *DKIM record *is added, you can confirm the record’s validity by using an online tool such as [keycheck](http://dkimcore.org/tools/keycheck.html).
## The DMARC Record
*DMARC* records are for email as well with an extra feature; *DMARC* is also a reporting record. *DMARC* will tell a mail server what to do *when *an email is blocked or rejected. This can include notifying the authenticated sender so they can look further into possible abuse of their domain.
- Create a *DMARC* record from [**https://dmarcian.com/dmarc-inspector/**](https://dmarcian.com/dmarc-inspector/)
- Click ‘**Add DNS Record**.’
- In the *Type *column, choose ‘**TXT**.’
- In the *Host* column, enter ‘**_dmarc**.’
- In the *Content *column, enter **the content of your generated DMARC record**.
- Click ‘**Add**‘.

**Note: ***DMARC* will only report based on the settings you chose in the questionnaire when creating the record. The same link provides a *DMARC* inspector where you can enter your domain to check your *DMARC* record, along with a breakdown of each section of that record.
## Troubleshooting
## Online Tools
Many online sources can help determine whether DNS records are set up correctly, most notably [WhatsMyDNS](https://whatsmydns.net/) noted earlier in this how-to. Using WhatsMyDNS, you can check each record listed here. The only thing to note would be that WhatsMyDNS does not differentiate the TXT records (SPF, DKIM, and DMARC), and it will only provide the output for those records, not whether or not they are working as needed.
[MXToolbox](https://mxtoolbox.com/) is another resource that will help in checking DNS records, mainly MX records. They also provide other services, including blacklist checks against a long list of blacklists, SMTP Diagnostics (some email providers require strict SMTP settings, including some DNS settings), and a Domain Health Report, which can determine what can be done to improve DNS configuration.
## Proprietary System Tools
Another convenient tool is the default DNS tools that come with most operating systems. Windows comes with the ‘nslookup’ command, which can perform DNS queries directly from your system, and Linux systems also have the ‘dig’ command, which allows for similar requests. [You can find a guide on using ‘nslookup’ here](https://technet.microsoft.com/en-us/library/aa997324(v=exchg.65).aspx) and [one for ‘dig’ here](https://www.cyberciti.biz/faq/linux-unix-dig-command-examples-usage-syntax/).
## NS Records Not Set to Atlantic.Net’s Cloud DNS Servers
When adding records, you may also come across the following message in the DNS Manager:

This error is pretty straightforward. As mentioned earlier, for any record (except PTR) placed in the DNS Manager to work, you will need to set the nameservers for your domain to the cloud name servers in your domain registrar’s setting. Otherwise, our cloud name servers will not be the authoritative name servers for your domain and can’t respond to DNS queries unless specified. If you still see this message in your DNS Manager after you’ve changed the settings at your registrar, be patient, as changes at registrars may also take time to propagate.
Should you have any trouble with the cloud DNS Manager, you can contact our technical support at any time via email at cloudsupport@atlantic.net, phone at 1-866-618-3282 option 2, or LiveChat anywhere on the site.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Enable RDP in Windows Server 2012
> URL: https://www.atlantic.net/vps-hosting/how-to-enable-rdp-windows-server-2012/ | Published: 2015-03-19 | Updated: 2024-06-05 | Author: Jose Velazquez
##### Verified and Tested 03/19/2015
### Introduction
In this how-to, we will walk you through How-To Enable RDP in Windows Server 2012.
Remote Desktop Protocol (RDP) is a protocol expanded by Microsoft that allows you to connect and control another computer via an existing network making it a remote connection.
### Prerequisites
– A Server with Windows Server 2012.
## Enable RDP in Windows Server
Open the **Server Manager** from the taskbar/ Click on **Local Server**/ Locate Remote Desktop under **Properties** which is currently Disabled, and Click on **Disabled.**

Local Server
The System Properties window will appear. Select Allow remote connections to this computer, and it’s recommended to check the box below.

Properties
You can also add specific users in the **Select Users**tab. By default, the administrator is allowed. You can add other users by clicking **Select Users/**Click **Add/**insert a username and click OK.

Remote Desktop Scope
You can now verify that RDP is enabled, and you can see that the status went from **Disabled** to **Enabled**.

Verify
Congratulations! You have just Enabled RDP in Windows Server 2012. Thank you for following along in this How-To. Take a look at the following article – [How to: Custom RDP Port in Windows 2012.](https://www.atlantic.net/vps-hosting/how-to-custom-rdp-port-windows-2012/)
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [Virtual private servers.](https://www.atlantic.net/vps-hosting/)
---
# Sharp Focus on HIPAA: Breach Notification Rule
> URL: https://www.atlantic.net/hipaa-compliant-hosting/sharp-focus-on-hipaa-breach-notification-rule/ | Published: 2015-03-23 | Updated: 2024-06-05 | Author: Sam Guiliano
Hacking news at the top of 2015 is driving the Health Insurance Portability and Accountability Act of 1996 (HIPAA) into the limelight. The news – that the second-largest insurer in the United States, Anthem, was breached, resulting in the compromise of 78.8 million patient records – makes the HIPAA breach notification rule more relevant.
Many are aware that the [Final Omnibus Rule of 2013](http://www.beckershospitalreview.com/legal-regulatory-issues/15-things-to-know-about-the-hipaa-omnibus-final-rule-before-sept-23.html) modified the law so that business associates are now effectively considered covered entities, but how does that designation apply to notifications? In other words, what does anyone who handles sensitive protected health information (PHI) have to do post-hack in terms of alerting clients, the press, and the HHS?
To answer these concerns, we will look at the expectations for communicating intrusions to affected parties and others, as explained by [Elizabeth Snell in *Health IT Security*](http://healthitsecurity.com).
## Basics of the HIPAA Breach Notification Rule
The part of the HIPAA law that is the most significant focus of the healthcare industry is Title II, simply because that section influences the activities of every organization handling health data. The breach notification stipulations mandate that any organization that stores, transfers, or processes patient data must bring any breach to the attention of various individuals and organizations.
Snell provides the example of a medical practice that experiences the theft of a laptop. If the information on the computer is encrypted, the organization is typically safe: no offense has been committed since the criminals can’t access the data. However, if there is no encryption in place, “suddenly several hundred patients’ PHI is potentially in criminals’ hands,” she explains. “The healthcare organization in question is required under HIPAA to notify the patients, the Department of Health & Human Services (HHS) and potentially the media.”
One way that the healthcare firm can protect itself – both financially and credibly – is by conducting a risk assessment to determine these details:
- The type of data that was on any breached device or system, along with the probability that a thief or intruder will be able to access it;
- The identity of anyone who accessed or was incorrectly given data, as applicable;
- A determination of whether the data was truly taken and exposed to third parties; and
- Any actions that have been taken to make the patient data less vulnerable.
Healthcare companies and their HIPAA-compliant vendors don’t have to conduct a risk assessment, notes the HHS. It’s just considered a best practice and allows you stronger legal ground.
You should also be aware that it is only necessary to let customers and authorities know about a hack when the PHI is unencrypted. Hacks are of concern to the HHS when they involve data “that has not been rendered unusable, unreadable, or indecipherable to unauthorized persons through the use of a technology or methodology specified by the Secretary in guidance.” *(Example: Note that Anthem was not storing its records in encrypted form.)*
Suppose a healthcare company or any third parties that handle its information does not safeguard confidential records with login credentials and two-factor authentication (2FA). In that case, HHS may consider it improperly protected, and physical protections should also be considered.
**Specific Instructions for Notification**
The extent of the breach is critical regarding notification. If the impacted patient population exceeds 500, major media must be contacted, along with the HHS Office of Civil Rights. That action must occur within a reasonable time frame and never beyond two months, and it should include the bulleted information described below.
If less than 500 people are involved, the firm can wait until the end of the year to notify the HHS – technically by the end of February for any hacks occurring the previous year.
Although small hacks don’t need to involve the media or be immediately reported to the government, patients must be contacted immediately (60 days, maximum). If contact details are incorrect for more than nine people, the information must be published on the company’s home page for three months. Alternately, the organization can submit information to prominent news media for broadcast.
Breach notifications sent out to affected individuals must contain:
- A short summary of the incident
- Categories of compromised data
- Step-by-step instructions so that patients can avoid problems related to the stolen data
- A rundown of the procedure the company is following to assess the damage, reduce vulnerability, and prevent attacks in the future
- Complete contact information for the breached company
Note that in the case of a business associate, the vendor must contact the healthcare organization it services as soon as reasonably possible, 60 days maximum.
**Operating within Proper Standards**
If you experience a hack or any event that potentially compromises data, you need to be able to show the HHS records of your notification process or evidence that demonstrates why the data was not at risk.
There are two forms of evidence you can show to verify that notification did not need to occur:
1. The findings of a vulnerability assessment that demonstrates a low likelihood of access and misuse
2. “The application of any other exceptions to the definition of ‘breach.’” (De Vivo)
Furthermore, it is critical to have established policies and procedures related to hacks. Your staff must be trained on these parameters as well.
The moral of the story: Be prepared so you can adequately protect yourself. Work with an experienced business associate that is HIPAA audited and meets the strict expectations of the American Institute of CPAs. Atlantic.Net offers [HIPAA compliant Hosting](https://www.atlantic.net/hipaa-compliant-hosting/) on SSD Cloud Servers, which have a 100% uptime guarantee. Learn more about [HIPAA compliance](https://www.atlantic.net/hipaa-compliant-hosting/hipaa-compliance-guide-what-is-hipaa/).
---
# How to: Password Reset via the Cloud Portal for cPanel & WHM
> URL: https://www.atlantic.net/vps-hosting/how-to-password-reset-via-cloud-portal-cpanel-whm/ | Published: 2015-03-24 | Updated: 2024-06-10 | Author: Jason Mazzota
##### Verified and Tested 3/24/15
### Introduction
This guide will take you through resetting a password on cPanel and WHM via our Cloud Portal.
## Password Reset via the Cloud Portal for cPanel & WHM
[The first step to do is to follow the password reset guide here](https://www.atlantic.net/vps-hosting/how-to-resetting-atlantic-net-cloud-server-password/). If you cannot connect with that new password, you will need to connect to the server via SSH or VNC. Once connected, you will need to run via command line:
```
ALLOW_PASSWORD_CHANGE=1 /scripts/realchpass root 'new_password'
```
Where new_password is the password, you would like to use. Once done, you may now log into WHM as you would typically with the new password. If it still does not work for you, chances are you are blocked by cPHulk, and to remedy this;[please see this guide here](https://www.atlantic.net/vps-hosting/how-to-locked-cpanel-whm-via-cphulk/).
You will need to go to WHM’s “Change root password” section under “Server Configuration,” like the image below, and set the password again. Once done, you have successfully changed the password.
 Change Root password
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Build a Static Website on IIS using Windows Server 2012
> URL: https://www.atlantic.net/hipaa-compliant-hosting/how-to-build-static-website-iis/ | Published: 2015-03-26 | Updated: 2024-06-04 | Author: Jose Velazquez
##### Verified and Tested 03/27/2015
### Introduction
In this How-To, we will walk you through Building a Static Website on IIS Windows Server 2012.
Static content is considered to be HTML files. These types of files have no movement and hardly change, such as pictures or text documents.
### Prerequisites
– A Server with Windows Server 2012.
– Internet Information Services(IIS) installed on your server. If you need to install IIS, follow our guide [Install IIS On Windows Server 2012 R2](https://www.atlantic.net/vps-hosting/how-to-install-iis-windows-server-2012-r2/).
## Build a Static Website on IIS using Windows Server 2012
Open **Server Manager**, select **IIS**, right-click your server, and select **Internet Information Services (IIS) Manager**.
 Internet Information Services (IIS) Manager
In the **Connections** pane, right-click the **Sites** node in the tree, and then click **Add Website**.
 IIS: Add websiteIn the **Add Website** dialog box, enter a friendly name for your website in the **Site name** box.
If you want to select a different application pool than the one listed in the **Application Pool** box, click **Select**. In the **Select Application Pool**dialog box, select an application pool from the **Application Pool** list and then click **OK**.
In the **Physical path** box, enter the physical path of the website’s folder, or click the browse button (**…**) to navigate the file system to find the folder. (Note: It is best to make a folder in your C: specifically for your websites. I have named mine www)
If the physical path that you entered in the previous step is to a remote share, click **Connect as** to specify credentials that have permission to access the path. If you do not use specific credentials, select the **Application user (pass-through authentication)** option in the **Connect As** dialog box.
Select the protocol for the website from the **Type** list.
If you must specify a static IP address for the website (by default, this is set to **All Unassigned**), enter the IP address in the **IP address** box.
Enter a port number in the **Port** text box.
Optionally, enter a host header name for the website in the **Host Header** box.
If you do not have to make any changes to the site, and you want the website to be immediately available, select the **Start Website immediately** check box.
Click **OK**.
 Add Website FormIn **Features View** of IIS Manager, double-click **Authentication.**
 Website Authentication
Select **Anonymous Authentication**/right-click and select **Edit** to set the security principal (user credentials) under which anonymous users will connect to the site.
 Edit Anonymous Authentication
In the **Edit Anonymous Authentication Credentials** dialog box, select one of the following options:
If you want to configure a specific user account that IIS uses to access your site or application, select **Specific user**. Then click **Set** to open the **Set Credentials** dialog box and enter a user name and password for the identity. Then click **OK**.
If you want IIS processes to run by using the account specified on the property page for the application pool, select **Application pool identity**. By default, this identity is the IUSR account.
(**Recommended**: Change the default IUSR account to your username. If you leave it set to IUSR, you grant anonymous users all the internal network access associated with that account)
Click **OK** to close the **Edit Anonymous Authentication Credentials** dialog box.
 Credentials FormIn **Features View** of IIS Manager, double-click **Default Document**.
 Default DocumentIn the **Actions** pane, click **Add**.
In the **Name** box, enter the file name you want to add to the list of default documents and then click **OK**. This filename is added to the top of the default document list.
*Optionally, select a default document in the list, and in the **Actions** pane, click **Move Up** or **Move Down** to change the file’s precedence.*
*Optionally, select a default document in the list, and in the **Actions** pane, click **Remove** to remove any file names that you do not want to use as default documents.*
 Default DocumentIn **Features View** of IIS Manager, double-click **Compression**.

Configure compressionSelect **Enable static content compression** to configure IIS to compress static content/ Then click **Apply**
 Static Content CompressionYou can now test your site by doing the following: Click on your site / in the Action pane select Browse *:80 (http)
 View your website
Congratulations! You have just Built a Static Site on IIS Windows Server 2012. Thank you for following along in this How-To, and check back with us for new updates soon.
Learn more about our [HIPAA compliant web hosting,](https://www.atlantic.net/hipaa-compliant-hosting/) [HIPAA cloud hosting](https://www.atlantic.net/hipaa-compliant-hosting/) solutions, and see our [HIPAA compliance](https://www.atlantic.net/hipaa-compliant-hosting/hipaa-compliance-guide-what-is-hipaa/) guide.
---
# How to Expand a VM Hard Disk in Hyper-V on Windows Server 2012
> URL: https://www.atlantic.net/dedicated-server-hosting/how-to-expand-vm-hard-disk-hyper-v-2012/ | Published: 2015-03-30 | Updated: 2024-06-05 | Author: Jose Velazquez
##### Verified and Tested 03/31/2015
### Introduction
We often find ourselves running out of hard drive space, and now in Hyper-V 2012, we can expand our virtual hard drives. We are used to seeing that when we add storage space or anything that increases, we’ll see it immediately. That is not the case when we choose to expand your virtual server’s hard disk in Hyper-V 2012. The amount of space that you have added will not be available for you to use right away. We need to use our windows disk management tool to expand/combine the existing Partition with the partition space created. With that being said, in this how-to, we will walk you through Expanding a VM Hard Disk in Hyper-V 2012.
### Prerequisites
– A server with Windows Server 2012.
– Hyper-V Role installed
– An existing VM (Virtual Machine)
## Expanding a VM Hard Disk in Hyper-V 2012
Before we begin, we must make sure that your VM is completely turned off. Open your server manager/select Hyper-V/Right click your host server, and select Hyper-V Manager. Your Host server will be available, and when you click on it, you will see your VM or VM’s also available. Right-click your VM and select “Turn Off.”
## Expand your VM’s Hard Disk
To expand the Hard Disk, Right Click on your **Virtual Machine/** click “**Settings**“/ Select SCSI/Select the **Virtual Hard Drive** that you want to extend and click Edit.

This is the virtual Hard Drive settings while Expanding a VM Hard Disk in Hyper-V 2012
You will then be taken to the “**Edit Virtual Hard Disk**” wizard to locate the Virtual Hard disk. Click next to continue.

This is the virtual Hard Drive Wizard screen while Expanding a VM Hard Disk in Hyper-V 2012
Following that, you will be asked to “Choose Action.” There are three choices to choose from, Compact, Expand, and Shrink. Select “**Expand,”**then Click **Next**to proceed.****

Selecting the Expand option Wizard screen while on the Actions options to Expand a VM Hard Disk in Hyper-V 2012
Finally, you will be asked to “Expand Virtual Hard Disk.” This is where you Specify the size of your virtual hard drive. Do so and then click “**Finish”**to complete the expansion.

Configuring your Disk while Expanding a VM Hard Disk in Hyper-V 2012
## Extend your VM’s Hard Disk
Once you have successfully expanded your Virtual Hard Disk, you will need to turn on your VM following the previous process to turn off your VM and log into the server.
Open your server manager/Select “Local Server”/Click “Tools” and select “Computer Management.” Now, Open “**Disk Manager**” on your Virtual Machine. You will see your current C: Drive Partition and along with an Unallocated Partition with the amount of hard disk space that you created earlier.

This is the output of the expanded size as Unallocated space while Expanding a VM Hard Disk in Hyper-V 2012
In conclusion, to finalize your expansion, you will need to complete your expansion with the following:
Right-click on the volume you want to extend (in this case, C:\ Partition) and select “**Extend Volume**.” This will open up the Wizard screen for your extended volume and follow the on-screen instructions to complete the process.

Select the Extend option while
Expanding a VM Hard Disk in Hyper-V 2012
Congratulations! You have just extended your VM’s Hard Disks in Hyper-V 2012. Thank you for following along in this How-To, and feel free to check back with us for any new updates or take a look at the many services we offer, including [VPS hosting](https://www.atlantic.net/vps-hosting/) and [dedicated server hosting.](https://www.atlantic.net/dedicated-server-hosting/)
---
# How to Tell Whether You Have a 32-Bit or 64-Bit Version of Linux
> URL: https://www.atlantic.net/vps-hosting/how-to-tell-32-bit-64-bit-version-linux/ | Published: 2015-04-06 | Updated: 2025-03-06 | Author: Alexander Wise
##### Verified and Tested 10/28/15
### Introduction
You might be a new sysadmin with equipment installed by someone else, or you were just given a server with no clue of what is installed.
If your software requires a system that is 32-Bit or 64-Bit you probably are going to need to find out if your system is 32 or 64 bit.
This how-to will show you how to find out if you are using a 32-Bit or 64-Bit installation on Linux.
## Find out if your Linux installation is 32 bit or 64 bit
There is a program called uname installed on Linux that can show us if the Linux system is 32 or 64 bit.
To find out if your Linux installation is 32 bit or 64 bit, run the command:
```
uname -i
```

If it says x86_64, you are using a 64 bit installation.

If it says i368, you are using a 32 bit installation.
Uname -i gives you the hardware-platform. If you are possibly getting unknown, you can use uname -a to get all the information to find if it is 32-Bit or 64-Bit.
```
Uname -a
```
Anything that is x86_64 is 64 bit and anything that i386, i686 or similar is 32 bit.
Thanks for following along with this how-to. For more helpful articles and how-to’s about Linux, head over to our [blog](https://www.atlantic.net/blog/). Please check back here for more updates or to learn more about our reliable [VPS hosting](https://www.atlantic.net/vps-hosting/) solutions.
---
# The Challenge and Promise of Big Data
> URL: https://www.atlantic.net/vps-hosting/the-challenge-and-promise-of-big-data/ | Published: 2015-04-06 | Updated: 2025-03-06 | Author: Alexander Wise
As the Internet has grown, so has the amount of data and the extent to which data is valued – most notably by the government and publicly traded companies, although even small businesses appreciate the insights they collect from Google Analytics and similar services. Stockpiling and scrutinizing data is considered an extraordinarily powerful way to deliver better products; understand how people use websites and applications; track employee performance; determine the most effective marketing language; and more.
According to projections released by International Data Corporation, the big data market will maintain a CAGR of 26% through 2018, when sales of big data services will hit $42 billion.
The value of the market tells us that businesses are investing large sums of money in companies that specialize in the collection, comprehension, and integration of vast pools of data – in other words, services that can turn the information into better results.
How big of a focus is big data? Well, the spaceship people are in the game.
[Chris Mattman of NASA says](http://www.informationweek.com/big-data/hardware-architectures/how-nasa-manages-big-data-/d/d-id/899791) of his employer’s research in this area, “NASA in total is probably managing several hundred petabytes, approaching an exabyte.”
[*Forbes* contributor Joshua Steimle notes](http://www.forbes.com/sites/joshsteimle/2015/03/25/drowning-in-big-data-finding-insight-in-a-digital-sea-of-information/) that an exabyte is an extraordinarily vast amount of information, 1 billion gigabytes.
## Awash in a Sea of Numbers?
With the technology we now have available, data can accrue so rapidly for enterprises that it amounts to overload for traditional databases – both in terms of keeping it and making any sense out of it. Companies don’t have to build rockets in order to feel somewhat overwhelmed by the sheer enormity of the data at their fingertips, argues *Steimle*.
Chris Riquier, the Asia-Pacific head of Taylor Nelson Sofres, says he has seen the impact in another area: “Market research was founded on surveying and polling.” Now, instead, it is done in real time with information flowing in from social media, search engines, and numerous other sources. Thanks to the focus of technologists on data science and the continual refinement of analytics, Riquier believes that our “ability to react to the market and make decisions has changed drastically.”
Finding meaningful patterns within big data has been a mystery to many firms. However, data engineers are building systems so strong that the trend toward amassing and processing data as quickly as possible is all but inevitable, [per a 2014 *Harvard Magazine* report](http://harvardmagazine.com/2014/03/why-big-data-is-a-big-deal). The article suggested that innovative “big algorithm” formulas will allow firms to benefit from connecting and integrating data stores, as well as converting the numbers into more robust and user-friendly imaging.
Drawing on long-established research techniques from the fields of physics and astronomy, technologists and cultural experts bring their different perspectives to bear on the topic for mutual benefit.
Big data authors Viktor Mayer-Schonberger and Kenneth Cukier note that data analytics isn’t just about individual choices but about completely altering the way that businesses make big-picture decisions – after all, predictive analytics is intended to live up to its name, giving those who use it a logically based, all-seeing crystal ball.
## Big Data Successes
**Google** – Google hypothesized that certain search terms were probably indicators that people were beginning to have flulike symptoms. By applying their guesses to real-time searches, the company was able to figure out where the flu was spreading faster than the CDC could.
**Canadian Bank** – Across the border, Canadian Bank is “using Hadoop, an open source software framework created by Apache,” *Steimle* explains, “to roll out a program that enables the identification of money laundering and fraud.”
## Data & Everyday Life
NASA and Google are high-profile instances of the focus on big data, but its potential is much broader, extending to any business wanting to get attention online. It is the fuel that powers search engine optimization and social media optimization. Entrepreneurs can use Google’s Webmaster Tools, combined with analytic data from social software, to develop a more successful online presence.
Joe Hall, who helps clients improve their Internet presence through his company Hall Analysis, comments that there are two different basic ways data can be analyzed to improve search engine results:
1. *Exploring the patterns within the voluminous data that is directly related to a particular business.*
One of Hall’s clients had more than 15 million backlinks – meaning that many, many webpages were sending their traffic to his client.
**“**At that level it changes the rules for backlink analysis,” Hall comments. Determining the patterns within the data become significantly more complex.
1. *Garnering a more sophisticated understanding of their business’s current position and the dynamics in the market as a whole.*
Looking at the relationship between different variables through analytics software allows businesses to better understand how to rank prominently and how to get more people to respond to a listing when it does show up in the search engine. Two relevant fields of study are *correlation analysis* and *user behavior analysis*, says Hall.
## Revving Your Big Data Engines
One technology that has been fundamental to data scientists and companies utilizing their services is premium cloud computing. After all, [turn-key VPS hosting solutions](https://www.atlantic.net/vps-hosting/)are based on optimizing speed, reliability, and efficiency through virtualized distribution of resources.
Computer scientist Geoffrey Fox of Indiana University has even noted that the cloud is often faster than a supercomputer.
By Kent Roberts
---
# Atlantic.Net Announces Growth and Partnership in Its HIPAA Services
> URL: https://www.atlantic.net/press-releases/atlantic-net-secures-healthcare-industry-with-hipaa-compliant-hosting-for-medical-companies/ | Published: 2015-04-07 | Author: Editorial Team
ORLANDO, Fla., April 7, 2015 — Today, [Atlantic.Net](https://www.atlantic.net/) announced massive growth in its HIPAA Compliant healthcare hosting business, with regards to the changing landscape of the healthcare industry, the fastest-growing sector of the U.S. economy.
The company also announced a partnership with [Genensys](http://genensys.com/), an electronic medical record company, to provide a secure infrastructure for critical patient data, backed by its HIPAA Compliant Hosting solutions.
“We welcome Genensys in joining the ranks of thousands of growing companies that rely on efficient hosting infrastructure provided by Atlantic.Net,” said Marty Puranik, CEO and President of Atlantic.Net. “Our fully compliant and audited HIPAA Hosting platform is ideal for application service providers like Genensys enabling them to bring focus to their core business.”
America’s healthcare companies must quickly adapt to rapid changes in technology to meet patients’ needs and to protect their privacy and Atlantic.Net is making inroads with medical companies and helping them to stay competitive with reliable, secure hosting solutions.
“We are in the business of providing highly-regulated electronic medical records, which requires a secure hosting platform,” said Farhan Shamsi, Co-founder of Genensys. “Atlantic.Net provides a turn-key and secure hosting framework for our application compliance needs, offering excellent value in both price and service,” he added.
Atlantic.Net offers competitive HIPAA Compliant Hosting pricing in affordable [HIPAA Linux and Windows cloud hosting packages](https://www.atlantic.net/hipaa-compliant-hosting/). All of the company’s solutions feature heightened security with a fully-managed firewall; VPNs with encryption; and an intrusion detection system. This is all backed by an Infrastructure that has received a SOC 2 Type I audit report.
**About Atlantic.Net:** Established in 1994, Atlantic.Net is a web hosting provider specializing in offering cloud server hosting, HIPAA compliant and hybrid hosting, private virtualization, and [VPS cloud hosting](https://www.atlantic.net/vps-hosting/). Our hosting services provide an isolated, secure environment for each customer’s applications and databases with a 100 percent uptime service-level agreement (SLA). This is all backed by an Infrastructure that has received SSAE 16 SOC 1 Type II and SOC 2 Type I reports. The audit for the reports is based on the AICPA guidelines, including the Trust Service Principles. For more information, please visit www.atlantic.net.
# # #
CONTACT:
[marketing@atlantic.net](mailto:marketing@atlantic.net)
---
# How to: cPHulk Brute Force Protection on cPanel and WHM
> URL: https://www.atlantic.net/vps-hosting/how-to-cphulk-cpanel-whm/ | Published: 2015-04-07 | Updated: 2026-03-03 | Author: Jason Mazzota
##### Verified and Tested 03/24/2015
### Introduction
This guide will take you through using cPHulk brute force protection in cPanel & WHM.
### Prerequisites
An Atlantic.Net Cloud server with CentOS 6 and cPanel & WHM. If you do not have a [virtual private server](https://www.atlantic.net/vps-hosting/), why not spin one up from Atlantic.Net in under 30 seconds.
## Using cPHulk on cPanel and WHM
The first step to using cPHulk on your cPanel & WHM server is to first log into the WHM side of the server. To do this, you would want to go to https://your_cloud_IP:2087 and log in using your root credentials. Once logged in, on the search bar at the top left (if you can’t find it, it looks like the image below), type “cphulk”. The side list should filter, and you will see a section called “cPHulk Brute Force Protection”. Click on this section to go to the cPHulk options.
 Search
The basic cPHulk page looks like the below image. We’ll go over the configuration settings page below.

1. cPHulk state. This will tell you whether or not cPHulk is enabled on your server. You can also disable/enable it here.
2. Clear Failed Logins. This will clear the cPHulk database of failed logins. It’s not recommended unless you need to clear out some failed attempts and someone needs access that is locked out.
3. IP Based Brute Force Protection Period in minutes. This option is for how long an IP is blocked by cPHulk for brute forcing.
4. Brute Force Protection Period in minutes. This is the time period that cPHulk will gather and track failed connection attempts for.
5. Maximum Failures By Account. This is how many times someone can fail within the Brute Force Protection Period before the account is locked.
6. Maximum Failures Per IP. This is how many times someone can fail within the Brute Force Protection Period before the IP is blocked.
7. Maximum Failures Per IP before IP is blocked for two week period. This is self-explanatory. How many times an IP can fail before being blocked for 2 weeks.
8. Send a notification upon successful root login when IP is not whitelisted. The server will send you an email if an IP you have not whitelisted logs into the server as root.
9. Extend account lockout time upon additional authentication failures. This means the more you fail to log in after being blocked, the longer you will be blocked for.
10. Send notification when a brute force user is detected. This will send you an email as soon as cPHulk blocks someone trying to log in.
For the white/black list management page see the below.
 White/ Blacklist
1. White List Entry. This will allow you to input an IP or range of IPs into the whitelist. It is recommended that you only add IPs that will be accessing the server that you trust. Mainly your own IP.
2. Black List Entry. This will allow you to input an IP or range of IPs into the blacklist. If you know of an IP or range that you would like to add to the blacklist to stop them from accessing the server, you would enter them here.
3. Edit Whitelist. This will bring you to a new page where you can edit (add/remove) multiple IPs in the whitelist at once. When you are done, you simply click the “Save” button.
4. Edit Blacklist. This will bring you to a new page where you can edit (add/remove) multiple IPs in the blacklist at once. When you are done, you simply click the “Save” button.
The last configuration page is the Login/Brute History Report page. It provides a history of any failed logins or brute force attempts on your server as you can see below.
 Reporting
cPHulk allows for a good amount of customization to help secure your server from failed logins and brute force attempts. It is recommended that you have it enabled and put your IP in the whitelist. If you find that you have locked yourself out of your server via cPHulk, you can view [this page](https://www.atlantic.net/vps-hosting/how-to-locked-cpanel-whm-via-cphulk/) on how to remedy the issue.
---
# How to: Locked out of cPanel and WHM via cPHulk
> URL: https://www.atlantic.net/vps-hosting/how-to-locked-cpanel-whm-via-cphulk/ | Published: 2015-04-07 | Updated: 2024-06-10 | Author: Jason Mazzota
##### Verified and Tested 03/24/2015
## Introduction
You have locked yourself out of your server from too many login attempts that have failed due to a wrong password or other means. You know you have cPHulk running on the server, and there’s a good possibility it is now blocking you because you did not put your IP in the whitelist. How do you fix it? Follow the steps below!
## Prerequisites
An Atlantic.Net virtual private server with CentOS 6 and cPanel & WHM.
## Unlock yourself from cPHulk
The first thing to do, in this case, is to attempt to disable cPHulk via the web; however, this has a slim chance of working. To do this, append the below onto your web path.
`/scripts2/doautofixer?autofix=disable_cphulkd`
It should look something like:
`https://your_Cloud_IP:2087/scripts2/doautofixer?autofix=disable_cphulkd`
If that does not work, confirm whether or not you can SSH into your server as root. If you can, then great! You can run the below command lines via SSH to stop and disable cPHulk and attempt to log into the website version of WHM or cPanel.
If you cannot SSH, try to use the VNC viewer available in the Cloud Portal and login. If that fails, continue with the below options.
`/usr/local/cpanel/etc/init/stopcphulkd``/usr/local/cpanel/bin/cphulk_pam_ctl --disable`
[Find more whm scripts here](https://documentation.cpanel.net/display/ALD/WHM+Scripts).
So the Web, SSH, and VNC options did not work for you. Do you have another IP or computer to attempt these options from? [You could also try resetting your password via the single-user mode found here](https://www.atlantic.net/hipaa-compliant-hosting/how-to-atlantic-net-cloud-enter-single-user-mode-centos/). Contact us for assistance, and we will be able to try it from our end.
Once access is regained by disabling cPHulk, remember to immediately add your IP to cPHulk’s whitelist and re-enable cPHulk.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to: NIC Teaming Windows Server 2012 R2 with Hyper-V
> URL: https://www.atlantic.net/dedicated-server-hosting/how-to-nic-teaming-windows-server-2012-r2/ | Published: 2015-04-08 | Updated: 2024-06-04 | Author: Jose Velazquez
### Introduction
This How-To will walk you through Configuring Windows Server 2012 R2 NIC Teaming to a Hyper-V Virtual Machine.
NIC Teaming is the name Microsoft gives for the process of combining multiple network interface controllers (NICs) for speed, redundancy, or both.
### Prerequisites
– A Windows Server 2012 R2 server with the Hyper-V role installed.
– Minimum 2 NIC cards installed on your server.
## Configuring Windows Server 2012 R2 NIC Teaming
Open the Server Manager. Right-click on Hyper-V and select **Configure NIC Teaming**.

Server Manager: Hyper-V
Locate the Task drop-down and select **New Team**. (Note: You will see the available NICs in the Adapters and Interfaces section).

NIC Teaming
For Team Name, please type the name that you want to set it up as. Check the NIC cards that you want to team. In the additional properties drop-down, change the Load Balancing Mode to Hyper-V Port. (Note: Teaming Mode should be defaulted to “Switch Independent,” and Standby Adapter should be defaulted to “None(all adapters Active).”

New Team
You will get a red Fault alert on the status. Don’t worry, it will come right up shortly and change to a green OK status.

Team Status

Team status
Click on the **Team Interface** tab. Right-Click on your Team Name and select Properties.

Team interface properties
In the Properties, you should see the Description set to “Microsoft Network Adapter Multiplexor Driver.” In the VLAN membership, verify that the Default option is selected and click OK.

General Properties.
Go to Control Panel. Click **Network and Internet**. Click N**etwork Connections** and Right-Click on Your Team Name. Activate the “Microsoft Network Adapter Multiplexor Protocol (If it is not already checked).

Team Properties
Go back to the Server Manager. Right-click on your server and select Hyper-V Manager. Select the Virtual Switch Manager. Click **Create Virtual Switch.**
Create a Name for the Virtual Switch. Select **External Network, and click** on the **Microsoft Network Adapter Multiplexor Driver**. Verify that the “Enable virtual LAN identification for management operating system” is checked. Then Click Apply and OK.

Virtual Switch
Verify that NIC Teaming is working correctly. Unplug one of the Network Cables on the NIC and notice that the server will remain with the network connection. Plug the Network Cable back and try it with the other Network Cable. (Note: You can also open up the command prompt while having one of the Network Cables disconnected and PING the Server. You will get a reply from the server with no problem).
Congratulations! You have just Configured Windows Server 2012 R2 NIC Teaming to a Hyper-V Virtual Machine. Thank you for following along in this How-To and check back with us for any new updates, or find out more about [dedicated server hosting](https://www.atlantic.net/dedicated-server-hosting/) and [VPS hosting](https://www.atlantic.net/vps-hosting/) from Atlantic.Net.
---
# How to Install Ruby on Rails on Ubuntu 20.04 with RVM
> URL: https://www.atlantic.net/vps-hosting/how-to-install-ruby-rails-ubuntu-20-04-rvm/ | Published: 2015-04-10 | Updated: 2024-10-21 | Author: Atlantic.Net NOC
##### Verified and tested 06/01/21
### Introduction
Installing Rails in Ubuntu has gotten much more accessible in recent days. The easiest way to do this is via installing RVM (Ruby Version Manager).

*Ruby on Rails by [Walker Cahall ](http://www.waltronic.net/)*
## Install Required Dependency
First, you will need to install some dependencies on your server. You can install all of them with the following command:
```
apt-get install gnupg2 curl wget -y
```
Once all the packages are installed, you can proceed to the next step.
## Installing Rails on Ubuntu
In this section, we will show you how to install Ruby on Rails with RVM.
First, download and add the GPG key with the following command:
```
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
```
Next, install the RVM with the following command:
```
curl -sSL https://get.rvm.io | bash -s stable
```
Next, activate the RVM using the following command:
```
source /usr/local/rvm/scripts/rvm
```
Next, install the latest stable version of Ruby with the following command:
```
rvm install 3.0.1
```
Next, set the Ruby version as the default version:
```
rvm use 3.0.1 --default
```
Next, verify the installed version of Ruby with the following command:
```
ruby -v
```
Output:
```
ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-linux]
```
Next, install the bundler with the following command:
```
gem install bundler
```
Next, install the Rails using the gem command:
```
gem install rails
```
Once the Rails is installed, verify the installed version of Rails with the following command:
```
rails -v
```
You should get the following output:
```
Rails 6.1.3.2
```
Congratulations! You should now have rails installed on your ubuntu server.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# The HIPAA Compliant Cloud: An Introductory Report
> URL: https://www.atlantic.net/hipaa-compliant-hosting/the-hipaa-compliant-cloud-an-introductory-report/ | Published: 2015-04-13 | Updated: 2026-03-01 | Author: Sam Guiliano
More and more healthcare companies are evaluating the cloud as a possible environment for data processing and storage. As more investment has been pumped into the cloud industry, systems have become substantially more robust and complex. However, federal law dictates that providers, health plans, and health data clearinghouses must keep all “protected health information” (PHI) secure and confidential – and the role of technology providers is critical.
“The HIPAA Omnibus Rule had several changes in how CEs and business associates could handle patient data,” [explains Elizabeth Snell of *HealthIT Security*](http://healthitsecurity.com), “and what the ramifications will be if that data is compromised in a data breach.”
## HIPAA Compliance
As of the Final Omnibus Rule, companies that provide any solution handling American patient data as “business associates” of healthcare companies – extending from paper shredders to cloud hosts and software developers – must comply with the same essential privacy, security, and breach notification rules established for healthcare firms (a.k.a “covered entities”).
Keep in mind, though, that noncompliance is rampant. *FierceHealthIT* cited an Office of Civil Rights (HHS Department) attorney stating that the fines issued to healthcare companies failing to meet HIPAA stipulations would skyrocket between June 2014 and June 2015. Since it’s clear that not everyone is following the protective data measures required by the act, self-education is critical – and that’s the intent of this preliminary report on the cloud for health data.
**What is Cloud Computing?**
Virtual cloud servers allow businesses to store data and utilize resources located elsewhere while accessing from anywhere they want. Essential IT functions such as maintenance of servers and patching of operating software are entrusted to a third party, typically called a cloud service provider (CSP).
One way [HIPAA Cloud Hosting](https://www.atlantic.net/hipaa-compliant-hosting/) is used in healthcare is for imaging, taking advantage of the unprecedentedly affordable performance.
“Cloud services can help healthcare organizations become more connected,” argues Snell, “which is beneficial in an increasingly digital industry.”
As you consider how you want to interact with the cloud, it’s helpful to know that there are three primary categories of public cloud providers:
- **Software as a service (SaaS)** – This cloud provider gives you specific software capabilities such as an email system or a customer service portal.
- **Platform as a service (PaaS)** – You have access to external resources delivered through a platform established by the digital provider. Within reason, you can put whatever type of software you want on that platform.
- **Infrastructure as a service (IaaS)** – This option gives you complete freedom and control. You are actually in charge of your own cloud server in this situation.
**The “Final” Omnibus Rule & the Cloud**
The Omnibus Rule, which went into effect in 2013, establishes that the health data of American citizens must remain private regardless of location.
The rule states clearly that it doesn’t matter if a third party does not regularly look at the health data of its clients. All that matters is that the data is accessible to them. Essentially, any digital provider handling health data *in any way* must comply with the law.
In a report on the intersection of the Omnibus Rule and the cloud, the Center for Democracy and Technology (CDT) noted that it was unclear previously if companies that did not regularly access the data needed to worry about HIPAA themselves. Now it’s clear that they do.
The responsibilities of business associates range vastly based on how they are interacting with the protected health data, explains the CDT whitepaper. In a nutshell, though, a service provider that has properly blocked itself off from the data and “that adheres to HHS standards for encryption should have little liability risk as a business associate (except to ensure that it properly manages encryption).”
Partially because the cloud has matured and because the relationship to HIPAA is more evident for all parties involved, cloud storage is now considered an option worth legitimately exploring – with many of the major hosting providers getting certified to prove their compliance to customers.
Cloud companies typically provide advice to their clients to achieve full compliance.
An Amazon Web Services whitepaper on the topic notes that HIPAA-compliant health data should be encrypted with 256-bit AES cryptography or similar. Additionally, the document argues that you can reduce your risk and improve your resource efficiency by omitting any nonessential patient data before sending anything through a cloud system.
**Is the Cloud a Necessity?**
Cloud is by no means necessary to operate in the current healthcare climate. Many of our HIPAA compliant customers use dedicated servers, even if they want to divide those servers up into numerous virtual machines.
However, as Snell indicates, healthcare companies “might find that this storage option is ideal for them as it can cut down on certain operating or storage costs, and could streamline many services.” Finally, she stresses the importance of a solid business associate agreement.
Do you need to maintain compliance with HIPAA, as with a *self-encrypted storage plan*? We offer comprehensive, fully audited [HIPAA Compliant Hosting](https://www.atlantic.net/hipaa-compliant-hosting/) solutions within our SSAE 16 certified datacenter, all backed by a transparent and fair business associate agreement.
---
# Atlantic.Net’s HIPAA compliance benefits companies and patients
> URL: https://www.atlantic.net/press-releases/atlantic-net-offers-hipaa-audited-hosting-solution-to-give-medical-companies-and-patients-protection/ | Published: 2015-04-14 | Author: Editorial Team
ORLANDO, Fla. April 14, 2015 — Atlantic.Net announces its designation as HIPAA audited to give medical companies and patients protection through [HIPAA Compliant Hosting](https://www.atlantic.net/hipaa-compliant-hosting/) solutions to better secure personal information in an environment built to safeguard ePHI (electronic protected health information.)
Helping clients to realize the importance of compliance to HIPAA regulations and protecting patient health information, Atlantic.Net offers HIPAA Compliant Hosting solutions that have been certified to meet the HIPAA Security Rule by an independent third party, [A-lign](http://www.a-lign.com/), a full-service security, assurance and compliance solutions firm.
“Our audit finds Atlantic.Net is in full compliance with the relevant controls and meets all HIPAA compliance standards and requirements for physical and environmental controls, and the management oversight of the environment,” said Gene Geiger, a Partner at A-lign.
Colocation facilities are considered business associates under HIPAA and must implement the applicable safeguards to host their servers containing ePHI with a third party and are required to ensure that the company is HIPAA compliant.
“Our HIPAA compliance certification by an independent third party auditor signifies our continued commitment to focus on providing affordable and reliable hosting solutions for the healthcare industry,” said Marty Puranik, President, and CEO of Atlantic.Net. “This goes hand in hand with our commitment to secure patients’ medical records backed by top-notch hosting operations.”
Atlantic.Net offers competitive HIPAA Compliant Hosting pricing in affordable HIPAA Linux and Windows cloud hosting packages. All of the company’s solutions feature heightened security with a fully managed firewall; VPNs with encryption; and an intrusion detection system. This is all backed by an Infrastructure that has received specialized reports. The audit for the reports is based on the AICPA guidelines, including the Trust Service Principles, and included tests of operating effectiveness and controls relevant to security and availability principles.
**About Atlantic.Net:**
In 1995, two University of Florida students launched one of North Florida’s first commercial Internet services, Atlantic.Net. Over its first seven years, Atlantic.Net acquired 13 Internet service companies and augmented its e-business services to include long distance services, dial-up, broadband, web solutions, fractional T-1 through DS-3 connectivity, DSL and ISDN access, Web hosting, Web design, and e-commerce. Atlantic.Net’s staff has grown to more than 100 employees and been recognized both Nationally and in Florida as one of the fastest-growing private companies. Our award-winning customer service and investment in cutting-edge technology is still a guiding force behind the company. Today, Atlantic.Net has state of the art fast SSD cloud servers offering the very best in cloud hosting solutions, one-click WordPress cloud hosting, and many other services.
To learn more about Atlantic.Net’s complete line of services including [healthcare hosting](https://www.atlantic.net/hipaa-compliant-hosting/what-is-healthcare-hosting-hipaa/), call 1.866.618.3282 or visit or visit [Atlantic.Net](https://www.atlantic.net/vps-hosting/).
CONTACT:
[marketing@atlantic.net](mailto:marketing@atlantic.net)
---
# How to: WHM and cPanel Initial Basic Configuration on CentOS 7.x
> URL: https://www.atlantic.net/vps-hosting/how-to-whm-cpanel-initial-configuration/ | Published: 2015-04-15 | Updated: 2026-03-02 | Author: Jason Mazzota
##### Verified and Tested 06/01/2021
### Introduction
In this guide, we will be reviewing the basic configuration options on first initializing your cPanel & WHM server. It will examine some essential areas that may need to be customized by you to get the whole experience and your needs out of cPanel & WHM.
## Initial Configuration of cPanel & WHM on CentOS 7
Once you have your cPanel & WHM server provisioned, you will want to log into the server. Upon fresh login, you should be presented with an End User Agreement license page like the one below. After review, click on the blue button “I Agree/Go to Step 2.”
 License Agreement
On this next page, you will be prompted to set up networking. The first section on this page is the Contact information. This is information so the server knows how to contact you should something go wrong. This section looks like the below, and the areas 1, 2, 3, and 4 are described as follows:
 Contact Information
1. “Server Contact Email Address” – This first area is the server contact email address. This would be the email address the server will email should anything go wrong. It is recommended that you insert a contact address that you often check, as it is a required field.
2. “Server Contact SMS Address” – This is an optional field for putting in a phone or pager email that is capable of receiving SMS.
3. “Server Contact AIM Name” – This is an optional field for using an AIM username for the server to message. It will prompt you for a username and password should you enable this.
4. “Server Contact ICQ Number” – This is an optional field for an ICQ number, and it will ask you for the number and password should you enable this.
The next section is the Hostname section which defaults to the below image. For this field, you DO NOT want to use your base domain/website. You will want to use a subdomain of your domain. Something like “server1.domain.tld” or “webserver.domain.tld” where domain.tld is your domain/website. If you do not have a domain, you may make up/create a subdomain, but please note that this value will never resolve if there are no DNS records for it. As an additional note, please use a value here that you either have or will create an A record or other type of DNS record for. This will allow you to access your server by using that subdomain easily.
 Hostname
The third section on this page is for Resolvers. These are important as they handle how your server will resolve traffic and where it will go. These should be left at the default value of 209.208.127.65 and 209.208.25.18. There is not a third resolver for our servers to use.
 Resolvers
The last section is the Main Network Device. This field should also be left as the default value, as eth0 is the primary network device. Once done, you can click on “Save & Go to Step 3.”
 Ethernet Device
The next page will be the “Setup IP Addresses” page. You do not have to do anything here unless you have already reserved and assigned an additional IP to this server. If you have not, you may click “Skip This Step and Use Default Settings.” If you have an additional IP address, add it to the field and click “Add IP(s).”
 Setup IP Address
The next page will bring you directly to a Nameservers page. The first box here is Nameserver Configuration. It is important to note that if you are NOT using your server to host your own private or public DNS, you should choose the option “Disabled.” If you are using your own nameservers, pick the nameserver option that best applies to you. In most cases, the default BIND will work for your needs.
 Name Server
After this, there is a section for choosing the nameservers that domains on this server will use. If you have your own nameservers for use, you will put these here. DO NOT leave the default values. Using our Cloud DNS for your domains, you will want to use ns1.quickroutedns and ns2.quickroutedns, as the picture below shows.
 Authoritative DNS
In the next section, you should leave it as is and click on the “Save & Go to Step 5.”
The next page deals with FTP, mail, and cPHulk services. In the first section for FTP, you can leave as the default, which is set to Pure-FTPD. If you’d rather use ProFTPD, you may do so. If you do not need FTP, you may disable it, but if you plan to upload files, it would be best to pick between Pure and Pro FTPD.
 FTP Configuration
The following section deals with email and what you want to use for your mail on the server. If you won’t be using email, you can disable this. Otherwise, the default Dovecot is an excellent choice. You may use Courier if you prefer. There’s also the check box for Convert Mailbox Format. You can leave this checked, and it is only in play if you are migrating email from another server.
 Mail Configuration
The following sections deal with cPHulk and Perl Modules. cPHulk is brute force protection built into cPanel & WHM. It’s a great idea to enable this and leave it on the default. Remember to add your IP to the whitelist for the service once this configuration is done. The standard set of perl modules is used if you use perl modules that reference /usr/bin/perl. Otherwise, it is not needed. You can click on “Save & Go to Step 6” when done here.
 cPHulk
The last page is for Quotas. This page lets you determine if you want to use quotas or not. If you do not, you can not keep track of the website’s quotas or email quotas. Once you decide, click “Finish Setup Wizard,” and we are done with the initial setup. This will bring you to the next page called Feature Showcase.
 Quotes
The first section on the Feature Showcase page deals with Recommended Features. It’s recommended to keep these enabled, but it is your choice.
 Recommended Features
After that is the New Features list. These are features you can enable or opt-out of. They mainly deal with email. If you would like to email clients to store a copy of messages, turn on the Archiving. If you would like users to use Auto-Discovery in their mail client for email settings, enable the Auto Discovery option. Query Apache for “nobody” senders is one that we highly recommend is enabled. This will allow you to track down compromised email accounts more easily. We also recommend the SMTP Restrictions options to block compromises. Trust X-PHP-Script should only be used if you’re positive no one on your system will be sending or being compromised. This should rarely be enabled. Once done, click the “Save Settings” button, and that will complete all of the configuration necessary to start using cPanel & WHM.
 New Features
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Install Tomcat and Java on CentOS 8
> URL: https://www.atlantic.net/vps-hosting/how-to-install-tomcat-java-centos-8/ | Published: 2015-04-16 | Updated: 2024-10-21 | Author: Jason Mazzota
##### Verified and Tested 6/01/21
### Introduction
This tutorial will take you through installing Tomcat 9 on CentOS 8 x86_64. Tomcat is an application server used to execute Java servlets and publish web pages that include Java coding. Tomcat requires Java to be installed, which will be covered in this tutorial.

*Illustration by [Walker Cahall](http://www.waltronic.net/)*
## Step 1 – Install Java
Tomcat is a Java-based application, so Java must be installed on your server. If not installed you can install it with the following command:
```
dnf install java-11-openjdk-devel
```
Once the Java is installed, check the Java version using the following command:
```
java --version
```
Output:
```
openjdk 11.0.11 2021-04-20 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.11+9-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.11+9-LTS, mixed mode, sharing)
```
## Step 2 – Download Tomcat
First, you will need to create a user to run Tomcat. You can make it with the following command:
```
useradd -m -U -d /opt/tomcat -s /bin/false tomcat
```
Next, you only need to download Tomcat. You can find the latest version of Tomcat on the [Tomcat](https://tomcat.apache.org/download-90.cgi) website. At the time of this article, the latest version of Tomcat 9 is Tomcat 9.0.46. You can download it by running:
```
wget https: //downloads.apache.org/tomcat/tomcat-9/v9.0.46/bin/apache-tomcat-9.0.46.tar.gz
```
Once the download is completed, extract the downloaded file with the following command:
```
tar -xvf apache-tomcat-9.0.46.tar.gz
```
Next, move the content from the extracted directory to the /opt/Tomcat:
```
mv apache-tomcat-9.0.46/* /opt/tomcat/
```
Next, set proper permission and ownership to the /opt/tomcat directory:
```
chown -R tomcat: /opt/tomcat
chmod -R 755 /opt/tomcat
```
## Step 3 – Create a Systemd Service File for Tomcat
Next, you will need to create a systemd service to manage the Tomcat service. You can create it with the following command:
```
nano /etc/systemd/system/tomcat.service
```
Add the following lines:
```
[Unit]
Description=Tomcat 9 servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat/"
Environment="CATALINA_HOME=/opt/tomcat/"
Environment="CATALINA_PID=/opt/tomcat//temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
```
Save and close the file, then reload the systemd daemon with the following command:
```
systemctl daemon-reload
```
Next, start the Tomcat service and enable it to start at system reboot:
```
systemctl enable --now tomcat
```
You can also check the status of the Tomcat service with the following command:
```
systemctl status tomcat
```
Output:
```
● tomcat.service - Tomcat 9 servlet container
Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2021-06-01 00:59:30 EDT; 4s ago
Process: 1661 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 1668 (java)
Tasks: 30 (limit: 12524)
Memory: 155.5M
CGroup: /system.slice/tomcat.service
└─1668 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/opt/tomcat//conf/logging.properties -Djava.util.logging.manager=o>
Jun 01 00:59:30 centos systemd[1]: Starting Tomcat 9 servlet container...
Jun 01 00:59:30 centos systemd[1]: Started Tomcat 9 servlet container.
```
## Step 4 – Configure Tomcat
Next, you will need to set Tomcat admin password and user for admin-gui and manager-gui. You can set it by editing the tomcat-users.xml file:
```
nano /opt/tomcat/conf/tomcat-users.xml
```
Add the following lines above the last line :
```
```
Save and close the file when you are finished.
By default, the Tomcat manager and Host manager apps are configured to access only from the localhost. So you will need to configure it to access from the outside network.
To configure the Manager app, edit the context.xml file:
```
nano /opt/tomcat/webapps/manager/META-INF/context.xml
```
Remove the following lines:
```
```
Save and close the file.
To configure the Host Manager app, edit the context.xml file:
```
nano /opt/tomcat/webapps/host-manager/META-INF/context.xml
```
Remove the following lines:
```
```
Save and close the file, then restart the Tomcat service to apply the changes:
```
systemctl restart tomcat
```
## Step 5 – Access Tomcat Web UI
Now, open your web browser and access the Tomcat using the URL HTTP: //your-server-ip:8080. You should see the following page:

Now, click on the Manager App. You should see the following page:

Provide your admin username, password and click on the Sign-in button. You should see the following page:

Now, go to the Tomcat main dashboard again and click on the Host Manager. You should see the following page:

Congratulations! You have just installed Tomcat and Java on your CentOS 8 Cloud Server. Thank you for following along in this How-To, and check back with us for any new updates. You may want to follow the guides on [changing the CentOS 8 hostname](https://www.atlantic.net/hipaa-compliant-hosting/how-to-change-hostname-centos-6-9-7-x-8-x/). Contact us today for a consultation for more information on our reliable [VPS hosting](https://www.atlantic.net/vps-hosting/) solutions and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Install Linux, Apache, MySQL and PHP (LAMP) on a Fedora 20 Cloud Server
> URL: https://www.atlantic.net/vps-hosting/how-to-install-lamp-fedora-20/ | Published: 2015-04-17 | Updated: 2024-06-06 | Author: Jose Velazquez
##### Verified and Tested 02/27/15
### Introduction
In this How-To, we will walk you through the install LAMP on your Fedora 20 Cloud Server. LAMP is simply a software bundle that consists of 4 components. L (Linux) is the core of the platform, which will sustain the other components. A(Apache)will be used for the web service. M(MySQL)will be used for database management, and P(PHP) will be the programming language. It is making the platform a LAMP.
## Install Lamp on Fedora 20
To install lamp, the first thing we need to do is install Apache with the following command:
```
yum install httpd
```
Start Apache with the following command:
```
systemctl start httpd.service
```
You will want the Apache service to start on start-up/reboot with the following command:
```
systemctl enable httpd.service
```
Add the following commands in Apache to override in Firewall-cmd as follows:
```
firewall-cmd --set-default-zone=public
```
```
firewall-cmd --permanent --zone=public --add-service=http
```
```
firewall-cmd --permanent --zone=public --add-service=https
```
```
firewall-cmd --reload
```
You can now verify that Apache is installed correctly by typing http:// and your IP on your browser.
http:// YOUR.IP.ADD.RESS
You should see the following screenshot in your browser:

Default apache test page
You can edit the main configuration file to your preference for one or many websites with the following commands:
```
vi /etc/httpd/conf/httpd.conf
```
or
```
nano /etc/httpd/conf/httpd.conf
```
Un-comment the line containing the text **NameVirtualHost *:80**and edit accordingly****
Save the file
Restart the Apache HTTP
```
systemctl restart httpd.service
```
Install MySQL with the following command to begin the install:
```
yum install mysql mysql-server
```
Start the service with the following command:
```
systemctl start mysqld.service
```
Enable MySQL to start upon a reboot with the following command:
```
systemctl enable mysqld.service
```
Secure MySQL with the following command:
```
mysql_secure_installation
```
Note: When prompted with “Enter current password for root,” hit enter for none then Y(Yes) to set the MYSQL password. You will be prompted with a series of questions. Type Y for yes on all of them; see the screenshot below:

Mysql Secure Installation
Install PHP with the following command to begin the install:
```
yum install php
```
Restart apache to take all the changes:
```
systemctl restart httpd.service
```
Create a test PHP file in the following directory with the following command:
```
sudo vi /var/www/html/info.php
```
Insert the following code in the space, then save and exit:
```
```
Restart Apache, so all the changes take effect:
```
sudo service httpd restart
```

info.php
Test your page in your browser with the following hyperlink changed with your IP address:
http:// YOUR.IP.ADD.RESS/info.php
Congratulations! You have just installed LAMP on your Fedora 20 Cloud Server. Thank you for following along in this How-To, and check back with us for any new updates.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and V[PS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# What is cPanel/WHM?
> URL: https://www.atlantic.net/vps-hosting/what-is-cpanel-whm/ | Published: 2015-04-20 | Author: Chelsea Fieler
## What is cPanel/WHM?
cPanel is a leading web-based control panel that intuitively lets users manage all aspects of their website and creates valuable functionality by streamlining essential processes. From adding sub-domains and email accounts to installing scripts and checking bandwidth, the control and flexibility provided by cPanel are unsurpassed. By integrating cPanel with the impressive power of a Virtual Private Server from Atlantic.Net, the result is a truly efficient way to scale hosting solutions and manage individual servers from one user-friendly interface.
## Enhanced VPS Offering with cPanel
cPanel/WHM is designed with several administrative levels and offers different user communication channels for administrators, resellers, and end-users with email-based interfaces. These various organizational levels provide security, ease of use, and flexibility for everyone, whether a server administrator or simply an email account user.
A few of cPanel’s features include the ability to manage files via FTP, manage email accounts, control spam, view website statistics, and manage databases using MySQL, PostgresSQL, and phpMyAdmin. In addition, [cPanel VPS Hosting](https://www.atlantic.net/vps-hosting/) offers valuable services such as automated backups and intuitive DNS management.
## All VPS Plans Are Equipped With Cloud Features!
cPanel/WHM is available on Atlantic.Net’s VPS in the Cloud platform, making web hosting and managing individual servers easy and effective. With Atlantic.Net’s world-class [VPS hosting](https://www.atlantic.net/vps-hosting/) service, users can provision cPanel/WHM-ready VPS in seconds, as opposed to the 60-90 minutes required for self-installation or on-site physical or off-site dedicated servers. Call 1.866.618.3282 today or email us at sales@atlantic.net for VPS in the Cloud!
---
# How to Install Node.js on Ubuntu 14.04
> URL: https://www.atlantic.net/vps-hosting/how-to-install-node-js-ubuntu-14-04/ | Published: 2015-04-20 | Updated: 2024-06-06 | Author: Jose Velazquez
### Introduction
Node.js is a popular platform that is used to build quick and upgradable network applications efficiently. It achieves maximum productivity with the minimum effort needed, often used in applications used throughout many devices.
## Install Nodejs
There are several ways that we can install node.js in Ubuntu 14.04. We will go over the basic install, the PPM install, and the NVM install.
## The Basic install (Distro-Stable Version)
To update the current packages, the command is:
```
sudo apt-get update
```
Install the node.js package, the command is:
```
sudo apt-get install nodejs
```
Install npm(Node Package Manager)as well for package management; the command is:
```
sudo apt-get install npm
```
Verify the current version of Node.js installed, the command is:
```
node -v
```
Congratulations! You have installed Node.js using The Basic(Distro-Stable Version) install.
## The PPA install (Personal Package Archive)
Install the PPA to get access to its contents; the command is:
```
curl -sL https://deb.nodesource.com/setup | sudo bash -
```
If you get the following error message “-bash: curl: command not found,” run the following command to update the apt-get file:
```
sudo apt-get install apt-file && apt-file update
```
Update your local packages; the command is:
```
sudo apt-get update
```
Install the node.js, the command is:
```
sudo apt-get install nodejs
```
Install npm(Node Package Manager)to manage your package.
```
sudo apt-get install npm
```
Verify your version of Node.js is installed; the command is:
```
node -v
```
Congratulations! You have installed Node.js using The PPA(Personal Package Archive) install.
## The NVM install (Nodejs Version Manager)
The NVM install is another way of installing Node.js
```
using apt.
```
Installed through a tool called,
```
nvm
```
(Node.js version manager).
Using NVM will give you a selection of different versions of Node.js, from the latest to several previous ones.
Update the system to build the source packages; the command is:
```
sudo apt-get update
```
Install the following to make your components with the nvm script that we’ll go over next:
```
sudo apt-get install build-essential libssl-dev
```
Download then install the nvm script with the following command or get them from https://github.com/creationix/nvm
```
curl https://raw.githubusercontent.com/creationix/nvm/v0.7.0/install.sh | sh
```
The software will install in a subdirectory of your home directory
```
~/.nvm
```
and will add the necessary lines to your
```
~/.profile
```
file to use the file.
With the following command, source the
```
~/.profile
```
for your session to know about these changes, and you can access the nvm functionality.
```
source ~/.profile
```
Nvm has been installed. Now you can install whatever version of Node.js is available.
To view the versions that are currently available, the command is:
```
nvm ls-remote
```

Sample nvm output
You should see something like the following;
Install the version you want with the command:
```
nvm install [your version]
```
Example:
```
nvm install 0.11.16
```
Configure nvm to use the version of Node.js that you just downloaded; the command is:
```
nvm use [your version]
```
Example:
```
nvm use 0.11.16
```
To verify the current version of Node.js installed, the command is:
```
node -v
```
If you have a lot of Node.js versions, see what’s installed, the command is:
```
nvm ls
```

Sample nvm ls
To default one of the versions that are installed, the command is:
```
nvm alias default [your version]
```
Example:
```
nvm alias default 0.11.16
```
You can also reference it by the following alias:
```
nvm use default
```
You can have
```
npm
```
install packages to the Node.js project’s
```
./node_modules
```
directory by using the standard format:
```
npm install express
```

Install npm
If you’d like to install it globally (available to the other projects using the same Node.js version), you can add the
```
-g
```
flag:
```
npm install -g express
```

Install npm
This will install the package in:
```
~/.nvm/node_version/lib/node_modules/package_name
```
Installing globally will let you run the commands from the command line, but you’ll have to use link the package into your locally to require it from within a program:
```
npm link express
```

npm Link Express
Other options are available with the following command:
```
nvm help
```

NVM Help
Congratulations! You have installed Node.js using The PPA(Personal Package Archive) install.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Install Active Directory in Windows Server 2012
> URL: https://www.atlantic.net/vps-hosting/how-to-install-active-directory-windows-server-2012/ | Published: 2015-04-21 | Updated: 2024-06-05 | Author: Jose Velazquez
##### Verified and Tested 03/12/2015
### Introduction
This How-To will walk you through Installing Active Directory in Windows Server 2012. Active Directory, also known as AD, is a service that comes with many Windows Server Operating Systems. It is used to manage Domain Networks distinguishing an administrator user and regular users. This is done by verifying the specified security boundaries and policies for each user to maintain the Network secure and restricted.
### Prerequisites
– A Server with Windows Server 2012. If you do not have a server already, you can visit our [VPS Hosting](https://www.atlantic.net/vps-hosting/) page and spin a new server up in under 30 seconds.
## Installing Active Directory on Windows Server 2012
Open the **Server Manager** from the taskbar.
From **Server Manager **Dashboard, select **Add roles and features**. This will launch the Roles and Features Wizard, allowing modifications to be performed on the Windows Server 2012 instance.

Server Manager
Select **Role-based or feature-based** installation from the Installation Type screen and click **Next**.

Installation Type
By default, the current server is selected. Click **Next** to proceed to the Server Roles tab.

Server Selection
From the Server Roles page, place a checkmark in the box next to Active Directory Domain Services. A notice will appear explaining that additional role services or features are also required to install domain services; click Add Features.

Add roles and features wizard.
Review and select**optional features** to install during the AD DS installation by placing a check in the box next to any desired features; Once done, click **Next**.

Features
Review the information on the **AD DS tab** and click **Next**.

AD DS
Once you click next, the following window will quickly come up. Review the installation and click **Install**.

Confirm
Congratulations! You have just Installed Active Directory in Windows Server 2012. If you would like to configure Active Directory, please Check our “[Configuring Active Directory in Windows Server 2012](https://www.atlantic.net/vps-hosting/how-to-configuring-active-directory-windows-server-2012/)” article. Thank you for following along in this How-To, and check back with us for any new updates.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How To Rollback A Cloud Server
> URL: https://www.atlantic.net/vps-hosting/how-to-rollback-cloud-server/ | Published: 2015-04-23 | Updated: 2024-06-06 | Author: Ariel Beltre
##### Verified and Tested 04/20/2015
### Introduction
In this article, we will be going over how to rollback your server. Rolling back a server can be helpful when you have experienced performance issues, and the server will not boot or operate as it should. This process is similar to a system restore on a computer where the system will revert the settings to a point in time where the issue is no longer present. Here, we will review how to complete this process.
## What Do You Need?
You will need an Atlantic.Net cloud server with backups enabled. Please refer to the articles “How To Create A New Atlantic.Net Cloud Server” as well as “Does Atlantic.Net Offer Data Backup For My Cloud Server” for more information.
## Rollback A Cloud Server
To rollback, your server, first, log in to your Atlantic.net [account](https://cloud.atlantic.net/?page=signup) and click on “Servers” from the left-hand side, as shown below.
 Manage Cloud Server
Once done, a window will display a list of all the active servers on your account. You must click on the server you want to perform the rollback on from this list.
 Select Cloud server to manage
After you have selected the desired server, the network information for that server will be displayed. Click on the button that reads “Backups” on the upper right-hand side.
 Select Backups
Lastly, you will be presented with a list of available dates from which you can revert your settings to. Scroll through the available rollback dates, and select a desired restore point from the drop-down box. Once you have chosen a date, click on the “Restore Backup” button. This will revert the server’s settings and, once completed, will reboot the server. The server will once again be accessible.
 Select Restore Backups
### Conclusion
Having backups for your cloud server is an excellent feature to have enabled, as it can be used as a last resort to correct any issues the server may be experiencing at the time. Check back for more updates from Atlantic.Net, or learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to: Configuring Active Directory in Windows Server 2012
> URL: https://www.atlantic.net/vps-hosting/how-to-configuring-active-directory-windows-server-2012/ | Published: 2015-04-23 | Updated: 2024-06-05 | Author: Jose Velazquez
##### Verified and Tested 03/12/2015
## Introduction
In this how-to, we will walk you through Configuring Active Directory in Windows Server 2012.
Active Directory, also known as AD, is a service that comes with many Windows Server Operating Systems. It is used to manage Domain Networks distinguishing an administrator user and everyday users.
Once the AD DS role is installed, the server will need to be configured for your domain.
## Prerequisites
– A Server with Windows Server 2012. If you do not have a server already, you can visit our [VPS Hosting](https://www.atlantic.net/vps-hosting/) page and spin a new server up in under 30 seconds.
– Active Directory(AD) installed on your server. See the following article, “[Installing Active Directory in Windows Server 2012](https://www.atlantic.net/vps-hosting/how-to-install-active-directory-windows-server-2012/),” for more information.
## Configuring Active Directory
Open the **Server Manager** from the taskbar.
Open the Notifications Pane by selecting the **Notifications icon** from the top of the Server Manager. From the notification regarding configuring AD DS, click **Promote this server to a domain controller**.

Promote Server
From the Deployment Configuration tab, select **Add a new forest** from the radial options menu. Insert your root domain name into the **Root domain name** field.

Deployment Configuration
Review and **select a Domain and Forest functional level**. Once selected, **fill in a DSRM password** in the provided password fields. The DSRM password is used when booting the Domain Controller into recovery mode.

Domain Controller Options
Review the warning on the DNS Options tab and select **Next**.

DNS Options
Confirm or enter a NetBIOS name and click **Next**.

Additional Options
Configure the location of the SYSVOL, Log files, and Database folders and click **Next**.

Paths
Review the configuration options and click **Next**.

Review Options
The system will check to ensure all necessary prerequisites are installed on the system before moving forward. If the system passes these checks, you will proceed by clicking **Install**. Then, the system will automatically reboot.

Prerequisite checks
Once the server has completed the reboot, reconnect via RDP.
Congratulations! You have just Configured Active Directory in Windows Server 2012. Thank you for following along in this How-To, and check back with us for any new updates.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Install Apache on Debian 7
> URL: https://www.atlantic.net/vps-hosting/how-to-install-apache-debian-7/ | Published: 2015-04-23 | Updated: 2024-06-05 | Author: Jose Velazquez
##### Verified and Tested 02/26/15
### Introduction
In this How-To, we will walk you through the install of Apache on Debian 7.
Apache is a web server that is very popular in Linux systems and over the Internet. It is used by many Web Hosting companies worldwide because of its popularity and efficiency in hosting sites over the World Wide Web.
### Prerequisites
A cloud server with Debian already installed. If you do not have a server already, spin up a new market-leading server from Atlantic.Net in under 30 seconds.
## Install Apache on Debian 7
Install Apache with the following command:
```
sudo apt-get install apache2
```
Start Apache with the following command:
```
service apache2 start
```
Verify if all is working by typing http:// YOUR.IP.ADD.RESS

Congratulations! You have just installed Apache on Debian 7 Cloud Server. Thank you for following along in this How-To, and check back with us for any new updates.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to: Installing Python 3 and Creating a Virtual Environment (venv) in CentOS 7
> URL: https://www.atlantic.net/vps-hosting/how-to-installing-python-3/ | Published: 2015-04-24 | Updated: 2024-06-04 | Author: Andrew Mora
##### Verified and Tested 04/04/21
### Introduction
This article covers the installation of Python 3.9 on a CentOS 7 operating system and how to create a Virtual Environment(venv) with pyvenv for which Python 3 can run. It is essential to note the directories that we are installing is Python 3.9. **CentOS 7.x is dependent on Python 2.x to function correctly, do not overwrite the Python 2 installation accidentally**. If you still need to install Python 2, follow our [how-to on this here](https://www.atlantic.net/vps-hosting/how-to-install-python-2-7-centos-anaconda/).
### Prerequisites
You’ll need to yum install the following packets to meet all the Python 3 and PIP dependencies:
– You need a CentOS 7 server. If you do not have a server already, you can spin up a dependable virtual private server from Atlantic.Net in under 30 seconds. See our [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
– “Development Tools” “Development Libraries”
– readline-devel
– openssl-devel
## Installing Python 3 from source on CentOS 7
Install build tools
```
yum groupinstall "Development Tools" "Development Libraries"
```
Install readline-devel so that your keyboard arrow keys work when entering the Python3 interactive terminal
```
yum -y install readline-devel
```
Install OpenSSL-devel for pip3
```
yum -y install openssl-devel
```
Download Latest source code from [Python](https://www.python.org/downloads/source), at the time of writing
```
cd /opt
wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz
```
Unpack and enter Python-3.9.0 directory
```
tar -xvzf Python-3.9.0.tgz
```
```
cd Python-3.9.0
```
Build compile environment
```
./configure --prefix=/opt/Python-3.9.0
make && make install
```
## Creating a Virtual Environment in CentOS 7
You’ll see that Python3 has been installed into /opt/Python3.9.0. Note that by installing Python3, you have not altered anything with your original Python. This is done purposely if you install Python3 on top of your current Python2.x installation, you’ll break your operating system. This is why we are going to build a Virtual Environment for which we can run python3. This allows you to make changes to your Python3 installation without altering the OS’s version of python3. This is useful if different apps require different versions of Python. It also keeps you from accidentally overwriting your OS’s Python2 files.
Use the Python3 command to create your environment. We’ll make our environment in /home/ and call it py3venv; it will be created automatically if it doesn’t already exist.
```
python3 -m venv /home/py3venv
```
To start, enter into your virtual Python3 environment execute the following. Your command shell will change to reflect that you are in your virtual environment.
```
source /home/py3venv/bin/activate
(py3venv) [root@centos7 Python-3.9.0]#
```
Once inside the virtual environment, you may use PIP to install any additional packages you may require without affecting the system-wide instance of your Python 3 installation.
To exit the virtual environment perform the following to drop back into your normal shell:
```
(py3venv) [root@centos7 Python-3.9.0] deactivate
[root@centos7 Python-3.9.0]#
```
Thank you for following along and feel free to check back with us for further updates or learn more about our reliable [VPS hosting](https://www.atlantic.net/vps-hosting/) servers.
---
# What is Symmetric-Key Encryption (How VPNs Work, Part 1)
> URL: https://www.atlantic.net/vps-hosting/what-is-symmetric-key-encryption-vpns-work-part-1/ | Published: 2015-04-24 | Updated: 2024-09-25 | Author: Mason Moody
In this article, we will explore how symmetric-key encryption works. . If you’re completely new to the concept of VPNs, check out [this introduction.](https://www.atlantic.net/vps-hosting/what-is-vpn/)
## About Encryption and VPNs
This article is part of a series on VPNs. If you already know a little about the how VPNs work and want to know a little more, this series is for you. Each article addresses one aspect of how a VPN helps secure data by telling a story that serves as a metaphor for the logical mechanisms involved. These stories involve Adam and Burt trying to keep a secret and a third person, Cesar, trying to discover their secret nefariously. Since VPNs have no perfect physical world equivalent, some elements may stretch the bounds of credibility (for example, Cesar has access to a duplicator ray). Remember, it’s just a story…
## Basic Symmetric-Key Encryption
Let’s suppose that Adam and Burt are writing a comic book. Since they live in nearby towns and can’t meet in person all that often, they send drafts of their book to each other via the Greater Metropolitan Area Post Office. They don’t want anyone getting a peek at their book before it’s finished, so they use a lockbox (encryption) and make a copy of the key (encryption key) for each of them. Now, when Adam finishes a script, he can send it to Burt in this lockbox and be sure that only Burt can unlock it when he gets it in the mail.

### How a Lockbox Is Like Basic Symmetric-Key Encryption
This mechanism is analogous to one of the earliest widely-used encryption standards for computer data, DES (Digital Encryption Standard). DES is a symmetric-key encryption algorithm, meaning that the key that is used to encrypt the data is also used to decrypt it. On a simplified level, a symmetrical-key encryption algorithm is a method of applying a series of predefined mathematical steps, and the key is a sort of pivotal variable (one might say, a “key” variable) that plugs into that method to produce unique output–the encrypted data. This process can also be reversed by applying the same method in reverse, again with the same key.
## The Threat
Now, Cesar enters the picture. Cesar is obsessed with Adam and Burt’s comic book and can’t wait to learn more about it. For the sake of this story, Cesar has a duplicator ray. He is also a master of disguise, so he uses his talents to pose as a postal worker. His ultimate goal is to find a way to intercept the box Adam and Burt send back and forth to get a peek inside. Soon Cesar insinuates his way deeply enough into the Greater Metropolitan Area Post Office that he gains access to the central mail sorting room, and he spots the box from Adam to Burt. Cesar doesn’t want to arouse suspicion from either Adam or Burt from delayed delivery, so he uses his duplicator ray to make a copy of the box. Sadly for Cesar, this box is also locked (encrypted), the same as the original. But, among his talents, he is a journeyman locksmith, so he takes this duplicate box to his lair to attempt to bypass the lock.
###  Man-in-the-Middle Attack
Network traffic is sent in discrete units called packets. So, whether you are sending something small (a short email) or something large (a video), the data will be segmented into easily managed packets before being transmitted. It’s the equivalent of sending a jigsaw puzzle to someone a piece at a time. Once it arrives at its destination, it will be reassembled.
This process of examining network traffic in transit is called “packet inspection” (sometimes more informally called “packet sniffing” or “sniffing the wire”). Packet inspection allows network administrators to identify and block much hostile traffic on their network. It can also be quite useful to help troubleshoot connectivity issues within a network.
It can also be used for less constructive purposes, such as eavesdropping. In these circumstances, this sort of use is often called a Man-in-the-Middle (MitM) attack. For someone like Cesar, who manages to insert himself in the transit path these messages take, this attack allows an interloper to copy all passing traffic (without delaying it and potentially alerting either end that something might be amiss) in order to analyze it later. Traffic that is not encrypted can be easily reassembled, allowing anyone with the proper tools to read the email or see the web page requested. Encrypted data would require knowing or discovering the key to decrypt each packet before reassembling it.
## Brute Force Crack
Let us say, then, that Cesar spends time working on this lock and manages to pick the lock finally. After some practice, he learns to cut this time down significantly. Then, he intercepts the next package Burt sends back to Adam, copies it, and sends the original back on its way to Adam. Now, Cesar can pick the lock at his leisure, and since Adam received the package without delay, he and Burt have no idea anything could be amiss. So imagine their surprise and dismay when Cesar posts all the spoiler details of their new comic book on his blog (called, naturally, “The Cesarian Section”).

Adam and Burt realize they will need to develop a better way to securely exchange messages. If they were to re-key the lock, it would likely not take Cesar long to learn how to pick this new lock. They decide to invest in a lock with a much more complicated key (a stronger symmetric-key encryption algorithm). But how long might it take Cesar to crack this lock?
### Modern Symmetrical Encryption Standards
DES is no longer considered a strong means of encryption, implemented on its own. In 2008, SciEngines GmbH announced they were able to break DES in less than a day.
A variation called Triple Digital Encryption Standard (abbreviated 3DES, usually pronounced “triple-dez”) has, in many instances, supplanted DES. As its name implies, it functions using the DES algorithm but run three times. The key is three times as long, and in its strongest implementation, it is made up of three different DES keys, one for each iteration of the DES algorithm. It can be helpful to imagine this algorithm functioning as if it were an intricate puzzle box. The first key might be the combination of twists and machinations (as with a Rubik’s Cube) required to reveal a sliding-tile style puzzle, which, when solved (the second key), would expose a keyhole for your key (the third key).
An even stronger symmetric-key encryption algorithm is AES (Advanced Encryption Standard, though you may also sometimes see it referred to by its original name “Rijndael”, pronounced “rain-doll”). The strength of these sorts of algorithms is measured by the effective lengths of their keys (in bits). 3DES uses 168-bit keys (in its strongest implementation), though certain attacks have been shown to reduce that strength equivalent to an 80-bit key. AES can use 128-, 192-, and 256-bit keys. As the length of each of these keys goes up, so does its associated strength and computational requirements.
## The Evolution of Encryption
Naturally, Adam and Burt have concerns that maintaining this lockbox solution, even if it is top-of-the-line, may not be as secure as they would like. A ne’er-do-well such as Cesar has several means to attempt to defeat this system. He can attempt to illicitly obtain a copy of the key from either Adam or Burt, or from the means they use to exchange the key in the first place (especially if this exchange is over an unsecured medium). Finally, he may, after practice or technological advance, discover a way to more efficiently “guess” the key. If they want to stay ahead of Cesar, they’ll need to find some new ways to make it much more difficult for him to find a way around or through.
### 
### More in the How VPNs Work Series:
[Part 2: Public Key Cryptography](https://www.atlantic.net/vps-hosting/what-is-public-key-cryptography-vpn-part-2/)
[Part 3: Shared Key Exchange](https://www.atlantic.net/vps-hosting/what-is-shared-key-exchange-vpns-work-part-3/)
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting prices](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Install Application Server on Windows Server 2012
> URL: https://www.atlantic.net/vps-hosting/how-to-install-application-server/ | Published: 2015-04-27 | Updated: 2024-06-05 | Author: Jose Velazquez
##### Verified and Tested 03/31/2015
### Introduction
This How-To will walk you through the Install of Application Server in Windows Server 2012.
Application Server is a feature that allows a combination of business applications for deployments and mode of operation within a network. It is mainly used in businesses that use ASP.NET, .NET Frameworks, and other web applications like IIS.
## Installing Application Server on Windows Server 2012
Open the **Server Manager** from the taskbar.
From **Server Manager **Dashboard, select **Add roles and features**. This will launch the Roles and Features Wizard, allowing modifications to be performed on the Windows Server 2012 instance.

Server Manager
Note: If it is the first time you have entered this wizard, you will get a **Before you Begin** page. Review it, and you can check the Skip this page by default box, and then click **Next.**
Select **Role-based or feature-based installation** on the Installation Type screen and click **Next**.

Installation type
You will now have the **Select destination server** page. Your server will be selected by default, so you can click **Next**to continue.

Server Selection

Server Roles
The Select Server Roles page appears. Select the **Application Server** check box, and then click **Next**.

Application server: Role Services
Click **Next** in the Features Screen/ click **Next** in the Application Server Screen/ Select any additional Role in the Role Services(I selected all of them just in case I need them later down the road) and click **Next**.

Server Authentication
In the **Server Authentication** screen, you have three options to choose from. In this case, I will be using the **create a self-signed certificate**. If you have an existing SSL, select the first option, and if you plan to request one, later on, choose the third option.

Confirm Installation
Confirm your InstaInstallationclick **Install**.

Server Manager
You can now see that the **App Server** role is currently installed in your **Server Manager Screen**.
Congratulations! You have just Installed the Application Server in Windows Server 2012. Thank you for reading! Check out more of our exciting Windows-related How-to’s, and learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and Virtual private servers.
---
# How to Configure IIS in Windows Server 2012
> URL: https://www.atlantic.net/vps-hosting/how-to-configure-iis-windows-server-2012/ | Published: 2015-04-28 | Updated: 2024-06-05 | Author: Jose Velazquez
##### Verified and Tested 03/12/2015
### Introduction
In this How-To, we will Configure IIS in Windows Server 2012.
Internet Information Services (IIS) Web server designed for Windows to host websites, mail, and web applications over the World Wide Web.
See the following article, “[How To Install IIS in Windows Server 2012](https://www.atlantic.net/vps-hosting/how-to-install-iis-windows-server-2012-r2/),” for more information.
Once the IIS role is installed, the server will need to be configured for your domain.
### Prerequisites
– A Server with Windows Server 2012 Installed. If you do not have a server already, you can spin up an Atlantic.Net [Windows VPS](https://www.atlantic.net/vps-hosting/) in under 30 seconds.
– Internet Information Services(IIS) installed on your server.
## Configure IIS in Windows 2012
Open the **Server Manager** from the taskbar.
On the left side, under **Dashboard, Local Server, and All Servers,** Click **IIS**/ Right **Click** your server/ select **Internet Information Services (IIS) Manager.**

Under the**“Start Page” / Click** on your server’s drop-down menu/ Click **Yes** to continue.

Click on the drop-down menu of the **Sites** / click on the **Default Web Site** / The section on the right under **Actions**on the**Browse Website,** click Browse *:80(HTTP)

You will know that the following screen configures IIS:

Congratulations! You have just Configured IIS in Windows Server 2012. Thank you for following along in this How-To, and feel free to check back with us for any new updates or learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services.
---
# How to Fix Automatic Disconnects from WHM & cPanel
> URL: https://www.atlantic.net/vps-hosting/how-to-fix-automatic-disconnects-whm-cpanel/ | Published: 2015-04-30 | Updated: 2024-06-05 | Author: Jason Mazzota
##### Verified and Tested 03/24/2015
### Introduction
You have noticed from using your cPanel & WHM server that you are constantly getting disconnected from the Web GUI and not being allowed back in. The following change below will remedy the issue. Please note that cPanel & WHM does have an automatic timeout logout period, but the fix we are applying is when you are actively using cPanel & WHM and are disconnected.
## Prerequisites
A server with CentOS 6 and cPanel & WHM. If you do not have a server already, you can visit our [VPS hosting](https://www.atlantic.net/vps-hosting/) page and spin a new server up in under 30 seconds.
## Fix Automatic Disconnects from WHM & cPanel
The fix is simply changing an option in the settings of WHM. To do this, log into WHM and find the “Tweak Settings” option on the left sidebar. If you do not see it, you may type “tweak” in the search bar, and it should filter the left bar so you can see it.
Once in Tweak Settings, you will go to the “Security” tab. There, you can find the Cookie IP Validation segment. It should look similar to the below.

This defaults to strict. You will want to set it to disabled and then scroll down and hit the “Save” button. This will stop the automatic disconnects you are receiving from WHM.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Generate and Use a SSH key using PuTTY
> URL: https://www.atlantic.net/vps-hosting/how-to-generate-use-ssh-key-using-putty/ | Published: 2015-05-04 | Updated: 2026-03-02 | Author: Atlantic.Net NOC
##### Verified and Tested 2/8/15
### Introduction
This guide will show you how to generate and use SSH keys (public and private) using [PuTTYgen](https://www.puttygen.com/) and PuTTY for Linux servers.
## How to Generate and Use an SSH Key
First things first. We must generate our public and private keys using PuTTYgen. PuTTYgen and PuTTY can be downloaded here: [PuTTY](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)
Once they have been downloaded to a proper directory, open PuTTYgen first. Click on “Generate” to begin the key generation process. It will ask you to move your mouse around over the program window to help generate “random” data.

PuTTY Key Generator
When the key is generated, the window will look like the picture below.

Sample public Key
Most of the information presented here is superfluous except in special instances. All you will want to do is update the “Key comment” box with a better friendly name for the key. Once you have done that, select all of the text in the “Key” box and paste it into Notepad or Notepad++ (preferred). Save that text file somewhere safe. You will also need to click “Save private key” on this window. Name it something useful and place it somewhere secure as well.
To use this key with a PuTTY connection, simply select the “Auth” menu on the left side of the program. This can be found under Connection -> SSH -> Auth. In this menu, there is a box titled “Private key file for authentication.” Click browse and find the .ppk file that you saved in the previous step.

SSH Key Authentication
At this point, if you name and save your connection in the “Session” category, you won’t ever have to follow this process again for that server/IP. Otherwise, you would need to choose your key each time you connect.
## Creating a New Server with this SSH Key for Linux Servers
Creating a cloud server that uses an SSH key is simple. You will first need to setup your key in the cloud portal.
Click on “SSH Keys” on the left side under “Manage Servers.”
From there, click “Add SSH Key.”
When the window pops up, simply name your key, and paste the public key text (that you saved to a notepad file in a previous step) into the large box.

Cloud Portal:Add SSH Key
Click “Add Key.” If there were no issues with the key (inappropriate line breaks, errors, etc) it will save to the portal and be accessible for new servers.
To create a server that utilizes this key for root login, simply follow the [“create server” steps found here.](https://www.atlantic.net/vps-hosting/how-to-create-new-atlantic-net-cloud-server/)
-When choosing your server size and OS, you will see an option at the bottom that says “Pick SSH Key.” You will see the key we just created in that list. When the server comes online, simply use the previous PuTTY steps to connect to the server using that public key. The username will always be root when using our public key system.
## Adding the Public SSH Key to an Existing Server
The steps for enabling public/private key login on a standard server that was not provisioned with a key originally is quite simple as well
Simply use PuTTY to log into the server as usual using the root account and password. You may already want to save a PuTTY profile with your key, even though the server will reject it until it is configured.
For all Linux-based operating systems, you only need to create root’s .ssh directory, and paste the public key into a file named “**authorized_keys**”
From here, you can either use a text editing program to paste the key in (vi/vim/nano, etc), or you can use echo. The echo command would look something like this:

Authorized Keys
At this point, you can log out of the server and log in using the previously stated method to open a PuTTY session with a private key attached. Upon entering the username “root”, the server should allow you to login without entering a password. If successful, you should see a message that states “Authenticating with public key.” The screenshot below has an example:

Sample Log in
Done! At this point, if you plan to access the server often, you will definitely want to save a profile. You can also setup a username to auto-login with under Data -> “Auto-login username.” Simply type root into that box and save it along with the private key and IP address to a PuTTY profile, and you can have instant passwordless login access to your server!
---
For more information about PuTTY, visit [www.putty.org](https://www.putty.org/).
For more information about PuTTYgen, visit [www.puttygen.com](https://www.puttygen.com/).
---
# Atlantic.Net Opens State-of-the-Art Cloud Center in NYC
> URL: https://www.atlantic.net/press-releases/atlantic-net-continues-to-expand-with-the-opening-of-its-state-of-the-art-data-center-location-in-new-york-city/ | Published: 2015-05-04 | Updated: 2024-03-04 | Author: Editorial Team
**Cloud Hosting Provider Adds Fifth Location To Provide Faster Service To Developers In The Northeast USA**
ORLANDO, FL, May 4, 2015 – Atlantic.Net, a global [SSD cloud hosting](https://www.atlantic.net/vps-hosting/)service, today announced its expansion in the Northeast with the opening of its first New York City-based cloud hosting center. This new center, which is the fifth addition to the company’s rapidly growing infrastructure, is owned by Telx and was established to handle the increasing demands of New York City’s ever-evolving startup and developer-focused communities.
The New York City cloud center will offer developer-friendly features that cater around simplicity and rapid deployment, including one-click apps such as WordPress, LAMP, LEMP, Docker, Node.js, and Django. These new features, in addition to superior network speeds, will be implemented into all of Atlantic.Net’s facilities, and will add great value to the developer community, making it easier for the startup ecosystem to grow in the Northeast region. With its proximity to Manhattan, this seven-floor, 179,000 square foot facility with diverse conduit entry points is an ideal location that provides access to hundreds of leading domestic and international carriers and complies with all International Telecommunication standards.
Atlantic.Net has already established a significant presence in North America, with data centers in Dallas, TX, San Francisco, CA, Orlando, FL, and Toronto, Canada. “With all the investment that New York has made on its digital infrastructure and the technology industry overall, New York City was the next logical step for our company and where we need to be,” said Marty Puranik, President, and CEO of Atlantic.Net. Marty further stated,“We have a lot of developers in major cities like Boston, Philadelphia and New York who asked for faster connections and quicker uploads, so the demand was naturally there to make the transition as smooth as possible.”
The new center is co-located in a state-of-the-art Telx building, one of the most network rich, interconnected colocation centers in the New York City metro area. The facility has a power capacity of 4000 (kW), N+1 – 2N UPS redundancy, N+1 cooling, and 150 (W/sq.ft.) power density. Other key features of the center include biometric card key access, 24/365 manned security, and digital video monitoring to ensure a secure experience for Atlantic.Net customers.
Atlantic.Net will continue to expand and grow alongside the developer community, to adapt to changes in the developer ecosystem and continue to provide simple solutions for hosting applications. The company recently announced a new West Coast center in Silicon Valley, with plans to add more data centers internationally, later this year.
### About Atlantic.Net
In 1995, two University of Florida students launched one of North Florida’s first commercial Internet services, Atlantic.Net. Over its first seven years, Atlantic.Net acquired 13 Internet service companies and augmented its e-business services to include long distance services, dial-up, broadband, web solutions, fractional T-1 through DS-3 connectivity, DSL and ISDN access, Web hosting, Web design, and e-commerce. Atlantic.Net’s staff has grown to more than 100 employees and been recognized both Nationally and in Florida as one of the fastest-growing private companies. Our award winning customer service and investment in cutting edge technology is still a guiding force behind the company. Today, Atlantic.Net offers industry leading [cloud hosting](https://www.atlantic.net/vps-hosting/), [cPanel Cloud Hosting](https://www.atlantic.net/hipaa-compliant-hosting/cpanel-ideal-cp-cloud-hosting/), and many other services.
To learn more about Atlantic.Net’s complete line of services, call 1.866.618.3282 or visit the Web site at [Atlantic.Net](https://www.atlantic.net/vps-hosting/).
---
# How to Create a DNS Zone in cPanel & WHM
> URL: https://www.atlantic.net/vps-hosting/how-to-create-dns-zone-cpanel-whm/ | Published: 2015-05-06 | Updated: 2026-03-02 | Author: Jason Mazzota
##### Verified and Tested 03/25/2015
### Introduction
This tutorial will show you how to create a DNS zone in cPanel & WHM. This is mainly useful for when you have your own nameservers and will be using the server to host the DNS for an off-server website. If you are using our Cloud DNS or not using DNS on your server at all, you do not need to use the DNS zone editor.
## Prerequisites
A server with cPanel and WHM installed. If you do not have a server already, spin up a [cPanel WHM server](https://www.atlantic.net/vps-hosting/) in under 30 seconds.
## Create a DNS Zone in cPanel & WHM
First, you will need to log into WHM for your server. Once you have logged in, go to the search bar and type “DNS.” Proceed to the “Add DNS Zone” section. Here, you will see at the top “Domain Selection.” You’d want to put in the IP of the server or the IP you want the domain to be on and then the domain itself. Once done, you go to “Domain Owner Information” and select the owner for the domain. If this is to be a stand-alone account, you can put it under system ownership. Once done, click “Add Zone.”
 Add a DNS Zone
And that’s it. You can edit the DNS Zone and add more records to it by going to “Edit DNS Zone” and selecting the new zone you made.
---
# How to Install Active Directory Rights Management Services in Windows Server 2012
> URL: https://www.atlantic.net/vps-hosting/how-to-install-active-directory-rights-management-services/ | Published: 2015-05-07 | Updated: 2024-06-05 | Author: Jose Velazquez
### Introduction
This how-to will walk you through the Install Active Directory Rights Management Services in Microsoft Windows Server 2012.
Active Directory Rights Management Services or ADRMS is a feature that allows Active Directory to enable Active Directory to trade information-specific software that is compatible with ADRMS. It adds more security to documents, and permissions can be added to indicate who can control, execute, and update documents.
### Prerequisites
– A Server with Microsoft Windows Server 2012.
– Active Directory Installed. If you need to install an active directory, check out “[Installing Active Directory in Windows Server 2012](https://www.atlantic.net/vps-hosting/).”
## Install Active Directory Rights Management Services in Windows Server 2012
Open the **Server Manager** from the taskbar.
From **the Server Manager**Dashboard, select **Add Roles and Features**. This will launch the Roles and Features Wizard, allowing modifications to be performed on the Windows Server 2012 instance.

Note: If this is your first time entering this Wizard, you will get a **Before you Begin** page. Review it, and you can check the Skip this page by default box, then click **Next.**
Select **Role-based or features-based** Installation from the Installation Type screen and click **Next**.

You will now have **the Select Destination Server** page. Your server will be selected by default, so you can simply click **Next**to continue.

Server selection

The Select Server Roles page appears. Select the **Active Directory Rights Management Services** check box, add features, and click **Next.**

Click **Next** in the **Features** Screen/ click Next in the **Active Directory Rights Management Services** Screen/ Select any additional Role in the Role Services (I selected all of them just in case I need them later down the road) and click Next.

Confirm your Installation and click **Install**.

You can now see that the **Active Directory Rights Management Services** role is currently installed in your **Server Manager** Screen.
Congratulations! You have just Installed the Active Directory Rights Management Services in Windows Server 2012. Thank you for following along in this How-To, and feel free to check back with us for any new updates.
## Atlantic.Net
Atlantic.Net offers [VPS hosting](https://www.atlantic.net/vps-hosting/) and managed hosting services, including a layer of business-essential managed services to your hosting packages. Contact us today for more information.
---
# How to : Linux or FreeBSD Basic Shell Commands – man, echo, cat, ls, cp, rm, mkdir, cd, clear, reset and exit
> URL: https://www.atlantic.net/vps-hosting/how-to-linux-freebsd-basic-shell-commands/ | Published: 2015-05-08 | Updated: 2025-03-06 | Author: Alexander Wise
### Introduction
This quick tutorial is for developers or system administrators new to Linux or FreeBSD. This is a quick run through of basic commands that you will need to know to get going setting up and administrating a Linux or FreeBSD server. We will review 9 of the most frequently used commands in the shell: ls, cp, mkdir, rm, cd, cat, echo, exit, and man. This tutorial is for beginners and someone who has never used a shell before.
### Prerequisites:
You will need a server with Linux or [FreeBSD installed](https://www.atlantic.net/vps-hosting/). If you don’t have one, you can get an affordable [virtual private server](https://www.atlantic.net/vps-hosting/pricing/) from Atlantic.Net. In addition, you will need to be logged into the server and at the shell prompt. Typically, this involves using a ssh client to connect and login to the server. We will start assuming you are logged into the server. We will be using Ubuntu Linux for this demonstration, but any Linux variant will do.
### Getting Started:
To begin, you should be at a prompt that looks like this:

An example of what a shell prompt looks like.
Let’s understand what is going on here. In the example above, the username I chose for the account is “demo” and the name of my server is “demoserver”. So its showing demo@demoserver at the command prompt. Depending on your version of Linux, it may show something different. We are now at the command prompt.
## How to use the built-in manual for Linux or FreeBSD
The first command we learn is the “man” command, short for manual. This is the first point of reference when trying to learn a new command in Linux. The manual pages are in-depth and show all the different features and “flags” (or options) available with each command. Let’s look at the man page (one of the pages in the built-in manual) for the next command we are going to learn called “echo” by typing “man echo” into the command prompt:
`man echo`
You will see a manual page that describes the echo command in great detail display on your screen. You can press spacebar to continue reading the whole article, or press q to quit and return to the shell (the command options are written at the bottom of the page).
Tip: You can use the “-k” flag with the man command to search for keywords if you don’t know the actual command. For example, typing “man -k echo” shows several other commands that have echo in them. It is useful to try and find the command with the -k flag, then actually type in “man” to learn how to use it.
## Using echo to display text and create a file.
Next, we will learn the echo command. Echo simply repeats whatever you send to it. For example, type the following into the shell prompt:
`echo "Hello"`
and you should see Hello repeated back in your terminal, as seen below:

An example of what the command “echo” does.
## Using echo, creating a file using echo, and using cat to view it
Great, you’ve learned how to use the echo command! In Linux, you can use the > and >> operators to forward output somewhere else. In our case, we will use them to create a file. We use the > command to create a file, and the >> command to append to an existing file.
We will now use the > operator to create a file called test:
`echo "Hello" > test```
Now, we will use the >> operator to append some text to the file named test:
`echo "World" >> test```
We will now use the cat command. Cat allows us to view what is in a file.
`cat test`
Your shell should have returned your Hello World text as seen below:

An example of using the commands “echo” and “cat”
## How to see the contents of your directory using ls
Great! We’ve now learned how to use echo to create a file using > and >>, and we’ve learned how to view it using cat. In Linux, everyone gets their own directory that houses their private files. We created a file in our directory called test. Now, we will learn how to see what files are in our directory using the ls command. Type:
`ls`
and you will see your file named test. We can get a more descriptive view of the directory using the “-l” flag as follows:
`ls -l`
Now, you will see the test file with many other fields. Since this is a basic tutorial, we won’t cover those here, but you can always use “man ls” to see the options and what they mean.
Here’s what you should have seen using the ls command:

An example of using the command “ls”
## Using cp to copy a file
We’re making progress! You’ve now learned how to create a file, and list what is in your directory. Now, let us learn how to use the cp command to copy files. Type:
`cp test newtest`
This will make a duplicate file called “newtest” that has the same contents as “test”. You can verify this by using the cat command to see both files. In addition, if you use the ls command, you will now see two files one called “test” and one called “newtest”. If you follow this example, your output should look similar to what we have below:

An example of using the command “cp”
## Learning how to remove a file using rm
Now, let’s learn how to delete a file. We will delete our newtest file by using the rm command as follows:
`rm newtest`
The newtest file is now gone, we can verify using the ls command. Give it a try, and your shell should look
something like this:

An example of using the command “rm”
## How to create a directory (or subdirectory) and use cd (change directory)
In order to organize files, we sometimes create directories, or subdirectory (directories within directories). We’ll make a directory by using the mkdir command. Let’s make a directory by typing:
`mkdir shopping`
You have now created a directory. You can use the “ls -l” command to see it. Note the “d” in the file permissions at the beginning of the listing, this denotes “directory”. Note that our “test” file doesn’t have that because it is not a directory. Now, let’s create a file called groceries in that directory that contains the word apple by typing the following:
`echo "apple" > shopping/groceries`
We have now created a file in the shopping directory. In order to see the file, we need to change directories so we are in the shopping directory. Let’s do that with the “cd” command by typing:
`cd shopping`
You can now use the ls command to see the groceries file, and using cat to view it. To move back up to the previous directory, you can use the command “cd ..”. Use ls to see we are back to the original directory.
Give it a try and you should see the following:

An example of using the command “mkdir”
That’s it! You have learned some basic functions and navigation for the Linux (or FreeBSD) shell. These are the most popular commands you will use on a day-to-day basis as you use the shell to administer your server. We hope you found this tutorial useful, and enjoy learning how to use a Linux or FreeBSD server.
BONUS: clear, reset and exit
The clear command allows you to clear the screen quickly and reset it. Sometimes you will want a clean screen and you can use the clear command:
`clear`
It will simply clear to screen. If, by chance your screen starts displaying strange characters, you can use the reset command to reset the display with the proper font:
`reset`
Finally, when you are finished and want to exit the shell, simply type exit to tell the Linux server to shutdown your session:
`exit`
Thank you for following along in this How-To and feel free to check back with us for any new updates or to learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services.
---
# How to Install MySQL in Windows Server 2012
> URL: https://www.atlantic.net/dedicated-server-hosting/how-to-install-mysql-windows-server-2012/ | Published: 2015-05-11 | Updated: 2026-02-28 | Author: Jose Velazquez
##### Verified and Tested 03/12/2015
### Introduction
In this how-to we will walk you through Installing MySQL in Windows Server 2012 using the Microsoft Web Platform Installer (Web PI).
MySQL is database management system that is widely used all over the world for its High-Availability and efficiency, in a number of cloud based companies including Atlantic.Net.
Web PI is tool offered by Microsoft at no cost, facilitating the latest web applications in a single Web Gallery.
### Prerequisites
– A Server with Windows Server 2012.
– Microsoft Web Platform Installer (Web PI) Download the latest version in here:
[http://www.microsoft.com/](http://www.microsoft.com/web/downloads/platform.aspx).
## Installing MySQL in Windows Server 2012
Launch the Web PI application by running the wpilauncher.exe file that you downloaded in the preceding section.
In the Web Platform Installer window, search for MySQL in the search box.
Select the most current version of MySQL Windows or MySQL Windows 5.1 , click Add, and then click Install to start the installation.
 Web Platform installer 5.0
Provide a password for the **root **account of the MySQL server.
 Set MySQL root password
Review the licensing agreement and click **I Accept**.
 License Agreement
After the installation is completed, click **Finish**.
 Installation Verification
You can launch MySQL by running the mysqld.exe command from the installation directory. By default this is set to **C:\Program Files\MySQL\MySQL Server 5.5\bin**.
Congratulations! You have just Installed MySQL in Windows Server 2012 . Thank you for following along in this How-To and check back with us for any new updates. Alternatively, check out other useful MySQL articles like [How to Multi-Master MySQL with Percona and Keepalived.](https://www.atlantic.net/vps-hosting/how-to-multi-master-mysql-percona-keepalived/)
If you’re interested in installing MySQL on a HIPAA-compliant server with Windows Server 2012, contact Atlantic.Net for more information about [dedicated server hosting](https://www.atlantic.net/dedicated-server-hosting/).
---
# How to Install Apache, MySQL, PHP (LAMP) On Fedora 21
> URL: https://www.atlantic.net/vps-hosting/how-to-install-lamp-fedora-21/ | Published: 2015-05-12 | Updated: 2026-03-03 | Author: Jose Velazquez
### Introduction
This how-to will help you with your LAMP installation in Fedora 21 so that you can successfully run a high available solid platform for your web environment. LAMP is simply a software bundle that consists of 4 components that work together to form a powerful web server. However, in this setup the acronym’s are as follows: L (Linux) is the core of the platform which will sustain the other components. A (Apache) will be used for the web service. M(MySQL) will be used for database management, and P(PHP) will be used as the programming language. Making the platform a LAMP.
### Prerequisites
You need a Fedora21 server that is configured with a static IP address. If you do not have a server already, you can spin up a [SSD virtual private server](https://www.atlantic.net/vps-hosting/) in under 30 seconds.
## Install LAMP
To get started, login to your Fedora21 server via SSH or the VNC Console in cloud.atlantic.net. Atlantic.Net Cloud servers are setup as minimal installations in order to avoid having unnecessary packages from being installed and never used. Because of this, let’s make sure that your server is fully up-to-date.
```
yum update
```
With the server up-to-date, we can continue the process and secure your server.
## Install Apache
We must first begin by installing Apache with the following command:
```
yum install httpd
```
Start the Apache service with the following command:
```
systemctl start httpd.service
```
You will also want the Apache service to start upon start-up/reboot with the following command:
```
systemctl enable httpd.service
```
Add the following commands in Apache to override the Firewall-cmd as follows:
```
firewall-cmd --set-default-zone=public
```
```
firewall-cmd --permanent --zone=public --add-service=http
```
```
firewall-cmd --permanent --zone=public --add-service=https
```
```
firewall-cmd --reload
```
You can now verify that Apache is installed correctly by typing http:// and your IP address on your browser.
http://YOUR.IP.ADD.RESS
 This is the default webpage when installing Apache on a Fedora21 LAMP Stack Server
To edit the main Apache configuration file for one or many websites according to your preference, enter one of the following:
```
vi /etc/httpd/conf/httpd.conf
```
or
```
nano /etc/httpd/conf/httpd.conf
```
Un-comment the line containing the text **#ServerName www.example.com:80**and edit accordingly with your domain or IP Address of the server.****
Save the file
Restart the Apache HTTP service so the changes take affect.
```
systemctl restart httpd.service
```
## Install MySQL
We then want to continue installing MySQL with the following command:
```
yum install mysql mysql-server
```
Start the MySQL service with the following command:
```
systemctl start mysqld.service
```
You will also want the MySQL service to start upon start-up/reboot with the following command:
```
systemctl enable mysqld.service
```
To ensure the security of the default settings of MySQL, continue with the next command:
```
mysql_secure_installation
```
Note: When prompt with “Enter current password for root” hit enter for none then Y(Yes) to set MYSQL password. You will be prompt with a series of questions. Simply type Y for yes on all of them, see the screen shot below:
 This is the default webpage when installing MySQL on a Fedora21 LAMP Stack Server
## Install PHP
Finally we will conclude the installing PHP with the following command:
```
yum install php
```
Restart the Apache HTTP service so the changes take affect.
```
systemctl restart httpd.service
```
In order to test and verify this installation create a test PHP file in the directory below with the following command:
```
sudo nano /var/www/html/info.php
```
Insert the following PHP code in the empty space then save and exit:
```
```
Restart the Apache HTTP service one last time so all the changes take affect.
```
sudo systemctl enable httpd.service
```
You can now verify that PHP is installed correctly by typing the following on your browser.
http://YOUR.IP.ADD.RESS/info.php
 This is the default webpage when installing PHP on a Fedora21 LAMP Stack Server
## What Next?
Congratulations! You now have a server with a LAMP platform for your web environment. Thank you for following along and feel free to check back with us for further updates.
---
# How to Install Active Directory Federation Services on Windows Server 2012
> URL: https://www.atlantic.net/vps-hosting/how-to-install-active-directory-federation-services-windows-server-2012/ | Published: 2015-05-12 | Updated: 2024-06-05 | Author: Jose Velazquez
##### Verified and Tested 03/31/2015
## Introduction
In this how-to will walk you through the Install of Active Directory Federation Services Windows Server 2012.
Active Directory Federation Services or ADFS is a feature in Windows Server 2012 that grants access to multiple devices using a single login, with specified credentials.
## Prerequisites
– A Server with Windows Server 2012. If you don’t have a server already, please consider a [reliable VPS](https://www.atlantic.net/vps-hosting/) from Atlantic.Net.
## Install Active Directory Federation Services
Open the **Server Manager** from the task bar.
From **Server Manager **Dashboard, select **Add roles and features**. This will launch the Roles and Features Wizard allowing for modifications to be performed on the Windows Server 2012 instance.

Select Add roles and features
Note: If its the first time that you have entered this wizard, you will get a **Before you Begin** page. Review it and you can check the Skip this page by default box, then click **Next**
Select **Role-based or features-based** installation from the Installation Type screen and click **Next**.

Select Role-based or feature-based installation
You will now have **Select destination server** page. Your server will be selected by default, so you can simply click **Next**to continue.

Select your server

Select Role
The Select Server Roles page appears. Select the **Active Directory Federation Services** check box, and then click **Next**.

Confirm Installation
Click **Next** in the **Features** Screen/ click **Next** in the **Active Directory Federation Services** Screen/ Confirm your Installation and click **Install**.

Verify InstallationWindow
You can now see that the **Active Directory Federations Services** role is currently installed in your **Server Manager** Screen.
Congratulations! You have just Installed the Active Directory Federation Services in Windows Server 2012. Thank you for following along in this How-To and feel free to check back with us for any new updates.
---
# Update on VENOM (CVE-2015-3456) QEMU Vulnerability
> URL: https://www.atlantic.net/announcements/update-on-venom-cve-2015-3456-qemu-vulnerability/ | Published: 2015-05-13 | Updated: 2025-03-06 | Author: Alexander Wise
Earlier today, a security vulnerability, CVE-2015-3456 (VENOM), was publicly announced. This vulnerability affects the widely used KVM/QEMU virtualization hypervisor platform that we use to power our [SSD cloud hosting](https://www.atlantic.net/vps-hosting/) servers.
We are rolling out the necessary security patches to address this vulnerability to all applicable infrastructure. In order to ensure that the patches are effective at resolving the vulnerability, you may see a very brief interruption in service (a few seconds) while your Cloud Server is switched to run on the updated version of our infrastructure.
A very small percentage of Cloud Servers may require a reboot to complete this process. If this is necessary for one of your [cloud hosting](https://www.atlantic.net/vps-hosting/) servers, you will be contacted by our support team so this can be done with as little inconvenience as possible.
We will keep you posted on progress.
UPDATE 05/14/15: Atlantic.Net has successfully mitigated the VENOM vulnerability in our USA-West-1 (San Francisco), USA-Central-1 (Dallas), USA-East-2 (New York) and Canada-East-1 (Toronto) Cloud locations. USA-East-1 (Orlando) is almost complete, however, there is a small percentage of Cloud Servers that will need to be manually rebooted. If you are one of the few affected, an email will be sent to you shortly with further instructions.
UPDATE 05/14/15: Atlantic.Net sent notification to the small percentage of [cloud server](https://www.atlantic.net/vps-hosting/) hosting that needed to be manually rebooted in USA-East-1 (Orlando). Those that were notified have until 11:59 pm ET on May 15, 2015 to power cycle their Cloud Servers per the instructions provided in the email. If they have not done so by the previously mentioned time, we will shutdown their Cloud Servers and power them back on.
UPDATE 05/16/15: Atlantic.Net has now successfully mitigated the VENOM vulnerability in USA-East-1 (Orlando), and as previously noted, all other Cloud locations.
[You can read more about VENOM](https://www.atlantic.net/vps-hosting/what-is-venom-security-vulnerability/).
If you have any further questions, please contact our [Support team](https://www.atlantic.net/support/).
---
# What Is Public Key Cryptography? (How VPNs Work, Part 2)
> URL: https://www.atlantic.net/vps-hosting/what-is-public-key-cryptography-vpn-part-2/ | Published: 2015-05-13 | Updated: 2026-07-07 | Author: Mason Moody
In this article, we will explore how public key cryptography (asymmetric encryption) works. If you’re completely new to the concept of VPNs, check out [this introduction](https://www.atlantic.net/vps-hosting/what-is-vpn/).
## Getting Started with VPNs
This article is part of a series on VPNs. If you already know a little about the how VPNs work and want to know a little more, this series is for you. Each article addresses one aspect of how a VPN helps secure data by telling a story that serves as a metaphor for the logical mechanisms involved.
Previously in this series, Adam and Burt have already discovered the weakness in using a lockbox with a [shared symmetric key](https://www.atlantic.net/vps-hosting/what-is-symmetric-key-encryption-vpns-work-part-1/) to keep things secure. So, Burt proposes they try a new method in which each of them has their own unique set of keys (asymmetric encryption).
## Public Key Cryptography
Public Key Cryptography is an asymmetric encryption methodology that seeks to maintain confidentiality without having to ever share a secret key over an insecure channel (such as unencrypted email). In this explanation, Adam and Burt each have a unique lock, but for the remainder of this example, we’ll cover Burt’s lock and keys (Adam’s lock and keys will work in the same fashion). Each lock has two special properties: first, the lock has two distinct and related keys that can work with it, and second, each key that works with the lock can only turn in the lock in one direction–for the sake of this example, they only turn clockwise.
## Paired Keys
The two keys in this asymmetric system only work as a pair. If Burt were to re-key this lock, he’d need to create two new keys. To make it simpler to distinguish the two keys, Burt color-codes them. One he makes green and the other red. Burt keeps the red key secured (his private key), but he can make the green key widely available to anyone who wants it (his public key). This may sound counterintuitive. But an important feature of these keys is that while they are related, it is virtually impossible to figure out one key based on knowledge of the other. As such, one key can be made publicly available without revealing anything about its counterpart.

### Public Key Cryptography Systems
These keys are, in actual use, called the public and private keys (the color designations are to help make the explanation a little easier to follow). The generation of these keys involves some pretty nifty and complicated mathematics. (These algorithms begin with calculations involving the product of two very large prime numbers and is [far beyond the scope of this example](http://en.wikipedia.org/wiki/RSA_%28cryptosystem%29#Key_generation).) Common algorithms used in public key cryptography include RSA (named for its creators, Rivest, Shamir, and Adleman), DSA/DSS (Digital Signature Algorithm/Digital Signature Standard), and ECDSA (Elliptic Curve Digital Signature Algorithm). This latter algorithm instead utilizes the mathematics around elliptic curves and is at least as intimidating to the math-averse as the RSA algorithm.
## The Clockwise Lock (How the Keys Work)
Besides only working as part of a pair, these keys also only work in the lock in one direction. For example, Burt uses the green (public) key to secure the lock, which requires a half-turn in the lock. Since the lock only works in one direction, the green key can’t unlock the lock by reversing direction like an ordinary lock. At this point, because of the special nature of this locking mechanism, the only way to unlock it is to use the paired red (private) key.

In this fashion, when the lock is secured with the green (public) key, only the person who possesses the red (private) key can open it. This is how Burt can make the green key widely available to the public. He can send a copy of the green key to Adam (he could even make a copy available for public pickup or duplication). Anyone who has a copy of this green key can lock this lock, and at that point, only Burt–assuming he keeps his red (private) key secure–can open the lock. Now, when Adam wants to securely send something to Burt, he can use Burt’s green (public) key. Similarly, Adam would have his own key pair, and he could also make his green key available for Burt (or anyone else) to use.
Now, if our ne’er-do-well Cesar were to try to crack this method of security, he’d need to crack two different locks in order to get the whole conversation. Even if he were able to get past just one, he’d only be able to see one half of the conversation.
### One-Way Encryption
This usage of one-way encryption is employed in some secure email exchanges, such as with the use of PGP (Pretty Good Privacy) or GPG (Gnu Privacy Guard). If you’ve ever seen mention of someone’s PGP or GPG public key (and likely a block of random-looking text that was the key itself), you can see why it can be published as a part of an email signature or a publicly accessible website. With that key, anyone can encrypt an email that only the possessor of the private key (the recipient) can decrypt.
## A Twice-Locked Box
Here’s where Burt gets a clever idea. He places some artwork for the comic book he and Adam are working on in a box, places his lock on the box, and secures it with his green (public) key. Now, he’s the only person (since he has the only copy of the red key) that can unlock this box. He sends this box to Adam.

Adam, not having a copy of Burt’s red (private) key, can’t unlock the lock. But he can place his own lock on the box. He secures this lock with his own green (public) key. Adam sends this twice-locked box back to Burt.
Burt gets the box, and the only way he can open it is if he has both his own red key and Adam’s red key. But Adam is keeping his red key just as secret as Burt keeps his own red key, so Burt won’t be able to open the box. Burt, though, doesn’t want to open the box–remember, he started this process, so he wants Adam to get the art contained within the box. He can, though, unlock his own lock with his own red (private) key. When he does this, the only security on the box is the lock that Adam secured.
Burt sends the box back to Adam, and now Adam, using his red key, unlocks the remaining lock. Burt has successfully and securely sent this package. This method adds a couple of layers of security, in that there are two layers of locking/encryption and in the fact that no shared key needs to ever be exchanged via a potentially insecure medium. However, it isn’t a very efficient system if they need to send more secure messages back and forth in a more timely manner.
### Double the Encryption
This ability is one of the interesting features of the mathematics behind public key cryptography. A message can be encrypted multiple times; then, when decrypting it, that decryption can be done in any order. It works in a commutative way the way some simple mathematic functions work. For example, if you were to start with the number 10 and add three other numbers–say, 3, 5, and 7 (so, 10 + 3 + 5 + 7 to get 25), you could then subtract them from your total in any order to get back to the same original number (25 – 5 – 7 – 3 = 10). Of course, the mathematics behind this cryptography is significantly more intricate.
## A Complicated, Robust Lock
So while Adam and Burt now have worked out a public-key cryptography method, it’s not without its drawbacks. This twice-locked box method of keeping communication secure takes three times as long per message. In addition, public-key cryptography methods tend to be more work-intensive when it comes to carrying out the encryption or decryption. In the example above, imagine that instead of each key turning in the lock one half turn, it requires 10 full rotations. That would mean 40 rotations (Burt locks (10) + Adam locks (10) + Burt unlocks (10) + Adam unlocks (10)) per message!

There is, however, one advantage to this inefficiency. If Cesar were to use a device that could simulate any key, and assuming that to open one of these locks requires the full 10 rotations just to see if that key works, then the time it would take him to try every key combination (a brute force attack) goes up by a factor of 10 as well.
### How Larger Keys Improve Security
The length of an encryption key is measured in bits. The larger the bit length of the key, the more resistant that key is being discovered via brute-force cracking attempts. The larger the bit length of the key also means that the work required to perform encryption or decryption increases. However, since asymmetric and symmetric encryption algorithms work in different ways, their key lengths aren’t directly comparable. For example, an RSA (asymmetric) 1024-bit key has about the same strength as an 80-bit symmetric key. There are tools available to compare relative key lengths across the different encryption methods, such as [the one maintained by BlueKrypt](http://www.keylength.com/en/compare/), that can help illuminate the difference in computational cost between these methods.
These differences highlight one of the primary conundrums of computer security: security vs. convenience. Work done to improve one often comes at the expense of the other. Increasing the bit-length of the encryption key increases its strength, but it also means that it will take longer to perform that encryption and decryption. When measures are made to improve convenience, such as increasing computing power or reducing the length of the key, those same measures also mean it requires less work to successfully guess the key through brute-force methods.
### More in the “How VPNs Work” Series
[Part 1: Symmetrical Encryption Algorithms](https://www.atlantic.net/vps-hosting/what-is-symmetric-key-encryption-vpns-work-part-1/)
[Part 3: Shared Key Exchange](https://www.atlantic.net/vps-hosting/what-is-shared-key-exchange-vpns-work-part-3/)
Learn more about services from Atlantic.Net, including [VPS hosting](https://www.atlantic.net/vps-hosting/).
---
# How to Add an Additional IP to Your Ubuntu or Debian Cloud Server
> URL: https://www.atlantic.net/vps-hosting/how-to-add-an-additional-ip-to-your-ubuntu-or-debian-cloud-server/ | Published: 2015-05-13 | Updated: 2026-03-02 | Author: Alexander Wise
##### Verified and Tested 02/27/2021
## Introduction
This how-to will walk you through the process of adding an additional IP to your Ubuntu or Debian server. In order for an additional IP to work properly, it must be added to both the cloud interface and your server.
## Prerequisites
– Root privileges
– A reserved additional IP. You can find out how to [reserve an additional IP here](https://www.atlantic.net/tutorials/).
## Adding your Additional Public IP in the Cloud Control Panel
We’ll start by logging in to the [Atlantic.Net Cloud Control Panel](https://cloud.atlantic.net/?page=userlogin).

Navigate to your ‘*Public IPs*‘ section.

We begin by clicking on “**Reserve IP**“. A popup box will appear asking for the *IP Location* and *Count* of public IPs to add. For *IP Location*, select the same location as your Atlantic.Net CentOS server. We only want to add one IP address, so we will enter “**1**” for *Count.* Now click “**Reserve Public IP**.”

We can now see a new IP address displayed under “*Public IPs*.”

**Click on the checkbox** next to the newly reserved public IP address, and choose to “**Assign IP.**” *(Note: You can assign the IP to any of the servers in the same location that IP was reserved. For this tutorial, we will assume you want to assign this IP to a CentOS server.)*


Once the IP is assigned, it should look something like this:

Now we can move on to adding the IP to the actual server’s network interface.
## Add an Additional IP to Your Ubuntu Server
To add this IP to your server’s network interface, you will need to edit your /etc/netplan/01-netcfg.yaml file, but first we should back it up in case of any mistakes. To do this, make sure you are on the root account on your server and use the following command:
```
cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.backup
```
Once copied, we can view and edit the file with nano:
```
nano /etc/netplan/01-netcfg.yaml
```
Once there, you should see something like this:
```
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses:
- 208.117.86.35/24
gateway4: 208.117.86.1
nameservers:
addresses:
- 209.208.127.65
- 209.208.25.18
```
We want to add our IP below the eth0 and name it eth1. It should look something like this:
```
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses:
- 208.117.86.35/24
gateway4: 208.117.86.1
eth1:
addresses:
- 208.117.87.9/24
gateway4: 208.117.87.1
nameservers:
addresses:
- 209.208.127.65
- 209.208.25.18
```
Save and close the file then run the following command to apply the changes:
```
netplan apply
```
You can now verify the newly assigned IP address with the following command:
```
ip addr
```
You should get the following output:
```
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:00:d0:75:56:23 brd ff:ff:ff:ff:ff:ff
inet 208.117.86.35/24 brd 208.117.86.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::200:d0ff:fe75:5623/64 scope link
valid_lft forever preferred_lft forever
3: eth1: mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:00:0a:75:56:23 brd ff:ff:ff:ff:ff:ff
inet 208.117.87.9/24 brd 208.117.87.255 scope global eth1
valid_lft forever preferred_lft forever
inet6 fe80::200:aff:fe75:5623/64 scope link
valid_lft forever preferred_lft forever
```
## Add an Additional IP to Your Debian Server
To add this IP to your server’s network interface, you will need to edit your /root/etc/network/interfaces file, but first, we should back it up in case of any mistakes. To do this, make sure you are on the root account on your server and use the following command:
```
cp /etc/network/interfaces /etc/network/interfaces.backup
```
Once copied, we can view and edit the file with nano:
```
nano /etc/network/interfaces
```
Once there, you should see something like this:
```
auto lo
iface lo inet loopback
```
```
auto eth0
iface eth0 inet static
hwaddress ether 00:00:45:1c:5e:d6
address 192.168.0.1
netmask 255.255.252.0
gateway 192.168.0.1
```
```
```
```
dns-nameservers 209.208.127.65 209.208.25.18
```
We want to add our IP below the eth0 and name it eth1. It should look something like this:
```
auto eth0
iface eth0 inet static
hwaddress ether 00:00:45:1c:5e:d6
address 192.168.0.25
netmask 255.255.252.0
gateway 192.168.0.1
```
```
```
```
auto eth1
iface eth1 inet static
address 192.168.0.26
netmask 255.255.252.0
```
Once you have this set, save and restart the network service to apply the changes:
```
systemctl restart networking
```
Once the service is restarted, your new IP will be set!
---
# What Is the VENOM Security Vulnerability?
> URL: https://www.atlantic.net/vps-hosting/what-is-venom-security-vulnerability/ | Published: 2015-05-14 | Updated: 2026-03-04 | Author: Mason Moody
## Overview
On May 13, 2015, security researcher Jason Geffner of CrowdStrike publicly disclosed a vulnerability in some virtualization platforms that could allow an attacker to jump out of the sandbox of a virtual machine (VM) and gain access to the protected virtualization host. The vulnerability has been christened “VENOM”, for Virtualized Environment Neglected Operations Manipulation ([CVE-2015-345](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3456)) and affects any unpatched virtualization host built on the open source QEMU emulator, including Xen, KVM, and Oracle’s VirtualBox. Technologies that don’t employ QEMU, such as VMWare, Microsoft’s Hyper-V, and Bochs, are unaffected.
### Virtualization Primer
Virtualization, in broad terms, is a technology implementation which allows one large computer to subdivide its resources (processor, memory, hard drive space, e.g.) to run many smaller, virtual computers. Each of these VMs runs as though it is a discrete system, isolated from the other VMs running on the same host. This architecture allows server operators to more easily manage and deploy servers, since they can create a new VM in much less time than it would take to build out a physical version. It also allows data center operators and hosting providers to make more efficient use of their resources. A virtualization host running, for example, 10 VMs uses a fraction of the space, power, and cooling that 10 equivalent physical machines use.
### What Can an Exploit Against VENOM Do?
One of the other benefits of a virtualization platform is the ability to segregate VMs. So, even though they may use the same shared hardware, the VMs are isolated. Such isolation allows a server administrator to provision different VMs, running different operating systems, for different customers. Those customers would never know that they were sharing resources on a virtualization host with other customers. And even if they had root or administrator privileges on their VMs, the containment prevents them from doing anything that would affect any other VM.
This siloed infrastructure concept is what makes the idea of a vulnerability like VENOM so concerning. As Geffner describes on the CrowdStrike website:
> This vulnerability may allow an attacker to escape from the confines of an affected virtual machine (VM) guest and potentially obtain code-execution access to the host. Absent mitigation, this VM escape could open access to the host system and all other VMs running on that host, potentially giving adversaries significant elevated access to the host’s local network and adjacent systems.
For a provider who has relied on the security of VM isolation, such a vulnerability can cause quite a bit of alarm.
### How Much Alarm?
While the announcement of this vulnerability has been compared, in some media outlets, to Heartbleed, it’s important to weigh what is known against what is possible and probable.
According to Geffner, the “VENOM vulnerability has existed since 2004”, though no known exploit (as of this writing) has been documented in the wild. Geffner shared his findings with the major virtualization vendors who utilize QEMU on April 20, 2015. Once a patch was developed, he published his findings on the CrowdStrike website on May 13, 2015.
To date, though, there has been no public proof of concept demonstrated. We don’t currently know how simple or difficult it is to craft code that can exploit VENOM. Since VENOM leaves a system open to attack via the hacker’s old friend, the buffer overflow, it could, at its simplest, be exploited to cause the host machine to crash, resulting in a denial of service. With more care and cleverness, an attacker could potentially gain access to the virtualization host itself and be able to compromise the other VMs running on that same host.
### What Can We Do To Protect Ourselves?
Since VENOM was disclosed responsibly, giving the vendors time to produce a patch, it’s incumbent upon virtualization host administrators to apply the patch as quickly as they are able. Individuals whose services run on VMs running on a shared virtualization platform can do little on their own. They can, however, visit their provider’s website to see if they are vulnerable and what steps are being taken to address the vulnerability. If necessary, they can apply pressure to push their administrators to patch their systems before this potential threat becomes a functional exploit in wide use by the darker side of the Internet.
To follow more about what Atlantic.Net is doing to address the VENOM vulnerability, check out [our blog](https://www.atlantic.net/announcements/update-on-venom-cve-2015-3456-qemu-vulnerability/) for the latest. We constantly strive to offer the most secure [Virtual Private Servers](https://www.atlantic.net/vps-hosting/) offering the very best in one-click install applications like cPanel Hosting, among others.
*Updated May 15, 2015, to include Atlantic.Net blog link*
---
# Ensuring Cloud Compliance In Regulated Industries
> URL: https://www.atlantic.net/hipaa-compliant-hosting/ensuring-cloud-compliance-in-regulated-industries/ | Published: 2015-05-14 | Author: Sam Guiliano
- **Why is Cloud Computing Worth the Effort for Regulated Companies?**
- **What Are You Up Against?**
- **What Can You Do to Adopt Cloud Effectively?**
- **Partners that Understand Compliance**
The businesses that run into the most difficulties when transitioning to cloud computing solutions are strictly regulated, such as finance and healthcare. What are the challenges? How can they be overcome? And why is the effort worth it?
Let’s start with the last of those questions.
### **Why is Cloud Computing Worth the Effort for Regulated Companies?**
According to a presentation at the 2014 annual meeting of the IEEE Computer Society, there are four primary benefits of the cloud:
- Software patching and updating are handled by the provider.
- There is no need to worry about on-premise equipment maintenance.
- Cloud is usually more affordable.
- Virtual machines offer real-time scalability, adapting resource levels to meet your needs.
These advantages are all compelling. After all, cloud computing isn’t just useful for startups: mega-enterprise [General Electric has said](http://www.infoworld.com/article/2824508/cloud-computing/ges-head-of-it-were-going-all-in-with-the-public-cloud.html) it is cutting down its data centers to 10% of their original size in favor of the public cloud.
Even the Department of Defense is on board. “Procuring [cloud-based solutions and services] will allow the Army to focus resources more effectively to meet evolving mission needs,” [explained Gary Wang](http://www.federaltimes.com/story/government/it/cloud/2015/04/08/in-line-with-dod-cio-army-pushes-forward-with-new-cloud-policy/25470727/), Army deputy CIO.
Let’s move on to those first two questions, though – cloud challenges and strategies – so that your organization has a clear path forward.
### **What Are You Up Against?**
As the authors of the IEEE paper, Beckman Coulter and Iyyappan Pandiyan, see it, three features of cloud present obstacles to regulated companies:
- Within a cloud solution, the information is processed and stored through a distributed network at a distance, and federal compliance mandates strict control of all data.
- Cloud providers update their systems often without their users even being aware that changes have occurred, and firms concerned with regulations want to validate all their tools.
- A cloud virtual machine can deliver memory elastically, and regulated bodies want to ensure that all data and memory are accurate and reliable.
There is another, deeper challenge than any of the above, though. Adam Hughes of *TechTarget indicated that* regulated industries struggle with misinformation and confusion.
“If I’m a customer, I need a deep understanding of the regulatory issues, how I will address them and what my priorities are,” commented regulation specialist Brian Benfer of ShareFile. “No one seems to understand the regulatory environment and what’s needed, and what the right steps are to take.”
Larry Freedman, an attorney with Boston technology law firm Edwards Wildman Palmer, echoed Benfer’s sentiments.
Plus, there’s a real-world challenge to these virtual systems in the public sector, according to data center expert Larry Veino of Presidio Corp.: politics. The various government departments each have strategic plans that may initially seem at odds with a “Cloud First” approach. Veino believes that government IT is experiencing the same growing pains that the healthcare segment did a few years back.
### **What Can You Do to Adopt Cloud Effectively?**
Beckman and Pandiyan suggested the following strategies so that companies can migrate to the cloud while maintaining federal compliance:
- You want to validate the cloud architecture when it’s first adopted.
- You want all updates to occur at specific, predetermined times.
- You want all modifications to be aggregated.
- You want to re-validate every time updates are performed.
### **Partners that Understand Compliance**
I discussed the general challenge of confusion above. That confusion is because cloud providers are trying to sell you a service, which can sometimes contradict clarity. How best to pick out a provider? Dan Kusnetzky, IT analyst and founder of the Kusnetzky Group, [recently outlined](http://www.zdnet.com/article/6-suggestions-connectria-hosting-for-evaluating-your-cloud-service-provider/) several characteristics that can help to establish that a cloud service provider deserves your business:
1. You want the company to prioritize security with the latest **industry standards**. Two of the primary ones are SSAE 16 and Safe Harbor.
2. You want to know that the provider has an established record of **data safety**. Breaches are too costly – $3.5 million per incident, according to the Ponemon Institute.
3. Make sure that the company has **private virtualization** options. Private Cloud Hosting gives you your own set of dedicated resources.
4. Your hosting company should have plenty of **experience meeting compliance** with federal regulations and other common standards such as PCI-DSS.
5. You want to know that the hosting company’s personnel includes a team of engineers with **specialized**cloud and regulatory compliance knowledge.
6. Finally, you want your cloud service provider to be **financially strong**.
That last element is a characteristic that is often overlooked when reviewing providers. Your business may be just launching, argued Kusnetzky, but bankruptcy at your hosting provider is a huge threat to business continuity.
Financial strength is just one of the many reasons why companies in regulated industries choose us as a partner.
“Atlantic.Net’s reputation for 100% up-time, their secure infrastructure, and expertise in Healthcare IT were key components in finalizing our partnership,” commented Complete Healthcare Solutions VP Joseph Nompleggi. “Our partner’s financial strength and proven track record are something we view with great confidence.”
### Choosing a Compliant Hosting Provider for Your Regulated Industry
When companies plan to move their existing IT services to a private cloud, security and compliance issues can seem a bit daunting. However, moving to the right cloud-based system with a respectable cloud hosting provider could reduce your compliance exposure. A private cloud does not have a public address and is connected directly into your existing corporate network via a secure connection, such as a VPN (Virtual Private Network). Therefore, only people inside your corporate network can access those services.
If your cloud service provide[r](https://www.atlantic.net/vps-hosting/) is flexible and will work with you on the connection, security, and monitoring, and authentication of applications in your cloud solution, the policies that you already have in place for protecting your data, authenticating user access, and distributing content can be used as they are. Therefore, your company can receive the benefits of a private cloud without giving up security.
The only major thing that changes when you move to private cloud hosting is the location of where your content is being stored. If your company is like most enterprises, then you probably already have data being stored in several different locations – remote servers, backups, mobile devices, laptops, etc. The advantage of having a reputable private cloud provider is that you will always know where your data is being stored.
Your cloud hosting provider will be able to demonstrate the specific systems they have in place to ensure that your content is protected from unauthorized access. If the location of the data center, backup systems, customer service, etc., meets the requirements of your business, moving to private cloud hosting with HIPAA-compliant online storage could easily enhance your compliance.
Do you need a robust cloud infrastructure for healthcare? Get high-quality, proven **[HIPAA Compliant Hosting](https://www.atlantic.net/hipaa-compliant-hosting/)** today.
Learn more about [HIPAA Compliance](https://www.atlantic.net/hipaa-compliant-hosting/hipaa-compliance-guide-what-is-hipaa/).
---
# How to Get Started with Arch Linux
> URL: https://www.atlantic.net/vps-hosting/how-to-get-started-arch-linux/ | Published: 2015-05-14 | Updated: 2024-06-05 | Author: Atlantic.Net NOC
### Introduction
Arch Linux is a Linux distribution composed predominantly of free and open-source software that expects a little more from its user. You must be willing to make some effort to understand the system’s operation. But, if you want more control over what gets installed on that system and how it runs, then this distribution might be for you. (This distribution is not ideal for Linux beginners unless you enjoy doing things the hard way!) Arch Linux uses a rolling release model, such that a regular system update is all that is needed to obtain the latest Arch software. For people who have run other Linux versions, some of the first differences users will notice are the setup/management of networking and package management.
## Basic Arch Linux Commands
This article will cover some basics to give you start with Arch Linux, including setting the hostname, using basic network adapter functions, and using the Arch Linux package manager, called, simply enough, “pacman.”
## Setting the Arch Linux hostname:
To change your server’s hostname, use the hostnamectl command (with most of these commands, you will likely need to either prepend sudo or already be logged in as root).
`hostnamectl set-hostname "your hostname"`

Arch Linux change of hostname
The quotation marks are only necessary if you use a hostname with a space in it.
## Using the Arch Linux network adapters
#### Enabling and disabling interfaces:
To verify which interfaces are on your server and what state they are in, you can use the ip link command:
`ip link`

Arch Linux network interface list
To see the IP addresses configured on these interfaces, use ip addr instead.
To enable or disable a particular interface, use the appropriate ip link command, substituting your interface name for the interface you want to affect.
`ip link set eth0 up``ip link set eth0 down`
(Pro-Tip: Remember which interface you are using to access this server, for example, if you are accessing this server remotely via ssh. If you disable the wrong interface, you could knock your session offline!)
#### Network interface file location:
If you’d like to make any changes to the interface file, open up the following file using your text editor of choice:
`/etc/netctl/eth0`

Arch Linux: /etc/netctl/eth0
#### Restarting networking
If you’ve made changes to your /etc/netctl/eth0 file, for example, you can get those changes to take effect by restarting networking on that interface:
`netctl restart eth0`
## Using the Arch Linux package manager (pacman)
#### Refreshing the package list
This command is similar to apt-get update in Debian/Ubuntu-based systems and should be run similarly before installing any new packages.
`pacman -Sy`
#### Installing a package
If you know the name of a package, you can install it with just the -S option (think “synchronize”).
`pacman -S `

Arch Linux package installation
* The ‘sl’ package is a fun little addition that, when installed and invoked, gives you an animated ASCII steam locomotive. It’s best utilized if you’re prone to mistyping ‘ls’ as ‘sl.’
#### Searching for available packages
If you’re unsure of the package name, you can search with the -Ss options.
`pacman -Ss `
#### Removing a package
Removing a package requires the use of the -R option:
`pacman -R `

Arch Linux package removal
#### Upgrading all packages
To update all packages installed on your system, the command takes the additional -u option. If, as above, you are familiar with Debian/Ubuntu, this command is the equivalent of apt-get upgrade.
`pacman -Syu`
Thank you for following along, and feel free to check back with us for further updates and related posts – like [How to Install Apache, MySQL, PHP (LAMP) On Arch Linux](https://www.atlantic.net/vps-hosting/how-to-install-lamp-arch-linux/) – or learn more about our reliable [VPS hosting](https://www.atlantic.net/vps-hosting/) servers.
---
# How to Add an Additional IP to FreeBSD 10.1
> URL: https://www.atlantic.net/vps-hosting/how-to-add-an-additional-ip-to-freebsd-10-1/ | Published: 2015-05-15 | Updated: 2025-08-04 | Author: Alexander Wise
##### Verified and Tested 04/21/2015
## Introduction
This tutorial will take you through adding another IP to your FreeBSD 10.1 Atlantic.Net Cloud server. This tutorial will cover public and private IPs available in the Cloud Portal.
## Add an Additional IP to FreeBSD 10
To add an IP to FreeBSD, you need to first open /etc/rc.conf with an editor. In our case, we use vi here.
```
vi /etc/rc.conf
```
Once in, you should receive a screen like below.

Sample rc.conf
**For public IPs:**
For adding a public IP, you will want to add an alias to the *ifconfig_vtnet0* interface. To do this, we add a new line that begins with *ifconfig_vtnet0_alias1* under *ifconfig_vtnet0* and add your additional IP information. The line should look like this:
```
ifconfig_vtnet0_alias1="inet 209.208.108.170 netmask 255.255.252.0"
```
Where 209.208.108.170 is our additional IP.
If you are adding more than one IP, you need to increment the alias segment (so *alias2*, *alias3*, and so forth.)
**For private IPs:**
For adding a private IP, you will want to notice the spot that states *#ifconfig_vtnet1=”inet netmask ”*. You will first want to uncomment the line by removing the *#*. Once done, you will want to remove ** and insert the private IP address you will be using. You will want to do the same thing with ** and insert your netmask. The line should end up looking like this:
```
ifconfig_vtnet1="inet 10.0.208.2 netmask 255.255.255.0"
```
Where our private IP is 10.0.208.2.
To add more than one private IP, you will want to follow the alias format in the public IP section above. You’d want to start a new line that begins with *ifconfig_vtnet1_alias1* and increment the alias as you need to.
Once you have made your changes, you need to save the file and restart networking on the server. To do this run:
```
ifconfig_vtnet1="inet 10.0.208.2 netmask 255.255.255.0"
```
The changes and routing will occur immediately, and you can begin using your new IP address(es).
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Install Linux, Apache, MySQL and PHP (LAMP) on a Ubuntu 20.04 Cloud Server
> URL: https://www.atlantic.net/vps-hosting/how-to-install-linux-apache-mysql-php-lamp-ubuntu-20-04/ | Published: 2015-05-15 | Updated: 2025-03-06 | Author: Alexander Wise
##### Verified and Tested 06/12/2021
### Introduction
In this How-To, we install LAMP on an Ubuntu 20.04 Cloud Server. LAMP is a simple software bundle of 4 components, Linux, Apache, MySQL, and PHP. **L**inux is the platform’s core; in this case, we are using Ubuntu 20.04 LTS. **A**pache is the webserver; most of the web servers globally are running Apache **M**ySQL, a database management system developed by Oracle. **P**HP is an extremely popular programming language widely used in web development. Altogether this forms LAMP or LAMP stack.
### Prerequisites
A server with Ubuntu 20.04 installed. Get a reliable VPS from Atlantic.Net if you do not have one.
## Installing LAMP on Ubuntu 20.04
Before we begin the installation, your system must be up to date; you can do so with the following command:
```
apt-get update
```
Once updating, we can get to the first step of making a LAMP stack by installing Apache.
## Installing Apache on Ubuntu 20.04
Install Apache by running the following command:
```
apt-get install apache2
```
Hit enter when it asks, “Do you want to continue?” during the install.
After the install, you can check to see if Apache is running by running the command:
```
systemctl status apache2
```
Also, you can verify if all is working by opening your browser and going to http://youripaddress
If you do not know your IP address, you can run the following command:
```
ip addr show eth0
```
In our case, we would put http://69.87.216.72 in your browser’s address bar and get the following page:

The default page for Apache on Ubuntu 20.04
## Installing MySQL on Ubuntu 20.04
Install MySQL with the following command:
```
sudo apt-get install mysql-server libapache2-mod-php php-mysql
```
After installing MySQL server, secure the MySQL server with the following command:
```
mysql_secure_installation
```
Note: You will be prompted with a series of questions. Just type N for the change root password and Y for yes on all of the rest; see the screenshot below:

An example of what mysql_secure_installation looks like
Verify that MySQL is running with the following command:
```
systemctl status mysql
```
## Installing PHP on Ubuntu 20.04
Install PHP with the following command:
```
apt-get install php
```
Create a test PHP file called info.php in /var/www/html/. In this how-to, we will be using the text editor nano with the following command:
```
nano /var/www/html/info.php
```
Insert the following code in the text editor, then save and exit:
```
```
Since we made changes, we need to restart Apache so that the changes take effect:
```
systemctl restart apache2
```
Test your page in your browser with the following hyperlink changed with your IP address:
http: //youripaddress/info.php

Congratulations! You have just installed LAMP on your Ubuntu 20.04 Server. Thank you for following this How-To on installing LAMP; please check back for more updates.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# Change your SSH Port in Ubuntu and Debian
> URL: https://www.atlantic.net/vps-hosting/how-to-change-ssh-port-ubuntu-debian/ | Published: 2015-05-17 | Updated: 2024-06-05 | Author: Jason Mazzota
##### Verified and Tested 4/21/15
### Introduction
In this tutorial, we will be showing you how to change the SSH port in Ubuntu and Debian. The operating system we created for this walkthrough is a brand new Ubuntu 14.04 64 bit Cloud server. This also works in our Ubuntu 12.04 OS and our Debian Cloud Servers. We will be using the vi editor for our file editing needs. Feel free to download and use any editor that you feel comfortable with.
Believe it or not, one of the simplest things you can do to secure your server is to change the SSH port. Since SSH defaults to port 22, you will see a lot of brute force attacks occurring over that port as a lot of users do not change this default SSH port.
### Prerequisites
An Ubuntu 14.04 64 bit server. If you do not currently have a server, consider one of Atlantic.Net’s affordable [VPS hosting](https://www.atlantic.net/vps-hosting/) solutions from Atlantic.Net.
## Change your SSH Port in Ubuntu and Debian
The first thing we want to do is SSH into our server using your preferred SSH client. Be sure that if you are using a custom user, that you have sudo rights.
Once you have logged into the server, let’s open our SSH configuration.
```
vi /etc/ssh/sshd_config
```

Sample sshd_config
For the above image, you can see where the configuration file states “Port 22.”
To change the SSH port, you simply need to change the 22 to any number that you would like to use, provided it is a port another program does not run on. For a list of common ports in use, you can check the following page. In our example, we will be changing the SSH port to 922, so your new line should instead read “Port 922.”
Once you have completed the change, exit and save the sshd_conf file, now all you need to run is the below command, and it will restart the SSH server. This means the next time you want to connect via SSH, you will need to do so on your new port, in our case, 922.
```
service ssh restart
```
Don’t forget to change the port 22 to your new port in your IPTables if you have it installed! You can check out the [Locking down your Ubuntu server with IPTables](https://www.atlantic.net/vps-hosting/how-to-securing-ubuntu-debian-server-iptables/) how-to on our blog for information on how to do that.
**Please do not forget that you can always access your server via our VNC viewer in the Cloud Portal if you cannot access the port, you have changed this to.**
Thank you for following along, and feel free to check back with us for further updates or learn more about our reliable [VPS hosting](https://www.atlantic.net/vps-hosting/) solutions and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Change the SSH Port in CentOS
> URL: https://www.atlantic.net/vps-hosting/how-to-change-ssh-port-centos/ | Published: 2015-05-17 | Updated: 2024-06-05 | Author: Jason Mazzota
##### Verified and Tested 4/21/15
### Introduction
In this how-to, we will be showing you how to change your SSH port in CentOS. We created a brand new CentOS 6.5 64 bit Cloud server for the exact operating system. We will be using the vi editor for our file editing needs. Feel free to download and use any editor that you feel comfortable with.
Believe it or not, one of the simplest things you can do to secure your server is to change the SSH port. Since SSH comes on a default port of 22, you will see a lot of brute force attacks occurring over that port because a lot of users do not change this default SSH port!
### Prerequisites
A server installed with CentOS 6.5 x86_64. If you currently do not have a server, please consider [VPS Hosting](https://www.atlantic.net/vps-hosting/) from Atlantic.Net.
## Changing your SSH port in CentOS
The first thing we want to do is SSH into our server using your preferred SSH client. Be sure that if you are using a custom user, that you have sudo rights. In this step, we will be performing commands as the root user.

Once you have logged into the server, let’s open our SSH configuration.
```
vi /etc/ssh/sshd_config
```
Once you are in the configuration, you’ll want to look for the section that has “Port.” It should be near the top and shown as “#Port 22.”

We will be removing the ‘#’ so that it is a plain line of “Port 22”. Next, we will be changing the 22 in the line to be any number you’d like that another program does not run on. For a list of common ports in use, you can check the following MIT page. In our example, we will be changing the SSH port to 922, so your new line should read:
Port 922
Once you have the change done, exit and save the sshd_conf file. Now all you need to run is the below command, and it will restart the SSH server. The next time you want to connect via SSH, you will need to do so on your new port, in our case, 922.
```
service sshd restart
```
Don’t forget to change the port 22 to your new port in your IPTables when done! You can check out the Locking down your CentOS server with IPTables section (link) for information on how to do that.
Note: *If using Atlantic.Net Cloud services, You can always access your server via our VNC viewer in the Cloud Portal if you lock yourself out*
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Install DNS Role on Windows Server 2012
> URL: https://www.atlantic.net/vps-hosting/how-to-install-dns-role-windows-server-2012/ | Published: 2015-05-18 | Updated: 2024-06-05 | Author: Jose Velazquez
##### Verified and Tested 03/18/2015
### Introduction
This how-to will walk you through the Install of DNS Server in Windows Server 2012.
Domain Name System (DNS) is a system that translates a Domain name to the IP address that is associated with it over the World Wide Web. It is widely used to store the following records: A Records, AAA Records, MX Records, Name Servers, PTR/ Reverse Records, C Names, and more. It is what makes a Domain Name resolve.
## Install DNS Role on Windows Server 2012
Open the **Server Manager** from the taskbar.
From **Server Manager **Dashboard, select **Add roles and features**. This will launch the Roles and Features Wizard, allowing modifications to be performed on the Windows Server 2012 instance.

Add roles and features
Note: If it’s the first time you have entered this wizard, you will get a **Before you Begin** page. Review it, and you can check the Skip this page by default box, then click **Next.**
Select **Role-based or feature-based** installation from the Installation Type screen and click **Next**.

Installation Type
You will now have the **Select destination server** page. Your server will be selected by default, so you can click **Next**to continue.

Select your server
Select **DNS Server,** and the following page will come up. Click **Add Features**to continue.

Add roles and features wizard
Click**Next** on the **Server Roles** page. Then review and **select optional features** to install during the DNS Server installation by placing a check in the box next to any desired features; Once done, click **Next**.

Select any optional features
Click Next on the **DNS Server** tab. Then Confirm the installation selections, then click **Install**. (Note: DNS Server doesn’t require a restart after the installation so that box can remain unchecked).

Confirm and Install your DNS server
Once the installation is completed, you can click **Close** on the **Results** page, and you’re all set.
Congratulations! You have just Installed DNS in Windows Server 2012. If you would like the configure DNS, please Check our “[Configure DNS in Windows Server 2012](https://www.atlantic.net/vps-hosting/how-to-configure-dns-windows-server-2012/)” article. Thank you for following along in this How-To, and feel free to check back with us for any new updates.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# What is Shared Key Exchange (How VPNs Work, Part 3)
> URL: https://www.atlantic.net/vps-hosting/what-is-shared-key-exchange-vpns-work-part-3/ | Published: 2015-05-20 | Updated: 2024-09-25 | Author: Mason Moody
In this article, we will explore how shared key exchange works. If you’re completely new to the concept of VPNs, check out [this introduction](https://www.atlantic.net/vps-hosting/what-is-vpn/).
## Getting Started with VPNs
This article is part of a series on VPNs. If you already know a little about the how VPNs work and want to know a little more, this series is for you. Each article addresses one aspect of how a VPN helps secure data by telling a story that serves as a metaphor for the logical mechanisms involved.
## Shared Key Exchange
In earlier adventures, our friends Adam and Burt have tried to keep their comic book project secret from Cesar’s snooping by securing the messages they exchange with [a shared key](https://www.atlantic.net/vps-hosting/what-is-symmetric-key-encryption-vpns-work-part-1/) and a more elaborate [public-/private-key pair system](https://www.atlantic.net/vps-hosting/what-is-public-key-cryptography-vpn-part-2/). Each system has its strengths and weaknesses. But the boys need a break from this project, and lucky for them, there’s a fair going on nearby. They enter the chili cook-off, and because they love keeping their creations secret, they devise a way of keeping their recipe secret, even as they prepare it in front of onlookers. The recipe will be so secure; even they won’t know it!

## A Well-Known Starting Point
To pull this feat off, Adam and Burt will each need to develop a portion of the recipe without knowing anything about what the other has contributed. If neither of them knows the whole recipe, neither can reveal it. However, they agree on a common base of ingredients (a mixture of tomato base, chili seasoning, beef, and beans). There’s no need to keep this part secret–most of the other contestants start with a similar base, so they gain little in spending the effort to obscure these ingredients.
### Negotiating the Key Exchange
The fact that the two parties can start with this negotiation over an insecure, public medium is one of the core and clever ideas behind this method of initiating encryption. Before any encryption can occur, there needs to be some unencrypted traffic between peers, otherwise, neither will know how to decrypt any future messages. This initial step lets one host tell another that it wishes to begin a negotiation of an encryption method by offering a couple of initial values to a well-known mathematical formula (which, in this example, is the base of the chili). The real magic comes in the next steps.
## Seeding the Key
Adam and Burt have independently and secretly prepared a portion of seasoning and additional ingredients sealed in an opaque, rice-paper pouch that will dissolve once immersed in the chili. In this cook-off, Adam’s pouch contains tomatillos, chipotles, cayenne pepper, and cinnamon; Burt’s has Cajun seasoning, beer, cumin, oregano, and Worcester sauce*. Adam tosses his packet into his pot and stirs, tasting his chili until he is sure the pouch has dissolved and released its ingredients. Burt does the same with his pot. At this point, Adam and Burt have two different chilis.

**(in case you are wondering why this isn’t already dissolving from the beer, let’s say that Burt has pre-frozen any liquids before placing them in the dissolvable pouch.)*
### Generating the Shared Key
In the actual key exchange process, these “ingredients” are actually very large prime numbers. In the key-exchange process, these large prime numbers are randomly generated. The larger the numbers used to input into this key exchange, the more difficult it is to use brute-force techniques to crack. The size of these numbers is called a bit group. A group of prime numbers of the same length in binary bits (e.g., 1024 or 2048 or even larger bit lengths) all belong to the same group. The larger the bit group, the more robust this key exchange process becomes and the more resistant it becomes to analysis and potential compromise.
## Completing the Exchange
Now they switch the pots they are tending to, so Burt is at the pot Adam started, and vice versa. They each take another pouch identical to the one they started with and add this second pouch to the pot that the other had started (so Adam adds his tomatillos, chipotles, cayenne pepper, and cinnamon to the pot Burt started with the Cajun seasoning, beer, cumin, oregano, and Worcester sauce; and Burt adds his pouch to the pot Adam started). After each of them stirs their respective pots and dissolves the pouches to release the secret ingredients, they can be sure that each pot now contains identical chilis.

### The Diffie-Hellman Key Exchange
In mathematical terms, the algorithm governing shared key exchange is commutative–it can be performed in any order and get to the same result. Also, note that neither Adam nor Burt have the means to reconstruct the key alone. Each of them only know the random value each contributed to the algorithm. And, since each also generates a copy of the key upon completion of the negotiation, each also has a copy of the final key without its having had been transmitted over a network.
This shared key exchange or negotiation is called the Diffie-Hellman Key Exchange, named for the authors of the paper that first detailed this method, Whitfield Diffie and Martin Hellman. Their work built upon previous work done by Ralph Merkle, so it has been suggested ([by Hellman himself](http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange#Name)) this method be called the Diffie-Hellman-Merkle Key Exchange. In actual configurations, you will often see this method applied as DH Groups, different groups corresponding to keys of different lengths in binary bits.
## Complex Tastes
During the preparation, any judges could have seen and sampled from the starting pots or the intermediate pots. Even if Cesar, intent on learning the secret recipe, poses as a judge, he wouldn’t be able to reliably reconstruct the final recipe Adam and Burt used. (This example assumes that Cesar doesn’t have the ability to distinguish all the individual flavors included in the chili. To attempt to identify the ingredients and their amounts via laboratory analysis would be expensive enough in time and energy invested in making it infeasible.)
### Potential Vulnerabilities
If an attacker wanted to compromise any communication encrypted with this key, a typical man-in-the-middle eavesdropping attack would be insufficient. An attacker could, however, insert himself as a transit man-in-the-middle. If an attacker set himself up so that all communication between the two hosts had to go through him, he could perform a Diffie-Hellman negotiation with each peer. Each side of the connection would only know whether a successful key is negotiated, but not with whom. In this position, the man-in-the-middle would be able to see the whole conversation–in fact, he’d have to decrypt incoming traffic and re-encrypt it before sending it out the other side to maintain the impression that each end still has its “secure” connection.
It’s also possible for an attacker to attempt to stage a man-in-the-middle attack to downgrade the DH group to a group whose bit length is much smaller and less secure. That attacker could then collect the weakly encrypted data and perform an offline brute force attack against the encryption to crack it in a reasonable amount of time. Attacks such as FREAK and [Logjam](https://www.atlantic.net/vps-hosting/what-is-the-logjam-vulnerability/) use some sort of downgrade methodology to weaken the Diffie-Hellman key exchange.
### More in the How VPNs Work Series
[Part 1: Symmetrical Encryption Algorithms](https://www.atlantic.net/vps-hosting/what-is-symmetric-key-encryption-vpns-work-part-1/)
[Part 2: Public Key Cryptography](https://www.atlantic.net/vps-hosting/what-is-public-key-cryptography-vpn-part-2/)
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting prices](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Install Active Directory Lightweight Directory Services Windows Server 2012
> URL: https://www.atlantic.net/vps-hosting/how-to-install-active-directory-lightweight-directory-services/ | Published: 2015-05-20 | Updated: 2024-06-05 | Author: Jose Velazquez
##### Verified and Tested 03/31/2015
### Introduction
This how-to will walk you through the Install Active Directory Lightweight Directory Services Windows Server 2012.
Active Directory Lightweight Directory Services or AD LDS is a feature that allows you to assist applications that are directory-enabled without the restrictions of the Active Directory Domain Services.
### Prerequisites
– A Server with Windows Server 2012. If you do not have a server already, consider an affordable [Windows VPS](https://www.atlantic.net/vps-hosting/) from Atlantic.Net and be up and running in under 30 seconds.
– Active Directory Domain Services. If you need to install an active directory, check out “[Installing Active Directory in Windows Server 2012](https://www.atlantic.net/vps-hosting/).”
## Install Active Directory Lightweight Directory Services
Open the **Server Manager** from the taskbar.
From **Server Manager **Dashboard, select **Add roles and features**. This will launch the Roles and Features Wizard, allowing modifications to be performed on the Windows Server 2012 instance.

An example of the location of “Add roles and features.”
Note: If it’s the first time you have entered this wizard, you will get a **Before you Begin** page. Review it, and you can check the Skip this page by default box, and then click **Next.**
Select **Role-based or feature-based** installation from the Installation Type screen and click **Next**.

An example of where “Role-based or feature-based installation is located.
You will now have the **Select destination server** page. Your server will be selected by default, so you can click **Next**to continue.

Click next after you have selected your server.

Check Active Directory Lightweight Directory Services
The Select Server Roles page appears. Select the **Active Directory Lightweight Directory Services** check box, add features and click **Next**

Click Install
Click **Next** in the **Features** Screen/ click next in the **Active Directory Lightweight Directory Services** Screen/ Confirm your Installation and click **Install**.
You can now see that the **Active Directory Lightweight Directory Services** role is currently installed in your **Server Manager** Screen.

You can now see that Active Directory Lightweight Directory Services is installed.
Congratulations! You have just Installed the Active Directory Lightweight Directory Services in Windows Server 2012. Thank you for following along in this How-To, and feel free to check back with us for any new updates.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Add a Custom Firewall Rule in Windows Server 2012
> URL: https://www.atlantic.net/dedicated-server-hosting/how-to-add-custom-firewall-rule/ | Published: 2015-05-21 | Updated: 2026-01-15 | Author: Jose Velazquez
##### Verified and Tested 03/24/2015
## Introduction
In this How-To, we will walk you through Adding a Custom Firewall Rule in Windows Server 2012. We will be adding a custom RDP Port for this tutorial.
## Prerequisites
– A Server with Windows Server 2012.
## Adding a Custom Firewall Rule
Open **Server Manager**/ Click on **Tools**/ Select **Windows Firewall with Advanced Security**/ Select **Inbound Rules** and click **New Rule**under actions.Select
 Click new rule
Select **Custom** from the Rule Type radial button and click **Next**.
 Click Custom
**Select the Program Association** for the Custom Firewall Rule, either All programs or the path to a program, and click **Next**.
 Choose All Programs
Select **TCP** for Protocol type/ Select **Specific Ports**in the **Remote port** and type your custom RDP Port (I am currently using port 1050 for this tutorial), then click **Next**
 Insert the port you want open; in this case, it is 1050
You can now specify if this rule applies to local IPs or Remote. (I will be leaving this blank so that I can access the server from anywhere through the specified port)
 Choose the IPs you want to be allowed or blocked. In this case, we are keeping everything open.
You can leave the default or select your action and click **Next**
 Choose Allow the connection
You can allow this rule to **Domain**, **Private**, and **Public,** or specify accordingly.
 Choose profiles that you want the rule to use. In this case, all.
Type the name of your rule, and you can give it a description if you want, then click **Finish**.
 Name your rule
You will now see that rule at the top of your list.
 You can now see your custom rule.
Congratulations! You have just Added a Custom Port in Windows Server 2012 on your [Dedicated Server](https://www.atlantic.net/dedicated-server-hosting/) from Atlantic.Net! Thank you for following along in this How-To. Feel free to check back with us for any new updates.
Also, learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# Linking Cloud Computing to Your Legacy Infrastructure
> URL: https://www.atlantic.net/vps-hosting/side-stepping-the-roadblock-linking-cloud-computing-to-legacy-infrastructure/ | Published: 2015-05-21 | Updated: 2025-03-06 | Author: Alexander Wise
According to a recent survey, almost four out of every five IT decision-makers feel hemmed in by traditional computing systems. Companies that want to move confidently into the future – at least for now – must figure out how best to integrate their legacy architectures with the cloud.
## Survey: 80% of IT Leaders Call Legacy Infrastructure an Obstacle
CIOs and IT directors say it’s difficult for them to meet business goals because of legacy servers, reductions in spending on computing, and a shortage of professionals who have the specialized knowledge and experience they need. That fact was revealed by a 2014 poll of 250 IT decision-makers.
### Why Is It Difficult to Move Forward?
The study, designed and performed in conjunction by ControlCircle and Vanson Bourne, shows how substantially the legacy infrastructures of yesterday are making it difficult to expand and adapt today. 70% of survey participants said existing machines were holding them back.
“With so much effort going into ‘keeping the lights on,’ and almost all businesses experiencing regular availability issues,” explained ControlCircle managing director, Carmen Carey, “it is hardly surprising that IT leaders are often unable to fulfill their ambitions.”
53% of CIOs and IT executives said that the diversification of infrastructures and software tracking systems to manage them decreases the consistency of service quality and makes high availability more elusive. Three in ten said that this current challenge would become increasingly intense as the third platform (cloud/mobile/social/big data) gradually becomes the standard for the IT landscape.
### Who Was Surveyed
The authors of this report wanted to get a sense of the market. To that end, the executives’ opinions came from a broad spectrum of industrial types:
- Banks
- Consultancies
- Healthcare providers
- Manufacturing organizations
- Public utilities
- Tech companies
- Telecommunications firms
As Carey sees it, the findings suggest that CIOs are dealing with numerous obstacles that prevent them from maintaining service quality and gearing their attention toward development. The bigger a company is, she says, the more susceptible it is to problems with service quality since the legacy infrastructure is broader.
However, “with enterprises also more focused on the reduction of capex,” Carey adds, “they need to identify specific areas for discrete IT projects that use innovative commercials and tools to help them achieve their strategic goals.”
## Migration – Are We Making Any Progress?
Unfortunately, transitioning to the cloud is often more challenging than it first appears, hence the need for **strong and transparent support**. For a plethora of reasons, companies struggle. If all you had to do was grab the data and move it, the hybrid cloud would be the obvious model already, argued Arthur Cole in [*IT Business Edge* in 2013](http://www.itbusinessedge.com/blogs/infrastructure/look-forward-with-your-hybrid-cloud.html).
In 2015, progress was made, but the ongoing transition is still tricky. Let’s look at Cole’s comments and others before fast-forwarding to a 2015 survey to determine if the problem is solved.
“[M]any organizations are afraid to pull the plug until they are assured that this new paradigm is secure, reliable, and resilient enough to entrust with critical data and applications,” Cole suggested.
### Problem 1: Uncertain Costs
One major problem was the lack of clarity upfront about how much the cloud would cost. Organizations sometimes didn’t factor in the expenses of migrating data and connecting systems, said Gregory Ness of CloudVelox. They may have assumed those costs were included, but they standardly aren’t.
### Problem 2: Integration Concerns
Everyone wants the cloud to be fully accessible and to work intelligently with the legacy system for the greatest efficiency, remarked Cole, but that requires sophisticated management.
Since migration and integration issues can be so vexing to IT decision-makers, everything should be built into the general system upgrade, according to blogger Rick Blaisdell. Ordinarily, companies think of those essential transition elements as tasks to complete to get to the cloud, while they should be considered a significant part of what it means to use cloud servers. Now, keep in mind, migration is becoming easier and more seamless all the time, partially because you get **better support expertise** than you did in the past. Migration tools are also becoming more robust and more full-featured.
“Integrating [your cloud environment] with other cloud instances and legacy IT infrastructure … will be the single most challenging aspect of IT in the new millennium,” argued Cole. “Without that, the cloud will be too unwieldy and too ephemeral to provide any real productivity gains for the knowledge workforce.”
## Fast-Forward to 2015
Although this warning bell about migration was sounded as far back as a couple of years ago, the industry has not done enough to help businesses migrate as simply and efficiently as possible.
Based on the perspectives of 1600 IT leaders in Europe and United States, the NTT Communications report[Cloud Reality Check 2015 revealed](http://www.channelweb.co.uk/crn-uk/news/2403970/cloud-migration-more-trouble-than-its-worth-survey) that 41% of tech decision-makers think that switching systems over to the cloud is “more trouble than it’s worth.”
## Cloud Hosting with Atlantic.Net
The respondents to that survey have clearly not worked with Atlantic.Net and our [VPS hosting](https://www.atlantic.net/vps-hosting/), where we believe that our business thrives on the support we provide to our customers.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
By Moazzam Adnan
---
# How to Install Active Directory Certificate Services Windows Server 2012
> URL: https://www.atlantic.net/vps-hosting/how-to-install-active-directory-certificate-services/ | Published: 2015-05-22 | Updated: 2026-01-15 | Author: Jose Velazquez
## Introduction
This how-to will walk you through Install Active Directory Certificate Services Windows Server 2012
Active Directory Certificate Services or ADCS is a feature that provides certificates for user authentication. This feature aims to increase the network’s security by using the certificate that holds the users’ information and Private keys assigned.
## Install Active Directory Certificate Services
Open the **Server Manager** from the taskbar.
From **the Server Manager**Dashboard, select **Add Roles and features**. This will launch the Roles and Features Wizard, allowing modifications to be performed on the Windows Server 2012 instance.

Click “Add roles and features.”
Note: If it’s the first time you have entered this Wizard, you will get a **Before you Begin** page. Review it, and you can check the Skip this page by default box, then click **Next.**
Select **Role-based or Feature-based** Installation from the Installation Type screen and click **Next**.

Select “Role-based or feature-based installation.”
You will now have the **Select Destination Server** page. Your server will be selected by default, so you can click **Next**to continue.

Select the server you would like to install on.

Select “Active Directory Certificate Services”
The Select Server Roles page appears. Select the **Active Directory Certificate Services** check box, and then click **Next**.
Click **Next** in the **Features** Screen/ click **Next** in the **Active Directory Certificate Services** Screen/ Select any additional Role in the Role Services(I selected all of them just in case I need them later down the road) and click Next.


Click Install
Confirm your Installation and click **Install**.

Active Directory Certificate Services is installed on the left side of the server manager.
You can now see that the **Active Directory Certificate Services** role is currently installed in your **Server Manager** Screen.
Congratulations! You have just Installed Active Directory Certificate Services in Windows Server 2012. Thank you for following along in this How-To, and feel free to check back with us for any new updates.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# What Is the Logjam Vulnerability?
> URL: https://www.atlantic.net/vps-hosting/what-is-the-logjam-vulnerability/ | Published: 2015-05-22 | Updated: 2024-10-21 | Author: Mason Moody
## Overview of Logjam
On May 20, 2015, a team of researchers announced a new vulnerability in the protocol that allows web servers to establish secure (HTTPS) connections to web browsers. Calling this exploit [the Logjam Attack](https://weakdh.org/), the team of computer scientists and security specialists from multiple universities and technology companies demonstrated how a man-in-the-middle attacker could downgrade a vulnerable TLS connection to use an encryption cipher that is “relatively easily” broken. This attack is the latest in a series of cipher downgrade attacks, such as [FREAK](http://freakattack.com/) and POODLE, that target implementations of the HTTPS protocol.

*Photo: [Sharon Mollerus](https://www.flickr.com/photos/clairity/9599693784) / licensed under [CC BY 2.0](https://creativecommons.org/licenses/by/2.0/)*
## SSL/TLS Overview
To understand how this attack works, it might be helpful to review how TLS (Transport Layer Security, though this protocol is often still referenced by its predecessor’s initialism, SSL, Secure Sockets Layer) protects an HTTPS connection. When a web browser requests a webpage via an HTTPS connection, the host server will first offer its certificate to authenticate its identity, which uses asymmetric cryptography within the public key infrastructure. Once authenticated, the server then enters into a negotiation with the client browser over which cipher suite they will use for the connection. In most cases, they will use the most robust cipher suite they can agree upon. When they determine the encryption algorithm, they then negotiate their shared secret key via a process called the [Diffie-Hellman Key Exchange](https://www.atlantic.net/vps-hosting/what-is-shared-key-exchange-vpns-work-part-3/).
## Diffie-Hellman Key Exchange
The Diffie-Hellman Key Exchange allows for the secure generation of a new shared key between parties to happen over an insecure medium. The larger the bit-length of the Diffie-Hellman group, the more resilient it is to being cracked by a brute force attack. Groups of 1024 bits are in wide use, though the researchers who discovered the Logjam vulnerability [posit that state-sponsored actors are within reach to crack the encryption of this strength](https://weakdh.org/imperfect-forward-secrecy.pdf). The Logjam vulnerability is exploited by forcing the two parties to downgrade the Diffie-Hellman group to a 512-bit group, which can be cracked in minutes.
## How Concerned Should We Be?
Exploiting the Logjam vulnerability requires an attacker to occupy a man-in-the-middle position. In other words, an attacker would need to access the same network as the client, server, or any ISP in between. This access, which includes most wired connections, is generally walled off most garden-variety snoopers. If you access the Internet via an open public wi-fi access point, then you might have cause for concern, whether from an exploit of this vulnerability or a host of others. In that case, your best bet is to utilize a VPN (if you are concerned about security, then this is a prudent strategy in any case).
If an attacker can pull off this exploit, it’s only the first step. It still requires that the attacker access a device with significant computational power to decrypt any intercepted and downgraded encrypted traffic successfully. As such, it’s not the most straightforward trick to execute, so it’s probably not a vulnerability that one should lose too much sleepover. However, a vulnerability is a vulnerability, so the sooner patched, the sooner you can knock it off the list of things to worry about.
## What To Do To Protect Yourself
As of the release of the news of this discovery, only the latest version of Internet Explorer has been patched for this exploit (it should be noted that one of the researchers on this team works for Microsoft Research). Mozilla, Google, and Apple have announced that they are working on patches for their respective browsers, Firefox, Chrome, and Safari. When those patches are released, you should update your browser to those versions to enable protection from this vulnerability. In the meantime, though, if you are concerned about your exposure to this sort of attack, you might want to stick to IE for your secure browsing.
Suppose you administer a web or email server. In that case, you can mitigate your vulnerability by removing the list of cipher suites export suites (old, intentionally weakened ciphers that were once the only encryption technology allowed to be exported outside the United States). The group who discovered this exploit also recommended the usage of Elliptic Curve Diffie-Hellman, Ephemeral (ECDHE) as preferred ciphers for their resilience to all known cryptographic attacks. See [their site where you can test your server and get guidance on making these configuration changes](https://weakdh.org/sysadmin.html).
Atlantic.Net’s world-class [VPS hosting](https://www.atlantic.net/vps-hosting/) solutions and technical staff work around the clock, ensuring that our customers’ data is secure and private. Please feel free to contact our staff and check our community and blog pages for any further updates.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Install Nginx on Fedora 22
> URL: https://www.atlantic.net/vps-hosting/how-to-install-nginx-fedora-22/ | Published: 2015-05-26 | Updated: 2026-01-15 | Author: Atlantic.Net NOC
##### Verified and Tested 05/20/15
## Introduction
We will walk you through the Nginx install on your Fedora 22 Server in this How-To. Nginx is an HTTP and reverse proxy server and mail proxy server. It is used on many well-known sites such as Netflix and WordPress.
## Prerequisites
A cloud server with Fedora 22 already installed. If you do not have a server already, you can spin up a virtual private server in under 30 seconds.
## Installing NGINX in Fedora 22
To get started, log into your Fedora 22 via SSH or the VNC Console in cloud.atlantic.net. Atlantic.Net Cloud servers are set up as minimal installations to avoid having unnecessary packages from being installed and never used. Because of this, let’s make sure that your server is fully up-to-date.
```
dnf update
```
With the server up-to-date, we can continue the installation process on your Fedora 22 server.
Install NGINX with the following command:
```
dnf install nginx
```
Start the service with the following command:
```
systemctl start nginx
```
Configure NGINX to start when the system is rebooted:
```
systemctl enable nginx
```
You will also need to add the following firewall rules to let HTTP and HTTPS ports through the local firewall. Run the following commands to add them to the firewall:
```
firewall-cmd --set-default-zone=public
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
```
You can then check the status by running:
```
systemctl status nginx
```
You will now have NGINX installed on your server and can be verified by typing in the following with your IP ADDRESS on your browser. Also, all configuration files are provided on the page.
Your IP could be retrieved from the server with the following command:
```
ifconfig
```
http :// ip.ad.dre.ss
 The default page
You can now insert your site in the /usr/share/nginx/html directory. This is the default web directory.
You have now completed installing Nginx on your Fedora 22 server. Come back and check for updates!
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Install Linux, Nginx, MariaDB And PHP (LEMP) On Fedora 22
> URL: https://www.atlantic.net/vps-hosting/how-to-install-lemp-fedora-22/ | Published: 2015-05-26 | Updated: 2026-01-15 | Author: Atlantic.Net NOC
##### verified and Tested 05/20/15
## Introduction
We will walk you through the LEMP install on your Fedora 22 Server in this How-To.
LEMP is simply a software bundle that consists of 4 components. L (Linux) is the platform’s core, which will sustain the other components. E(Nginx)will be used for the web service. M(MariaDB)will be used for database management, and P(PHP) will be the programming language, making the platform a LEMP.
## Prerequisites
A cloud server with Fedora 22 already installed (which will take care of the L(Linux) aspect of the LEMP install). If you do not have a server, why not spin up a Fedora 22 server from Atlantic.Net in under 30 seconds?
## Installing NGINX in Fedora 22
Install NGINX with the following command:
```
dnf install nginx
```
Start the NGINX service with the following command:
```
systemctl start nginx
```
Configure NGINX to start when the system is rebooted:
```
systemctl enable nginx
```
You will also need to add the following firewall rules to let HTTP and HTTPS ports through the local firewall. Run the following commands to add them to the firewall:
```
firewall-cmd --set-default-zone=public
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
```
You can then check the status of nginx by running:
```
systemctl status nginx
```
You will now have NGINX installed on your server and can be verified by typing in the following with your IP ADDRESS on your browser. Also, all configuration files are provided on the page.
If you do not know your IP address, you can use the following command to grab it:
```
ifconfig
```
You should get an output similar to this:

Using ifconfig to show ip address
In this server, our ip address shows 10.10.250.58, so we would put in our browser, http ://10.10.250.58 and get the following page:

Nginx default page
## Installing MariaDB on Fedora 22
Install MySQL with the following command to begin the install:
```
dnf install mariadb-server
```
Start the service with the following command
```
systemctl start mariadb
```
To have MariaDB start on boot, run the following command:
```
systemctl enable mariadb
```
You can then check the status of MariaDB to ensure it is running by using the command:
```
systemctl status mariadb
```
Set the MariaDB root password and secure MariaDB with the following command:
```
mysql_secure_installation
```
First, you will be prompted for the MariaDB root password. Since we installed MariaDB and did not set a root password, you would leave it blank and press Enter. You will then be asked if you would like to set the root password. Enter ‘Y’ for yes, and then create a password of your choice.
Note: Afterwards, you will be prompted with a series of questions. Type Y for yes on all of them. See the screenshot below:

Series of questions to secure MariaDB
## Installing PHP on Fedora 22
Install PHP with the following command to begin the install:
```
dnf install php php-mysql php-fpm
```
We will want to make a security configuration change in php.ini. Open php.ini with your text editor:
```
nano /etc/php.ini
```
You will need to search for the following line; cgi.fix_pathinfo=1. Once there, delete the semi-colon and change the value from ‘1’ to ‘0’.

PHP.ini configuration file
This change will ensure you are not a victim of a well-known exploit in the Nginx environment. This changes how PHP files are interpreted.
Start php-fpm with the following command:
```
systemctl start php-fpm
```
To make sure it starts on boot, run the following:

PHP.ini configuration file
```
systemctl enable php-fpm
```
To check the status and make sure php-fpm is running:
```
systemctl status php-fpm
```
We will need to restart Nginx before testing PHP with all the configuration changes.
```
systemctl restart nginx
```
Now we are ready to test everything. We will create a simple PHP script to test it all. The path to adding the php script is located in the same place as the index.html we saw when installing Nginx. The path is /usr/share/nginx/html/ . We will open a new file under this path called test.php by running the following command.
```
nano /usr/share/nginx/html/test.php
```
Insert the following code in the space:
```
```
Save and exit.
In your browser, navigate to http :// ip.ad.dre.ss/test.php, and you will see information for your PHP installation.

PHP information page
Since you have tested PHP to be working, you will want to remove the test.php from your server, showing your PHP information publicly.
```
rm /usr/share/nginx/html/test.php
```
You can also view this detailed information of your PHP installation by running “php -i.”
Congratulations! You have just installed LEMP on your Fedora 22 Server. Check back with us for any new updates!
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Install Apache on Fedora 22
> URL: https://www.atlantic.net/vps-hosting/how-to-install-apache-fedora-22/ | Published: 2015-05-26 | Updated: 2026-01-15 | Author: Jose Velazquez
##### Verified and Tested 05/26/15
## Introduction
This how-to will help you with your install and configuration of Apache on your Fedora 22 server. Apache is a web server that is very popular in Linux systems and over the Internet. It is used by many Web Hosting companies worldwide because of its popularity and efficiency in hosting sites over the World Wide Web.
## Prerequisites
You need a Fedora 22 server configured with a static IP address. If you do not have a server already, you can visit our [VPS Hosting](https://www.atlantic.net/vps-hosting/) page and spin a new server up in under 30 seconds.
## Install Apache
To get started, log into your Fedora 22 via SSH or the VNC Console in cloud.atlantic.net. Atlantic.Net Cloud servers are set up as minimal installations to avoid having unnecessary packages from being installed and never used. Because of this, let’s make sure that your server is fully up-to-date.
```
dnf update
```
With the server up-to-date, we can continue the installation process on your Fedora 22 server.
Install Apache with the following command:
```
dnf install httpd
```
Start Apache with the following command:
```
systemctl start httpd.service
```
You will want the Apache service to start on start-up/reboot with the following command:
```
systemctl enable httpd.service
```
Additionally, you must add the following commands in your Firewall-cmd to allow Apache through:
```
firewall-cmd --set-default-zone=public
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
```
Verify if all is working by typing http :// YOUR.IP.ADD.RESS
Your IP could be retrieved from the server with the following command:
```
ifconfig
```
 This is the default page after installing Apache in Fedora 22
## What Next?
With that, you now have a server installed and configured with Apache. You may now continue building your website. Thank you for following along, and feel free to check back with us for further updates.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Install WordPress on a Fedora 22 Cloud Server
> URL: https://www.atlantic.net/vps-hosting/how-to-install-wordpress-fedora-22/ | Published: 2015-05-26 | Updated: 2026-01-15 | Author: Alexander Wise
##### Verified and Tested 05/25/15
## Introduction
This how-to will show you how to install WordPress on Fedora 22. WordPress started as a blogging system but has become a whole content management system (CMS). It is a free, open-source program, which has become the most popular CMS on the Web. With thousands of plugins, your website is nearly limitless.
## Prerequisite
– A Fedora 22 server running LAMP or LEMP is required. Please see our how-tos for Fedora 22 [LAMP](https://www.atlantic.net/vps-hosting/how-to-install-lamp-fedora-32/) or [LEMP](https://www.atlantic.net/vps-hosting/how-to-install-lemp-fedora-22/).
## Creating The WordPress Database In MariaDB on Fedora 22
We are going to start by setting up the database in MariaDB by running the following commands:
```
mysql -u root -p
```
When prompted, enter your MariaDB root password that you set up when installing MariaDB.
In MariaDB, enter the following commands: (Make sure you set your secure password where it says [insert-password-here])
```
create database wordpress character set utf8 collate utf8_bin;
grant all privileges on wordpress.* to wordpressuser@localhost identified by '[insert-password-here]';
flush privileges;
exit
```
The commands above create a WordPress database, a dbuser named wordpressuser with a password [insert-password-here]. You can modify these settings to your liking.
## Downloading And Unpacking The Latest WordPress Install on Fedora 22
Since we created the database, we can now move on to the next step of downloading the latest WordPress install by running the following command:
```
wget http://wordpress.org/latest.tar.gz
```
Note: if Wget is not installed, install it by running the command:
```
dnf install wget
```
Wget will download the compressed WordPress install in the directory that you are currently in. We now need to unpack it by running the command:
```
tar -xzvf latest.tar.gz
```
## Configuring the WordPress Install on Fedora 22
wp-config.php is where WordPress gets its base configuration. We need to make a wp-config.php by copying wp-config-sample.php and creating a new file. To do that, run:
```
cp wordpress/wp-config-sample.php wordpress/wp-config.php
```
Next, we need to edit wordpress/wp-config.php. In this how-to, we will be using the text editor nano.
```
nano wordpress/wp-config.php
```
For a simple setup, we need to edit the following values:
define(‘DB_NAME’, ‘wordpress’);
define(‘DB_USER’, ‘wordpressuser’);
define(‘DB_PASSWORD’, ‘[insert-password-here]’);
It should look like this when completed:

We now need to move the config files to the web directory.
For LAMP, run the command:
```
sudo cp -r ~/wordpress/* /var/www/html
```
For LEMP, run the command:
```
sudo cp -r ~/wordpress/* /usr/share/nginx/html
```
## Finishing The WordPress Install In The Web Installation on Fedora 22
We now can go to the web installation by going to http: //yourhostname-or-ipaddress in your browser.
If you are unsure what your IP address is, run the following:
```
ifconfig
```

In the above example, we would put http://192.68.0.15/ in the browser address bar and get the following page.

Congratulations, you have installed WordPress on Fedora 22. Please check back for more updates. The next step is to follow the web installation by submitting your information. For more information, you may want to check out the [WordPress Codex](https://codex.wordpress.org/).
## Atlantic.Net
Atlantic.Net offers [VPS hosting](https://www.atlantic.net/vps-hosting/) as well as managed hosting services which include a layer of business-essential managed services to your hosting packages. Contact us today for more information.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Install Apache, MariaDB, PHP (LAMP) on Fedora 32
> URL: https://www.atlantic.net/vps-hosting/how-to-install-lamp-fedora-32/ | Published: 2015-05-26 | Updated: 2026-01-15 | Author: Ernest Coleman
##### Verified and Tested 03/10/21
## Introduction
We will walk you through the LAMP install on your Fedora 32 Server in this How-To. With the many changes of Fedora 32, a typical LAMP install is different than you may have seen in the past. Fedora 32 still uses Apache and MariaDB, PHP, although they are using slightly updated versions of each.
## Install Lamp on Fedora 32
To start, we need to make sure the system is updated. To do that, run the command:
```
dnf update
```
We are now able to start the installation for Apache.
## Install Apache on Fedora 32
Install Apache with the following command:
```
dnf install httpd
```
Now that Apache is installed, we need to start Apache with the following command:
```
systemctl start httpd.service
```
You will want the Apache service to start on start-up/reboot with the following command:
```
systemctl enable httpd.service
```
Add the following commands in Apache to override in Firewall-cmd as follows:
```
firewall-cmd --set-default-zone=public
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
```
You can now verify that Apache is installed correctly by typing http:// and your IP or hostname on your browser.
> Note: If you do not know your IP address, run the following command:
>
> ```
> ip addr show eth0
> ```
>
> 
>
> An example of ip addr showing the IP of 192.168.100.10
>
> In our example we would put `http://192.168.100.10` into our browser’s address bar.
** **

The default Apache page for Fedora 32
## Installing MariaDB on Fedora 32
Install MySQL with the following command to begin the install:
```
dnf install mariadb-server
```
Start the service with the following command
```
systemctl start mariadb
```
To have MariaDB start on boot, run the following command:
```
systemctl enable mariadb
```
You can then check the status of MariaDB to ensure it is running by using the command:
```
systemctl status mariadb
```
Set the MariaDB root password and secure MariaDB with the following command:
```
mysql_secure_installation
```
First, you will be prompted for the MariaDB root password. Since we installed MariaDB and did not set a root password, you would leave it blank and press Enter. You will then be asked if you would like to set the root password. Enter ‘Y’ for yes, and then create a password of your choice.
Note: Afterwards, you will be prompted with a series of questions. Just type Y for yes on all of them. See the screenshot below:

An example of the mysql_secure_installation for MariaDB on Fedora 32
## Install PHP on Fedora 32
Finally, we will conclude the installing PHP with the following command:
```
dnf install php php-mysqli
```
Restart the Apache HTTP service, so the changes take effect.
```
systemctl restart httpd.service
```
To test and verify this installation, create a test PHP file in the directory below with the following command:
```
sudo nano /var/www/html/info.php
```
Insert the following PHP code in the space, then save and exit:
```
```
Restart the Apache HTTP service one last time, so all the changes take effect.
```
sudo systemctl enable httpd.service
```
You can now verify that PHP is installed correctly by typing the following on your browser.
http: //ip.ad.dre.ss/info.php

## What Next?
Congratulations! You now have a server with a LAMP platform for your web environment. Thank you for following along, and feel free to check back with us for further updates or check out our guide on [installing WordPress](https://www.atlantic.net/vps-hosting/how-to-install-wordpress-fedora-22/).
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# A Story About a HIPAA-Compliant Website & Mobile App
> URL: https://www.atlantic.net/hipaa-compliant-hosting/healthcare-hosting-story-hipaa-compliant-website-and-mobile-app/ | Published: 2015-05-26 | Updated: 2026-01-15 | Author: Alexander Wise
Dell strategist Jim Stikeleather has argued that big data projects should tell a story. [He said](https://hbr.org/2013/04/how-to-tell-a-story-with-data/) that by thinking similarly to journalists, data scientists could frame and communicate the information and filters they want to explore more deliberately and captivatingly.
Storytelling can assist with the understanding of any situation, particularly technology – which often can seem obtuse, boring, and inhuman. People breathe life into technological situations – as when stories are told of people problem-solving using the tools of the technological era.
Since HIPAA-compliant hosting is one of our specialties, let’s look at a recent interaction with a client interested in hosting a healthcare site and mobile application.
**** Note that various details are changed for privacy, clarity, etc. ****
## **Healthcare Client:**
Hello, I have a client that requires a [HIPAA compliant hosting](https://www.atlantic.net/hipaa-compliant-hosting/) service. The client has a website and an app. The app is for end-users to upload images of their doctor bills. The website is where billing specialists review their claims and tell them if they were billed incorrectly. This is a startup company with unknown needs as far as server size. I would assume it would only require a small server, but we want to scale up quickly if this company takes off. My job is to investigate hosting companies and recommend one to our client, who will establish the account independently.
## **Hosting Consultant:**
Thank you for contacting Atlantic.Net. We need answers to the following questions to provide you with a formal proposal. In the meantime, I have attached a copy of our BAA and HIPAA Audit that you can review.
- Does your client require a Linux or Windows platform?
- How many internal users will be accessing the hosting platform?
- Will there also be a database hosted on the platform? HIPAA regulations require that a database and an application are hosted on separate servers.
- Is 1 TB of storage space enough?
## **Healthcare Client:**
- It will be a Linux platform.
- Internal meaning users that access the servers themselves – correct? There would be 1 or 2 users responsible for updating the website and web services required for the iPhone app. The client might want their own account also, although I don’t know for sure. Are there additional costs associated with the number of authorized internal users?
- Yes, there will be a database. I understand HIPAA requires the database to be on a separate server. Does this requirement mean it needs to be on a different physical server, or is virtual enough?
- How quickly can the servers be scaled? I think initially, 1TB would be enough. Again, we don’t know if this might be wildly successful and will require scaling. If that is needed, can you provide information on costs to scale to more ample Storage and machines?
Lastly, what kind of timeline is required to set up the account and go live with it?
## **Hosting Consultant:**
Thank you for the information. Attached you will find the formal pricing proposal. We include ( 5 ) encrypted VPNs, so your internal users are covered. We need a dedicated server environment for the Storage. However, we can separate the dedicated server into ( 2 ) Virtual Machines, and it still meets HIPAA requirements concerning the separation of the application and the database server. This is built into our proposal.
The dedicated server we provide can hold up to ( 4 ) hard drives. We are starting with ( 2 ) hard drives in a RAID 1 configuration (HIPAA platforms require RAID). We can add another ( 2 ) hard drives at any time (again in a RAID configuration ), and the SAS Encrypted Hard drives come in either a 1TB or 2 TB size. The dedicated server can hold 32 GB of RAM, and we are starting with 16 GB of RAM. We need the 16 GB of RAM to create the ( 2 ) virtual machines, and we have to allow for RAM overhead for the Hypervisor (we use KVM / Proxmox) on [Linux VPS](https://www.atlantic.net/vps-hosting/) Platforms. You can add another 16 GB of RAM at any time. If you need more resources than we can add to the one dedicated server, we would have to deploy a second dedicated server. The firewall and intrusion system can support unlimited dedicated servers behind them.
The platform will take 5 to 7 days to deploy from the time we receive a signed agreement. I have attached the following supporting documents for your review:
- Fully Managed Hardware Firewall
- ( 5 ) Encrypted VPNs
- Intrusion Detection System
- Fully Managed Daily Backup.
Thank you for permitting Atlantic.Net to provide your organization with a custom proposal for a [HIPAA Compliant Hosting](https://www.atlantic.net/hipaa-compliant-hosting/) Platform. Below are the highlights of our proposal. Please get in touch with us if you have any questions.
1.) Fully Managed Hardware Firewall
2.) ( 5 ) Managed Encrypted VPNs
3.) Intrusion Detection System
4.) Fully Managed Daily Backup
5.) Private Dedicated Server Platform – Linux Centos OS 6.5 64 bit or Ubuntu 12.04
- 4 Virtual Core Processor
- 16 GB of RAM
- 1 TB of Encrypted RAIDed Storage
- ( 2 ) Virtual Machines (Web and App)
6.) 10 TB of Monthly Data Transfer with a 100 Mbps Port
7.) 100% Uptime SLA
8.) cPanel w/ WHM
9.) Kapersky Anti-Virus
10.) 24 X 7 X 365 Live Technical Support by email / chat / phone
11.) Business Associate Agreement
12.) HIPAA Audited Data Center with SSAE SOC 2 Certification
*$ XXXX per month on a 12-month agreement, with no setup fee.*
## **Healthcare Client:**
It looks good, but I have a couple of questions. What do items 6 and 7 refer to? I am not completely up to speed on the terminology here. The price quoted on the Linux HIPAA Compliant Hosting Platform: is this the price our customer would pay on what you have quoted? Also, if we need to scale, how would that affect the quoted price?
## **Hosting Consultant:**
- Item 6 is the amount of data transfer per month that the customer can use without charging overage bandwidth. 10 TB of monthly data transfer is equal to 33 Mbps of bandwidth. The 100 Mbps port is the amount of bandwidth the customer can burst to at any given time. We have large HIPAA customers, and no one ever exceeds the 10 TB of monthly data transfer. If by some chance your customer does, the overage charge is xxx cents per month per GB.
- Item 7 refers to the fact that we warrant the HIPAA hosting platform will stay up 100% of the time. It also means that we are 100% responsible for all of the hardware that has been deployed to make the hosting platform work. Hardware pricing for dedicated servers changes very rapidly. I can only provide you with the monthly pricing if you added extra server resources today. Each additional 8 GB of RAM is $ xx per month. Each extra 1 TB SAS Encrypted hard drive is $ xxx per month (they have to be added two at a time because of the required RAID configuration on the hard drives). Each extra 1 TB SAS Encrypted hard drive is $ xxx per month (they have to be added two at a time because of the required RAID configuration on the hard drives). To add a second dedicated server to the hosting platform would be $ xxx per month (this server would have the same starting configuration as what is on the proposal I sent you).
- The $ xxx per month is what your customer would pay without any upgrades to the dedicated server.
## **Healthcare Client:**
One more question. Where are the hosting centers?
## **Hosting Consultant:**
We are in (5) data centers, but the HIPAA hosting platforms can only be hosted in our data center in Orlando, FL. It is the only data center that has the HIPAA audit certification.
## **Healthcare Client:**
Ok, I am recommending you to our client. Thank you for your quick responses.
## **Partnering with HIPAA-Compliant Expertise**
As you can see above, we are happy to answer all questions related to HIPAA Web Hosting plans. [HIPAA compliant hosting](https://www.atlantic.net/hipaa-compliant-hosting/) is a significant area of focus for us at Atlantic.Net, so our established expertise allows us to guide you toward the right decision.
***Contact us now to explore your options!***
By Moazzam Adnan
---
# Format Guide for Atlantic.Net How-To Articles
> URL: https://www.atlantic.net/vps-hosting/format-guide-atlantic-net-how-to-articles/ | Published: 2015-06-01 | Updated: 2026-01-15 | Author: Atlantic.Net NOC
## Introduction
If you think you’d like to write for Atlantic.Net, you should start by completing our [signup form](https://www.atlantic.net/write/).
How-to articles for Atlantic.Net should conform to the standards indicated in the sections below:
Sections (including Introduction, Prerequisites, and the Tutorial itself)
Format (Markdown or simple HTML)
Images/Screenshots
Original Work
Please also review our [style guide](https://www.atlantic.net/vps-hosting/how-to-style-guide-atlantic-net-articles/) for additional guidance.
## Sections
Each How-To article should begin with the Introduction section, which briefly describes the scope of the article. The word “Introduction” should be contained within H3 headers.
Following Introduction should be Prerequisites, indicated with H3 headers. Prerequisites should include which operating system the article is relevant to, including appropriate distribution (e.g., “Ubuntu 14.04 and earlier” or “Windows Server 2012 and Windows Server 2012 R2”).
You should also include packages, roles, or features required and whose installation, and this article will not cover configuration. Check to ensure that an article covering that installation/configuration exists and include a link.
Example: (excerpted from [Install WordPress on a Fedora 22 Cloud Server](https://www.atlantic.net/vps-hosting/how-to-install-wordpress-fedora-22/).)
> ### Prerequisite
>
> – A Fedora 22 server running LAMP or LEMP is required. Please see our how-tos for Fedora 22 [LAMP](https://www.atlantic.net/vps-hosting/how-to-install-lamp-fedora-32/) or [LEMP](https://www.atlantic.net/vps-hosting/how-to-install-lemp-fedora-22/).
The bulk of the article, the tutorial, follows the Prerequisites section.
## Format
How-To articles for Atlantic.Net can be submitted in [Markdown](http://daringfireball.net/projects/markdown/basics) or simple HTML.
Supported text formatting: header text, code blocks, inline code (for commands and keystrokes), italics (for variables), and bold (for emphasis).
### Headers
H2 should be used for major sections of the tutorial.
H3 should be used for “Introduction,” “Prerequisites,” and subsections of the tutorial.
### Code Blocks
Any code that needs to be entered as part of the tutorial should be included in a code block.
In most cases, inline code will be used to explain variables or options that commands may take. If referencing code inline, you may use the `code` tag. This use should be confined to referring to a portion of code already included in a nearby code block.
Example:
> Be careful when using the `-r` option with `rm`. It recursively attempts to delete all files subordinate to the path you indicate.
### Variable/custom information format
Placeholders for variables or custom configuration entries (such as hostnames) should be italicized. Our parser will also tint all italicized entries *green*.
### Emphasis
If you’d like to indicate emphasis, use **bold**.
### Keystrokes
When it comes to referencing keystrokes inline with the text, enclose them in a `code span`.
Example:
> Press the `Enter` key.
For keystrokes requiring multiple keys to be pressed simultaneously, use a plus sign (+) between keys.
Example:
> To exit, press `Ctrl+C`.
>
> To switch users, first press `Ctrl+Alt+Del`.
.
## Images
How-to should include appropriate screenshots, showing such visual elements as where to click or what a screen should look like (such as a phpinfo page, for instance). Images should have a maximum width of 730 pixels.
Please include a link to the image using the URL where it is currently hosted. Articles accepted for publication will have all associated images downloaded and hosted on our servers. Along with images, we require the following:
**Image Name**: format `anet-articlename-##` (where the `##` is replaced by a number, e.g., `anet-how_to_install_lamp_debian_8-01`).
**Alt-Text**: a brief description of the image in case it does not load.
**Caption**: brief description appearing beneath the image.
Any uniquely identifiable information should be obscured, preferably through the use of prominent placeholder names (such as “example.com” or “192.168.0.2”).
## Original Work
All articles written for Atlantic.Net must be original works. If you’ve already written a particular tutorial elsewhere and would like to do something similar with us, then take this opportunity to improve upon your initial effort! Atlantic.Net will not tolerate plagiarism nor the re-use of previously existing work.
Similarly, all images and screenshots should also be unique.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to: Style Guide for Atlantic.Net Articles
> URL: https://www.atlantic.net/vps-hosting/how-to-style-guide-atlantic-net-articles/ | Published: 2015-06-01 | Updated: 2026-01-15 | Author: Atlantic.Net NOC
We at Atlantic.Net are so pleased that you are interested in writing articles for us. We look forward to the partnership between us to help provide the information that will help empower people to go out there and make and do cool and exciting things with technology.
So, before you jump in, please take a moment to review this style guide. It should give you an idea of the tone and direction we are looking for in the submissions we receive.
If you want to know how to format your submission, please consult our format guides for [How-To](https://www.atlantic.net/vps-hosting/) and [What-Is](https://www.atlantic.net/vps-hosting/format-guide-atlantic-net-what-is-articles/) articles.
## Target Audience
If you find yourself interested in writing technical articles, you are likely the sort to be excited about learning and sharing that learning. This attitude is the sort we share at Atlantic.Net and the sort we expect quite a number of our readers share as well.
As learners, we often find that the more we learn, the more we realize how much more there is to learn (and how little we knew before). Combine that experience with our having to keep up with continual upgrades, innovations, and the introduction of new structures, languages, and applications, and it’s not surprising to see the need for all sorts of reference documents.
From this perspective, we presume our readers are approaching us and the view we would like to remind our writers to write toward. Imagine that the reader of your article has experience in some other field of technology or computers than the one you are writing about. It may also help to remember what it was like when you were first learning about what you’re writing about. What was tricky, or what mistakes did you make? Put that experience to work!
## How’s and Why’s
Of course, the bulk of any how-to article is the series of steps to follow to accomplish the task that is the subject of the article.
In addition to the how’s, though, we would like to see an Atlantic.Net article also include some explanations of why. A strong how-to article will provide additional information about optional or recommended practices.
For example, in an article demonstrating how to manage an Ubuntu server, one might suggest running updates in the following fashion:
```
sudo apt-get update && sudo apt-get upgrade
```
> *This line is a concatenation of two commands that could be run separately. The `&&` indicates that the command that follows it should be run after the command preceding it successfully completes. It’s possible to shorten this command sequence by one keystroke by using `;` (semicolon) instead of `&&`, but `;` indicates that the command that follows it should run regardless of whether the preceding command successfully completes. In this instance, this usage is not a best practice, since you want to be sure you successfully update with your package repositories before trying to install upgrades.*
>
> *Of course, if you are logged in as root, you would omit the `sudo`, though, while often convenient, it is also not a best practice to remain logged in as root.*
## Style
An Atlantic.Net article should primarily be informative, but that doesn’t mean it has to be dry. We encourage our writers to cultivate a friendly, personal style while still focusing on conveying information.
It would be best if you avoided slang and colloquialisms. And, since a significant portion of our readership is likely to be international and for whom English may not be the first language, we recommend against the use of idiom as well.
Likewise, it would help to refrain from inserting your opinions into articles. Where there is room for interpretation or preference, you should acknowledge which portion represents a subjective point of view. Supplying a link or references that support the point of view, if reputable, will be acceptable. When in doubt, though, prune the subjective portions of an article.
## Grammar
An informative article is only as effective as the language through which it conveys its information. If a reader can’t understand what you are saying, that reader will go elsewhere. As such, all submitted articles should adhere as closely as possible to English grammar and spelling standards.
Submissions with significant issues with grammar or spelling will be returned for rewriting. We reserve the right to make edits in the case of minor problems with either.
A program may fail or run less than optimally if written poorly. The same applies to text written with little care taken to the rules and syntax of grammar and spelling. Strive to write simply and concisely to avoid most language pitfalls.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Install Nginx, MySQL, PHP (LEMP) On Arch Linux
> URL: https://www.atlantic.net/vps-hosting/how-to-install-nginx-mysql-php-lemp-arch-linux/ | Published: 2015-06-02 | Updated: 2026-01-15 | Author: Jose Velazquez
##### Verified and Tested 05/29/15
## Introduction
This how-to will help you with your LEMP installation in Arch Linux so that you can successfully run a high available solid platform for your web environment. LEMP is simply a software bundle that consists of 4 components that work together to form a powerful web server. Linux (**L**) is the platform’s core, which will sustain the other components. Nginx (**E**) is used for the web service. MySQL (**M**) is used for database management, and PHP (**P**) is used as the file programming language.
## Getting Started
To get started, [log in to your Arch Linux server via SSH or through the VNC Console here](https://cloud.atlantic.net/?page=userlogin). Atlantic.Net Cloud servers are set up as minimal installations to avoid having unnecessary packages from being installed and never used. If some software packages that you’re used to using aren’t installed by default, feel free to install them as needed.
Let’s start to make sure that your server is fully up-to-date.
```
sudo pacman -Syu
```
We can continue the process and install LEMP on your server with the server up-to-date.
## Install Nginx On Arch Linux
We must first begin by installing Apache with the following command:
```
sudo pacman -S nginx
```
Start the Nginx service with the following command:
```
sudo systemctl start nginx.service
```
To edit the main Nginx configuration file for one or many websites according to your preference, they are configured in the following directory:
```
sudo nano /etc/nginx/nginx.conf
```
You can now verify that Apache is installed correctly by typing http:// and your IP address on your browser.
http:// YOUR.IP.ADD.RESS (To get your servers IP Address, type the following command:)
```
curl -s icanhazip.com
```
 This is the default page after Installing Nginx on a LEMP Stack Arch Linux Server
Restart the Nginx service so the changes can take effect on your system.
```
sudo systemctl restart nginx.service
```
## Install MySQL **On Arch Linux**
We then would like to continue by installing MySQL. However, in Arch Linux, MySql is replaced with MariaDB. So, after running the following MySql command, hit enter to select one, then Enter, then confirm your installation by tapping Enter.
```
sudo pacman -S mysql
```
After the install, you must run the following command to complete the installation fully.
```
mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
```
Make sure that the MySql/MariaDB service is on with the following command before proceeding:
```
sudo systemctl start
```
`mysqld.service`
To ensure the security of the default settings of MySQL/MariaDB, continue with the command below:
```
sudo mysql_secure_installation
```
Note: When prompted with “Enter current password for root,” hit enter for none then Y(Yes) to set the MYSQL password. You will then be prompted with a series of questions. Type Y for yes on all of them. See the screenshot below:
 This is the secure installation of the screen when installing MySql on an Arch Linux LEMP Stack server
## Install PHP On Arch Linux
Finally, we will conclude the LEMP Stack by installing PHP with the following command:
```
sudo pacman -S php-fpm
```
Make sure that PHP has started with the following command:
```
sudo systemctl start
```
`php-fpm.service`
We must change the PHP configuration file to activate the specified LEMP module. enabled:
```
sudo nano /etc/php/php.ini
```
Using the Ctrl+w in your text editor(nano), locate the following line and remove the semicolon to activate
```
;extension=mysqli.so
```
Now we can configure the Nginx configuration file so that it can recognize PHP files.
```
sudo nano /etc/nginx/nginx.conf
```
The following instructions are crucial and must be completed so PHP and Nginx work correctly. Locate the following line **#location ~ \.php$ {** using Ctrl+w, tap enter to create a space in between the # and paste the following code in between:
```
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
root /srv/http;
include fastcgi.conf;
}
```
Fantastic! You can now save the file and restart Nginx and PHP so all your configuration takes effect.
```
sudo systemctl restart nginx.service
```
To verify and test the installation, create a test PHP file in the following directory with the command below:
```
sudo nano /srv/http/info.php
```
Insert the following PHP code in the empty file, then save and exit:
```
```
Restart the Apache HTTP service one last time, so all the changes will be affected.
```
sudo systemctl restart httpd.service
```
You can now verify that PHP is installed correctly by typing the following on your browser.
http:// YOUR.IP.ADD.RESS/info.php
 After installing PHP on a LEMP Stack Arch Linux server, this is the default page.
## What Next?
Congratulations! You now have a server with a LEMP Stack platform for your web environment. Thank you for following along, and feel free to check back with us for further updates.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Install Docker on Ubuntu 20.04 LTS
> URL: https://www.atlantic.net/vps-hosting/how-to-install-docker-ubuntu-20-04-lts/ | Published: 2015-06-02 | Updated: 2026-01-15 | Author: Jose Velazquez
##### Verified and Tested 06/02/21
## Introduction
This how-to will help you with your Docker setup on Ubuntu 20.04 LTS so that you can successfully build, ship, and run distributed applications quickly and effectively via its own Docker Engine. With technology on the rise and the popularity of Apps quickly rising, docker is preferred by many system admins and developers to maximize their creativity in an App production environment.
## What Do You Need?
You need a Ubuntu 20.04 LTS server configured with a static IP address. If you do not have a server already, you can visit our [VPS Hosting](https://www.atlantic.net/vps-hosting/) page and spin a new server up in under 30 seconds.
## Server Preparation
To get started, [log in to your Ubuntu 20.04 LTS server via SSH or the VNC Console located here](https://cloud.atlantic.net/?page=userlogin). Atlantic.Net Cloud servers are set up as minimal installations to avoid having unnecessary packages from being installed and never used. If some software packages that you’re used to using aren’t installed by default, feel free to install them as needed.
Let’s make sure that your server is fully up-to-date.
```
apt-get update -y ; apt-get upgrade -y
```
With the server up-to-date, we can continue the installation process on your server.
## Install Docker on Ubuntu 20.04 LTS
We will begin by installing with the following:
```
sudo apt-get install docker.io
```
We must then make a symbolic link between the original location of the Docker installation so the program knows where to look for it.
```
sudo ln -sf /usr/bin/docker /usr/local/bin/docker
```
```
sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io
```
Furthermore, If you would like to install the latest version on your system, we will need to install additional dependencies in the following order to ensure everything checks out.
```
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common -y
```
```
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
```
```
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
```
```
sudo apt-get update
```
```
sudo apt-get install docker-ce -y
```
Finally, you can verify that the latest version of docker is installed with the following:
```
sudo docker --version
```
Once done, you can create your first container and test the installation:
```
sudo docker run -i -t ubuntu /bin/bash
```
## What Next?
Congratulations! You now have a server with a Docker platform for your developing app environment. Thank you for following along with this how-to! Check back with us for further updates and reliable [VPS hosting](https://www.atlantic.net/vps-hosting/) from Atlantic.Net.
---
# How to Set Up CentOS 7 Server
> URL: https://www.atlantic.net/vps-hosting/how-to-initial-centos-7-server-setup/ | Published: 2015-06-03 | Updated: 2026-01-15 | Author: Jose Velazquez
##### Verified and Tested 05/9/15
## Introduction
System CentOS 7 is very different than its older predecessors. With any server, the primary goal should always be security. Many users are victims of malicious infiltrations on their servers due to the lack of security boundaries established from the beginning. Let us begin on the right path by laying our foundation with security. This how-to will help you with your initial setup on CentOS 7 so that you can successfully secure your server while giving you peace of mind knowing your server is protected.
## What Do You Need?
You need a CentOS 7 server configured with a static IP address. If you do not have a server already, consider a top-quality server from Atlantic.Net and be up in under 30 seconds.
## Server Preparation
To get started, [log in to your CentOS 7 server via SSH or the VNC Console located here](https://cloud.atlantic.net/?page=userlogin). Atlantic.Net Cloud servers are set up as minimal installations to avoid having unnecessary packages from being installed and never used. If some software packages that you’re used to using aren’t installed by default, feel free to install them as needed.
Let’s make sure that your server is fully up-to-date.
```
yum update
```
We can continue the process and secure your server with the server up-to-date.
## Update the CentOS 7 Root Password
By default, your Atlantic.Net servers are automatically set with secure passwords. However, we still recommend updating your password after creating your server and every 60-90 days after that to ensure it remains secure. A minimum of 8 characters, including lowercase, uppercase, and numbers, are recommended to increase the level of security.
Type the following command to activate your request and follow the on-screen instructions to update/confirm your root password:
```
passwd
```
## Create a new user with sudo privileges
After successfully updating your password, it’s recommended that you create a new user with sudo/root permissions. Since the typical admin user for many Linux Operating Systems like CentOS 7 is “root,” we will make a new admin user that will be used for day-to-day administration tasks. Creating a new user with root permissions will increase the security of your server is accessed. Unwanted users target the root user because they know it’s the default admin user. Still, when you create a new user with sudo/root permissions and then disable the default root user, they will never know what user to log in with.
Type the following command to create your new user replacing “user1” with your username, and confirm.
```
adduser user1
```
Create a password for that user by typing the following command to activate your request and following the on-screen instructions to update/confirm your “user1” password:
```
passwd user1
```
Once you have created a new user and the password, it is time to add the user to the sudo wheel group. In CentOS 7, once you add them to the sudo wheel group, they are automatically assigned sudo/root permissions. Run the following command to add the user to the sudo wheel group.
```
gpasswd -a user1 wheel
```
Finally, when you have created the user with sudo/root permissions, you can exit your session and log back in with your “user1” to verify the changes made. Alternatively, you can run the following command and switch users from root to “user1,” which will ask you for that user’sser’sword.
```
su - user1
```
## Configure SSH Access
Port 22 is the default port for remote connections via SSH in Linux systems. By changing the ssh port, you will increase the security of your server in preventing brute force attacks and unwanted users from reaching your server using the default port. For this tutorial, I will use Port 5022 as an example.
Open your SSH Configuration file, find the Port line, remove the # and change 22 number to your Custom port. Save and exit.
```
sudo vi /etc/ssh/sshd_config
```
```
#Port 22
Port 5022
```
For your system to update the settings from the SSH Configuration file, we must restart sshd.
```
sudo systemctl restart sshd.service
```
SSH has now been configured to use Port 5022, and if you attempt to login using Port 22, your l gin will fail. However, do not exit your session as we need to configure the custom port on the firewalls configuration part first, which we will configure in the upcoming steps.
## Limit Root Access
Since we’ve vetted a new user with root permissions and created a custom ssh port, keep the actual root user available and vulnerable over SSH on your server. Let us restrict the root user’s access to the local server and grant permission to the new user over SSH only.
Open the SSH Configuration file, find the PermitRootLogin line, remove the # and change it from yes to no.
```
sudo vi /etc/ssh/sshd_config
```
```
#PermitRootLogin yes
PermitRootLogin no
```
For your system to update the new settings in the SSH Configuration file, we must restart the sshd service.
```
sudo systemctl restart sshd.service
```
Note: You will now have the root user disabled in making those changes, so you must log in to your server with the “user “hat” you created. However, do not exit your session; we must configure the custom port on the firewall in the upcoming steps.
## Create a Private SSH Key
**Private/Public SSH Keys** are great additional features that increase security in a server’s method. However, it takes a bit more effort to set up. The question is, Is your server worth the extra security? If you want to implement the following security features, you can continue with the next steps. Let us proceed and generate the SSH Key.
```
ssh-keygen
```
If you want to change the location where the SSH Key will be saved, you can specify it here. However, the default location where it’s stored should be OK. Press enter when prompted with the following question, then enter a passphrase, unless you don’t want one.
```
Enter file in which to save the key (/home/user1/.ssh/id_rsa):
```

Configuring the SSH Key is crucial. We must copy the entire key string to a Word/ Notepad Document. The Key can be viewed in the following location with the cat command.
```
cat ~/.ssh/id_rsa.pub
```
Copy the SSH key, beginning with ssh-rsa and ending with user1@yourserver, into a Word/ Notepad document to add it to the config file later on.
```
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNcnc3pMOytM7xgwZHUX0Wi/O78hDvLUmQVtKn8Qk1ijBY82jVftKXKRhf8toNkgm9jaZmfapLa7ynzUG4jbFjyy8H+iEs1R8P7eu+e8/fmGwjorbMFuWdoi7h2CldoqKTdMEb/dMNxjNMzBbovl3XtZviQGm4/TMVO1hHxy85JR8zAtNFu7liaP7IonexNrOGhY8CjqRcBsceQLkl1MlX7cWaWAMqd6jQnAvggTLerI9P286AP8Sk4uColj7GKOljj8X6J/2pcjp9v2IvJOqwC/zLwUKZ6qTEV6SrfdbjopoCVvpXkVhmcbHX5Xv1gwynO+vTkpPFwVTjSnAai71L jose@JVHServer
```
Once the SSH Key is stored safely, the directory for the SSH Keys needs limited permissions, which only the owner can read, write and execute the file.
```
chmod 700 .ssh
```
Within the SSH directory, a file containing the SSH Key must be added, simply using your editor (in this case VI) the following location:
```
vi .ssh/authorized_keys
```
Paste the SSH Key, then save and exit using the VI format.
Finally, we have to limit the permissions of the authorized_keys file that we just created so only the owner can read and write.
```
chmod 600 .ssh/authorized_keys
```
We could now verify that the key is working by closing the session and typing user1@YOUR.IP.ADD.RESS or your servers hosted in your SSH Console. [Furthermore, you can click “here” to” ee our How To Generate and Use SSH Keys article for more information.](https://www.atlantic.net/vps-hosting/how-to-generate-use-ssh-key-using-putty/)
## Basic Firewall Rules
By default, your Atlantic. Net’sNet’sOS 7 Server is loaded with a default firewall named **firewalld``**which uses the **firewall``-cmd**to configure its rules. We must first start the Firewall service with the following:
```
sudo systemctl start firewalld
```
Next, we will add a rule to allow the custom SSH Port 5022 that was created earlier to access the server publicly. At the same time, we will remove the previous default rule allowing SSH access on TCP/22.
```
sudo firewall-cmd --permanent --add-port=5022/tcp
```
```
sudo firewall-cmd --permanent --remove-service=ssh
```
If you have a web server, you may want to allow the following rules to access your sites over the internet.
```
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
```
You can use this for similar rules related to any systems you want to be publicly accessible. This test server is set up to host a website and email services, so in addition to the updated SSH and HTTP(S) rules, additional rules for secure POP3, IMAP, and SMTP have been added.
```
sudo firewall-cmd --permanent --add-service=pop3s
sudo firewall-cmd --permanent --add-service=imaps
sudo firewall-cmd --permanent --add-service=smtp
```
For Firewalld to accept those settings, you must restart the firewall.
```
sudo firewall-cmd --reload
```
Your settings will have been saved, and you are ready to proceed.
To verify all the services/ports that are available, run the following:
```
sudo firewall-cmd --permanent --list-all
```

## NTP Time Sync
The NTP (Network Time Protocol) is used to synchronize the time and date of computers over the network to remain accurate and up to date. Let us begin by installing the NTP(If it hasn’t been installed) and configuring the service to synchronize with their servers.
```
sudo yum install ntp
```
Once the NTP service is installed, we need to ensure that the service is ON.
```
sudo systemctl start ntpd
```
Now that the service has started, let’s enable the NTP server to update the servers from the NTP server constantly.
```
sudo systemctl enable ntpd
```
## Add Swap File
A Swap file is simply a tiny amount of space created on a server hard drive to simulate Ram. If the server is running low on memory, it will look at the hard drive and ease the load tricking the system into thinking it has more memory. We will set up the swap file on the hard drive to increase the server’s performance just a little bit more.
Begin by checking your resources to make sure we can add the file. When you run the following command, you will see the percentage space on your Hard drive that is currently being used.
```
df -h
```
When creating a Swap file, you usually want to add half of your existing RAM up to 4GB(If you have 1GB of actual Ram, you add a 512MB file). In this part, I will be adding a 512MB swap file to the drive. The way that this is calculated is by 1024 x 512MB = 524288 block size.
```
sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288
```
Now that we have added a swap file, an area needs to be created to proceed.
```
sudo mkswap /swapfile
```
With the Swap file created and the Swap file area added, we can add permissions to the file so that only the owner can read and write.
```
sudo chown root:root /swapfile
sudo chmod 0600 /swapfile
```
Now that the swap file has the appropriate permissions, we can go ahead and activate it.
```
sudo swapon /swapfile
```
You can verify your newly added Swap file with the following.
```
sudo swapon -s
```
To make the Swap file always active even after a reboot, we must configure it accordingly.
```
sudo vi /etc/fstab
```
Paste the following command at the bottom of the file, save your work, and exit.
```
/swapfile swap swap defaults 0 0
```
Finally, verify if your swapfile is activated by typing the following command:
```
free -m
```

### What Next?
With that, you now have a server with a strong security foundation, giving you peace of mind knowing that your server is protected. You may now proceed with building your platform according to your needs. Thank you for following along, and feel free to check back with us for further updates.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# Format Guide for Atlantic.Net What-Is Articles
> URL: https://www.atlantic.net/vps-hosting/format-guide-atlantic-net-what-is-articles/ | Published: 2015-06-04 | Updated: 2026-01-15 | Author: Atlantic.Net NOC
## Introduction
If you think you’d like to write for Atlantic.Net, you should start by completing our [signup form](https://www.atlantic.net/write/) if you haven’t already.
What Is articles for Atlantic.Net should conform to the standards indicated in the sections below:
Sections (including Introduction, Target Audience, and the Tutorial itself)
Format (Markdown or simple HTML)
Images/Screenshots
Original Work
Please also review our [style guide](https://www.atlantic.net/vps-hosting/how-to-style-guide-atlantic-net-articles/) for additional guidance.
## Sections
Each What-Is article should begin with the Target Audience section, indicated with H5 headers. Target Audience should specify what level of experience or knowledge you assume the reader should possess to understand the topic you will be writing about. The minimum experience level for the Target Audience of a What-Is article should be entry-level IT professionals. Any topics that assume a reader is familiar with the material covered in another Atlantic.Net article can be linked here.
Example:
> ### Target Audience
>
> This article assumes you are familiar with the basic concepts behind the Public Key Infrastructure (PKI). For a refesher, check out this [primer on the basics of public key cryptography](https://www.atlantic.net/vps-hosting/what-is-public-key-cryptography-vpn-part-2/).
After the Target Audience should be the Introduction section, which briefly describes the scope of the article. The word “Introduction” should be contained within H3 headers.
The bulk of the article follows the Introduction.
## Format
What-Is articles for Atlantic.Net can be submitted in [Markdown](http://daringfireball.net/projects/markdown/basics) or simple HTML.
Supported text formatting: header text, code blocks, inline code (for commands and keystrokes), italics (for variables), and bold (for emphasis).
### Headers
H1 should be used for the title of the article. The title should always be the first part of any article.
H2 should be used for significant sections of the article.
H3 should be used for “Introduction,” “Target Audience,” and subsections.
### Code Blocks
What-Is articles should avoid using code or code blocks (this usage is more prevalent in a How-To article). However, if you highlight what code related to your topic looks like, it should be enclosed in a code block.
If referencing code inline, you may use the `code` tag. This use should be confined to referring to a portion of code whose form or function is relevant to the topic. Bear in mind that the goal of most What-Is articles is not to teach someone how to accomplish a task but to explain in a more general sense a concept related to technology.
Example:
> The common heritage of UNIX that many subsequent operating systems share is evident in some of the commands that they all share, such as `cp` for copy.
### Variable/custom information format
Variables or host-specific information should be rare in a What-Is article. However, variables or custom configuration entries (such as hostnames) should be italicized if the need arises. Our parser will also tint all italicized entries *green*.
### Emphasis
If you’d like to indicate emphasis, use **bold**.
### Keystrokes
When it comes to referencing keystrokes inline with the text, enclose them in a `code span`. Again, this sort of inclusion should be infrequent in a What-Is article.
Example:
> The `Enter` key may still be called the `Return` key on some keyboards, harkening back to its usage on typewriters to indicate a carriage return.
For keystrokes requiring multiple keys to be pressed simultaneously, use a plus sign (+) between keys.
Example:
> The keystroke combination of `Ctrl+Alt+Del` gained, in some circles, the moniker of “the three-finger salute”.
## Images
We encourage using images and screenshots to help illuminate many of the points that may be brought up in a What-Is topic. Images should have a maximum width of 730 pixels. You may create the image yourself or use an image that is licensed for reuse under a license such as Creative Commons, for instance.
Please include a link to the image using the URL where it is currently hosted. Articles accepted for publication will have all associated images downloaded and hosted on our servers. Along with images, we require the following:
**Image Name**: format `anet-articlename-##` (where the `##` is replaced by a number, e.g., `anet-what_is_a_vpn-01`).
**Alt-Text**: a brief description of the image if it does not load.
**Caption**: a brief description appearing beneath the image.
**Attribution**: if using an image licensed for reuse, including the appropriate attribution information (title, author, source, license, etc.)
Any uniquely identifiable information should be obscured, preferably through the use of prominent placeholder names (such as “example.com” or “192.168.0.2”).
## Original Work
All articles written for Atlantic.Net must be original works. Atlantic.Net will not tolerate plagiarism or the reuse of previously existing work.
Similarly, all images and screenshots should also be unique, excepting those images whose use properly abides by an appropriately attributed license.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to: Initial Fedora 21 Server Setup
> URL: https://www.atlantic.net/vps-hosting/how-to-initial-fedora-21-server-setup/ | Published: 2015-06-04 | Updated: 2026-01-15 | Author: Jose Velazquez
##### Verified and Tested 05/12/15
## Introduction
With any server, the primary goal should always be security. Many users are victims of malicious infiltrations on their servers due to the lack of security boundaries established from the beginning. Let us begin on the right path by laying our foundation with security. This how-to will help you with your initial setup on Fedora 21 so that you can successfully secure your server while giving you peace of mind knowing your server is protected.
## What Do You Need?
You need a Fedora 21 server configured with a static IP address. If you do not have a server already, consider a cost-effective server from Atlantic.Net and be up in 30 seconds.
## Server Preparation
To get started,[log in to your Fedora 21 server via SSH or the VNC Console located here](https://cloud.atlantic.net/?page=userlogin). Atlantic.Net Cloud servers are set up as minimal installations to avoid having unnecessary packages from being installed and never used. If some software packages that you’re used to using aren’t installed by default, feel free to install them as needed.
Let’s make sure that your server is fully up-to-date.
```
yum update
```
We can continue the process and secure your server with the server up-to-date.
## Update the Fedora 21 Root Password
By default, your Atlantic.Net servers are automatically set with secure passwords. However, we still recommend updating your password after creating your server and every 60-90 days after that to ensure it remains secure. A minimum of 8 characters, including lowercase, uppercase, and numbers, are recommended to increase the level of security.
Type the following command to activate your request and follow the on-screen instructions to update/confirm your root password:
```
passwd
```
## Create a new user with sudo privileges
After successfully updating your password, it’s recommended that you create a new user with sudo/root permissions. Since the typical admin user for many Linux Operating Systems like Fedora 21 is “root,” we will make a new admin user that will be used for day-to-day administration tasks. Creating a new user with root permissions will increase the security of the way your server is accessed. Individuals looking to target your system will target the root user because it’s known to be the default admin account. By creating a new user with sudo/root permissions and disabling the root user, you are increasing security by using a user that isn’t already publicly known.
Type the following command to create your new user replacing “user1” with your username, and confirm.
```
adduser user1
```
Create a password for that user by typing the following command to activate your request and following the on-screen instructions to update/confirm your “user1” password:
```
passwd user1
```
Once you have created a new user and created the password for that user, it is time to add the user to the sudo wheel group. In Fedora 21, once you add them to the sudo wheel group, they are automatically assigned sudo/root permissions. Run the following command to add the user to the sudo wheel group.
```
gpasswd -a user1 wheel
```
Finally, when you have created the user with sudo/root permissions, you can exit your session and log back in with your “user1” to verify the changes made. Alternatively, you can run the following command and switch users from root to “user1,” which will ask you for that user’s password.
```
su - user1
```
## Configure SSH Access
Port 22 is the default port for remote connections via SSH in Linux systems. By changing the ssh port, you will increase the security of your server in preventing brute force attacks and unwanted users from reaching your server using the default port. For this tutorial, we will use Port 5022 as an example.
Open your SSH Configuration file, find the Port line, remove the # and change 22 number to your Custom port. Save and exit.
```
sudo vi /etc/ssh/sshd_config
```
```
#Port 22
Port 5022
```
For your system to update the settings from the SSH Configuration file, we must restart the sshd service.
```
sudo systemctl restart sshd.service
```
SSH has now been configured to use Port 5022, and if you attempt to login using Port 22, your login will fail. However, do not exit your session as we need to configure the custom port on the firewalls configuration part first, which we will configure in the upcoming steps.
## Limit Root Access
Since we’ve created a new user with root permissions and made a custom ssh port, there’s no need to keep the actual root user available and vulnerable over SSH on your server. Let us restrict the root user’s access to the local server and grant permission to the new user over SSH only.
Open the SSH Configuration file, find the PermitRootLogin line, remove the # and change it from yes to no.
```
sudo vi /etc/ssh/sshd_config
```
```
#PermitRootLogin yes
PermitRootLogin no
```
For your system to update the new settings in the SSH Configuration file, we must restart the sshd service.
```
sudo systemctl restart sshd.service
```
Note: You will now have the root user disabled in making those changes, so you must log in to your server with the “user1” that you created. However, do not exit your session. We must configure the custom port on the firewall in the upcoming steps.
## Create a Private SSH Key
**Private/Public SSH Keys** are great additional features that increase security in a server’s method. However, it takes a bit more effort to set up. The question is, Is your server worth the extra security? If you want to implement the following security features, you can continue with the next steps. Let us proceed and generate the SSH Key.
```
ssh-keygen
```
If you want to change the location where the SSH Key will be saved, you can specify it here. However, the default location where it’s stored should be OK. Press enter when prompted with the following question, then enter a passphrase, unless you don’t want one.
```
Enter file in which to save the key (/home/user1/.ssh/id_rsa):
```

This is the default webpage when installing SSH Keys on a Fedora21 server
Configuring the SSH Key is crucial. We must copy the entire key string to a Word/ Notepad Document. The Key can be viewed in the following location with the cat command.
```
cat ~/.ssh/id_rsa.pub
```
Copy the SSH key, beginning with ssh-rsa and ending with user1@yourserver, into a Word/ Notepad document to add it to the config file later on.
```
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbFd5OZFm8qDh21f28igkEVVb0rwkvyvxpH+LX9FBIgLfXTYZRz8PhCUi6NtugZMJ3F9vwq4Cq3zTYuwqhdb4Nt8z8MiS6sKX8JpgLyKreEwaxfK9IKBskyAkpln7zc7bHVCYsTJsvr/1B7kTvX4jIa0/EJQS7xvCTGdMDOD+Ux7bGJiA8ohc4DfELfJnlcURfNwB3PZ5ukdoul7/+yeabRsj18rc0yZfJ3/MgaipdSTwK/2mpaR0xlKGQhj47FsERKu6rztBL5lIQXWWZK71L8O2aprgsBBP+G2lKVKNNXeBfd+4Kx+4D980mWZlEdZ8KfgOZqCMXF3Jfjqcpvf0D user1@JVHServer
```
Once the SSH Key is stored safely, the directory for the SSH Keys needs limited permissions that only the owner can read, write and execute the file.
```
chmod 700 .ssh
```
Within the SSH directory, a file containing the SSH Key must be added, simply using your editor (in this case VI) the following location:
```
vi .ssh/authorized_keys
```
Paste the SSH Key, then save and exit using the VI format.
Finally, we have to limit the permissions of the authorized_keys file that we just created so only the owner can read and write.
```
chmod 600 .ssh/authorized_keys
```
We could now verify that the key is working by closing the session and typing user1@YOUR.IP.ADD.RESS or your server’s hostname in your SSH console.[Furthermore, you can click “here” to see our How To Generate and Use SSH Keys article for more information.](https://www.atlantic.net/vps-hosting/how-to-generate-use-ssh-key-using-putty/)
## Basic Firewall Rules
By default, your Atlantic.Net’s Fedora 21 Server is loaded with a default firewall named **firewalld``**that uses the **firewall``-cmd**to configure its rules. We must first start the Firewall service with the following:
```
sudo systemctl start firewalld
```
Next, we’re going to add a rule to allow the custom SSH Port 5022 that was created earlier to access the server publicly. At the same time, we will remove the previous default rule allowing SSH access on TCP/22.
```
sudo firewall-cmd --permanent --add-port=5022/tcp
```
```
sudo firewall-cmd --permanent --remove-service=ssh
```
If you have a web server, you may want to allow the following rules to access your sites over the internet.
```
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
```
You can use this for similar rules related to any systems you want to be publicly accessible. This test server is set up to host a website and email services, so in addition to the updated SSH and HTTP(S) rules, additional rules for secure POP3, IMAP, and SMTP have been added.
```
sudo firewall-cmd --permanent --add-service=pop3s
sudo firewall-cmd --permanent --add-service=imaps
sudo firewall-cmd --permanent --add-service=smtp
```
For Firewalld to accept those settings, you must restart the firewall.
```
sudo firewall-cmd --reload
```
Your settings will have been saved, and you are ready to proceed.
To verify all the services/ports that are available, run the following:
```
sudo firewall-cmd --permanent --list-all
```

This is the default webpage after completing the Firewalld rules on a Fedora21server
## NTP Time Sync
The NTP (Network Time Protocol) is used to synchronize the time and date of computers over the network to remain accurate and up to date. Let us begin by installing the NTP(If it hasn’t been installed) and configuring the service to synchronize with their servers.
```
sudo yum install ntp
```
Once the NTP service is installed, we need to ensure that the service is ON.
```
sudo systemctl start ntpd
```
Now that the service has started, let’s enable the NTP server to update the server’s time from the NTP server constantly.
```
sudo systemctl enable ntpd
```
## Add Swap File
A Swap file is simply a tiny amount of space created on a server hard drive to simulate RAM. If the server is running low on memory, it will look at the hard drive and ease the load tricking the system into thinking it has more memory. We will set up the swap file on the hard drive to increase the server’s performance just a little bit more.
Begin by checking your resources to make sure we can add the file. When you run the following command, you will see the percentage space on your Hard drive that is currently being used.
```
df -h
```
When creating a Swap file, you usually want to add half of your existing RAM up to 4GB(If you have 1GB of actual Ram, you add a 512MB file). In this part, I will be adding a 512MB swap file to the drive. The way that this is calculated is by 1024 x 512MB = 524288 block size.
```
sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288
```
Now that we have added a swap file, an area needs to be created to proceed.
```
sudo mkswap /swapfile
```
With the Swap file created and the Swap file, area added we could go ahead and add permissions to the file so that only the owner can read and write.
```
sudo chown root:root /swapfile
sudo chmod 0600 /swapfile
```
Now that the swap file has the appropriate permissions, we can go ahead and activate it.
```
sudo swapon /swapfile
```
You can verify your newly added Swap file with the following.
```
sudo swapon -s
```
To make the Swap file always active even after a reboot, we must configure it accordingly.
```
sudo vi /etc/fstab
```
Paste the following command at the bottom of the file, save your work, and exit.
```
/swapfile swap swap defaults 0 0
```
Finally, verify if your swapfile is activated by typing the following command:
```
free -m
```

This is the default page after creating a Swap File on a Fedora21 Server
### What Next?
With that, you now have a server with a strong security foundation that will give you peace of mind knowing that your server is protected. You may now proceed to build your platform according to your needs. Thank you for following along, and feel free to check back with us for further updates.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to set up a TeamSpeak server on CentOS 7
> URL: https://www.atlantic.net/vps-hosting/how-to-set-teamspeak-server-centos-7/ | Published: 2015-06-04 | Updated: 2026-01-15 | Author: Michael Douse
##### Verified and Tested 04/02/21
## Introduction
This article will go over how to set up a TeamSpeak (v3) server on a freshly provisioned CentOS 7 cloud server.
## Prerequisites
-You will need to provision a CentOS 7 (32 bit or 64 bit) server.
-SFTP Client such as WinSCP.
## Install TeamSpeak on CentOS 7
First, we will need to download the TeamSpeak Server files.[You can find them here](http://www.teamspeak.com/?page=downloads). Make sure to choose the correct architecture (x86 for 32-bit, amd64 for 64-bit):

Next, we will download an SFTP client to transfer the TeamSpeak Server file to our cloud server. [You can download WinSCP from HERE](http://winscp.net/eng/download.php). You can choose either the installation package or the portable version.
 Download WinSCP
---
Now to open up the required ports in the firewall. These are the default ports we will open:
> UDP: 9987 – Default voice port.
> TCP: 10011 – Default file transfer port.
> TCP: 30033 – Default server-query port.
You can allow all those ports using the following command:
```
firewall-cmd --permanent --zone public --add-port 10011/tcp
firewall-cmd --permanent --zone public --add-port 30033/tcp
firewall-cmd --permanent --zone public --add-port 9987/udp
```
Once you are done, reload the firewall service to apply the changes:
```
firewall-cmd --reload
```
That’s it for the firewall configuration.
---
Time to create a separate user for the TeamSpeak server. Call this user whatever you wish, but for the sake of this how-to, I will be using “ts3srv”:
```
useradd ts3srv
passwd ts3srv
```
Now change to the home folder of the user we just created:
```
su ts3srv
cd
```
At this point, we will need to upload the TeamSpeak server package we downloaded earlier. Open WinSCP and type your server IP in the “Hostname” input box along with the ts3srv username and password you chose. Then click on “Login”:
 WinSCP – Connect to your server.
* Note: The first time you connect to your server, you will receive a warning that the host is unknown. Don’t worry, click “Yes” to accept the host key.*
 Host Key Warning – WinSCP
Once you are connected, you will be dropped into the home directory of the ts3srv user we created. Just drag and drop the file we downloaded into the main window:
 Upload TeamSpeak server package.
---
Time to install the package:
```
tar -xjf teamspeak3-server_linux_amd64-3.13.3.tar.bz2
```
```
cd teamspeak3-server_linux_amd64
```
*Note: Your command may be slightly different depending on the version you downloaded or chose the 32-bit version.*
Now, start the TeamSpeak server with the following command.
```
./ts3server_startscript.sh start license_accepted=1
```
*WARNING: Make sure to copy down all information that is shown. It WILL NOT be shown again.*
Once you copy down the Server Query Admin Account password and the ServerAdmin privilege key, you can hit CTRL + C to exit out. The server will remain running in the background.
---
Now open up your TeamSpeak client and join your server!
You will need the password and privilege key that you should have copied down in the previous step:
 Connect to your TeamSpeak server
That’s it! Now go ahead and edit the default channel and start adding new channels. Once you are ready, give your clients the IP address of the server to connect.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to: Initial Ubuntu 15.04 Server Setup
> URL: https://www.atlantic.net/vps-hosting/how-to-initial-ubuntu-15-04-server-setup/ | Published: 2015-06-05 | Updated: 2024-06-10 | Author: Jose Velazquez
##### Verified and Tested 05/9/15
### Introduction
With any server, the primary goal should always be security. Many users are victims of malicious infiltrations on their servers due to the lack of security boundaries established from the beginning. Let us begin on the right path by laying our foundation with security. This how-to will help you with your initial setup on Ubuntu 15.04 so that you can successfully secure your server while giving you peace of mind knowing your server is protected.
## What Do You Need?
You need a Ubuntu 15.04 server configured with a static IP address. If you do not have a server already, you can visit our industry-leading [VPS Hosting](https://www.atlantic.net/vps-hosting/) page and spin a new server up in under 30 seconds.
## Server Preparation
To get started, log in to your Ubuntu 15.04 server via SSH or the VNC Console located [here. Atlantic.Net Cloud servers](https://cloud.atlantic.net/?page=userlogin)are set up as minimal installations to avoid having unnecessary packages from being installed and never used. If some software packages that you’re used to using aren’t installed by default, feel free to install them as needed.
Let’s make sure that your server is fully up-to-date.
## Update the Ubuntu 15.04 Root Password
By default, your Atlantic.Net servers are automatically set with secure passwords. However, we still recommend updating your password after creating your server and every 60-90 days after that to ensure it remains secure. A minimum of 8 characters, including lowercase, uppercase, and numbers, are recommended to increase the level of security.
Type the following command to activate your request and follow the on-screen instructions to update/confirm your root password:
```
passwd
```
## Create a new user with sudo privileges
After successfully updating your password, it’s recommended that you create a new user with sudo/root permissions. Since the standard admin user for many Linux Operating Systems like Ubuntu 15.04 is “root,” we’re going to make a new admin user that will be used for day-to-day administration tasks. Creating a new user with root permissions will increase the security of the way your server is accessed. Individuals looking to target your system will target the root user because it’s known to be the default admin account. By creating a new user with sudo/root permissions and disabling the root user, you are increasing security by using a user that isn’t already publicly known.
Type the following command to create your new user replacing “user1” with your username, and confirm.
```
adduser user1
```
Fill in the information that applies to the user and confirm the information:
```
root@JVHServer:~# adduser user1
Adding user `user1' ...
Adding new group `user1' (1000) ...
Adding new user `user1' (1000) with group `user1' ...
Creating home directory `/home/user1' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for user1
Enter the new value, or press ENTER for the default
Full Name []: user1
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
```
Create a password for that user by typing the following command to activate your request and following the on-screen instructions to update/confirm your “user1” password:
```
passwd user1
```
Once you have created a new user and created the password for that user, it is time to add the user to the sudo wheel group. In Ubuntu 15.04, once you add them to the sudo wheel group, they are automatically assigned sudo/root permissions. Run the following command to add the user to the sudo wheel group.
```
adduser user1 sudo
```
Finally, when you have created the user with sudo/root permissions, you can exit your session and log back in with your “user1” to verify the changes made. Alternatively, you can run the following command and switch users from root to “user1,” which will ask you for that user’s password. It is important to remember that you will have to use sudo before running any command with the user.
```
su - user1
```
## Configure SSH Access
Port 22 is the default port for remote connections via SSH in Linux systems. By changing the ssh port, you will increase the security of your server in preventing brute force attacks and unwanted users from reaching your server using the default port. For this tutorial, use Port 5022 as an example.
Open your SSH Configuration file, find the Port line, remove the # and change 22 number to your Custom port. Save and exit.
```
sudo nano /etc/ssh/sshd_config
```
```
# What ports, IPs and protocols we listen for
Port 5022
```
For your system to update the new settings from the SSH Configuration file, we must restart the sshd service.
```
sudo systemctl restart sshd.service
```
SSH has now been configured to use Port 5022, and if you attempt to login using Port 22, your login will fail. However, do not exit your session as we need to configure the custom port on the firewalls configuration part first, which we will configure in the upcoming steps.
## Limit Root Access
Since we’ve created a new user with root permissions and made a custom ssh port, there’s no need to keep the actual root user available and vulnerable over SSH on your server. Let us restrict the root user’s access to the local server and grant permission to the new user over SSH only.
Open the SSH Configuration file, find the PermitRootLogin line, remove the # and change it from yes to no.
```
sudo nano /etc/ssh/sshd_config
```
```
#PermitRootLogin yes
PermitRootLogin no
```
For your system to update the new settings in the SSH Configuration file, we must restart the sshd service.
```
sudo systemctl restart sshd.service
```
Note: You will now have the root user disabled in making those changes, so you must log in to your server with the “user1” that you created. However, do not exit your session. We must configure the custom port on the firewall in the upcoming steps.
## Create a Private SSH Key
**Private/Public SSH Keys** are great additional features that increase security in a server’s method. However, it takes a bit more effort to set up. The question is, Is your server worth the extra security? If you want to implement the following security features, you can continue with the next steps. Let us proceed and generate the SSH Key.
```
ssh-keygen
```
If you want to change the location where the SSH Key will be saved, you can specify it here. However, the default location where it’s stored should be OK. Press enter when prompted with the following question, then enter a passphrase, unless you don’t want one.
```
Enter file in which to save the key (/home/user1/.ssh/id_rsa):
```

This is the default page when installing SSH Keys on a Ubuntu 15.04 server
Configuring the SSH Key is crucial. We must copy the entire key string to a Word/ Notepad Document. The key can be viewed in the following location with the cat command.
```
cat ~/.ssh/id_rsa.pub
```
Copy the SSH key, beginning with ssh-rsa and ending with user1@yourserver, into a Word/ Notepad document to add it to the config file later on.
```
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNcnc3pMOytM7xgwZHUX0Wi/O78hDvLUmQVtKn8Qk1ijBY82jVftKXKRhf8toNkgm9jaZmfapLa7ynzUG4jbFjyy8H+iEs1R8P7eu+e8/fmGwjorbMFuWdoi7h2CldoqKTdMEb/dMNxjNMzBbovl3XtZviQGm4/TMVO1hHxy85JR8zAtNFu7liaP7IonexNrOGhY8CjqRcBsceQLkl1MlX7cWaWAMqd6jQnAvggTLerI9P286AP8Sk4uColj7GKOljj8X6J/2pcjp9v2IvJOqwC/zLwUKZ6qTEV6SrfdbjopoCVvpXkVhmcbHX5Xv1gwynO+vTkpPFwVTjSnAai71L jose@JVHServer
```
Once the SSH Key is stored safely, the directory for the SSH Keys needs limited permissions that only the owner can read, write and execute the file.
```
sudo chmod 700 .ssh
```
Within the SSH directory, a file containing the SSH Key must be added, simply using your editor (in this case NANO) the following location:
```
nano .ssh/authorized_keys
```
Paste the SSH Key, then save and exit using the nano format.
Finally, we have to limit the permissions of the authorized_keys file that we just created so only the owner can read and write.
```
chmod 600 .ssh/authorized_keys
```
We could now verify that the key is working by closing the session and typing user1@YOUR.IP.ADD.RESS or your server’s hostname in your SSH Console. Furthermore, [you can click “here” to see our How To Generate and Use SSH Keys article for more information.](https://www.atlantic.net/vps-hosting/how-to-generate-use-ssh-key-using-putty/)
## Basic Firewall Rules
By default, your Atlantic.Net’s Ubuntu 15.04 Server is not loaded with a firewall. However, depending on your preference, you may install any of the following: **firewalld, iptables,**etc. In this part, I will be using **Firewalld,** which uses the **firewall-cmd**tool to configure its rules. We must first install the Firewall service with the following:
```
sudo apt-get install firewalld
```
Next, we’re going to add a rule to allow the custom SSH Port 5022 that was created earlier to access the server publicly. At the same time, we will remove the previous default rule allowing SSH access on TCP/22.
```
sudo firewall-cmd --permanent --add-port=5022/tcp
```
```
sudo firewall-cmd --permanent --remove-service=ssh
```
If you have a web server, you may want to allow the following rules to access your sites over the internet.
```
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
```
You can use this for similar rules related to any systems you want to be publicly accessible. This test server is set up to host a website and email services, so in addition to the updated SSH and HTTP(S) rules, additional rules for secure POP3, IMAP, and SMTP have been added.
```
sudo firewall-cmd --permanent --add-service=pop3s
sudo firewall-cmd --permanent --add-service=imaps
sudo firewall-cmd --permanent --add-service=smtp
```
For Firewalld to accept those settings, you must restart the firewall.
```
sudo firewall-cmd --reload
```
Your settings will have been saved, and you are ready to proceed. To verify all the services/ports that are available, run the following:
```
sudo firewall-cmd --permanent --list-all
```

This is the default page after configuring the Firewalld rules on Ubuntu 15.04 server
## NTP Time Sync
The NTP (Network Time Protocol) is used to synchronize the time and date of computers over the network to remain accurate and up to date. Let us begin by installing the NTP(If it hasn’t been installed) and configuring the service to synchronize with their servers.
```
sudo apt-get install ntp
```
Once the NTP service is installed, we need to ensure that the service is ON.
```
sudo /etc/init.d/ntp start
```
## Add Swap File
A Swap file is simply a small space created on a server hard drive to simulate Ram. If the server is running low on memory, it will look at the hard drive and ease the load tricking the system into thinking it has more memory. We will set up the swap file on the hard drive to increase the server’s performance just a little bit more.
Begin by checking your resources to make sure we can add the file. When you run the following command, you will see the percentage space on your Hard drive that is currently being used.
```
df -h
```
When creating a Swap file, you usually want to add half of your existing RAM up to 4GB(If you have 1GB of actual Ram, you add a 512MB file). In this part, I will be adding a 512MB swap file to the drive. The way that this is calculated is by 1024 x 512MB = 524288 block size.
```
sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288
```
Now that we have added a swap file, an area needs to be created to proceed.
```
sudo mkswap /swapfile
```
With the Swap file created and the Swap file, area added we could go ahead and add permissions to the file so that only the owner can read and write.
```
sudo chown root:root /swapfile
sudo chmod 600 /swapfile
```
Now that the swap file has the appropriate permissions, we can go ahead and activate it.
```
sudo swapon /swapfile
```
You can verify your newly added Swap file with the following.
```
sudo swapon -s
```
To make the Swap file always active even after a reboot, we must configure it accordingly.
```
sudo nano /etc/fstab
```
Paste the following command at the bottom of the file, save your work, and exit.
```
/swapfile swap swap defaults 0 0
```
Finally, verify if your swapfile is activated by typing the following command:
```
free -m
```

This is the default page after creating a Swap File on a Ubuntu 15.04 Server
### What Next?
With that, you now have a server with a strong security foundation, giving you peace of mind knowing that your server is protected. You may now proceed to build your platform according to your needs. Thank you for following along, and feel free to check back with us for further updates.
Atlantic.Net is dedicated to providing the very best in technical support for our customers along with offering full line-ups of [VPS hosting](https://www.atlantic.net/vps-hosting/) solutions for any sized business.
---
# Cómo instalar Linux , Apache , MySQL y PHP (LAMP ) en Ubuntu 14.04
> URL: https://www.atlantic.net/vps-hosting/como-instalar-linux-apache-mysql-y-php-lamp-en-ubuntu-14-04/ | Published: 2015-06-08 | Updated: 2026-01-15 | Author: Jose Velazquez
##### Probado y verificado 06/5/15
## Introducción
En este Como-Hacer , instalaremos LAMP en un servidor usando Ubuntu 14.04. LAMP simplemente es un paquete de software compuesto por cuatro componentes, Linux , Apache , MySQL y PHP. El núcleo de la plataforma es Linux y en este caso, estaremos usando Ubuntu 14.04 LTS . Apache es un servidor web y la mayoría de los servidores web en el mundo entero usan Apache. MySQL es un sistema de administración para base de datos que es desarrollado por Oracle . PHP es un lenguaje de programación muy popular que se utiliza ampliamente en el desarrollo de web . En total, esto forma LAMP o una pila LAMP.
## Requisitos
Un servidor con Ubuntu 14.04 instalado . Puedes obtener un servidor [aquí, si no tienes uno](https://cloud.atlantic.net/?page=signup)
## Instalación LAMP en Ubuntu 14.04
El primer paso de esta instalacion LAMP, es la instalación de Apache.
## Instalación de Apache en Ubuntu 14.04
Instala Apache ejecutando el comando siguiente:
```
apt-get install apache2
```
Dale a Enter cuando te pregunte “Do you want to continue?” durante la instalación.
Despues de la instalacion, puedes verificar que Apache este corriendo ejecutando el comando siguiente:
```
service apache2 status
```
Tambien puedes verificar que todo esta trabajando bien simplemente abriendo tu navegador y ir a http:// tudirecciónIP
Si no sabes la dirección IP de tu servidor, puedes obtenerla ejecutando el comando siguiente:
```
ifconfig
```

Un ejemplo del comando ifconfig con la direccion IP 172.20.6.154
En este caso pondremos http:// 172.20.6.154 en el navegador para obtener la página siguiente:

Esta es la página por defecto de Apache en Ubuntu 14.04
## Instalación de MySql en Ubuntu 14.04
Instala MySql ejecutando el comando siguiente:
```
sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql
```
Dale a enter cuando te pregunte “Do you want to continue?” durante la instalación.
Durante la instalación , se le pedirá que introduzca una contraseña de root para MySQL. Establece cualquier contraseña que le gustaría a usted . Debe ser una contraseña segura.
 Introduzca la contraseña de su elecciónDespués de introducir la contraseña de root para MySQL , tendrás que volver a introducirla.
 Vuelva a introducir la contraseña que estableció previamenteContinúe con la instalación de seguridad para MySQL ejecutando el comando siguiente:
```
mysql_secure_installation
```
Nota: Se le pedirá una serie de preguntas. Sólo tienes que escribir la contraseña de N para el cambio de root y Y para sí en todo lo demas, consulte la captura siguiente en la pantalla:
 Un ejemplo de mysql_secure_installation como apareceDespues de la instalacion, puedes verificar que MySql esta corriendo ejecutando el comando siguiente:
```
service mysql status
```
## Instalación de PHP en Ubuntu 14.04
Instala MySql ejecutando el comando siguiente:
```
apt-get install php5
```
Dale a enter cuando te pregunte “Do you want to continue?” durante la instalación.
Crea un archivo PHP de prueba llamada info.php en / var / www / html / . En este como-hacer vamos a utilizar el editor de textos nano ejecutando el comando siguiente:
```
nano /var/www/html/info.php
```
Inserte el código siguiente en el editor de texto a continuado por guardar y salir:
```
```
Como hicimos cambios , tenemos que reiniciar Apache para que los cambios tengan efecto ejecutando el comando siguiente:
```
service apache2 restart
```
Ahora puedes verificar que todo esta trabajando bien simplemente abriendo tu navegador y ir a http:// tudirecciónIP/info.php
 El resultado del archivo php.info que hemos realizado.¡Felicidades! Usted acaba de instalar LAMP en su servidor Ubuntu 14.04. Gracias por seguir este Como-Hacer sobre la instalación de LAMP. Visitenos de nuevo para nuevas actualizaciones .
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# Cómo Instalar De Linux, Apache, MySQL, PHP, (LAMP) Con Debian 8
> URL: https://www.atlantic.net/vps-hosting/como-instalar-de-linux-apache-mysql-php-lamp-con-debian-8/ | Published: 2015-06-09 | Updated: 2026-01-15 | Author: Ariel Beltre
## Introducción
En este artículo, le mostraremos como instalar LAMP en un servidor cloud con Debian 8. LAMP es simplemente un paqute de software que consiste de 4 componentes. Linux es la base de la plataforma; todos los componentes son instalados en el entorno Linux. En este caso, vamos a usar Debian 8 para el sistema operativo Linux. Vamos a usar Apache para el servicio web. MySQL se utilizará para la gestión de bases de datos, y PHP sera como el lenguaje de programacion. En total esto forma LAMP, que tambien se llama un LAMP stack.
## Requisitos Previos
Un servidor con Debian 8 instalado. Si usted no tiene un servidor ya, usted puede visitar nuestra pagina de [VPS hosting](https://www.atlantic.net/vps-hosting/) y configurar un nuevo servidor en menos de 30 segundos.
## Instalación de LAMP En Debian 8
Primero vamos a empezar con la instalacion de Apache. Apache es el servidor web mas popular del mundo.
## Instalación de Apache En Debian 8
Primero vamos a instalar Apache utilizando el siguiente comando para comenzar la instalacion:
```
apt-get install apache2
```
Para verificar que todo esta funcionando, abre su navegador de internet y visite la pagina http://youripaddress
Si no sabes la direccion IP de tu servidor, ejecute el comando siguiente:
```
Ifconfig
```
 Un ejemplo del comando ifconfig utilizando el IP 192.68.0.2
En nuestro ejemplo, pondriamos http:// 192.68.0.2 en la barra de direcciones para obtener la siguiente pagina:
 Un ejemplo de la página por defecto de Apache en Debian 8
## Instalación De MySQL En Debian 8
Para instalar MySQL ejecute el siguiente comando:
```
sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql
```
Durante la instalacion, se le pedira que introduzca una contraseña de root para MySQL. Elije cualquier contraseña que le gustaria.
 Un ejemplo de la configuración de la contraseña de MySQL durante la instalación.
Asegure MySQL desde la configuración predeterminada con el siguiente comando:
```
mysql_secure_installation
```
Nota: Se le pedira una serie de preguntas. Simplemente escriba N para el cambio de contraseña root y S para si en todos ellos, consulte la siguiente captura de pantalla:
 Un ejemplo de las preguntas durante la instalacion de MySQL
## Instalación de PHP en Debian 8
Para comenzar la instalacion de PHP utilice el siguiente comando:
```
apt-get install php5
```
Crea un archivo PHP para prueba en el siguiente directorio con el siguiente comando:
```
nano /var/www/html/info.php
```
Inserte el siguiente código en el espacio vacio, y luego guardar y salir:
```
```
Reinicie Apache para que todos los cambios surtan efecto:
```
service apache2 restart
```
Pon a prueba tu pagina en el navegador con el siguiente hipervínculo cambiado a su direccion de IP:
http:// youripaddress/info.php
 Un ejemplo del archivo php.info que se creó en Debian 8.
Enhorabuena! Usted acaba de instalar LAMP en su servidor Debian 8. Gracias por seguir adelante y por favor eche un vistazo a nuestro articulo de Instrucción para ‘[Instalación De WordPress En Debian 8](https://www.atlantic.net/vps-hosting/how-to-install-wordpress-debian-8/)”.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Install LAMP on an Ubuntu 15.04 Server
> URL: https://www.atlantic.net/vps-hosting/how-to-install-lamp-ubuntu-15-04-server/ | Published: 2015-06-10 | Updated: 2026-01-15 | Author: Atlantic.Net NOC
##### Verified and Tested 05/06/15
## Introduction
We will walk you through installing LAMP on your Ubuntu 15.04 cloud server in this How-To. LAMP is simply a software bundle that consists of 4 components. Linux (**L**) is the core of the platform, which will sustain the other components. Apache (**A**) is used for the web hosting service. MySQL (**M**) is used for database management. PHP (**P**) is the application programming language.
## Prerequisites
A server with Ubuntu 15.04 already installed. If you do not have a server already, consider [VPS Hosting](https://www.atlantic.net/vps-hosting/) from Atlantic.Net and be up in 30 seconds.
## Installing LAMP on Ubuntu 15.04
We will first start by installing Apache. Apache is an open-source web server and is the most popular web server globally.
## Installing Apache
Install Apache with the following command to begin the install:
```
apt-get -y install apache2
```
Verify if all is working by opening your browser and going to http://
If you are unsure what your IP address is, run the following:
```
ifconfig
```

In this example, we would do http:// 192.168.0.1, which should open a page looking like this.

## Installing MySQL (M)
Next, we will install MySQL by running the following command:
```
apt-get install mysql-server mysql-client
```
You will be prompted to enter a new password for MySQL “root” user, enter what you would like.

You are then asked to enter the password again.

Once complete, you can verify MySQL is installed by running the below command.
```
systemctl status mysql
```
It will show active(running)

Next, you will want to secure MySQL by running the following command:
```
mysql_secure_installation
```
This command will first ask you for your current MySQL “root” user password, which we created earlier when installing MySQL. Enter the password and continue. If you would like to change the root password, type “n” and press enter unless you want to change it. You will say yes to the next couple of questions as it will secure your MySQL. The command will remove anonymous user access, disallow root login remotely, remove the test database, and access it. The last question is to reload the privilege tables, say yes, and press Enter.

## Installing PHP
To install PHP, run the following command:
```
apt-get -y install php5 php5-mysql libapache2-mod-php5
```
We will save a basic PHP script under the web root directory to test PHP. For Ubuntu 15.04, this is located in /var/www/html, so we would want to open a test file called something like test.php by running the following command:
```
nano /var/www/html/test.php
```
This will open an empty file, and we will add the following text:
```
```
Save and close the file.
You will now need to restart Apache for the changes to take effect. To restart Apache, run the following command:
```
systemctl restart apache2
```
In this article, our server IP address from earlier is 192.168.0.1, and the PHP script is saved under the web root directory named test.php. We can now test php by opening up an internet browser and the PHP script we saved. We will now enter the URL http:// 192.168.0.1/test.php and press Enter. You will see the following screen if installed and working correctly.

Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# Achieving HIPAA Compliance with Mobile Devices
> URL: https://www.atlantic.net/hipaa-compliant-hosting/achieving-hipaa-compliance-with-mobile-devices/ | Published: 2015-06-10 | Updated: 2024-06-01 | Author: Sam Guiliano
Last year, Google Fit and Apple Health brought health applications into the mainstream. While these devices can provide a wealth of data for app developers looking to help consumers get more out of their wearables, the data itself may fall under the scope of Federal laws protecting patient health information under HIPAA. Developers unfamiliar with this space must learn how to maintain HIPAA compliance.
So, how can mobile app developers make sure that their applications protect personally identifiable health information and avoid incurring HIPAA violations (and the fines that come with them)? In this article, we’ll explore ways developers can get ahead of the curve and ensure that they’re making the right choices to protect patient data.
## **Study: Health IT Will Change Rapidly**
Two major trends, a boost in cloud adoption among healthcare providers and a drop in the expenses to deploy systems, will significantly impact the American HIT market through 2018, per a whitepaper released last year.
The report, created by the consultancy RNCOS, forecasts that health IT will expand at a CAGR of almost 10%. How good is 10%? The creation of increasingly better technologies and public-sector promotion for this type of application (e-health applications) will contribute to the strong growth rate of this sector. As an example, the Economist Intelligence Unit and International Monetary Fund agree that the US GDP growth rate will be around 3% over the same period.
Remember, though, that this isn’t just a time of growth but a time of change. For health, IT to be delivered as effectively as possible, resulting in better care and better ROI, a complex network of stakeholders (doctors, insurance companies, pharmaceutical firms, medical device manufacturers, drugstores, and patients) must work collaboratively.
“The full value of health IT is realized when all parties come to the table to ensure data liquidity and ultimately, information and support flowing to people and patients,” advised health management consultant Sarasohn-Kahn. “More value can be derived when technologies don’t add costs but conserve costs and resources.”
## **Possible PHI Issues**
If your technology handles personal health information that falls under the scope of Federal law, it can be critically important to protect your business from fines from the US Office for Civil Rights. If you are creating a mobile app (whether for wearables or standard smart devices), you want to know the parameters of HIPAA compliance. Compliance is necessary specifically for systems that have two characteristics:
1. Use health data that is personally identifiable (PII in some form).
2. Exchange the data with healthcare providers (PHI, much of it patient-generated health data).
If your application meets those two criteria, you must be intimately familiar with the law – especially the privacy, security, and breach notification rules. Consider the issues you can run into with protected health information in the mobile arena:
1. Mobile devices are often stolen. If PHI is unencrypted, you could end up with a fine.
2. The device typically provides access to email and social media. Accidental posting could occur.
3. Push notifications and other features could represent violations.
4. You could have instances of purposeful or accidental sharing of protected health information between users.
5. If a user turns off the password protection that locks the phone’s screen, anyone present could access immediately visible data.
6. Since mobile devices are often smaller, many users shorten their passwords (thereby making them less secure), so it’s easy to get online.
Developers can’t control against all those scenarios, but they can ensure they maintain compliance on behalf of their customers and themselves (as of 2013).
## **Example: Mobile HIPAA Provider Selection Story**
Below is a snippet from a developer selecting a solution for a [HIPAA-Compliant Hosting](https://www.atlantic.net/hipaa-compliant-hosting/)mobile application, *anonymized and edited for privacy*. The intention here is to look at questions and concerns rather than the specs of particular plans.
Note that we’re looking at an excerpt from the middle of their back-and-forth, right after the Hosting Consultant has explained the 12-month agreement.
Healthcare Client:
1. So what would be the penalty if we break the agreement or would like to move to a different establishment?
2. Do you have any referral incentives since this will be for our client?
3. The business associate agreement will be between the business owner and you folks?
Hosting Consultant:
Here are the answers to your questions.
1. You would be responsible for the balance of the term of the agreement. So if you
canceled after six months, you would owe us another six months.
2. Will the [HIPAA Hosting](https://www.atlantic.net/hipaa-compliant-hosting/) agreement be under the name of your company or under the name of your client (which means that they would be paying the monthly bill)?
3. It will be if your client is signing the HIPAA hosting agreement and paying the bill.
Healthcare Client:
Since we are managing the application, we typically overlook the hosting as well. However, the owner of the application is our client. So is it possible that we will manage the application and hosting issues, but the business (application owner) signs the agreement and pays through us?
Hosting Consultant:
I have permission to provide you with pricing based on a 6-month agreement. I have attached the updated pricing.
## **A Simple and Predictable Plotline**
Do you need HIPAA compliance for an e-health application? Work with the mobile HIT industry leader. Make sure there aren’t any surprises in your success story.
“[Atlantic.Net’s] financial strength and proven track record are something we view with great confidence,” commented Complete Healthcare Solutions VP Joseph Nompleggi.
***Choose Atlantic.Net, and you can mobilize healthcare with confidence.***
---
# How to Install Nginx, MySQL, and PHP (LEMP) on an Ubuntu 15.04 Server
> URL: https://www.atlantic.net/vps-hosting/how-to-install-lemp-ubuntu-15-04/ | Published: 2015-06-12 | Updated: 2026-01-15 | Author: Atlantic.Net NOC
##### Verified and Tested 05/06/15
## Introduction
We will walk you through installing LEMP on your Ubuntu 15.04 cloud server in this How-To. LEMP is simply a software bundle that consists of 4 components. Linux (**L**) is the core of the platform, which will sustain the other components. Nginx (**E**) is used for the web hosting service. MySQL (**M**) is used for database management. PHP (**P**) is the application programming language.
## Prerequisites
A server with Ubuntu 15.04 already installed. You can spin up a dependable server from Atlantic.Net in under 30 seconds.
## Installing Nginx
Install Nginx with the following command to begin the install:
```
apt-get -y install nginx
```
Verify if all is working by opening your browser and going to http://
If you are unsure what your IP address is, run the following:
```
ifconfig
```
 ifconfig command
In this example, we would do http:// 192.168.0.1, which should open a page looking like this.
 Default Nginx site
## Configure Nginx
The Nginx configuration file is located in /etc/nginx/nginx.conf, so we will use our text editor (In this article, it would be nano) and open the file by running the following command:
```
nano /etc/nginx/nginx.conf
```
You will need to change the worker_processes to the amount of CPUs your server is running. The default is set to 4.
 Nginx configuration file
If you are unsure of the amount of CPUs your server is running, you can use the command “lscpu” to see the amount.
 Lscpu command
Next, we will need to edit the default vhost (server block) located in /etc/nginx/sites-available/default. Use your text editor to go into the file. This article uses nano for text editing, but you may use whichever program you’re most comfortable with.
```
nano /etc/nginx/sites-available/default
```
Under the server section, you will need to change the FQDN or IP address beside “server_name” as shown below.
 Configuration file for default vhost
Scroll down a little farther to the section that starts with “location ~ \.php$ {“. Here you will need to uncomment the section and change the following lines to look like below.
 Nginx default vhost configuration file
Once done, save and exit the file.
We will now test the Nginx configuration by running the following command.
```
nginx -t
```
You should see something like this if it is ok.
 Testing Nginx Configuration
## Installing MySQL
Next, we will install MySQL by running the following command:
```
apt-get install mysql-server mysql-client
```
You will be prompted to enter a new password for MySQL “root” user, enter what you would like.
 MySQL root database password
You are then asked to enter the password again.
 Re-enter MySQL root database password
Once complete, you can verify MySQL is installed by running the below command.
```
systemctl status mysql
```
It will show active(running)
 MySQL status command
Next, you will want to secure MySQL by running the following command:
```
mysql_secure_installation
```
This command will first ask you for your current MySQL “root” user password, which we created earlier when installing MySQL. Enter the password and continue. If you would like to change the root password, type “n” and press enter unless you want to change it. You will say yes to the next couple of questions as it will secure your MySQL. The command will remove anonymous user access, disallow root login remotely, remove the test database, and access it. The last question is to reload the privilege tables, say yes, and press Enter.
 MySQL secure installation questions
### Installing PHP
To install PHP, run the following command:
```
apt-get -y install php5 php5-fpm php5-mysql
```
Before testing the install, we will need to configure PHP by opening the php.ini file. This is located in /etc/php5/fpm. Open this php.ini file with your text editor.
```
nano /etc/php5/fpm/php.ini
```
We need to change cgi.fix_pathinfo to equal 0 instead of 1. Below is how it would look.
 CGI.fix_pathinfo
Save and exit the file.
We will have to restart PHP5-FPM using the following command.
```
systemctl restart php5-fpm
```
After a restart, check the status of php5-fpm by running,
```
systemctl status php5-fpm
```
You will see an output similar to this,
 PHP5-FPM status
We will save a basic PHP script under the web root directory to test PHP. For Ubuntu 15.04 with Nginx, this is located in /usr/share/nginx/html, so we would want to open a test file called something like test.php by running the following command:
```
nano /usr/share/nginx/html/test.php
```
This will open an empty file. We will add the following text:
```
```
Save and close the file.
You will now need to restart Nginx for the changes to take effect. To restart Nginx, run the following command:
```
systemctl restart nginx
```
In this article, our server IP address from earlier is 192.168.0.1, and the PHP script is saved under the web root directory named test.php. We can now test php by opening up an internet browser and the PHP script we saved. We will now enter the URL http:// 192.168.0.1/test.php and press Enter. You will see the following screen if installed and working correctly.
 PHP Information page
You have now wholly installed LEMP on your Ubuntu 15.04 server.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to Install WordPress on a Ubuntu 14.04 LTS Cloud Server
> URL: https://www.atlantic.net/vps-hosting/how-to-install-wordpress-ubuntu-14/ | Published: 2015-06-15 | Updated: 2026-01-15 | Author: Alexander Wise
##### Verified and Tested 06/15/15
## Introduction
This how-to will take you through installing WordPress on Ubuntu 14.04 LTS. WordPress is a content management system that is free and open source. Since it is open-source, there are numerous themes and plugins readily available to you. Although it is typically used as a blogging platform, it can be used for many other uses.
 WordPress Illustration by [Walker Cahall](http://waltronic.net)
## Prerequisites
A Ubuntu 14.04 server running LAMP or LEMP is required to install WordPress. Please see our how-to guide for installing [LAMP](https://www.atlantic.net/vps-hosting/how-to-install-linux-apache-mysql-php-lamp-ubuntu-20-04/) or [LEMP](https://www.atlantic.net/vps-hosting/how-to-install-lemp-ubuntu-14-04/). If you do not have a server, you can get a trusted virtual private server from Atlantic.Net, or use our One-Click WordPress installation.
## Step 1 – Set Up the MySQL Database in Ubuntu 14.04
We are going to start by setting up the MySQL database by running the following commands:
```
mysql -u root -p
```
When prompted, enter your MySQL root password that you set up when installing MySQL.
In MySQL, enter the following commands:
```
create database wordpress character set utf8 collate utf8_bin;
```
Make sure you set your secure password where it says [insert-password-here]
```
grant all privileges on wordpress.* to wordpressuser@localhost identified by "[insert-password-here]";
```
```
flush privileges;
```
```
exit
```
## Step 2 – Get the Latest WordPress Install on Ubuntu 14.04
Now that the database is created, we can download the latest version with the following command:
```
wget http://wordpress.org/latest.tar.gz
```
The newest package will download to the directory you are in, with the file name latest.tar.gz. We need to decompress the file by running:
```
tar -xzvf latest.tar.gz
```
## Step 3 – Configure WordPress on Ubuntu 14.04
Next, we need to copy wp-config-sample.php to wp-config.php, where it gets its base configuration. To do that, run:
```
cp wordpress/wp-config-sample.php wordpress/wp-config.php
```
In your favorite text editor, edit wordpress/wp-config.php
For a basic setup, we need to have the following.
define(‘DB_NAME’, ‘wordpress’);
define(‘DB_USER’, ‘wordpressuser’);
define(‘DB_PASSWORD’, ‘[insert-password-here]’);
It should look like this when completed:
 What wp-config.php should look like once you have edited it
Next, we need to move the WordPress folder to your web directory.
```
cp -r ~/wordpress/* /var/www/html
```
Note: Your web directory may be different based on your configuration.
## Step 4 – Finish The Installation Through The WordPress Web Installation
Now, we can go to the WordPress web installation. In your browser, go to http://
yourhostname-or-ipaddress
If you are unsure what your IP address is, run the following:
```
ifconfig
```
 An example of using ifconfig to show the IP address of your server
In our example, we would put http:// 172.20.6.154/ in the address bar and get the following page.
 An example of the WordPress web installation
From here, all that is needed to do is to follow along with the WordPress install and give the information required.
Congratulations! You have just installed WordPress on Ubuntu 14.04. For more information, you may want to check out the [WordPress Codex](https://codex.wordpress.org/).
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [Virtual private servers.](https://www.atlantic.net/vps-hosting/)
---
# How to Set Up a Mount & Blade: Warband Dedicated Server on CentOS
> URL: https://www.atlantic.net/vps-hosting/how-to-set-mount-blade-warband-dedicated-server-centos/ | Published: 2015-06-16 | Updated: 2024-10-21 | Author: Michael Douse
##### Verified and Tested 04/27/15
## Introduction
This article will go over how to set up a Mount & Blade: Warband dedicated server in a freshly provisioned CentOS 6.5 virtual private server.

## Install Mount & Blade: Warband Dedicated Server on CentOS
First, we will need to install the EPEL repository:
```
yum install epel-release -y
```
Now update system packages and EPEL database:
```
yum update -y
```
And finally, all the required packages:
```
yum install tmux nano wine unzip wget -y
```
*Note: Wine will take several minutes to install, so be patient.*
---
Now to open up the required ports in the firewall. The default ports needed for steam and non-steam users are 7240 and 7241. Let us open these up in IPtables:
```
nano /etc/sysconfig/iptables
```
Add the following lines before the REJECT rules:
```
-A INPUT -p tcp --match multiport --dports 7240,7241 -j ACCEPT
```
```
-A INPUT -p udp --match multiport --dports 7240,7241 -j ACCEPT
```

*An example of the iptables file after adding the additional rules.*
Once you are done, save your changes and exit from nano with CTRL O + Enter and CTRL X.
Then restart IPtables:
```
service iptables restart
```
Verify that the rules are in place:
```
iptables -L
```

*An example of iptables -L*
That’s it for the firewall configuration.
---
Time to create a separate user for the dedicated server. Call this user whatever you wish, but for the sake of this how-to, I will be using “Warband”:
```
useradd Warband
```
```
passwd Warband
```
Now let’s change to the home folder of the user we just created and make a directory for our server files:
```
su Warband
```
```
cd
```
```
mkdir Warband_Server
```
```
cd Warband_Server
```
Download the Warband dedicated server files to the Warband_Server directory we just created. The most recent dedicated server can be found HERE under the “Other Downloads” section.

*An example of what the “Other Downloads” looks like*
We can “wget” the zipped file by right-clicking on the link and selecting “Copy Link Address” (For Chrome) or “Copy Shortcut” (For Internet Explorer):

*Getting the link to download to wget it on the server*
*An example when you wget the download link.*
Now that we have the dedicated server files, we will need to unzip them:
```
unzip mb_warband_dedicated_1158.zip
```
Change into the Warband directory you just unzipped. You may need to use TAB to fill out the actual directory name:
```
cd Mount\&Blade\ Wardband\ Dedicated/
```
Inside you will find many sample server configuration templates to use. The easiest thing to do is edit one of the pre-existing templates. After deciding what kind of game mode you want to host, open it with nano:
```
nano Sample_Team_Deathmatch.txt
```
Review this file for applicable settings. The first changes you will want to make are:
```
#set_pass_admin ADMINPASS
#set_server_name SERVERNAME
#set_welcome_message WELCOME MESSAGE
```
Remove the “#” and add the appropriate modifications to the admin password, server name, and welcome message. Also, keep in mind that the server name cannot have spaces or special characters. If you need to create a space, then use an underscore.
NOTE: You can find additional commands to add to this file from the readme.txt. For instance, I highly recommend adding the following line:
```
set_control_block_direction 1
```
If set to 1, blocking will have to be done manually by a mouse. Otherwise, directional blocking will be automatic…, and that’s no fun.
Once you are done, save your changes and exit from nano with CTRL O + Enter and CTRL X.
---
Now let’s take a minute to discuss the TMUX package we installed earlier.
We are ready to run the dedicated server, but once we start it from the current terminal session, it will stop once we disconnect/exit from the session. This is where TMUX comes in. TMUX allows us to create a “Window” to run other applications. This will enable us to quit our current terminal session while leaving the window open to run whatever service we choose.
*Note: TMUX is what is referred to as a Terminal Multiplexer. Both of which have very loyal user bases. It is a matter of preference on which one you decide to use. The most popular alternative to TMUX is SCREEN.*
---
Open a new window:
```
tmux
```
Now start the dedicated server with Wine. Make sure you are still in the dedicated server files directory when you run this:
```
wineconsole --backend=curses Sample_Team_Deathmatch_start.bat
```
*Note: Each game mode template has an associated “.bat” file. Run the one that corresponds to the template you edited.*

*An example of the wineconsole.exe*
Once the dedicated server is finished loading, you can close the CTRL B + D window.
*Note: You can re-open any active TMUX sessions with the “tmux attach” command.*
---
Now check to make sure that the server is still running with the “top” command:

*An example of top*
Now go join your server!

*An example of the Game server that was created*
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# Dropbox set up for a Linux Cloud Server
> URL: https://www.atlantic.net/vps-hosting/how-to-dropbox-set-linux-cloud-server-vps/ | Published: 2015-06-17 | Updated: 2026-01-15 | Author: Michael Douse
##### Verified and Tested 04/28/15
## Introduction
This article will go over how to set up Dropbox via the command line on a Linux Cloud Server. Dropbox is an excellent tool for making your files easy to share.
## Prerequisites
-Any 32-bit or 64-bit Linux server. If you do not know if your system is 32-bit or 64-bit, [follow our guide here](https://www.atlantic.net/vps-hosting/how-to-tell-32-bit-64-bit-version-linux/), or if you need a secure and trusted Cloud server, consider one from Atlantic.Net.
– You will also need a Dropbox account,[which you can sign up for one here](https://www.dropbox.com/).
## Install Dropbox on your Linux system
Change to the root of your home directory and download the required files based on your architecture:
The command `cd ~` takes you to your login directory, which is typically your home directory.
32-Bit:
```
wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -
```
64-Bit:
```
wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
```
If you run the `ls -a` command, you will see a newly created .dropbox-dist folder.
To start the daemon, run the command:
```
.dropbox-dist/dropboxd
```
> This computer isn’t linked to any Dropbox account…
> Please visit https:// YOUR-SPECIFIC-LINK to link this device.
Paste the link provided into your desktop web browser and log in with your account information. Once logged in, recheck your terminal. You should see the following:
> This computer is now linked to Dropbox. Welcome *YOUR-NAME*
At this time, your files are being synced to the Dropbox folder created in your current user’s home folder. This can take a while, depending on how many files you have.
Now verify that your files were all synced:
```
ls Dropbox/
```
---
Next, we will download the command line management script. This script requires Python, so make sure you have it installed. You can see if Python is installed with `python -V`
```
wget https://www.dropbox.com/download?dl=packages/dropbox.py -O dropbox_manager.py
```
```
chmod +x dropbox_manager.py
```
Run the script to review the available commands:
```
./dropbox_manager.py
```

An example of what the ./dropbox_manager.py looks like
That’s it! You can now check the status of your synced files and manage other aspects of Dropbox.
Learn more about our [VPS hosting](https://www.atlantic.net/vps-hosting/) services and [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/).
---
# How to: Getting Started with Ubuntu 14.04 LTS with LEMP
> URL: https://www.atlantic.net/vps-hosting/how-to-atlantic-net-cloud-getting-started-ubuntu-14-04-lts-lemp/ | Published: 2015-06-18 | Updated: 2026-01-15 | Author: Atlantic.Net NOC
##### Verified 05-06-2015
## Introduction
In this How-To, we will walk you through getting started with your Ubuntu 14.04 LTS with the LEMP cloud server and verify everything is installed correctly.
LEMP is a software bundle that consists of four components. Linux (L) is the core platform on which the other components run. Nginx (E) is used to host web services. MySQL (M) is used for database management. PHP (P) is used for the back-end coding language.
## Prerequisites
A server with Ubuntu 14.04 LTS with LEMP. If you do not have a server already, you can spin up a reliable and trusted server from Atlantic.Net.
## Getting Started with Ubuntu 14.04 – LEMP
First, [we will want to sign in to our cloud control panel here](https://cloud.atlantic.net/?page=userlogin)

Cloud control panel login page
Once logged in, we will see our list of servers. To add an Ubuntu 14.04 LTS with LEMP already installed, we click on “Add Server.”

Adding a Server
You will be sent to a page to fill out the following:
-Server Name: Name the server whatever you’d like. It’s a cosmetic choice that does not impact server functionality. It’s there to help you manage your servers.
-Location: Select which Atlantic.Net Cloud Platform you want your server hosted on. For best overall best performance, select the location closest to you.
1) In this tutorial, we chose USA-East-1.

Choosing your Server location
-Operating System you would want to choose for this article will be “Ubuntu 14.04 LTS Server 64-bit – LEMP.”
1) You would first click on “Applications.”

Choosing your OS Type
2) Then click on “LEMP.”

Choosing your OS Type
-Plan the size of your choice. This will depend on what you will be using the server for. You can scale up the server at any time but cannot scale down. You can view each plan’s details here on our [VPS hosting price](https://www.atlantic.net/vps-hosting/pricing/) page.
1) In this tutorial, we clicked on the “Small” plan size

Choosing your Plan size
-If you would like to enable backups for your server, you check the box beside “Enable Backups”. Daily backups cost 20% of your server’s monthly price (minimum $1). Once enabled, you can restore your server to a previous date through the cloud control panel. You are able to enable/disable backups at any time as well.
After you have completed filling everything out, click on “Create Server”

Creating the server
You will then be sent to a page with the server details including the server credentials. You are also emailed the server credentials.

Newly provisioned Server details
Once your server is provisioned, you will need to SSH into your server. You can navigate to [here if you are not sure how to SSH into your server.](https://www.atlantic.net/vps-hosting/how-to-ssh-linux-server-windows/)
Once you have logged into your server, you will see the provided LEMP Notes to help us verify everything.
> NOTE: Make note of your current “root database password” as we will need it later to change it to a user-defined password for security reasons.

LEMP Notes
You will want to verify everything was installed correctly and is working. To check Nginx, go to http://. If it is installed, then you will see this default Nginx page.

Nginx Default Page
## Verifying MySQL
To verify MySQL is installed and working, run the following command
```
service mysql status
```
You will see this result if it is running

MySQL Status
To make your MySQL more secure and to change the database root password from the provided one, run the following command:
```
mysql_secure_installation
```
You will first be prompted to enter the current root password for MySQL, provided in the LEMP Notes, when you log into your server.
Once you have entered the correct password, you will be asked if you want to change the root password, you would type “y” and then enter if you would like to change it. After changing your password, you will be prompted to answer a couple more questions that will make your MySQL secure by removing anonymous users, disallowing root login remotely, removing the test database, and access to it (Ignore error as database does not exist), and then reload the privilege tables. Once done, you are complete with MySQL!
## Verifying PHP
To verify PHP is installed and working properly, we will create a basic PHP script. In this article, we will save it under the web root directory as test.php. In Ubuntu 14.04, the web root directory is located at /usr/share/nginx/html. We will create the file at that location by running the following command:
```
nano /usr/share/nginx/html/test.php
```
This will open an empty file, we want to input the following text.
``
Save and close the file.
We will now test if the server can generate the PHP script. You will want to go to your browser and enter the following URL:
```
http:///test.php
```
If your server is able to translate the PHP script correctly, you will see something similar to the below picture.

PHP Information page
Once you have verified all components of the LEMP installation, you are able to begin configurations for your site!
Come back and check for updates, and learn more about [VPS hosting](https://www.atlantic.net/vps-hosting/) from Atlantic.Net.
---
# How to Install LAMP (Apache, MariaDB, PHP) on a CentOS 7.2 Cloud Server
> URL: https://www.atlantic.net/vps-hosting/how-to-install-lamp-centos-7/ | Published: 2015-06-18 | Updated: 2026-01-15 | Author: Alexander Wise
## Introduction
This how-to will show you a basic LAMP installation on a CentOS 7.2 Cloud Server. LAMP, on CentOS 7.2, is a software bundle consisting of four components: Linux, Apache, MariaDB, and PHP. LAMP is the backbone for various web-based software, such as WordPress and other web-hosting platforms. We will be using CentOS 7.2 for our Linux installation in this how-to. CentOS 7.2 implements systems, which will make this guide very different than the CentOS LAMP articles you may have seen in the past.
Additionally, the default database engine used by CentOS 7 is MariaDB and not MySQL. MariaDB is a forked version of MySQL, so most of the functionality that you may know from MySQL is built into MariaDB. We will be using Apache for our web server and PHP for our scripting language.
 LAMP Magic In Your Hands created by [Walker Cahall](http://www.waltronic.net/)
## Prerequisites
A server with CentOS 7.2 installed is required, which will take care of the LAMP stack install Linux portion. If you do not have a CentOS 7.2 server, why not consider a CentOS SSD virtual private server from Atlantic.Net.
This how-to requires a user with root credentials. If you are using the root user, then you can omit the `sudo` in front of commands.
## Install LAMP on CentOS 7.2
We need to take care of a few things before installing Apache.
First, we should make sure the system is updated by running the following command:
```
sudo yum update
```
If this command finds updates to install, you will be prompted with ‘Is this ok?’ Hit Y and then enter.
Next, we need to update our firewall to allow HTTP and HTTPS traffic.
Check to see if your firewall is running by running
```
sudo systemctl status firewalld
```
If the firewall is not running, run the following command:
```
sudo systemctl start firewalld
```
If you want the firewall to start when CentOS 7.2 boots up, run the following command:
```
sudo systemctl enable firewalld
```
To allow HTTP and HTTPS, run the following commands:
```
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
```
You need to run the following command so that the rules above take effect.
```
sudo firewall-cmd --reload
```
Now that we have taken care of those things, we can install Apache.
## Installing Apache on CentOS 7.2
We will install Apache with yum, the default package manager for CentOS 7.2. Apache is a free, open-source web server.
Install Apache with the following command:
```
sudo yum install httpd
```
During the install, it will prompt, “Is this ok?” Hit Y and then enter.
We now need to start Apache by running the command:
```
sudo systemctl start httpd.service
```
We can now verify Apache is working by opening your browser and entering the URL `http:// your-server's-address`. You should get a “Testing 123” page similar to the image below.
> Note: If you do not know your IP address, run the following command:
>
> ```
> ip addr show eth0
> ```
>
>  An example of running the command: ip addr show eth0 and getting 192.168.100.10 for the IP address.In our example we would put `http:// 192.168.100.10` into our browser’s address bar.
 The default web page when installing Apache on CentOS 7
To have Apache enabled when your CentOS 7.2 systems startup, run the following command:
```
sudo systemctl enable httpd.service
```
Also, if you would like to check the status of Apache, you can run the following command:
```
sudo systemctl status httpd.service
```
If you would like to test your Apache configuration before restarting, use the following command:
```
sudo apachectl configtest
```
To restart Apache gracefully and avoid noticeable downtime, use the following command:
```
sudo apachectl graceful
```
If it becomes necessary, or if you aren’t worried about downtime, you can perform a hard restart of Apache using the following command:
```
systemctl restart httpd.service
```
To see the version of Apache that is installed, you can use the following command:
```
httpd -v
```
Now that Apache is installed, we can move on to installing MariaDB.
## Installing MariaDB on CentOS 7.2
We will also be using yum to install MariaDB. MariaDB is a free and open-source relational database management system. MariaDB has been designed so that its version number is compatible with the same version number of MySQL but with added features (i.e., MariaDB 5.5 is compatible with MySQL 5.5).
Install MariaDB with the following command:
```
sudo yum install mariadb-server mariadb
```
During the install, it will prompt, “Is this ok?” Hit Y and then enter.
Start the MariaDB service with the following command:
```
sudo systemctl start mariadb
```
We now need to set up MariaDB with the following command:
```
sudo mysql_secure_installation
```
This setup process will prompt you to answer a series of questions. First, it will ask you to enter the current root password. Since we have just set it up, there should not be one, so hit enter.
```
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
```
Next, it will ask you if you want to set a new root password. Press Y and then Enter. It will then ask you to enter a password. Then re-enter it. We recommend you select a strong root DB password different from any user’s password, including the root user.
```
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
```
From there, you can typically just hit Y for each of the following questions, as below, unless you need something specific.
```
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
```
To see if the MariaDB service is running, you can run the command:
```
sudo systemctl status mariadb
```
Now that MariaDB is set up, we will want it enabled on startup by issuing the following command:
```
sudo systemctl enable mariadb.service
```
To log into MariaDB, use the following command (note that it’s the same command you would use to log into a MySQL database):
```
mysql -u root -p
```
This same command will also display the version of MariaDB currently running once you’ve successfully logged in. Now that we’ve installed MariaDB, we can install PHP.
## Installing PHP on CentOS 7.2
Once again, we will be installing PHP from yum. PHP is a free and open-source server-side scripting language.
Install PHP with the following command:
```
sudo yum install php php-mysql
```
During the install, it will prompt, “Is this ok?” Hit Y and then enter.
Create a test PHP file in the following directory. We use nano, but you may use your preferred text editor.
```
sudo nano /var/www/html/info.php
```
Insert the following code, then save and exit:
```
```
To save your work and close nano, hit Ctrl-X, confirm with “Y,” and then Enter.
Restart Apache, so all the changes take effect:
```
sudo systemctl restart httpd.service
```
We can now test that PHP is working by opening up your browser and going to `http:// your-server's-address/info.php`. You should get a page similar to the image below.
 A default php.info web page that shows when PHP is installed on CentOS 7
To see the version of PHP that is installed, you can use the following command:
```
php -v
```
Once you have verified that PHP works as expected, it is a good idea to remove the info.php file since it contains information that could make your server vulnerable.
You can remove it by running the following command:
```
sudo rm /var/www/html/info.php
```
It will ask, “rm: remove regular file ‘/var/www/html/info.php’?” Hit Y and then enter.
You now have a basic LAMP stack on CentOS 7.2. You can now start placing your site in the `/var/www/html/` directory.
Below, you will find some optional settings that you may want to add to your LAMP server.
## Additional Modules for Apache and PHP (Optional)
You may want to install some additional modules for Apache and PHP. You can search for basic modules via yum.
For Apache:
```
yum search mod_
```
For PHP:
```
yum search php-
```
To install packages, you may want to add use `yum install` followed by the package name.
> Note: If you would like more information on a particular package, you can use the command:
>
> ```
> yum info package-name
> ```
For a complete list of Apache modules, go to [httpd.apache.org](http://httpd.apache.org/docs/2.2/mod/directives.html).
For a full list of PHP modules, go to [php.net](http://php.net/manual/en/extensions.alphabetical.php).
## Install phpMyAdmin (Optional)
To efficiently manage your databases, you may want to add phpMyAdmin to your LAMP stack. phpMyAdmin is a free and open-source tool written in PHP. It is a web GUI with which you can add, delete, or modify databases and tables, among other things.
To install phpMyAdmin easily on CentOS 7.2, we are going to install the Extra Packages for Enterprise Linux (EPEL) repo first by running the following command:
```
sudo yum install epel-release
```
During the install, it will prompt, “Is this ok?” Hit Y and then Enter.
Now we can install phpMyAdmin.
```
sudo yum install phpmyadmin
```
During the phpMyAdmin install, it will prompt “Is this ok?” for the install and then the EPEL key. Hit Y and then Enter for each question.
The phpMyAdmin installation process will make a configuration file in `/etc/httpd/conf.d/` called `phpMyAdmin.conf`. By default, phpMyAdmin is configured only to accept connections from the server it is installed on. If you want to allow other IPs, you’ll need to open the phpMyAdmin.conf file with your preferred text editor.
```
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
```
In this example, we are using Apache 2.4, so we only need to change the configurations for 2.4. There will be two places that say “Require ip 127.0.0.1,” Below each one, we are going to put “Require ip {your-public-IP}” For this example, we’ll say we want to grant phpMyAdmin access to a workstation with an IP of 192.168.0.2. In this case, we would put “Require ip 192.168.0.2” below “Require ip 127.0.0.1” If you do not know your public IP, [you can find it here](https://support.google.com/websearch/answer/1696588).
The configuration file should be like the one below when completed.
```
# Apache 2.4
Require ip 127.0.0.1
Require ip 192.168.0.2
Require ip ::1
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1