Cách cài đặt WordPress với Docker trên Ubuntu 15.04

theanh

Administrator
Nhân viên
Trong hướng dẫn này, chúng ta sẽ cài đặt WordPress bằng cách sử dụng nhiều container docker. Bản thân Wordpress trong một container và cơ sở dữ liệu MariaDB trong một container khác. Sau đó, chúng ta sẽ cài đặt Nginx trên máy chủ làm proxy ngược cho container WordPress.

Docker là một dự án nguồn mở giúp các nhà phát triển và quản trị hệ thống dễ dàng tạo, triển khai và chạy ứng dụng phân tán bên trong container docker. Docker là một ảo hóa cấp hệ điều hành, bạn có thể tạo sự cô lập hệ thống cho ứng dụng của mình bằng docker cho ứng dụng đang chạy bên trong container. Bạn có thể tạo hàng trăm container docker bên trong máy chủ của mình, số lượng tùy thuộc vào phần cứng máy của bạn.



Điều kiện tiên quyết
  • Ubuntu 15.04 - x86_64
  • Quyền root
  • Kiến thức về Docker

Bước 1 - Cài đặt Docker​

Trong bước này, chúng ta sẽ cập nhật kho lưu trữ Ubuntu rồi cài đặt phiên bản mới nhất của docker.io.

Trở thành người dùng root cho các bước tiếp theo:
Mã:
sudo -s
Cập nhật kho lưu trữ Ubuntu:
Mã:
apt-get update
Bây giờ hãy cài đặt các gói Docker bằng lệnh apt bên dưới:
Mã:
apt-get install docker.io
Khi quá trình cài đặt hoàn tất, hãy khởi động docker và thêm nó để chạy tại thời điểm khởi động hệ thống bằng lệnh systemctl:
Mã:
systemctl start docker
systemctl enable docker
Tiếp theo, hãy kiểm tra phiên bản Docker bằng lệnh docker này:
Mã:
docker version
docker run hello-world
Quá trình cài đặt Docker đã hoàn tất.




Bước 2 - Thiết lập Container MariaDB​

Trong bước này, chúng ta sẽ tải xuống hình ảnh MariaDB mới từ sổ đăng ký docker và tạo một container mới dựa trên hình ảnh đó image. Chúng ta sẽ cấu hình một cơ sở dữ liệu và người dùng mới cho cài đặt WordPress.

Tải xuống hình ảnh Docker MariaDB vào hệ thống bằng lệnh Docker pull:
Mã:
docker pull mariadb
Bây giờ bạn có thể thấy hình ảnh Docker MariaDB mới bằng lệnh bên dưới:
Mã:
docker images


Tiếp theo, tạo một container mới từ hình ảnh MariaDB cho cài đặt WordPress. Trước khi tạo vùng chứa mới, hãy tạo một thư mục mới cho dữ liệu WordPress, thư mục cơ sở dữ liệu và thư mục mã WordPress.
Mã:
mkdir ~/wordpress
mkdir -p ~/wordpress/database
mkdir -p ~/wordpress/html
Bây giờ hãy tạo vùng chứa MariaDB mới có tên 'wordpressdb' bằng lệnh bên dưới:
Mã:
docker run -e MYSQL_ROOT_PASSWORD=aqwe123 -e MYSQL_USER=wpuser -e MYSQL_PASSWORD=wpuser@ -e MYSQL_DATABASE=wordpress_db -v /root/wordpress/database:/var/lib/mysql --name wordpressdb -d mariadb
Nếu không có lỗi, bạn có thể xem kết quả bên dưới:



Giải thích tham số:
  • MYSQL_ROOT_PASSWORD = cấu hình mật khẩu cho người dùng root MySQL.
  • MYSQL_USER = tạo một người dùng MySQL mới 'wpuser' cho cơ sở dữ liệu WordPress.
  • MYSQL_PASSWORD = đặt mật khẩu 'wpuser@' cho người dùng 'wpuser'.
  • MYSQL_DATABASE = tạo một cơ sở dữ liệu mới cho cài đặt wordpress với tên 'wordpress_db'.
  • -v /root/wordpress/database:/varlib/mysql = liên kết thư mục cơ sở dữ liệu với thư mục mysql '/var/lib/mysql' trên container để đảm bảo dữ liệu được lưu trữ.
Container MariaDBriadb đã được tạo, bây giờ hãy kiểm tra người dùng mới và cơ sở dữ liệu cho cài đặt WordPress để đảm bảo không có lỗi với lệnh ở trên cùng.

