In this tutorial we will learn how to install latest wordpress in CentOS 6.Installing the WordPress is quite easy but here we will create a database user which only has access to wordpress database.This practical is applied to VPS,Cloud Server,virtual server and dedicated server.
Note: VPS,Cloud Server,virtual server are based on Virtualisation techninque

We are doing this practical on freshly minimal installed CentOS 6.4 hence some additional package we will install.

Follow the given below steps to install WordPress

Login into Server with user root

Step 1: Install wget package to download the WordPress with command line.

yum -y install wget

Step 2: Now download the latest WordPress package in server by using wget command

cd /root
wget http://wordpress.org/latest.tar.gz

Step 3: Installed the required dependency,web server(apache) and database server(MySQL)


yum install httpd mysql-server php php-mysql php-pdo

Step 4: Now extract the downloaded WordPress package in /var/www/html


tar -xvzf /root/latest.tar.gz -C /var/www/html

Step 5: Rename the extracted out directory called wordpress to some other name, Here I am renaming it to blog. (It is your choice to rename or give some other name)

Give ownership and group apache also to /var/www/html/blog directory.

mv /var/www/html/wordpress /var/www/html/blog
chown -R apache:apache /var/www/html/blog

Step 6: Disable SELINUX if it is in enforcing mode. Replace the word enforcing to disable in SELINUX value
Edit the file /etc/sysconfig/selinux
See the below given reference.

[root@localhost ~]#  vi /etc/sysconfig/selinux 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Step 7: Now restart the machine

init 6

Step 8: Now login to server again. Start the apache and mysql server.

/etc/init.d/httpd start 
/etc/init.d/mysqld start 

Note: If you already have MySQL installed in Server and have root login,you can skip Step 9. The setup is for first time installation

Step 9: Now setting mysql root password. Use the command /usr/bin/mysql_secure_installation read the instructions and give your input

Below given is reference

[root@localhost ~]# /usr/bin/mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!


In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, 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 MySQL
root user without the proper authorisation.

Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL 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, MySQL 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 MySQL
installation should now be secure.

Thanks for using MySQL!


[root@localhost ~]# 

[root@localhost ~]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 10
Server version: 5.1.69 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql>  exit

Step 10: Now starting and configuring web server .

Note: We have extracted the wordpress package in /var/www/html and renamed the wordpress directory to blog. Hence the DocumentRoot is /var/www/html/blog

Starting web server

/etc/init.d/httpd restart

Edit the file /etc/httpd/conf/httpd.conf file and in last line paste the given below contents.

Note: Replace the example.com with your domain name (You must have your Registered domain name, if you do not have we can use example.com for practical purpose and can map it in our linux laptop or Desktop in /etc/hosts file [Add in last line of /etc/hosts file ip-address-of-server example.com])

vi /etc/httpd/conf/httpd.conf


    ServerAdmin sharad@example.com
    DocumentRoot /var/www/html/blog
    ServerName example.com
    ErrorLog logs/example.com-error_log
    CustomLog logs/example.com-access_log common

Now restart the Web server once again

/etc/init.d/httpd restart

Step 11: Creating MySQL username password. Log into MySQL server

mysql -u root -p

Now mysql > will appear, create database user,password and provide privileges to this user

mysql> create database wordpress;
 
mysql> create user 'wordpressuser'@'localhost' IDENTIFIED BY 'GivePassword';
 
mysql> GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost';
 
mysql> flush privileges;
 
mysql> exit;

Step 12: Stopping iptables service

/etc/init.d/iptables off ;chkconfig iptables off

Note: If you want to use iptable then do not stop the service ,you can use below given iptable rule command. You only have to hit this command in terminal

iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

Step 13: Now open the web browser and type domain name in Address bar.

Here,we have used domain name example.com (replace with your domain name which you have given)
http://example.com

Now it is easy to install WordPress,follow the instructions and fill up the required information

After installation get completed,you can check you blog by typing http://example.com and to login into Admin panel use wp-admin as suffix means http://example.com/wp-admin


Below given are the screenshots of installation:

wp1

wp2

wp3

wp4

wp5

wp6

wp7

wp8

Read Some More Articles

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.