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 và 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!