Từ máy chủ, hãy kiểm tra địa chỉ IP của container wordpressdb bằng lệnh docker bên dưới:
Mã:
docker inspect -f '{{ .NetworkSettings.IPAddress }}' wordpressdb
Tiếp theo, kết nối với container wordpressdb bằng lệnh mysql từ hệ thống máy chủ:
Mã:
mysql -u wpuser -h 172.17.0.2 -p 
TYPE PASSWORD: wpuser@
Kiểm tra cơ sở dữ liệu mới 'wordpress_db':
Mã:
show databases;
Tất cả kết quả:



Container Docker mới, người dùng MySQL và cơ sở dữ liệu MySQL cho WordPress đã được tạo thành công.


Bước 3 - Thiết lập Container Wordpress​

Sau khi container cơ sở dữ liệu đã được tạo, hãy tải xuống hình ảnh docker WordPress mới nhất bằng lệnh docker pull:
Mã:
docker pull wordpress:latest
Khi quá trình tải xuống hoàn tất, hãy tạo một container mới từ các hình ảnh có tên 'wpcontainer'.
Mã:
docker run -e WORDPRESS_DB_USER=wpuser -e WORDPRESS_DB_PASSWORD=wpuser@ -e WORDPRESS_DB_NAME=wordpress_db -p 8081:80 -v /root/wordpress/html:/var/www/html --link wordpressdb:mysql --name wpcontainer -d wordpress
Bạn có thể nhận được kết quả như bên dưới hoặc bạn có thể kiểm tra xem container mới có tên 'wpcontainer' đã được tạo hay chưa.



Các tham số:
  • WORDPRESS_DB_USER = định nghĩa người dùng cơ sở dữ liệu 'wpuser' cho db wordpress.
  • WORDPRESS_DB_PASSWORD = mật khẩu 'wpuser@' cho người dùng cơ sở dữ liệu 'wpuser'.
  • WORDPRESS_DB_NAME = tên của cơ sở dữ liệu 'wordpress_db' đã tạo ở bước 2.
  • -p 8081:80 = ánh xạ cổng 80 trên container tới cổng 8081 trên máy chủ.
  • -v /root/wordpress/html:/var/www/html = Liên kết thư mục gốc web '/var/www/html' trên container tới thư mục máy chủ cục bộ 'wordpress/html'.
  • --link wordpressdb:mysql = liên kết container mariadb 'wordpressdb' tới conter wordpress mới 'wpcontainer'.
Để xem container WordPress đang chạy, bạn có thể kiểm tra bằng lệnh curl trên IP máy chủ và cổng 8081.
Mã:
curl -I 192.168.43.99:8081


Bạn sẽ thấy kết quả:
  • Máy chủ web là Apache, đang chạy trên Debian.
  • PHP 5.6 đang chạy trong vùng chứa.
  • Bạn thấy chuyển hướng đến cài đặt WordPress.

Bước 4 - Cài đặt và cấu hình Nginx làm Proxy ngược​

Trong bước này, chúng ta sẽ cài đặt máy chủ web Nginx trên hệ thống lưu trữ. Chúng tôi sẽ cấu hình Nginx làm proxy ngược cho container Docker 'wpcontainer' trên cổng 8081.

Cài đặt Nginx bằng lệnh apt trên hệ thống máy chủ:
Mã:
apt-get install nginx
Tiếp theo, hãy đến thư mục Nginx và tạo cấu hình máy chủ ảo mới cho container WordPress.
Mã:
cd /etc/nginx/sites-available/
vim wordpress
Dán cấu hình máy chủ ảo bên dưới:
Mã:
server {
 listen 80;
 server_name wordpress-docker.co www.wordpress-docker.co;

 location / {
 proxy_pass http://localhost:8081;
 proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }
}
Lưu tệp và thoát.

Bây giờ, hãy kích hoạt máy chủ ảo WordPress mới và xóa cấu hình máy chủ ảo mặc định.
Mã:
ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
rm -f /etc/nginx/sites-available/default
rm -f /etc/nginx/sites-enabled/default
Khởi động lại máy chủ web Nginx:
Mã:
systemctl restart nginx

Bước 5 - Cài đặt WordPress​

Mở trình duyệt web của bạn và truy cập tên miền trên cấu hình nginx 'www.wordpress-docker.co' và bạn sẽ được chuyển hướng đến cài đặt WordPress.

Nhập tiêu đề trang web của bạn, tên người dùng và mật khẩu của quản trị viên, sau đó nhấp vào Cài đặt WordPress.



Bây giờ hãy nhấp vào 'Đăng nhập Wordpress' và điền tên người dùng và mật khẩu mà bạn đã chọn ở trên, bạn sẽ thấy bảng điều khiển WordPress.



Hoặc bạn có thể thấy trang chủ WordPress bên dưới:



Việc cài đặt WordPress với một vùng chứa MariaDB và một vùng chứa WordPress đã thành công.


Tham khảo​

 
Back
Bên trên