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
Trở thành người dùng root cho các bước tiếp theo:
Cập nhật kho lưu trữ Ubuntu:
Bây giờ hãy cài đặt các gói Docker bằng lệnh apt bên dưới:
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:
Tiếp theo, hãy kiểm tra phiên bản Docker bằng lệnh docker này:
Quá trình cài đặt Docker đã hoàn tất.
Tải xuống hình ảnh Docker MariaDB vào hệ thống bằng lệnh Docker pull:
Bây giờ bạn có thể thấy hình ảnh Docker MariaDB mới bằng lệnh bên dưới:
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.
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:
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ố:
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:
Tiếp theo, kết nối với container wordpressdb bằng lệnh mysql từ hệ thống máy chủ:
Kiểm tra cơ sở dữ liệu mới 'wordpress_db':
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.
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'.
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ố:
Bạn sẽ thấy kết quả:
Cài đặt Nginx bằng lệnh apt trên hệ thống máy chủ:
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.
Dán cấu hình máy chủ ảo bên dưới:
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.
Khởi động lại máy chủ web Nginx:
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.
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
Mã:
apt-get update
Mã:
apt-get install docker.io
Mã:
systemctl start docker
systemctl enable docker
Mã:
docker version
docker run hello-world
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
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
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
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ữ.
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
Mã:
mysql -u wpuser -h 172.17.0.2 -p
TYPE PASSWORD: wpuser@
Mã:
show databases;
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
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
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'.
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
Mã:
cd /etc/nginx/sites-available/
vim wordpress
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;
}
}
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
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.