Làm cách nào để cài đặt WordPress trong bộ chứa Docker?
WordPress là một trong những Hệ thống quản lý nội dung (CMS) phổ biến nhất hiện có. Theo thống kê, nó chiếm hơn 39% tất cả các trang web bạn thấy trên toàn thế giới. Đó là một lựa chọn phổ biến vì khả năng mở rộng thông qua các plugin và hệ thống tạo khuôn mẫu linh hoạt của nó. Nó cho phép bạn thay đổi diện mạo của nó trong vài giây. Hơn nữa, việc quản trị của nó có thể được thực hiện thông qua giao diện web mà không đòi hỏi nhiều bí quyết kỹ thuật Show Ngoài ra, WordPress là mã nguồn mở miễn phí và được xây dựng trên cơ sở dữ liệu MySQL với bộ xử lý PHP. Bạn có thể triển khai WordPress trên ngăn xếp LAMP (Linux, Apache, MySQL và PHP) hoặc ngăn xếp LEMP (Linux, Nginx, MySQL và PHP). Tuy nhiên, nó tỏ ra tốn thời gian để thiết lập ngăn xếp mỗi khi bạn muốn triển khai May mắn thay, các phương pháp phân phối phần mềm hiện đại như điện toán đám mây, Docker và Docker Compose đã làm mượt mà trải nghiệm tổng thể của nhà phát triển. Các công cụ này đơn giản hóa quy trình thiết lập bất kỳ ngăn xếp nào bằng cách tránh chi phí cài đặt và định cấu hình các thành phần riêng lẻ mỗi khi bạn muốn triển khai một ứng dụng. Thay vào đó, bạn viết các tệp cấu hình sẽ được sử dụng để kéo và tạo hình ảnh và chạy chúng trong bộ chứa Docker, cho phép bạn triển khai ứng dụng của mình chỉ bằng một lệnh Bộ chứa là môi trường tiêu chuẩn hóa nhẹ, ảo hóa, di động, được phần mềm xác định cho phép phần mềm chạy tách biệt với phần mềm khác chạy trên máy chủ vật lý. Docker Compose cho phép bạn quản lý nhiều container và đảm bảo chúng giao tiếp với nhau. Ví dụ: mã nguồn ứng dụng và cơ sở dữ liệu phải giao tiếp Trong hướng dẫn này, chúng tôi sẽ xây dựng một ứng dụng WordPress được chứa nhiều vùng chứa. Một ứng dụng WordPress hoàn chỉnh yêu cầu ba vùng chứa. Cơ sở dữ liệu MySQL, máy chủ Nginx và mã nguồn WordPress. Bảo mật là ưu tiên hàng đầu trong các trang web hiện đại, chúng tôi sẽ lấy chứng chỉ SSL từ Let's Encrypt để bảo mật cài đặt của bạn. Sau đó, chúng tôi sẽ thiết lập một công việc định kỳ để kiểm tra và gia hạn chứng chỉ định kỳ để bảo mật trang web của bạn được duy trì liên tục điều kiện tiên quyết
Bước 1. Xác định cấu hình cho máy chủ webMáy chủ web giữ các tệp trang web của bạn và cho phép người dùng truy cập ứng dụng web của bạn. Do đó, chỉ thích hợp ở bước đầu tiên chúng ta xác định cấu hình cho máy chủ web. Chúng tôi sẽ xác định tệp cấu hình máy chủ Nginx sẽ bao gồm các khối vị trí dành riêng cho WordPress. Chúng tôi cũng sẽ bao gồm các khối vị trí để chuyển các yêu cầu xác minh Let's Encrypt tới ứng dụng khách Certbot để tự động gia hạn chứng chỉ Hãy bắt đầu bằng cách tạo một thư mục cho dự án. Bạn có thể chọn một tên thư mục bạn thích. Chúng tôi sẽ sử dụng 1 mkdir wordpress_docker && cd wordpress_docker Tiếp theo tạo thư mục chứa các file cấu hình Nginx bằng lệnh 1 mkdir nginx - conf Sử dụng 1 nano nginx - conf / nginx.conf Trong tệp này, chúng tôi sẽ xác định các lệnh cơ bản cho cấu hình khối máy chủ Nginx. Chúng bao gồm các lệnh cho tên máy chủ, gốc tài liệu và khối vị trí để chỉ đạo các yêu cầu plugin Certbot cho chứng chỉ, tệp tĩnh và xử lý PHP. Bạn có thể đọc hướng dẫn của chúng tôi về Cách bảo mật Nginx bằng Let's Encrypt để tìm hiểu thêm. Thêm mã sau vào tệp, thay thế 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 máy chủ { nghe 80 ; nghe [. . ]. 80 ;
máy chủ _ tên ví dụ . com www . ví dụ . com ;
chỉ mục chỉ mục . php chỉ mục . html chỉ mục . htm ;
gốc /var/www/html ;
vị trí ~ / . nổi tiếng/acme-thử thách { cho phép tất cả ; gốc /var/www/html ; }
vị trí / { thử _ tệp $uri $uri/ /index. php $ is _ args $args; }
vị trí ~ \. php $ { thử _ tệp $uri =404; fastcgi _ tách _path_info ^(. + \. php )( / . + )$; fastcgi _ vượt qua ứng dụng : 9000 ; fastcgi _ chỉ mục chỉ mục . php ; bao gồm fastcgi _ tham số ; fastcgi _ param SCRIPT _FILENAME $ tài liệu _ gốc $fastcgi_script_name; fastcgi _ param PATH _INFO $fastcgi_path_info; }
vị trí ~ / \. ht { từ chối tất cả ; }
vị trí = /favicon . ico { nhật ký _ không _found off; access_log off; } vị trí = /robot . txt { nhật ký _ không _found off; access_log off; allow all; } vị trí ~ * \.( css . gif . ico . jpeg . jpg . là . png )$ { hết hạn tối đa ; nhật ký _ không _found off; } } Hãy xác định các phần bạn đã thêm
Bây giờ bạn có thể lưu và đóng tệp bằng cách nhấn Bước 2. Xác định các biến môi trườngCác biến môi trường là cần thiết để tạo điều kiện giao tiếp giữa ứng dụng WordPress và Cơ sở dữ liệu. Họ cũng đảm bảo dữ liệu ứng dụng được duy trì. Các biến môi trường bao gồm thông tin nhạy cảm như thông tin đăng nhập cơ sở dữ liệu và thông tin không nhạy cảm như tên cơ sở dữ liệu và máy chủ lưu trữ Vì mục đích bảo mật, bạn không nên thêm thông tin nhạy cảm vào kho dự án. Do đó, thay vì đặt các giá trị nhạy cảm trong tệp Docker Compose, chúng tôi sẽ xác định thông tin đăng nhập MySQL bên trong các tệp 1 nano . vi Thêm thông tin đăng nhập MySQL sau vào tệp, cập nhật nó bằng mật khẩu mạnh do bạn chọn1 2 3 MYSQL_ROOT_PASSWORD = your_strong_root_password MYSQL_USER = your_wordpress_database_user MYSQL_PASSWORD = strong_wordpress_database_password Trước tiên, chúng tôi đã xác định mật khẩu cho tài khoản quản trị gốc MySQL và thông tin đăng nhập dành riêng cho ứng dụng WordPress của chúng tôi. Sau khi hoàn tất, lưu và đóng tệpĐiều tiếp theo bạn phải làm là thêm tệp Điều này không cần thiết cho hướng dẫn này, nhưng nếu bạn muốn làm việc với Git để kiểm soát phiên bản, hãy nhập lệnh sau để khởi tạo thư mục hiện tại dưới dạng kho lưu trữ git 1 git init Mở 1 nano . gitignore Thêm dòng sau 1 .vi lưu và đóng tập tin. Tiếp theo, mở 1 nano . dockerignore Thêm dòng sau 1 .vi Trong khi ở đó, bạn có thể tùy chọn thêm các tệp và thư mục khác được liên kết với quá trình phát triển ứng dụng của mình 1 2 3 .vi .git docker - soạn. yml Lưu và đóng tệp khi hoàn tất. Đó là tất cả cho bước này. Hãy chuyển sang định nghĩa Docker Compose Bước 3. Cấu hình dịch vụ với Docker ComposeDocker Compose sử dụng tệp Docker Compose cho phép xác định các dịch vụ khác nhau cho các ứng dụng nhiều vùng chứa bằng cách liên kết các dịch vụ khác nhau với các mạng và khối lượng được chia sẻ. Bạn sẽ thấy điều này đang hoạt động vì chúng tôi sẽ xác định ba vùng chứa cho ứng dụng của chúng tôi. máy chủ web, cài đặt WordPress và cơ sở dữ liệu. Chúng tôi sẽ thêm vùng chứa thứ tư để chạy ứng dụng khách Certbot để gia hạn chứng chỉ Nhập lệnh sau để tạo tệp 1 nano docker - compose. yml Dòng đầu tiên trong tệp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 phiên bản. '3'
dịch vụ. #Dịch vụ MySQL db. hình ảnh. mysql. 8. 0 container_name. db khởi động lại. trừ khi - dừng env_file. . vi môi trường. - MYSQL_DATABASE = wordpress khối lượng. - dbdata. / var / lib / mysql lệnh. '--default-authentication-plugin=mysql_native_password' mạng. - ứng dụng - mạng Hãy thảo luận về những gì chúng ta có trong định nghĩa dịch vụ
Tiếp theo, hãy xác định cấu hình dịch vụ cho ứng dụng WordPress của chúng tôi. Chúng tôi sẽ gọi dịch vụ và container_name 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Dịch vụ mã ứng dụng #WordPress ứng dụng. phụ thuộc. - db hình ảnh. wordpress. 5. 1. 1 - fpm - alpine container_name. ứng dụng khởi động lại. trừ khi - dừng env_file. . vi môi trường. - WORDPRESS_DB_HOST = db:3306 - WORDPRESS_DB_USER = $MYSQL_USER - WORDPRESS_DB_PASSWORD = $MYSQL_PASSWORD - WORDPRESS_DB_NAME = wordpress khối lượng. - ứng dụng. / var / www / html mạng. - ứng dụng - mạng Giống như chúng tôi đã làm với dịch vụ
Đó sẽ là tất cả đối với bộ chứa dịch vụ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #Dịch vụ máy chủ web Nginx máy chủ web. phụ thuộc. - ứng dụng hình ảnh. nginx. 1. 15. 12 - núi cao container_name. máy chủ web khởi động lại. trừ khi - dừng cổng. - "80. 80" khối lượng. - ứng dụng. / var / www / html - . / nginx - conf. / vv / nginx / . conf.d - certbot - vv: / vv / letsencrypt mạng. - ứng dụng - mạng Chúng tôi đã giải thích tùy chọn
Since we are done with the webserver definition, let’s add instructions for the Certbot service. This will handle getting your TLS/SSL certificates from Let’s Encrypt. If you would like to know more about securing an Nginx server, this tutorial on how to secure Nginx with Let’s Encrypt is a good source Next, add the following code snippet below the webserver service. Remember to set your correct domain name and email address 1 2 3 4 5 6 7 8 9 10 #certbot service certbot. phụ thuộc. - webserver image. certbot / certbot container_name. certbot khối lượng. - certbot - vv: / vv / letsencrypt - ứng dụng. / var / www / html command. certonly -- webroot -- webroot - path =/ var / www / html -- email hackins@cloudsigma. com -- agree - tos -- no - eff - email -- staging - d example. com - d www. example. com The Under the volumes definition, the Certbot container will share the domain certificates and key in Under the
Tệp 1 2 3 4 5 6 7 8 9 10 #tập khối lượng. certbot - etc. ứng dụng. dbdata.
#Mạng mạng. ứng dụng - mạng. trình điều khiển. cầu Khóa Khóa Tệp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 phiên bản. '3'
dịch vụ. Dịch vụ #MySQL db. hình ảnh. mysql. 8. 0 container_name. db khởi động lại. trừ khi - dừng env_file. . vi môi trường. - MYSQL_DATABASE = wordpress khối lượng. - dbdata. / var / lib / mysql lệnh. '--default-authentication-plugin=mysql_native_password' mạng. - ứng dụng - mạng
Dịch vụ mã ứng dụng #WordPress ứng dụng. phụ thuộc. - db hình ảnh. wordpress. 5. 1. 1 - fpm - alpine container_name. app khởi động lại. trừ khi - dừng env_file. . vi environment. - WORDPRESS_DB_HOST = db. 3306 - WORDPRESS_DB_USER = $MYSQL_USER - WORDPRESS_DB_PASSWORD = $MYSQL_PASSWORD - WORDPRESS_DB_NAME = wordpress volumes. - app. / var / www / html networks. - app - network
#Dịch vụ máy chủ web Nginx máy chủ web. phụ thuộc. - app image. nginx. 1. 15. 12 - alpine container_name. webserver khởi động lại. trừ khi - dừng ports. - "80. 80" volumes. - app. / var / www / html - . / nginx - conf. / etc / nginx / conf. d - certbot - etc. / etc / letsencrypt networks. - app - network
#certbot service certbot. phụ thuộc. - webserver image. certbot / certbot container_name. certbot volumes. - certbot - etc. / etc / letsencrypt - app. / var / www / html command. certonly -- webroot -- webroot - path =/ var / www / html -- email hackins@cloudsigma. com -- agree - tos -- no - eff - email -- staging - d example. com - d www. example. com
#tập khối lượng. certbot - etc. app. dbdata.
#Mạng mạng. app - network. driver. bridge You can save and close the file. In the next step, we will be starting and testing the container and certificate requests Step 4. Running the Containers and Obtaining SSL CertificatesThe greatest advantage of Docker Compose is that, once you have defined all your services in the 1 docker - soạn lên - d Nếu bạn thấy đầu ra như trong ảnh chụp màn hình bên dưới, thì dịch vụ đã được tạo thành công Để xác nhận trạng thái của các dịch vụ, hãy chạy lệnh 1 docker - compose ps The output of the command is as shown below if everything was successful. The Nếu bạn thấy bất kỳ điều gì khác ngoài 1 docker - compose logs service_name For example, you can check the logs of the 1 docker - compose logs certbot To check if the certificates were mounted to the 1 docker - compose exec webserver ls - la / etc / letsencrypt / live Nếu bạn đã sử dụng một tên miền đã đăng ký thực tế khác với Khi bạn đã xác nhận rằng yêu cầu chứng chỉ đã thành công, bạn có thể chỉnh sửa tệp 1 nano docker - compose. yml Cuộn xuống phần định nghĩa dịch vụ Certbot, trong tùy chọn lệnh và thay cờ 1 2 3 4 5 6 7 8 9 10 #certbot service certbot. phụ thuộc. - webserver image. certbot / certbot container_name. certbot khối lượng. - certbot - vv: / vv / letsencrypt - ứng dụng. / var / www / html lệnh. chắc chỉ -- webroot -- webroot-path=/var/www/html --email hackins@cloudsigma.com -- đồng ý - . --no-eff-email --force-renewal -d example.com - d www. ví dụ. com Lưu tệp khi bạn chỉnh sửa xong Nhập lệnh sau để tạo lại vùng chứa 1 docker - soạn lên -- force-recreate --no-deps Certbot Lệnh xuất ra ảnh chụp màn hình sau, cho thấy rằng yêu cầu chứng chỉ đã thành công Đó là tất cả cho bước này. Trong bước tiếp theo, bạn sẽ sửa đổi tệp cấu hình Nginx để bao gồm chứng chỉ SSL Bước 5. Kích hoạt SSL trong Định nghĩa dịch vụ và cấu hình NginxĐể làm cho Nginx phục vụ lưu lượng truy cập qua SSL an toàn, trước tiên bạn sẽ sửa đổi tệp cấu hình Nginx để thêm chuyển hướng Trước khi sửa đổi tệp cấu hình, bạn nên lấy các tham số bảo mật Nginx được đề xuất từ kho lưu trữ GitHub của Certbot bằng cách sử dụng 1 curl - sSLo nginx - conf/options-ssl-nginx.conf https. // thô. githubusercontent. com/certbot/certbot/master/certbot-nginx/certbot_nginx/_internal/tls_configs/options-ssl-nginx. conf Lệnh chạy và lưu các tham số mà nó kéo vào một tệp có tên là 1 2 rm nginx - conf / nginx.conf nano nginx - conf / nginx.conf Trong tệp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 máy chủ { nghe 80; nghe [. . ]. 80;
server_name ví dụ. com www. ví dụ. com;
vị trí ~ / . à - biết / acme-challenge { cho phép tất cả; gốc / var / www/html; }
vị trí / { viết lại ^ https. //$host$request_uri? } }
máy chủ { nghe 443 ssl http2; nghe [. . ]. 443 ssl http2; server_name ví dụ. com www. ví dụ. com;
chỉ mục chỉ mục. php chỉ mục. html chỉ mục. htm;
root / var / www/html;
server_tokens tắt;
ssl_certificate / vv / letsencrypt/live/example.com / fullchain. pem; ssl_certificate_key / v.v / letsencrypt/live/example.com / khóa riêng tư. pem;
bao gồm / v.v / nginx/conf.d / tùy chọn - ssl . -nginx.conf;
add_header X - Khung-Options "SAMEORIGIN" always; add_header X - XSS-Protection "1; mode=block" always; add_header X - Nội dung-Type-Options "nosniff" always; add_header Người giới thiệu - Chính sách "no-referrer-when-downgrade" always; add_header Nội dung - Bảo mật-Policy "default-src * data: 'unsafe-eval' 'unsafe-inline'" luôn luôn; # add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" luôn; # chỉ bật bảo mật vận chuyển nghiêm ngặt nếu bạn hiểu ý nghĩa
vị trí / { try_files $uri $uri/ /index.php$is_args$args; }
vị trí ~ \. php$ { try_files $uri = 404; fastcgi_split_path_info ^ (. + \. php)( / . + )$; fastcgi_pass ứng dụng. 9000; fastcgi_index index. php; bao gồm fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; }
vị trí ~ / \.ht { từ chối tất cả; }
vị trí = / favicon.ico { log_not_found tắt; access_log off; } vị trí = / rô-bốt.txt { log_not_found tắt; access_log off; allow all; } vị trí ~ * \.(css. gif. ico. jpeg. jpg. là. png)$ { hết hạn tối đa; log_not_found tắt; } } Trong khối máy chủ đầu tiên xử lý các yêu cầu không an toàn bằng cổng Khối máy chủ thứ hai xử lý lưu lượng truy cập Trong khối này, chúng tôi cũng đã chỉ định rằng Nginx bao gồm chứng chỉ SSL và các vị trí quan trọng, cũng như các tham số bảo mật Certbot được đề xuất mà Các tiêu đề bảo mật bổ sung phục vụ để cải thiện xếp hạng trang web của bạn trên các trang web kiểm tra bảo mật như Tiêu đề bảo mật và Phòng thí nghiệm SSL. Bạn có thể theo các liên kết trên các tiêu đề này để tìm hiểu thêm. X-Frame-Options, Referrer Policy, X-Content-Type-Options, X-XSS-Protection, Content-Security-Policy. Chúng tôi đã nhận xét tiêu đề HTTP Strict Transport Security (HSTS). Bạn có thể tự do đọc về chức năng tải trước của nó và quyết định xem bạn có muốn kích hoạt nó không Phần còn lại của các chỉ thị, chẳng hạn như khối vị trí dành riêng cho WordPress Bây giờ chúng tôi đã kích hoạt lưu lượng truy cập 1 nano docker - compose. yml Trong phần máy chủ web bên dưới tùy chọn cổng, hãy thêm ánh xạ cho cổng 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 máy chủ web. phụ thuộc. - ứng dụng hình ảnh. nginx. 1. 15. 12 - núi cao container_name. máy chủ web khởi động lại. trừ khi - dừng cổng. - "80. 80" - "443. 443" khối lượng. - ứng dụng. / var / www / html - . / nginx - conf. / vv / nginx / . conf.d - certbot - vv: / vv / letsencrypt mạng. - ứng dụng - mạng Tệp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 phiên bản. '3'
dịch vụ. Dịch vụ #MySQL db. hình ảnh. mysql. 8. 0 container_name. db khởi động lại. trừ khi - dừng env_file. . vi environment. - MYSQL_DATABASE = wordpress volumes. - dbdata. / var / lib / mysql lệnh. '--default-authentication-plugin=mysql_native_password' networks. - app - network
Dịch vụ mã ứng dụng #WordPress ứng dụng. phụ thuộc. - db hình ảnh. wordpress. 5. 1. 1 - fpm - alpine container_name. app khởi động lại. trừ khi - dừng env_file. . vi environment. - WORDPRESS_DB_HOST = db. 3306 - WORDPRESS_DB_USER = $MYSQL_USER - WORDPRESS_DB_PASSWORD = $MYSQL_PASSWORD - WORDPRESS_DB_NAME = wordpress volumes. - app. / var / www / html networks. - app - network
#Dịch vụ máy chủ web Nginx máy chủ web. phụ thuộc. - app image. nginx. 1. 15. 12 - alpine container_name. webserver khởi động lại. trừ khi - dừng ports. - "80. 80" - "443. 443" volumes. - app. / var / www / html - . / nginx - conf. / etc / nginx / conf. d - certbot - etc. / etc / letsencrypt networks. - app - network
#certbot service certbot. phụ thuộc. - webserver image. certbot / certbot container_name. certbot volumes. - certbot - etc. / etc / letsencrypt - app. / var / www / html lệnh. chắc chỉ -- webroot -- webroot-path=/var/www/html --email hackins@cloudsigma.com -- đồng ý - . --no-eff-email --force-renewal -d example.com - d www. ví dụ. com
#tập khối lượng. certbot - etc. app. dbdata.
#Mạng mạng. app - network. driver. bridge Khi bạn đã xác nhận rằng mọi thứ đều chính xác, hãy lưu và đóng tệp. Sau đó, chạy lệnh sau để tạo lại dịch vụ 1 docker - soạn lên - d --force-recreate --no-deps webserver Xác nhận rằng các dịch vụ của bạn đang chạy bằng lệnh sau1 docker - compose ps Bạn sẽ thấy một cái gì đó giống như ảnh chụp màn hình bên dưới xác nhận rằng dịch vụ của bạn đang chạy tốtBây giờ tất cả các vùng chứa của bạn đang chạy, bạn có thể tiến hành cấu hình WordPress từ giao diện web Bước 6. Hoàn thành cấu hình WordPress của bạn từ giao diện webĐiều hướng đến tên miền của máy chủ của bạn để tiếp tục cài đặt. Bạn sẽ thấy trang chủ thiết lập WordPress. Nó hoan nghênh bạn chọn ngôn ngữ của bạn trước khi tiếp tục Chọn ngôn ngữ của bạn và nhấp vào Tiếp tục để chuyển sang trang tiếp theo
Trên trang này, hãy điền tiêu đề trang web của bạn, chọn tên người dùng dễ nhớ và mật khẩu mạnh. Bạn không nên sử dụng Quản trị viên làm tên người dùng vì lý do bảo mật. Nhập email của bạn và nhấp vào nút Cài đặt WordPress để bắt đầu cài đặt WordPress Sau khi cài đặt hoàn tất, bạn sẽ được đưa đến màn hình đăng nhập nơi bạn sẽ cung cấp tên người dùng và mật khẩu bạn đã đặt. Khi bạn nhập thông tin đăng nhập hợp lệ, bạn sẽ có thể thấy bảng điều khiển WordPress của mình Bây giờ bạn đã cài đặt thành công WordPress. Tiếp theo, bạn cần thực hiện các bước để đảm bảo rằng chứng chỉ SSL sẽ tự động gia hạn Bước 7. Định cấu hình gia hạn chứng chỉ SSL tự độngChứng chỉ Let's Encrypt TLS/SSL chỉ có hiệu lực trong 90 ngày. Tùy thuộc vào bạn để tạo cấu hình tự động gia hạn để đảm bảo chúng không hết hạn. Bạn có thể đạt được điều này bằng cách tạo một tập lệnh và lên lịch cho nó bằng tiện ích công việc định kỳ. Trong bước này, chúng tôi sẽ chỉ cho bạn cách tạo tập lệnh sẽ gia hạn chứng chỉ. Sau đó, chúng tôi sẽ lên lịch với tiện ích công việc định kỳ để chạy nó định kỳ và gia hạn chứng chỉ nếu chúng sắp hết hạn Bên trong thư mục dự án 1 nano ssl_renewer. sh Thêm mã sau vào tập lệnh để xử lý tự động gia hạn và tải lại cấu hình Nginx. Hãy nhớ thay thế tên người dùng được đánh dấu bằng tên người dùng không phải root của bạn 1 2 3 4 5 6 7 8 #. /bin/bash
COMPOSE = "/usr/local/bin/docker-compose –ansi never" DOCKER = "/usr/bin/docker"
cd / nhà / hack/wordpress_docker/ $SOẠN chạy certbot gia hạn --dry-run && $COMPOSE kill -s SIGHUP webserver $DOCKER hệ thống cắt tỉa - af Trong tập lệnh này, chúng tôi gán nhị phân Sau đó, tập lệnh sẽ chuyển vào thư mục dự án của chúng tôi
Lưu và đóng tệp khi bạn chỉnh sửa xong. Sau đó, chạy lệnh sau để làm cho nó có thể thực thi được 1 chmod + x ssl_renewer. sh Khi bạn đã làm cho nó có thể thực thi được, hãy mở tệp gốc 1 sudo crontab - e
Chọn trình soạn thảo ưa thích của bạn và nhấn Enter để mở tệp. Ở cuối tệp, thêm dòng sau 1 */ 5 * * * * /home/hackins/wordpress_docker/ssl_renewer.sh >> / var . /log/cron_docker.log 2>&1 Điều này đặt khoảng thời gian trong năm phút để cho phép chúng tôi kiểm tra xem tập lệnh gia hạn của chúng tôi có hoạt động hay không. Chúng tôi cũng đã chỉ định một tệp nhật ký sẽ chứa đầu ra từ công việc. Đợi năm phút và kiểm tra 1 đuôi - f / var/log/cron_docker.nhật ký Bạn sẽ thấy một cái gì đó tương tự như ảnh chụp màn hình bên dưới nếu yêu cầu thành công Bây giờ chúng tôi đã kiểm tra và xác nhận nó đang hoạt động, bạn có thể sửa đổi tệp 1 0 18 * * * /home/hackins/wordpress_docker/ssl_renewer.sh >> / var . /log/cron_docker.log 2>&1 Ngoài ra, bạn cần xóa cờ 1 2 3 4 5 6 7 8 #. /bin/bash
COMPOSE = "/usr/local/bin/docker-compose --ansi never" DOCKER = "/usr/bin/docker"
cd / nhà / hack/wordpress_docker/ $SOẠN chạy certbot gia hạn && $COMPOSE kill -s SIGHUP webserver $DOCKER hệ thống cắt tỉa - af Tiếp theo, lưu và đóng tệp. Sau khi hoàn thành việc đó, công việc định kỳ sẽ giữ cho các tập lệnh của bạn hợp lệ, bằng cách gia hạn chúng trước khi kết thúc 90 ngày Phần kết luậnNếu bạn đã đạt đến mức này trong hướng dẫn, bạn có thể coi mình đã tiến một bước gần hơn đến việc trở thành Kỹ sư DevOps. Bạn đã có thể tạo tập lệnh cấu hình Nginx, tạo tệp Nếu bạn đang cố tìm hiểu sâu hơn về DevOps, hãy xem thêm tài nguyên về vùng chứa từ blog của chúng tôi Có thể cài đặt WordPress trên Docker từ dòng lệnh không?Nó chính thức có sẵn trên Docker và cung cấp các hướng dẫn dễ dàng với hình ảnh cập nhật. Bắt đầu bằng cách tạo một thư mục mới nơi bạn muốn lưu trữ các tệp cho WordPress và MariaDB chẳng hạn trong thư mục chính của bạn. Việc tải xuống và cài đặt bộ chứa MariaDB mới đều có thể được thực hiện bằng một lệnh duy nhất.
Làm cách nào để cài đặt WordPress trên Docker Ubuntu?Cài đặt WordPress với Docker trên Ubuntu 20. 04 . Bước 1 – Tạo Đại Tây Dương. Máy chủ đám mây mạng. . Bước 2 - Cài đặt các phụ thuộc cần thiết. . Bước 3 – Cài đặt Docker. . Bước 4 – Tạo Bộ chứa MariaDB. . Bước 5 – Tạo vùng chứa WordPress. . Bước 6 – Định cấu hình Nginx làm Proxy ngược. . Bước 7 – Truy cập giao diện WordPress Làm cách nào để chuyển WordPress sang Docker?Tạo thư mục làm việc . Tạo docker-compose. yml Chạy với docker-compose up -d Trong trường hợp sử dụng mac M1 Xuất từ trang web hiện có Nhập vào WordPress cục bộ Trong trường hợp trang web hiện có, kích thước hơi lớn sửa đổi php. ini để tăng upload_max_filesize Những bài viết liên quan |