Làm cách nào để cài đặt WordPress trên Docker Ubuntu?
Để cài đặt WordPress trong bộ chứa docker, bạn phải cài đặt docker và docker Compose trong Ubuntu của mình. Nếu bạn đã có docker và docker Compose, bây giờ bạn có thể làm theo các bước sau để cài đặt WordPress trong bộ chứa docker Show
Bước 1. Tạo một thư mục mới cho WordPress $ mkdir ~/wordpressdocker/ nếu nó được lưu trong thư mục/home, hãy di chuyển tệp đã tạo của bạn vào thư mục/var/www/html $ sudo mv wordpressdocker /var/www/html sau đó điều hướng đến dự án wordpressdocker $ cd /var/www/html/wordpressdocker Tạo docker-compose. yml và chỉnh sửa nó bằng cách gõ như sau $ touch docker-compose.yml $ sudo nano docker-compose.yml Sau khi bạn vào trong tệp, hãy sao chép và dán văn bản sau, đừng quên thay đổi thông tin đăng nhập. Để cài đặt trong tương lai, bạn cần cài đặt gói curl, bạn sẽ cần nó để cài đặt Docker Compose
Cài đặt Docker ComposePhiên bản mới nhất của Docker Compose là 2. 12. 2, sử dụng lệnh bên dưới để tải kho lưu trữ về máy chủ của bạn. Bạn có thể kiểm tra phiên bản mới nhất tại đây
Ghi chú. Kho lưu trữ sẽ được đặt tại /home/docker-compose Sau khi cài đặt, kho lưu trữ đã tải xuống cần được thực thi Để kiểm tra, bạn có thể sử dụng lệnh ls -la để kiểm tra quyền trên thư mục Sao chép kho lưu trữ vào đường dẫn hệ thống
Kiểm tra cài đặt bằng cách chạy lệnh docker-compose, nó sẽ cung cấp cho bạn một danh sách các lệnh có thể Ghi chú. Nếu bạn nhận được -bash. /usr/local/bin/docker-compose. Không có lỗi tệp hoặc thư mục như vậy khi khởi động, hãy kiểm tra xem bạn đã sao chép kho lưu trữ vào thư mục hệ thống chưa. Bạn có thể gặp lỗi -bash. /usr/local/bin/docker-compose. Quyền bị từ chối, nó nói rằng kho lưu trữ không thể thực thi được, cấp cho nó quyền bằng cách sử dụng lệnh trên Cài đặt WordPress và MySQLTrước khi cài đặt chúng ta phải tạo thư mục và config cho Docker Compose của mình
Và cũng tạo một cấu hình ________số 8_______ Trong cấu hình này, chúng tôi cần chỉ định hình ảnh của wordpress và cơ sở dữ liệu hình ảnh MySql, cần thiết để chạy WordPress Ghi chú. Bạn có thể thay đổi cổng thành bất cứ điều gì bạn muốn Chạy docker để tải xuống và kiểm tra cấu hình của bạn Sau khi khởi chạy, bạn đã có thể truy cập trang web của trang wordpress của chúng tôi bằng cách sử dụng "https. //IP của bạn. 8080" Cài đặt PhpMyAdminTrước khi cài đặt nó, hãy tắt docker soạn
Để cài đặt, bạn cần quay lại cấu hình docker của chúng tôi và nhập thông số hình ảnh và mạng 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 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 đoạn 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ụ
That will be all for the 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #Webserver Nginx service webserver. 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" khối lượng. - ứng dụng. / var / www / html - . / nginx - conf. / etc / nginx / conf. d - certbot - etc. / etc / letsencrypt mạng. - ứng dụng - mạng We have already explained the
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 - etc. / etc / 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
Our 1 2 3 4 5 6 7 8 9 10 #Volumes khối lượng. certbot - etc. ứng dụng. dbdata.
#Networks mạng. app - network. driver. bridge The The The complete 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. image. 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 command. '--default-authentication-plugin=mysql_native_password' mạng. - ứng dụng - mạng
Dịch vụ mã ứng dụng #WordPress ứng dụng. depends_on. - db image. 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
#Webserver Nginx service webserver. depends_on. - 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. depends_on. - 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. ví dụ. com
#Volumes khối lượng. certbot - etc. app. dbdata.
#Networks 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 - compose up - d If you see the output like in the screenshot below, then the services were created successfully To confirm the status of the services, run the 1 docker - compose ps The output of the command is as shown below if everything was successful. The If you see anything other than 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 If you used an actual registered domain name other than the Once you have confirmed that the certificate request was successful, you can edit the 1 nano docker - compose. yml Scroll down to the Certbot service definition section, in the command option and replace the 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 - etc. / etc / letsencrypt - ứng dụng. / var / www / html command. certonly -- webroot -- webroot - path =/ var / www / html -- email hackins@cloudsigma. com -- agree - tos -- no - eff - email -- force - renewal - d example. com - d www. example. com Save the file when you are done editing Enter the following command to recreate the 1 docker - compose up -- force - recreate -- no - deps Certbot The command outputs the following screenshot, showing that the certificate request was successful That is all for this step. 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 Step 5. Enabling SSL in Nginx Configuration and Service DefinitionTo make Nginx serve traffic over secure SSL, you will first modify the Nginx configuration file to add an Before modifying the configuration file, you should get the recommended Nginx security parameters from Certbot’s GitHub repository using 1 curl - sSLo nginx - conf / options - ssl - nginx. conf https. //raw. githubusercontent. com/certbot/certbot/master/certbot-nginx/certbot_nginx/_internal/tls_configs/options-ssl-nginx. conf The command runs and saves the parameters it pulls into a file called 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ư 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 webserver. 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" khối lượng. - ứng dụng. / var / www / html - . / nginx - conf. / etc / nginx / conf. d - certbot - etc. / etc / 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. image. 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. depends_on. - db image. 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
#Webserver Nginx service webserver. depends_on. - 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. depends_on. - 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
#Volumes khối lượng. certbot - etc. app. dbdata.
#Networks 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 Add the following code to the script to handle auto-renewal and Nginx configuration reloading. Remember to replace the highlighted username with your non-root username 1 2 3 4 5 6 7 8 #. /bin/bash
COMPOSE = "/usr/local/bin/docker-compose –ansi never" DOCKER = "/usr/bin/docker"
cd / home / hackins / wordpress_docker / $COMPOSE run certbot renew -- dry - run && $COMPOSE kill - s SIGHUP webserver $DOCKER system prune - af In this script, we assign the The script then moves into our project directory
Save and close the file when you finish editing. Then, run the following command to make it executable 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 The Choose your preferred editor and press Enter to open the file. Ở 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 rằng 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 / home / hackins / wordpress_docker / $SOẠN chạy certbot gia hạn && $COMPOSE kill -s SIGHUP webserver $DOCKER system prune - 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 Làm cách nào để thiết lập WordPress trong Docker?Các bước sau sẽ chỉ cho bạn cách cài đặt hệ thống quản lý nội dung WordPress trên bộ chứa Docker. . Bước 1 – Cài đặt Docker. . Bước 2 – Thiết lập WordPress Container trên Docker. . Bước 3 – Hoàn tất cài đặt WordPress trên trình duyệt web Làm cách nào để chạy WordPress trên bộ chứa Docker?Sử dụng Vùng chứa cho WordPress (Với Docker) . Bước 1. Cài đặt Soạn thư Bước 2. Xác định dự án Bước 3. Tạo tệp Docker cho YAML Bước 4. Xây dựng dự án Bước 5. Truy cập cài đặt WordPress của bạn 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 để chạy WordPress trên localhost Docker?Dưới đây là ba bước để thiết lập phát triển WordPress cục bộ bằng Docker. . Tải xuống và chạy Docker Thiết lập vùng chứa với môi trường WordPress Thiết lập và chạy vùng chứa của bạn Làm cách nào để cài đặt WordPress trên Docker Compose?Cách cài đặt WordPress với Docker Compose (Từng bước) . Bước 1. Cài đặt công cụ Docker. . Bước 2. Cài đặt Docker Compose. . Bước 3. Thiết lập tệp YML. . Bước 4. Xây dựng vùng chứa WordPress. . Bước 5. Truy cập vào trang web WordPress. . Bước 6. Cập nhật vùng chứa WordPress |