Hướng dẫn tự cài WordPress bằng lệnh Linux từ A – Z qua bất kỳ Cloud nào

Thực hiện theo các hướng dẫn bên dưới để cài đặt WordPress trên máy chủ Ubuntu 18.04 với LEMP Stack (Nginx, MariaDB, PHP) và chứng chỉ SSL miễn phí (HTTPS) của Let Encrypt.

Các bước hướng dẫn:


WordPress trên Ubuntu – Yêu cầu

Hãy bắt đầu với các yêu cầu. Bạn không cần nhiều.

  • Một máy chủ Ubuntu 18.04. Bạn có thể mua một cái với giá 5 đô la (RAM 1GB) tại Vultr . Bạn có thể trực tiếp triển khai Ubuntu 18.04 tại Vultr khi viết hướng dẫn này, bạn không phải nâng cấp từ 16.04 .
  • Bạn cần quyền truy cập root vào máy chủ. Bạn có quyền truy cập root với Vultr và các nhà cung cấp dịch vụ lưu trữ đám mây không được quản lý khác . Lưu ý rằng một số nhà cung cấp VPS được quản lý sẽ không cấp cho bạn quyền truy cập root vào máy chủ, nhưng dù sao họ cũng sẽ cài đặt WordPress cho bạn. Tất cả các lệnh dưới đây nên được thực thi bởi người dùng root hoặc với sudo.
  • Một ngăn xếp LEMP (Linux, Nginx, MariaDB , PHP ). Chúng tôi sẽ chỉ cho bạn cách cài đặt ngăn xếp này bên dưới.
  • Một máy khách SSH để bạn có thể kết nối với máy chủ của mình.
  • Bản thân WordPress không có bất kỳ yêu cầu đặc biệt nào. Chúng tôi khuyên dùng ít nhất 1GB RAM. Nếu trang web của bạn nhỏ hơn và có ít khách truy cập hơn, bạn có thể nhận được ít hơn.

Trước khi chúng tôi tiếp tục, các hướng dẫn này dành cho những người có kế hoạch cài đặt và quản lý máy chủ WordPress. Nếu bạn không biết cách quản lý máy chủ, hãy quản lý lưu trữ WordPress và bỏ qua hướng dẫn này.

Bài xem nhiều: Tạo WordPress tự động trên Cloud bằng EasyEngine hoặc WordOps ( bạn chỉ cần ngồi cafe nhâm nhi )

Cách cài đặt WordPress với Nginx, MariaDB, PHP 7.2 và SSL miễn phí trên Ubuntu 18.04

Các hướng dẫn bên dưới sẽ hoạt động trên các phiên bản khác của Ubuntu, bao gồm 16.04 và 14.04, nhưng chúng được viết riêng cho ngày 18.04.

1. Cập nhật máy chủ

Trước khi làm bất cứ điều gì, bạn nên cập nhật máy chủ và các gói của nó bằng các lệnh sau:

apt-get update && apt-get upgrade -y

2. Cài đặt Nginx

Để cài đặt Nginx trên Ubuntu 18.04, hãy chạy lệnh sau:

apt-get install nginx -y

Kiểm tra xem Nginx có được cài đặt với:

nginx -v

Mà sẽ cung cấp cho bạn một đầu ra tương tự như thế này:

nginx version: nginx/1.14.0 (Ubuntu)

Nếu bạn sử dụng tường lửa, bạn sẽ cần thêm quy tắc để cho phép Nginx.

3. Cài đặt MariaDB

MariaDB khá giống với MySQL, vì vậy đừng nhầm lẫn với cái tên này. Để cài đặt MariaDB, hãy chạy lệnh sau:

apt-get install mariadb-server -y

Để kiểm tra xem nó đã được cài đặt chưa, hãy đăng nhập vào máy chủ MariaDB của bạn bằng cách chạy:

mysql

Nếu bạn có thể đăng nhập, nó đã được cài đặt. Bạn sẽ nhận được phiên bản MariaDB cụ thể mà bạn đang chạy trong thông báo chào mừng:

Server version: 10.1.29-MariaDB-6 Ubuntu 18.04

Thoát khỏi máy chủ cơ sở dữ liệu bằng cách chạy:

