How to Install CentOS 7

Prerequisites

  • Recommended minimum of 10GB of free disk space
  • CentOS 7 ISO install file

Follow the Steps to Install CentOS 7

If you are only looking to update or upgrade CentOS, see How to Upgrade or Update CentOS.

Step 1: Download CentOS 7

To download the official and up-to-date CentOS 7 ISO file, navigate to https://www.centos.org/download/.

Our recommendation for non-enterprise environments is to download the DVD ISO option, which includes the GUI. We recommend the Minimal ISO option only for production enterprise environments.

Select DVD ISO option for CentOS 7 installation.

Step 2: Create Bootable USB or DVD

Now that you have downloaded the ISO image, you can create a bootable USB, burn it on a DVD or load the image on a VM.

Several applications can help you create a bootable USB. We recommend using Etcher. Download the application for your system (Windows, macOS or Linux), install and run.

etcher running on a drive

The setup is intuitive and easy:

  1. Select the CentOS 7 ISO image.
  2. Insert the USB flash.
  3. Find the USB and select it in the Select drive step.
  4. Click Flash.

Step 3: Boot the CentOS ISO File

Upon booting the CentOS 7 ISO file, you can begin the installation process. To do so, select Install CentOS 7. That will start the installer’s graphical interface.
Read More

How to Set or Change a Hostname in CentOS 7

Prerequisites

  • Server running CentOS 7
  • Access to a user account with root privileges
  • Terminal window (Menu > Applications > Utilities > Terminal)
  • A text editor, like Vim

How to Change Centos Hostname

Step 1: Check Existing Hostname

Before you start, it is advised to check what your current hostname is. Type the following command in the console to find out:

hostnamectl

The output should return the static hostname, as well as a list of other information about your network configuration and operating system.

check static hostname on centos

Step 2: Set a New Static Hostname

As CentOS 7 only allows Fully Qualified Domain Names (FQDNs), double-check the hostname you plan to use.

Acceptable values include:

  • Lower-case letters a to z
  • Numbers 0 to 9
  • Periods and hyphens
  • Hostnames must be between 2 and 63 characters
  • Hostnames must start and end with a number or letter

Type in the following command in the terminal:

hostnamectl set-hostname my.new-hostname.server

Note: Make sure to replace my.new-hostname.server with your chosen hostname.


Step 3: Check the Hostname

Next, verify the hostname by using the following command again:

hostnamectl

The console should display the new hostname.

Step 4: Edit the /etc/hosts File

Start by opening the hosts file by typing:

sudo vim /etc/hosts

In the text editor, look for the line that begins with 127.0.0.1 (the IP address that refers to the system you are working on). It should read:

127.0.0.1  localhost localhost.localdomain localhost 4 localhost4.localdomain4 old.hostname

Change the entry old.hostname to my.new-hostname.server – and spell it the same as in Step 2.

Save the file and exit.

Step 5: Reboot and Check CentOS 7 machine hostname

Restart your system. Open a console window, and run:

hostnamectl

It should display your new hostname.

You can also use your text editor to open and verify your /etc/hostsfile. It should still have your new hostname listed.

Step 6 (Optional): Using a Pretty Hostname

To use a “pretty” hostname type the following command:

hostnamectl set-hostname “My Boss’s Hostname”

Make sure you have the quotation marks.

Once that completes, check the hostname:

hostnamectl status

The console should return a list of information. Check the Static hostname and Pretty hostname lines – they should look like this:

Static hostname:  mybossshostname
Pretty hostname:  My Boss’s Hostname

By putting the hostname in quotes, you’re telling the system to use the complex characters inside the quotes as a pretty hostname.

This enables you to avoid character restrictions for static hostnames.

using a pretty name on centos

But you still need a FQDN hostname for the machine to understand. Fortunately, CentOS is smart enough to remove or change any unacceptable characters and render the static hostname automatically.

Step 7 (Optional): Setting a Transient Hostname

Fist, open the console and type the following:

sudo hostnamectl –transient set-hostname temporary.hostname

You can check the hostname in the same way you did earlier, with the hostnamectl or hostnamectl status command.

This change will last until you reboot the machine.

You can use this command with any type of hostname (Static, Pretty, or Transient) as an option with the double-hyphen.

