We’re happy to announce a performance upgrade to our cPanel DE shared and reseller hosting available in Frankfurt, DE.
The cPanel powered services in Frankfurt, Germany is now powered by SSD based storage with a much newer CPU and faster DDR4 memory as well.
SSD disks should net a 5-10x performance gain allowing your websites to load faster and serve your users quicker. The improved CPU performance as well will enable websites to load faster and run more stable as well with improved database performance as well.
To check out our cPanel SSD powered plans visit our website at
We’re happy to announce a performance upgrade to our DirectAdmin shared and reseller hosting available in Frankfurt, DE.
The DirectAdmin powered services in Frankfurt, Germany is now powered by SSD based storage with a much newer CPU and faster DDR4 memory as well.
SSD disks should net a 5-10x performance gain allowing your websites to load faster and serve your users quicker. The improved CPU performance as well will enable websites to load faster and run more stable as well with improved database performance as well.
In this week’s feature highlight, we look at How to Install LAMP Stack on AlmaLinux 8
A LAMP stack is a group of open-source software that is typically installed together to enable a server to host dynamic websites and web apps. This term is actually an acronym which represents the Linux operating system, with the Apache web server. The site data is stored in a MySQL database, and dynamic content is processed by PHP.
Install Apache Web Server
First, we will start by installing the Apache web server. To complete the installation, use the following command.
Once the installation is complete, enable Apache (to start automatically upon system boot), start the web server and verify the status using the commands below.
systemctl enable httpd
systemctl start httpd
systemctl status httpd
Output:
[root@server ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor prese>
Active: active (running) since Mon 2021-02-08 15:03:51 EST; 5s ago
Docs: man:httpd.service(8)
Main PID: 26398 (httpd)
Status: "Started, listening on: port 80"
Tasks: 213 (limit: 23680)
Memory: 29.1M
CGroup: /system.slice/httpd.service
├─26398 /usr/sbin/httpd -DFOREGROUND
├─26399 /usr/sbin/httpd -DFOREGROUND
To make your pages available to public, you will have to edit your firewall rules to allow HTTP and HTTPS requests on your web server by using the following commands.
Now restart your web server so that Apache knows that it will be serving PHP requests as well.
systemctl restart httpd
Test your PHP, by creating a simple info.php file with a phinfo() in it. The file should be placed in the directory root for your web server, which is /var/www/html.
MariaDB is a popular database server. The installation is simple and requires just a few steps as shown.
yum install mariadb-server mariadb
Output:
[root@server ~]# yum install mariadb-server mariadb
Last metadata expiration check: 0:05:56 ago on Mon 08 Feb 2021 03:03:08 PM EST.
Dependencies resolved.
================================================================================
Package Arch Version Repo Size
================================================================================
Installing:
mariadb x86_64 3:10.3.27-3.module_el8.3.0+2028+5e3224e9
appstream 6.0 M
mariadb-server x86_64 3:10.3.27-3.module_el8.3.0+2028+5e3224e9
appstream 16 M
Installing dependencies:
mariadb-common x86_64 3:10.3.27-3.module_el8.3.0+2028+5e3224e9
Once the installation is complete, enable MariaDB (to start automatically upon system boot), start the MariaDB and verify the status using the commands below.
systemctl enable mariadb
systemctl start mariadb
systemctl status mariadb
Output:
[root@server ~]# systemctl status mariadb
● mariadb.service - MariaDB 10.3 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor pre>
Active: active (running) since Mon 2021-02-08 15:10:12 EST; 5s ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Process: 30138 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, s>
Process: 30004 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mariadb.service>
Process: 29979 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, sta>
Main PID: 30107 (mysqld)
Finally, you will want to secure your MariaDB installation by issuing the following command.
mysql_secure_installation
Output:
[root@server ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
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...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] asdfghjkl
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
Once secured, you can connect to MySQL and review the existing databases on your database server by using the following command.
mysql -e "SHOW DATABASES;" -p
Output:
[root@server ~]# mysql -e "SHOW DATABASES;" -p
Enter password:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
Next, we secure our MariaDB installation and setup a root password for MariaDB
mysql_secure_installation
Output:
[root@my ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
Enter current password for root (enter for none):
OK, successfully used password, moving on...
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:
Creating the new database:
Log into MySQL with the following command,
mysql -u root -p
First, we’ll create a new database,
CREATE DATABASE wordpress;
Next, create a new MySQL user account that we will use to operate on WordPress’s new database, with username “admin”
CREATE USER `admin`@`localhost` IDENTIFIED BY '<Enter Strong Password here>';
Link the user and DB together by granting our user access to the database,
GRANT ALL ON wordpress.* TO `admin`@`localhost`;
Flush the privileges so that MySQL knows about the user permissions we just added,
FLUSH PRIVILEGES;
Exit out of the MySQL command prompt by typing,
exit
Output:
MariaDB [(none)]> CREATE DATABASE wordpress;
Query OK, 1 row affected (0.000 sec)
MariaDB [(none)]> CREATE USER `admin`@`localhost` IDENTIFIED BY '<Enetered Password>';
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> GRANT ALL ON wordpress.* TO `admin`@`localhost`;
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]>
Download and extract WordPress:
Download the wordpress by using curl command and extract the downloaded file
curl https://wordpress.org/latest.tar.gz --output wordpress.tar.gz
tar xf wordpress.tar.gz
Copy the extracted WordPress directory into the /var/www/html directory:
cp -r wordpress /var/www/html
Change permissions and change file SELinux security context:
To start the installation, first mount the AlmaLinux ISO.
Mounting the AlmaLinux ISO Image
To mount the ISO select the CD-ROM Tab and select the AlmaLinux ISO from the drop-down named AlmaLinux-8.3-beta-1-x86_64-minimal and click on Mount button.
Please note: The ISO mount may take upto 2-3 minutes to complete.
Once the AlmaLinux ISO has been mounted on your KVM VPS, navigate to the Power Control tab and then perform a Shutdown and Boot task.
Now, Switch to the VNC Tab and click on “Launch VNC” to launch the web based VNC console to start the AlmaLinux installation.
If the VPS hasn’t booted yet into the AlmaLinux installer, please click on the CTRL+ALT+DEL button from the VNC console to send a reboot signal to the VPS to boot into the installer.
Once we have booted into the AlmaLinux installer,
Select “Install AlmaLinux”
Select the desired language and click on continue.
Select Network & Hostname and configure.
If you would like to keep the Network Dynamic / DHCP (default configuration), Enable the network and click on Done.
(Optional) Static Network Configuration
If you would like to configure the Network Static, click on the Configure button and then manually enter the Network information as shown below,
Disk Partitioning Configuration
After Select Installation & Destination.
Select standard Partition and assign disk required and done.
Then select Accept changes.
Installation Source Configuration
After Select Installation Source.
Select auto detected installation media -> verify -> Minimal and press done.
Software Selection
After Select Software Selection–>minimal install and press done.
Login Password Configuration
Select the root password to set ‘root’ password.
Begin Installation
And Begin Installation.
After installation is completed unmount the ISO and reboot the server. Wait for a few minutes for the reboot to complete, after which you will see the login prompt.
Note: You can also use SSH to connect to your VPS at this point.
To start the installation, First we mount the Ubuntu 20.10 ISO.
To mount the ISO click on CD-ROM and then select the “ubuntu-20.10-live-server-amd64” ISO from the drop-down menu and click on Mount button (It will take 2-3 minutes)
Once the ISO has mounted (Task Log tab will show the status of the task), navigate to “Power Control” tab and then perform a Shutdown and Boot task on the server.
Next, Switch to the “VNC” Tab, Launch VNC to start the installation.
If VNC doesn’t show the Ubuntu 20.10 installer, please click on CTRL+ALT+DEL from the VNC console to send a reboot.
Select the desired language and click on continue.
Select the desired keyboard layout and click on done.
Select the Network configuration and click done.
You can either set up a static network configuration or simply go ahead with DHCP (Simply press ENTER here)
You can configure proxy for the server in this part of the process if needed. Ideally, in most cases you don’t need to, just leave it blank and proceed.
Next, in the mirror selection we keep the default mirror address that Ubuntu detects for us,
Disk partitioning, we can go ahead with “Use an entire disk (X)”
Review the partitions and then proceed.
Confirm and press continue.
Profile setup, fill the form and press enter.
The details entered below (username, password etc) would be used for SSH as well!
We will check this package since OpenSSH server package is essential if you need to connect using a PuTTY.
The Ubuntu 20.10 installer also has other packages available for pre-install, you can pick any you wish to pre-install on your server, in this guide we will keep it at bare minimal (ie, no extra packages selected),
At this stage, Ubuntu will start the installation to the disk.
Once the install is complete, go ahead with the reboot.
After you select to reboot the VPS, Ubuntu will prompt you to unmount the installation medium.
To unmount the ISO, switch back to CrownPanel, Select the “CD-ROM” tab and click on “Unmount”,
Next, switch back to the VNC Window, and press ENTER to reboot the VPS,
The VPS will then reboot into your installation of Ubuntu 20.10
This completes the installation of Ubuntu 20.10
You can now login to the server using the credentials that were set earlier (under the “Profile setup” part of this guide)
Sample Output:
crowncloud@104.200.67.187's password:
Welcome to Ubuntu 20.10 (GNU/Linux 5.8.0-25-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Tue Oct 27 07:47:17 PM UTC 2020
Enabling Firewall:
Ubuntu by default uses UFW to easily manage IPTables firewall configurations. Let us enable Firewall incase it’s inactive.
Allowing SSH connection,
We will allow SSH’s default port so we can connect to the server without any disruption after enabling UFW,
sudo ufw allow 22
Enabling UFW
UFW can be enabled with the following command.
sudo ufw enable
For more information regarding Firewall, Kindly refer to our Guide on UFW.