exit;

Bạn nên chạy đoạn mã sau để bảo mật và định cấu hình máy chủ cơ sở dữ liệu của mình:

mysql_secure_installation

Và làm theo lời nhắc. Sử dụng một mật khẩu mạnh. Bạn có thể nhập Y (mặc định) cho tất cả các lời nhắc.

4. Cài đặt PHP

Ubuntu 18.04 sử dụng PHP 7.2, vì vậy hãy đảm bảo các plugin bạn dự định sử dụng sẽ hoạt động tốt với PHP 7.2.

Để cài đặt PHP với tất cả các phụ thuộc và các mô-đun cần thiết, hãy chạy các lệnh sau:

apt-get install php-fpm php-curl php-mysql php-gd php-mbstring php-xml php-xmlrpc -y

Kiểm tra nếu PHP được cài đặt với:

php -v

Mà sẽ cung cấp cho bạn một đầu ra tương tự như thế này:

PHP 7.2.3-1ubuntu1 (cli) (built: Mar 14 2018 22:03:58) ( NTS )

LEMP Stack được cài đặt. Tiếp tục nào.

5. Cấu hình PHP

Đầu tiên, bắt đầu bằng cách chỉnh sửa tệp php.ini.

Chúng tôi sẽ sử dụng trình soạn thảo văn bản Nano (dễ nhất cho người mới bắt đầu). Sau khi bạn chỉnh sửa thứ gì đó bằng Nano, hãy nhấn vào CTRL + X, sau đó là Y và nhấn enter để lưu các thay đổi. Bạn có thể tìm kiếm tập tin với phiên bản CTRL + W.

Vì vậy, mở tệp:

nano /etc/php/7.2/fpm/php.ini

Và tìm kiếm dòng này:

;cgi.fix_pathinfo=1

Bỏ ghi chú bằng cách loại bỏ; và cập nhật thành 0:

cgi.fix_pathinfo=0

Tìm tất cả các dòng sau trong tệp php.ini và cập nhật chúng cho phù hợp:

upload_max_filesize = 500M
post_max_size = 2000M
memory_limit = 2000M
max_execution_time = 120

Bạn có thể sử dụng các giá trị khác nhau tùy thuộc vào máy chủ của bạn.

6. Tạo cơ sở dữ liệu

Đầu tiên, đăng nhập vào máy chủ MariaDB bằng mật khẩu bạn đã đặt trước đó:

mysql -u root -p

Và tạo cơ sở dữ liệu cho WordPress của bạn bằng cách chạy các lệnh sau:

CREATE DATABASE wordpress;
CREATE USER wpuser@localhost IDENTIFIED BY 'EnterStrongPassword';
GRANT ALL ON wordpress.* TO wpuser@localhost;
FLUSH PRIVILEGES;
exit;

Với các lệnh này, bạn sẽ tạo cơ sở dữ liệu và người dùng và cấp quyền cho người dùng. Bạn có thể sử dụng tên riêng của bạn thay vì những cái này. Hãy nhớ sử dụng một mật khẩu mạnh.

7. Tải xuống WordPress

Bắt đầu bằng cách điều hướng đến thư mục mà bạn muốn tải xuống WordPress. Chúng tôi sẽ sử dụng thư mục mặc định của Nginx:

cd /var/www/html

Và tải phiên bản mới nhất:

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

Trích xuất kho lưu trữ trong thư mục bạn hiện đang ở:

tar -zxvf latest.tar.gz --strip-components=1

Xóa kho lưu trữ:

rm -f latest.tar.gz

Và cập nhật quyền:

chown -R www-data:www-data /var/www/html/
chmod -R 755 /var/www/html/

8. Cấu hình Nginx

Đầu tiên, tạo tệp cấu hình Nginx:

nano /etc/nginx/sites-available/example.com

Và dán như sau (sau khi cập nhật example.com vào tên miền của bạn)