Just use the double-hyphen to indicate what you want:

sudo hostnamectl --prettyset-hostname “Pretty Hostname”

or

sudo hostnamectl --staticset-hostname temporary.hostname

How To Upgrade or Update CentOS

Introduction

CentOS is a popular fork, or derivative, of the Red Hat Enterprise Linux distribution.

CentOS 7.6 is a minor update and was published in December 2018. It includes updates and changes, including support for newer software and server technology. This guide will walk you through upgrading and updating the current version to the latest CentOS release.

Prerequisites

  • Access to a command line / terminal window (Menu > Applications > Utilities > Terminal)
  • The yum package manager, included by default

Upgrade CentOS to Latest Version: 6 Easy Steps

Step 1: Check current CentOS version

Check the version of your current release with the command:

cat /etc/redhat-release

The system should display the CentOS Linux release version. Make sure the first number is at least 7.x.x.

Step 2: Verify data and backups

Backing up important server data should be done before running a operating system upgrade. Take a moment to verify your system backups.

Step 3: Check for available updates

Check available CentOS updates with the command:

sudo yum check-update

The system will display a list of available updates, including the core operating system updates. Scan through these to make sure everything is in order.
Read More

How To Install WordPress with LAMP on Ubuntu 18.04

How to install WordPress on Ubuntu 18.04 using a LAMP stack

In this tutorial, I will show you how to install WordPress with LAMP on Ubuntu 18.04 LTS.

Prerequisites for installing WordPress on Ubuntu 18.04

Before we get started, you’ll need to have the following set up:

Step 1: Create a database for WordPress user

WordPress ships a bundle of numerous files and those files need to be stored in a database.

So, your first step towards installing WordPress is to setup MySQL database to handle these files.

To do this, let’s log in to MySQL as a root user, using the command:

mysql -u root -p

You’ll then prompted for the password that you set during the set-up of MySQL database system.

Once logged in, you need to create a new database that will accommodate WordPress files during and after the installation process. You can name it whatever you wish, but to keep things simple, we will call it wordpressdb in this guide.

To create the database, run the following command.

mysql> CREATE DATABASE wordpressdb;

NOTE: Always remember to terminate MySQL statements with a semi-colon “;”

With the database in place, you need to create a new MySQL user account that will have exclusive access to the database.

Let’s also grant the user full access to the database and set a strong password. For this guide, we will create a user
called admin-user.

To do that, execute the following command

mysql> GRANT ALL ON wordpress.* TO 'admin-suser'@'localhost' IDENTIFIED BY 'PASSWORD';

NOTE: Remember to replace the PASSWORD string with a strong password.

At this point, we’ve created a database and a user account specifically for WordPress.

To apply the changes in MySQL instance, we need to run the command below

mysql> FLUSH PRIVILEGES;

Then we’ll exit the MySQL instance by running the command

mysql>   EXIT;

Step 2: Install additional PHP extensions

LAMP stack requires only a minimal set of extensions for PHP to communicate with MySQL database server. However, WordPress and many of its plugins require additional extensions to function without complications.

With that in mind, we’re now going to install additional PHP extensions for WordPress.

First, update the system:

# sudo apt update

Next, install the additional PHP extensions:

# sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-  soap php-intl php-zip

To load these extensions, restart Apache web server by running the following command:

# sudo systemctl restart apache2

Step 3: Download WordPress

With all the prerequisites in place, let’s go ahead and download WordPress.

For security reasons, I recommend always downloading WordPress from its official repository:

First Navigate to /var/www/ directory

# cd  /var/www/```

Then download the zipped folder using the command

# curl -O https://wordpress.org/latest.tar.gz

Extract the tarball file

# tar -xvf latest.tar.gz

The extraction of the tarball file yields a folder labeled wordpress.

This is the folder that contains all the WordPress configuration files. At this point, it’s safe to delete the tarball file you just downloaded from the WordPress repository.

# rm latest.tar.gz

Step 4: Configure the WordPress directory

Before we proceed to the next step, we need to adjust ownership and file permissions of the WordPress directory.

Let’s assign file ownership to all the files in the WordPress directory using the

# sudo chown -R www-data:www-data /var/www/wordpress

Next, we’ll set the correct permissions as shown:

# sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
# sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;

We also need to rename the sample configuration file in the WordPress directory to a filename it can read from:

# cd /var/www/wordpress
# mv wp-config-sample.php wp-config.php

Next, we will open the wp-config.php file using the default text editor Vim.

# vim  wp-config.php

Now scroll down and locate the database settings as shown below. Be sure to fill in the WordPress database namedatabase userdatabase password and hostname.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpressdb');

/** MySQL database username */
define('DB_USER', 'admin-user');

/** MySQL database password */
define('DB_PASSWORD', 'StrongPassword');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

Save and exit the configuration file.

You also need to generate security keys to provide additional security to your WordPress installation. WordPress provides an automatic generator for these keys to eliminate the need for generating them ourselves.

To generate these values from WordPress secret generator, simply run the command:

# curl -s https://api.wordpress.org/secret-key/1.1/salt/

Note: The command gave us the output below. DO NOT USE THESE VALUES, you need to copy the unique values that you generated.

define('AUTH_KEY',      'UV>...SAMPLE ONLY...COPY YOUR OWN VALUES...mL)');
define('SECURE_AUTH_KEY',  'bn(UV>...SAMPLE ONLY...COPY YOUR OWN VALUES...emL)zx');
define('LOGGED_IN_KEY',    '-naUV>...SAMPLE ONLY...COPY YOUR OWN VALUES...emL{fY');
define('NONCE_KEY',     '{xNwUV>...SAMPLE ONLY...COPY YOUR OWN VALUES...emL8Fq');
define('AUTH_SALT',        'j+;UV>...SAMPLE ONLY...COPY YOUR OWN VALUES...emLZpu');
define('SECURE_AUTH_SALT', '0M=UV>...SAMPLE ONLY...COPY YOUR OWN VALUES...emL*xC');
define('LOGGED_IN_SALT',   'G&2UV>...SAMPLE ONLY...COPY YOUR OWN VALUES...emLps+');
define('NONCE_SALT',    '2gZUV>...SAMPLE ONLY...COPY YOUR OWN VALUES...emLh/L');

Copy the unique output that you’ve generated.

Once again, open the WordPress configuration file wp-config.php

# vim  wp-config.php

Scroll and locate the section that contains the dummy values, which looks like this:

define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

Delete those values and paste the security keys that WordPress generated for you.

Now save and exit the configuration file.

Step 5: Modify Apache configuration

In this step, we need to make a few adjustments to the default configuration file 000-default.conf in the path /etc/apache2/sites-available.

Start by opening the default configuration file

# vim  /etc/apache2/sites-available/000-default.conf

Next, locate the DocumentRoot attribute and change it from /var/www/html to /var/www/wordpress.

In the same file, copy and paste the following lines inside the Virtual Host block.

<Directory /var/www/wordpress/>
AllowOverride All
</Directory>

virtual_host_wordpress_ubuntu

Save and exit the configuration file.

Next, you need to enable the mod_rewrite so that you can use WordPress Permalink feature.

# sudo a2enmod rewrite

To verify that all went well, execute the command.

# sudo apache2ctl configtest

Output: Ok

To implement the changes, restart Apache web server.

# sudo systemctl restart apache2

Step 6: Run WordPress installation using the web browser

At this point, you’ve finished all the server configurations for your WordPress installation.

The final step is to complete the installation via a web browser.

To do this, launch your web browser and browser your server’s IP address or domain name
http://server_IP_address or http://YOUR-DOMAIN

The first page will prompt you to select the language.

wordpress_ubuntu_language

Click on your preferred language and hit the ‘Continue’ button.

In the next step fill in the additional information required such as ‘Site Name’, ‘Username’ , ‘Password’, and ‘Email address’.

wordpress_ubuntu_welcomeOnce you’ve filled in all the required fields, click on ‘Install WordPress’

If all went well, you will be directed to the Login Page.

Hit the ‘Login’ button and you’ll head to the world-famous WordPress dashboard that you see below:

wordpress_ubuntu_dashboard

Guess what? You just installed WordPress on Ubuntu!

Congratulations! If you’ve followed along this far, you’ve installed WordPress with LAMP on Ubuntu 18.04 LTS.

So, now you’re ready to get to work building your new blog or website.