Cài đặt 1 website WordPress cơ bản trên hệ thống Linux (CentOS 6)

Cài đặt 1 website WordPress cơ bản trên hệ thống Linux (CentOS 6)

Giới thiệu về Nginx Cache cho các website sử dụng WordPress
Rendering client-side so với server-side
Bảo mật Website của bạn với Let’s Encrypt

Về WordPress

WordPress là 1 công cụ mã nguồn mở phục vụ cho việc xây dựng các hệ thống blog, CMS, website giới thiệu doanh nghiệp, … WordPress sử dụng 2 technology stack phổ biến là PHP và MySQL, được ra mắt vào năm 2003. Số lượng website sử dụng WordPress hiện nay chiếm 22% tổng số website trên toàn cầu, điển hình như Relipa Text mà chúng ta đang truy cập đây cũng sử dụng WordPress.

Bài viết này sẽ hướng dẫn các bạn cài đặt 1 website WordPress trên server Linux CentOS 6 một cách cơ bản nhất.

Trước khi bắt đầu

Để WordPress hoạt động được, server phải cài đặt sẵn các tech stack gồm: Web Server, PHP và MySQL. Cụ thể ở đây là các software: Nginx, PHP-FPM MySQL Server Community. Nếu chưa có, hãy chắc chắn rằng bạn có 1 quyền root ở trên server.

Nếu server đã có sẵn các tech stack cần thiết bạn có thể vào luôn bước 5.

Bước 1: Cài đặt các Yum Repositories cần thiết

Chúng ta sẽ sử dụng Yum để cài đặt các phần mềm yêu cầu cho server. Tuy nhiên, nginx không phải lúc nào cũng có sẵn trên các server CentOS, chúng ta cần cài đặt EPEL repository cho yum.

sudo yum install epel-release

Bước 2: Cài đặt Nginx

Cài đặt Nginx khá đơn giản, bạn chỉ cần chạy câu lệnh:

sudo yum install nginx

Sau khi cài đặt xong, khởi động Nginx bằng câu lệnh:

sudo service nginx start

Bước 3: Cài đặt PHP-FPM

Để cài đặt và sử dụng được PHP-FPM bạn cần phải cài đặt PHP và các library của PHP để đảm bảo WordPress hoạt động ổn định. Để đơn giản hoá việc cài đặt, bạn có thể chỉ cần chạy câu lệnh:

sudo yum install php php-*

Câu lệnh trên sẽ cài đặt tất cả các software liên quan đến PHP, bạn sẽ không cần phải quan tâm nên cài đặt library gì.

Để khởi động PHP-FPM, bạn chạy câu lệnh:

sudo service php-fpm start

Bước 4: Cài đặt MySQL Server

Bước tiếp theo là cài đặt MySQL Server

sudo yum install mysql-server

Cài đặt xong, khởi động MySQL Server

sudo service mysqld start

MySQL Server mới cài đặt có username là root và password mặc định là rỗng, bạn có thể cấu hình lại MySQL Server bằng câu lệnh:

sudo /usr/bin/mysql_secure_installation

Chương trình sẽ hỏi password MySQL của bạn, vì password là rỗng, bạn chỉ cần gõ enter để tiếp tục

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Tiếp đó chương trình sẽ hỏi bạn 1 loạt câu hỏi Yes/No, để đơn giản bạn chỉ cần trả lời Yes hết là được

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!

Bước 5: Download WordPress

Chúng ta download WordPress bằng câu lệnh

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

Giải nén WordPress và copy vào thư mục bạn muốn đặt source code, ở đây chúng ta sẽ đặt vào /var/www/html/wordpress

tar -xzvf latest.tar.gz
cp -rp ./wordpress /var/www/html

Bước 6: Cấu hình WordPress

Đầu tiên chúng ta cần tạo 1 database cho wordpress

mysql -uroot -p

Chương trình sẽ hỏi password của user root, đăng nhập xong bạn tạo database mới

CREATE DATABASE wordpress;

Câu lệnh trên sẽ tạo 1 database mới có tên là wordpress, bạn có thể thay thế tên đó bằng bất cứ tên gì bạn muốn. Sau đó thoát ra khỏi MySQL

exit

Sau khi tạo xong Database, chúng ta cần cấu hình lại Nginx trỏ vào thư mục đặt source code. Bạn tạo 1 file Nginx config mới

sudo vim /etc/nginx/conf.d/wordpress.conf

Bạn cấu hình theo template sau (có thể sử dụng vim, nano hoặc bất cứ text editor bạn muốn)

server {
    listen   80;
    server_name example.com; ## Domain bạn muốn sử dụng hoặc địa chỉ IP

    # root directive should be global
    root   /var/www/html/wordpress; ## Thư mục chứa source code wordpress 
    index  index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        try_files $uri =404;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass    127.0.0.1:9000;
        fastcgi_index   index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Cuối cùng chúng ta điền thông tin database vào wp-config.php

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress'); // tên database vừa tạo

/** MySQL database username */
define('DB_USER', 'root'); // user mysql (có thể sử dụng root)

/** MySQL database password */
define('DB_PASSWORD', 'password'); // password của user mysql

Cuối cùng ta khởi động lại Nginx

sudo service nginx restart

Bước 7: Nghiệm thu

Sau khi hoàn thành tất cả các bước, bạn truy cập vào url với domain hoặc IP mà bạn đã chỉ định khi cấu hình Nginx.

Nếu mà màn hình hiện ra như hình trên thì chúc mừng bạn, bạn đã cài đặt thành công WordPress. Tiếp đến bạn chỉ cần điền thông tin theo yêu cầu là có thể bắt đầu sử dụng.

 

Nếu có bất kì thắc mắc hoặc vấn đề gì bạn có thể để lại comment để tôi có thể giải đáp giúp bạn

Chúc bạn thành công! Happy setting up!

COMMENTS