server {
listen 80;
listen [::]:80;
root /var/www/html;
index index.php index.html index.htm;
server_name example.com www.example.com;

client_max_body_size 500M;

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

location = /favicon.ico {
log_not_found off;
access_log off;
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}

location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

Và kích hoạt tập tin cấu hình:

 ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Vô hiệu hóa tệp cấu hình mặc định nếu bạn không sử dụng nó:

rm -f /etc/nginx/sites-enabled/default

Chạy lệnh sau để kiểm tra và xem mọi thứ có ổn với Nginx không:

nginx -t

Bây giờ khởi động lại Nginx và PHP-FPM để các thay đổi có hiệu lực

systemctl restart nginx.service
systemctl restart php7.2-fpm.service

9. Cấu hình WordPress

Có một tệp wp-config mặc định mà chúng ta cần chỉnh sửa. Vì vậy, trước tiên đổi tên tập tin:

mv /var/www/html/wp-config-sample.php /var/www/html/wp-config.php

Mở nó ra:

nano /var/www/html/wp-config.php

Và cập nhật các dòng sau với thông tin cơ sở dữ liệu của bạn:

define('DB_NAME', 'wordpress');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', 'EnterYourDatabasePassword');

Lưu và đóng tập tin.

Vì lý do bảo mật, bạn nên cập nhật các khóa bảo mật trong tệp wp-config của mình.

Đầu tiên, vào đây để tạo ra chúng.

Mở lại tệp wp-config.php:

nano /var/www/html/wp-config.php

Và cập nhật các dòng sau với những dòng bạn đã tạo:

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');

Lưu và đóng tập tin.

Bạn có thể hoàn thành ở đây nếu bạn không có kế hoạch sử dụng HTTPS, nhưng chúng tôi sẽ chỉ cho bạn cách thiết lập chứng chỉ SSL miễn phí từ Let Encrypt.

10. Cài đặt và định cấu hình chứng chỉ SSL miễn phí (HTTPS)

Chúng tôi sẽ sử dụng Let Encrypt và certbot để cài đặt và cấu hình tự động.

Đầu tiên, cài đặt certbot:

apt-get install python-certbot-nginx -y

Sau đó cài đặt chứng chỉ cho miền của bạn:

certbot --nginx -m [email protected] -d example.com -d www.example.com

Theo lời nhắc, hãy đồng ý với các Điều khoản và Điều kiện bằng cách nhập vào một trò chơi và sau đó tùy chọn đăng ký vào ETF với cuộc sống.

QUAN TRỌNG: certbot sẽ hỏi bạn có chuyển hướng tất cả lưu lượng truy cập sang HTTPS (tùy chọn 2) hay không (tùy chọn 1), bạn cần chọn tùy chọn 2. Vì vậy, hãy nhập 2.

Certbot sẽ tự động cập nhật tệp cấu hình Nginx của bạn. Chứng chỉ Let Encrypt tồn tại 90 ngày theo mặc định. Bạn sẽ được thông báo trước khi nó hết hạn, vì vậy bạn có thể gia hạn.

Để gia hạn chứng chỉ của bạn theo cách thủ công, hãy chạy:

certbot renew

Để tự động cập nhật chứng chỉ của bạn, hãy thiết lập công việc định kỳ bằng cách chạy:

crontab -e

Và thêm dòng sau:

0 1 * * * /usr/bin/certbot renew & > /dev/null

Mà sẽ tự động gia hạn chứng chỉ của bạn sau mỗi 30 ngày.

11. Hoàn tất cài đặt WordPress

Điều hướng đến https://example.com và làm theo các bước để hoàn tất cài đặt WordPress.

Đầu tiên, bạn sẽ cần chọn một ngôn ngữ.

Sau đó, bạn sẽ cần nhập thông tin trang web như tiêu đề, tên người dùng, mật khẩu, v.v.

Nhấp vào ‘Cài đặt WordPress’ và thế là xong! Bạn đã hoàn tất. Bạn đã cài đặt thành công WordPress trên Ubuntu 18.04 với Nginx, PHP 7.2, MariaDB và Let Encrypt SSL (HTTPS).

Phải làm gì tiếp theo sau khi cài đặt WordPress trên Ubuntu

Đây là những gì bạn nên làm tiếp theo:

  • Bạn đang sử dụng máy chủ Ubuntu, do đó bạn sẽ cần xem xét việc bảo mật và tối ưu hóa máy chủ của mình. Có rất nhiều hướng dẫn trực tuyến với các hướng dẫn từng bước cho người mới bắt đầu về cách bảo mật máy chủ Ubuntu của bạn. Vì vậy, theo dõi họ.
  • Bạn cũng cần cập nhật máy chủ hoặc nhận gói quản lý máy chủ Linux
  • Bạn cũng nên thiết lập một số loại bộ nhớ đệm. Có nhiều tùy chọn ngoài kia, vì vậy hãy chọn những gì hoạt động tốt nhất cho trang web và máy chủ của bạn. Redis cache khá dễ cài đặt trên Ubuntu và WordPress. Không nên dùng cho người mới bắt đầu.
  • Tối ưu hóa các dịch vụ đang chạy trên máy chủ của bạn – bao gồm cả ngăn xếp LEMP. Một lần nữa, rất nhiều hướng dẫn trực tuyến.

Câu hỏi thường gặp và cài đặt WordPress

Một số câu hỏi thường gặp (có câu trả lời!) Và các vấn đề phổ biến liên quan đến cài đặt WordPress trên Ubuntu:

Tôi có phải sử dụng HTTPS không?

Không, nhưng nó chắc chắn được khuyến nghị vì dù sao nó cũng miễn phí và dễ cài đặt. Nếu bạn không có kế hoạch sử dụng chứng chỉ SSL, bạn có thể bỏ qua bước 10.

Tôi gặp lỗi Lỗi khi thiết lập kết nối cơ sở dữ liệu Lỗi lỗi

Nó có thể được gây ra bởi nhiều thứ, nhưng rất có thể đó là lỗi trong tệp wp-config.php của bạn. Đảm bảo bạn đang sử dụng đúng thông tin (người dùng, mật khẩu, v.v.)

Tệp .htaccess ở đâu?

Chúng tôi đã sử dụng Nginx nên không có tệp .htaccess. Điều này có thể gây nhầm lẫn cho người mới bắt đầu vì nhiều hướng dẫn bao gồm các hướng dẫn cho Apache theo mặc định. Các tập tin .htaccess của Nginx, là tập tin /etc/nginx/sites-av Available / example.com, bạn đã tạo trước đó. Lưu ý rằng bạn không thể sử dụng cùng mã .htaccess trong tệp cấu hình Nginx của mình.

Tôi có thể cài đặt bảng điều khiển không?

Tốt hơn không. Bạn đã cài đặt mọi thứ bằng tay. Dù sao thì bạn cũng không cần nó. Nếu bạn có kế hoạch sử dụng bảng điều khiển thì sẽ tốt hơn nếu bạn bắt đầu mới và hoàn toàn không làm theo hướng dẫn này.

Tại sao tôi nên tự cài đặt WordPress khi máy chủ cung cấp cài đặt sẵn hoặc với trình cài đặt 1 lần nhấp?

Nó cung cấp cho bạn nhiều quyền kiểm soát hơn đối với mọi thứ. Bạn quyết định những gì bạn sử dụng và cách bạn sử dụng nó. Luôn có một tùy chọn để chỉ cần lưu trữ đám mây WordPress mà không phải cài đặt hoặc tự làm bất cứ điều gì, nhưng đâu là niềm vui trong đó? 🙂

Tôi có thể sử dụng một công cụ như EasyEngine không?

Chắc chắn bạn có thể! Và quá trình này dễ dàng hơn – bạn sẽ cài đặt mọi thứ trong hướng dẫn này (và hơn thế nữa) bằng một lệnh duy nhất nếu bạn sử dụng một công cụ như EasyEngine hoặc Centmin Mod.

Tôi không thể tự cài đặt WordPress! Bạn có thể giúp tôi không?

Hãy để lại bình luận bên dưới nếu bạn bị mắc kẹt ở đâu đó. Nếu bạn muốn công việc mở rộng được thực hiện trên máy chủ của mình thì bạn có thể liên hệ với chúng tôi tại đây .

Còn câu hỏi nào nữa không? Bình luận dưới đây.

Hãy theo sát hướng dẫn của chúng tôi và đảm bảo bạn đọc mọi thứ. Nếu bạn có bất kỳ câu hỏi hoặc có bất kỳ lỗi nào, vui lòng bình luận bên dưới.

Viết một bình luận

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.