2014-10-11 28 views
8

Tôi đang cố gắng tìm hiểu cách sử dụng Vagrant với ý tưởng thiết lập môi trường phát triển cần chính xác (nếu có thể) đến một máy chủ sản xuất đã có.Thiết lập hộp Vagrant giống như máy chủ sản xuất

Câu hỏi đặt ra ở đây là: cách dễ nhất để thực hiện điều đó là gì?

Tôi là nhà phát triển và tôi có toàn quyền truy cập vào máy chủ sản xuất nhưng không được quản lý bởi tôi. Tôi chỉ biết cách của tôi xung quanh máy chủ một chút để thiết lập trang web, làm việc với cPanel, một số WHM, vv ...

Máy chủ chạy CentOS 6.5 với Apache, MySQL và PHP.

Có cách nào tôi có thể "xuất" cấu hình của máy chủ đó với tất cả các ứng dụng, mô-đun, phiên bản, v.v ... và sử dụng nó để tạo Hộp âm đạo không? Hay là phân tích thủ công mọi thứ và viết nó xuống?

Nếu đường đi là tùy chọn thứ hai, tôi có thể nhận được bất kỳ lời khuyên nào về cách thực hiện điều đó mà không bỏ sót bất kỳ thứ gì không?

Trả lời

1

Tôi không nghĩ rằng có cách trực tiếp để xuất cấu hình máy chủ hiện có vào hộp Vagrant, yêu cầu bạn sao chép máy chủ sang định dạng VM được hỗ trợ bởi một trong số providers của Vagrant (chẳng hạn như tệp OVA) cho Virtualbox).

AFAIK, bạn có thể phải thực hiện việc này theo cách thủ công. Con đường tôi sẽ đi về nó (ít nhất là ở mức ứng dụng) là:

  1. Tái sử dụng một trong những được xác định trước CentOS 6.5 LAMP boxes trong Vagrant Cloud để tránh cài đặt lại tất cả các phần mềm từ đầu.
  2. Cài đặt Virtualbox nếu chưa thực hiện, vì đó là nhà cung cấp mặc định của Vagrant.
  3. Tạo một bản sao apache sản xuất của bạn conf/httpd.conf, conf/extramodules (Tôi nghĩ đây là những chính) và nhập chúng vào máy chủ apache trong hộp Vagrant của bạn.
  4. Lấy một bãi chứa cơ sở dữ liệu MySQL sản xuất của bạn bằng cách sử dụng mysqldump. Sau đó nhập giản đồ và dữ liệu vào cơ sở dữ liệu MySQL trong hộp Vagrant của bạn. Sử dụng tùy chọn --no-data để loại trừ xuất dữ liệu nếu cơ sở dữ liệu sản xuất của bạn quá lớn đối với nhu cầu phát triển của bạn. (Bảng 4.9 trên liên kết mà tôi chia sẻ cung cấp danh sách các tùy chọn toàn diện.)
  5. Tái triển khai ứng dụng PHP của bạn.
  6. Khi bạn đã hài lòng với tất cả các chỉnh sửa trong hộp Vagrant của bạn, hãy sử dụng VirtualBox để sao chép VM mới làm đường cơ sở.

Như đã đề cập, đây chỉ là thiết lập và cấu hình cấp ứng dụng. Có thể có các cấu hình khác trong máy chủ sản xuất của bạn liên quan đến tường lửa, khóa SSH, quyền người dùng, vv mà bạn có thể hoặc không cần sao chép trong môi trường phát triển của mình.

Hy vọng điều này sẽ hữu ích.

+0

Cảm ơn bạn rất cho câu trả lời của bạn. Tôi có một vài câu hỏi về một số điểm: 5. Bước này sẽ là gì và làm thế nào để tôi thực hiện điều đó một cách chính xác? 6. Tôi không chắc chắn bạn có ý nghĩa gì với 'sử dụng VirtualBox để sao chép VM mới như một đường cơ sở '. Điều gì sẽ là cơ sở cho? – Albert

+0

# 5 đề cập đến bất kỳ ứng dụng nào bạn cần triển khai cho 'apache httpd'. Có một số hướng dẫn đơn giản [ở đây] (http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-fedora-18-lamp) ở bước 5. Đối với # 6, khi bạn khởi động hộp Vagrant, bạn có thể xem thể hiện của nó trong Virtualbox. Sau đó, bạn có thể tạo ảnh chụp nhanh của hộp theo các [hướng dẫn] này (http://www.virtualbox.org/manual/ch01.html#snapshots). –

+0

cảm ơn bạn! Vì vậy, đối với cấu hình PHP, giả sử các mô-đun tương tự được cài đặt, tôi có thể chỉ sao chép tệp PHP.ini không? – Albert

0

Bạn có thể tạo một hộp lang thang của máy ảo đó và sau đó triển khai hộp đó bằng init không rõ ràng. Bài viết sau đây giải thích cách thực hiện điều đó cho VM ảo. Bài viết này cũng tạo VM, trong trường hợp của bạn, vm đã có sẵn.

Create your own vagrant box

Nếu bạn đang sử dụng một cái gì đó khác hơn so với VirtualBox (vmware, KVM vv). bạn cần phải tìm ra cách để làm điều đó cho nhà cung cấp của bạn.

Các vấn đề liên quan