Giới thiệu
Trên Ubuntu, máy chủ web Apache phục vụ các tài liệu được lưu trữ mặc định trong thư mục var / www / html
. Thư mục này được gọi là thư mục gốc (DocumentRoot) của tài liệu. Khi quản trị viên hoặc người dùng đưa ra yêu cầu đối với máy chủ, máy chủ sẽ phản hồi với các tệp thích hợp từ tài liệu gốc này. Thư mục này thường nằm trên hệ thống tệp gốc cùng với phần còn lại của hệ điều hành. Tuy nhiên, đôi khi, sẽ thật hữu ích nếu bạn di chuyển tài gốc liệu sang một vị trí khác, chẳng hạn như hệ thống tệp được gắn kết một cách riêng biệt. Ví dụ: nếu bạn phân phối nhiều trang web từ cùng một phiên bản Apache, việc đặt các tài liệu liệu của mỗi trang web trên khối lượng riêng của nó cho phép bạn mở rộng quy mô để đáp ứng nhu cầu của một trang web hoặc khách hàng cụ thể. Trong hướng dẫn này, bạn sẽ di chuyển gốc tài liệu Apache từ vị trí mặc định của nó là var / www / html
sang một vị trí mới.
Điều kiện
- Máy chủ Ubuntu 20.04 và người dùng không phải root có đặc quyền sudo.
- Cài đặt sẵn Apache trên máy chủ của bạn.
- SSL được định cấu hình cho tên miền của bạn.
- Một vị trí mới cho tài liệu gốc của bạn. Trong bài hướng dẫn này,
/ mnt / volume_nyc3_01
được sử dụng làm thư mục cho vị trí mới này. Mặc dù các hướng dẫn trong bài này sử dụng ví dụ về thiết bị lưu trữ khối được gắn kết, bạn có thể sử dụng bất kỳ vị trí thư mục nào trên hệ thống của mình làm nơi lưu trữ thư mục gốc mới để phục vụ nội dung web của bạn.
Vị trí lưu trữ tài liệu gốc mới của bạn có thể được định cấu hình dựa trên nhu cầu của bạn. Nếu bạn đang di chuyển thư mục gốc của mình sang một thiết bị lưu trữ khác, bạn sẽ muốn chọn một vị trí bên dưới điểm gắn kết của thiết bị.
Bước 1: Sao chép tệp sang một vị trí mới
Nếu bạn đã làm theo các hướng dẫn tiên quyết, bạn sẽ tạo được một tài liệu gốc mới tại / var / www / your_domain
. Bạn cũng có thể có một thư mục gốc bổ sung tại VirtualHost
tương ứng. Điều quan trọng là phải thiết lập vị trí của thư mục gốc hiện tại của bạn trước khi bạn sao chép các tệp có liên quan sang vị trí mới của chúng.
Tìm kiếm vị trí thư mục gốc của bạn bằng cách sử dụng lệnh grep
để tìm kiếm trong thư mục / etc / apache2 / sites-enable
. Điều này giới hạn sự tập trung vào các trang đang hoạt động. -R
đảm bảo rằng gre
p sẽ in cả DocumentRoot
và tên tệp đầy đủ trong đầu ra:
Kết quả sau cho biết vị trí của DocumentRoot
hiện tại của bạn:
Output/etc/apache2/sites-enabled/your_domain-le-ssl.conf: DocumentRoot /var/www/your_domain
/etc/apache2/sites-enabled/your_domain.conf: DocumentRoot /var/www/your_domain
Nếu bạn đã thiết lập sẵn, kết quả của bạn có thể khác với những gì được hiển thị ở đây. Trong cả hai trường hợp, bạn có thể sử dụng đầu ra từ grep
để đảm bảo rằng bạn đang di chuyển các tệp mong muốn và cập nhật các tệp cấu hình thích hợp. Bây giờ bạn đã xác nhận vị trí của gốc tài liệu của mình, hãy sao chép các tệp vào vị trí mới của chúng bằng rsync
:
Chú ý: Khi sử dụng lệnh rsync
, hãy lưu ý 2 điều sau:
- Lưu ý rằng có một dấu gạch chéo sau
your_domain
. Nếu bạn không bao gồm dấu gạch chéo ở đây, bạn đang sao chép thư mục này sang thư mục gốc tài liệu mới dưới dạng thư mục con. Ví dụ: thư mục gốc mới của bạn sẽ có cấu trúc sau:/ var / www / mnt / volume_nyc3_01 / your_domain
. Điều này sẽ gây ra sự cố khi cố gắng cung cấp tệpindex.html
của bạn từ gốc tài liệu mới của bạn. - Thứ hai, không có dấu gạch chéo trên thư mục gốc của tài liệu mới
/ mnt / volume_nyc3_01
.
-a
bảo toàn quyền và các thuộc tính thư mục khác, trong khi -v
cung cấp đầu ra dài dòng để bạn có thể theo dõi tiến trình đồng bộ hóa. Đầu ra của bạn nên bao gồm những điều sau:
Outputsending incremental file list
./
index.html
sent 265 bytes received 38 bytes 606.00 bytes/sec
total size is 134 speedup is 0.44
Với các tệp của bạn tại chỗ, bạn có thể chuyển sang sửa đổi cấu hình Apache của mình để phản ánh những thay đổi này.
Bước 2: Cập nhật tệp cấu hình
Sau khi định vị và sao chép tệp vào thư mục gốc mới, bạn có thể định cấu hình tệp máy chủ ảo để trỏ đến vị trí mới này. Bắt đầu bằng cách mở /etc/apache2/sites-enabled/your_domain.conf
bằng trình soạn thảo ưa thích của bạn. Ví dụ này sử dụng nano
:
Tìm dòng bắt đầu bằng DocumentRoot
và thay thế bằng vị trí mới. Trong ví dụ này, vị trí mới là / mnt / volume_nyc3_01
:
Sau chỉ thị <VirtualHost>
này, hãy thêm các dòng được đánh dấu này để đảm bảo rằng máy chủ sẽ tuân theo các liên kết tượng trưng trong thư mục:
Nhìn chung, /etc/apache2/sites-enabled/your_domain.conffile
của bạn phải bao gồm tất cả các dòng sau dành riêng cho vị trí DocumentRoot
mới:
Lưu và thoát khỏi trình chỉnh sửa của bạn. Bạn có thể thoát ra khỏi nano
bằng cách nhấn CTRL + X
, sau đó nhấn Y
, rồi ENTER
. Sau khi thực hiện những thay đổi này, bạn có thể chuyển sự chú ý của mình sang cấu hình SSL. Mở tệp /etc/apache2/sites-enabled/your_domain-le-ssl.conf
:
Lưu và đóng tệp này. Bây giờ bạn đã thực hiện các thay đổi cấu hình cần thiết để phản ánh vị trí mới thư mục gốc của bạn.
Bước 3: Khởi động lại Apache
Sau khi thực hiện xong các thay đổi, bạn có thể khởi động lại Apache và kiểm tra kết quả. Trước tiên, hãy đảm bảo rằng cú pháp của các cấu hình mới của bạn là đúng với configtest
:
Nếu cú pháp của bạn đúng, đầu ra của bạn sẽ hiển thị như sau:
OutputAH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK
Lưu ý: Nếu bạn muốn loại bỏ dòng trên cùng trong đầu ra này, hãy thêm lệnh ServerName
vào tệp cấu hình Apache chung của bạn tại /etc/apache2/apache2.conf
. ServerName
có thể là miền hoặc địa chỉ IP của máy chủ của bạn. Mở tệp bằng trình chỉnh sửa của bạn:
Đặt lệnh ServerName
ở cuối tệp cấu hình với your_domain
hoặc địa chỉ IP máy chủ của bạn:
Lưu và thoát khỏi trình chỉnh sửa của bạn.
Tuy nhiên, đây chỉ là một thông báo và không ảnh hưởng đến chức năng của trang web của bạn. Miễn là đầu ra chứa Syntax OK
, bạn đã sẵn sàng để tiếp tục.
Sử dụng lệnh sau để khởi động lại Apache:
Khi máy chủ đã khởi động lại, hãy truy cập các trang web bị ảnh hưởng của bạn để đảm bảo rằng chúng đang hoạt động như mong đợi. Khi bạn cảm thấy thoải mái vì mọi thứ đều theo thứ tự, đừng quên xóa các bản sao gốc của dữ liệu:
Bây giờ bạn đã chuyển thành công thư mục gốc Apache của mình sang một vị trí mới.
Kết luận
Trong hướng dẫn này, bạn đã học cách thay đổi thư mục gốc (document root) Apache sang một vị trí mới. Điều này có thể giúp bạn quản trị máy chủ web cơ bản như lưu trữ hiệu quả nhiều trang web trên một máy chủ duy nhất. Nó cũng cho phép bạn tận dụng các thiết bị lưu trữ thay thế như lưu trữ khối mạng, điều này có thể hữu ích trong việc mở rộng quy mô một trang web khi nhu cầu của nó thay đổi.