How to Install WordPress on CentOS 8
WordPress is a popular tool used to build websites and features to help you publish anything, anywhere. It is also a open source software you can use to create a beautiful website, blog, or app.
Prerequisites
In order to publish your WordPress site on the web, you will need a Web server setup on the system and running.
For detailed installation, refer to LAMP Stack on CentOS 8.
Update Firewall rules
Allow the firewall to accept HTTP and HTTPS connection and reload it with following commands.
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
Output:
[root@my ~]# firewall-cmd --permanent --zone=public --add-service=http
success
[root@my ~]# firewall-cmd --permanent --zone=public --add-service=https
success
[root@my ~]# firewall-cmd --reload
success
[root@my ~]#
Start and Enable Apache and MariaDB services
Start and enable both the Apache webserver and the MariaDB services to start after system reboot.
systemctl start mariadb
systemctl start httpd
systemctl enable mariadb
systemctl enable httpd
Secure MariaDB Installation
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 a 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 'pass';
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 'pass';
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)]>
Install Additional Packages
WordPress will require certain packages to support the install, such as php-mysqlnd
php-fpm
tar
curl
php-json
.
These can be installed with the below command,
yum install php-mysqlnd php-fpm tar curl php-json
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
Moving to Web root directory
Copy the extracted WordPress directory into the /var/www/html directory,
cp -r wordpress /var/www/html
File Permissions and SELinux
Change ownership of the directory to apache
and update permissions for file SELinux security context,
chown -R apache:apache /var/www/html/wordpress
chcon -t httpd_sys_rw_content_t /var/www/html/wordpress -R
Navigate to your browser
Start WordPress installation by clicking on the Run the installation button:
Provide the requested information:
Once the wordpress is installed login with your new user credentials:
CrownCloud - Get a SSD powered KVM VPS at $4.5/month!
Use the code WELCOME
for 10% off!
1 GB RAM / 25 GB SSD / 1 CPU Core / 1 TB Bandwidth per month
Available Locations: LAX | MIA | ATL | FRA | AMS