Cách Di Chuyển Web Root Apache đến Vị Trí Mới Trên Ubuntu 16.04
Có thể bạn quan tâm
Trong hướng dẫn này, ta sẽ chỉ cho bạn cách di chuyển root tài liệu Apache đến vị trí mới.
Yêu cầu
Để hoàn thành hướng dẫn này, bạn cần :
Server Ubuntu 16.04 với user không phải root có quyền sudo . Bạn có thể tìm hiểu thêm về cách cài đặt user có các quyền này trong hướng dẫn Cài đặt server ban đầu với Ubuntu 16.04 của ta .
Web server Apache2 : Nếu bạn chưa cài đặt , phần Apache của bài viết chuyên sâu, Cách cài đặt ngăn xếp Linux, Apache, MySQL, PHP (LAMP) trên Ubuntu 16.04 , có thể hướng dẫn bạn.
Vị trí mới cho root tài liệu của bạn : Vị trí root tài liệu mới hoàn toàn có thể cấu hình dựa trên nhu cầu của bạn. Nếu bạn đang di chuyển root tài liệu của bạn sang một thiết bị lưu trữ khác, bạn cần chọn một vị trí bên dưới điểm mount của thiết bị.
Trong ví dụ này, ta sẽ sử dụng folder /mnt/volume-nyc1-01 . Nếu bạn đang sử dụng Block Storage trên DigitalOcean,hướng dẫn này sẽ chỉ cho bạn cách gắn ổ đĩa của bạn trước khi tiếp tục với hướng dẫn này.
Bước 1 - Sao chép file sang vị trí mới
Trên bản cài đặt Apache mới, tài liệu root được đặt tại /var/www/html . Tuy nhiên, nếu bạn đang làm việc với một server hiện có, bạn có thể có một cài đặt khác đáng kể bao gồm nhiều root tài liệu trong các lệnh VirtualHost tương ứng.
Bạn có thể tìm kiếm vị trí của các root tài liệu bổ sung bằng cách sử dụng grep . Ta sẽ tìm kiếm trong folder /etc/apache2/sites-enabled để giới hạn sự tập trung của ta vào các trang đang hoạt động. Cờ -R đảm bảo grep sẽ in cả DocumentRoot và tên file trong kết quả của nó:
- grep -R "DocumentRoot" /etc/apache2/sites-enabled
Kết quả sẽ giống như kết quả kết quả bên dưới, mặc dù tên và số lượng kết quả có thể khác với cài đặt hiện có:
Outputsites-enabled/000-default.conf DocumentRoot /var/www/htmlSử dụng phản hồi từ grep đảm bảo rằng bạn đang di chuyển các file mà bạn muốn di chuyển và cập nhật các file cấu hình thích hợp của chúng.
Bây giờ ta đã xác nhận vị trí của root tài liệu của bạn , ta sẽ sao chép các file vào vị trí mới của chúng bằng rsync . Sử dụng cờ -a bảo toàn các quyền và các thuộc tính folder khác, trong khi -v cung cấp kết quả dài dòng để bạn có thể theo dõi tiến trình.
Lưu ý: Hãy chắc chắn rằng không có dấu gạch chéo trên folder , có thể được thêm vào nếu bạn sử dụng tính năng hoàn thành tab. Khi có dấu gạch chéo ở cuối, rsync sẽ kết xuất nội dung của folder vào điểm mount thay vì chuyển nó vào folder html có chứa:
- sudo rsync -av /var/www/html /mnt/volume-nyc1-01
Bây giờ ta đã sẵn sàng cập nhật cấu hình.
Bước 2 - Cập nhật file cấu hình
Apache2 sử dụng cả file cấu hình trang web và global . Để biết thông tin cơ bản về phân cấp file cấu hình, hãy xem Cách cấu hình Server Web Apache trên Ubuntu hoặc Debian VPS .
Nếu bạn đang làm việc với cài đặt hiện có, bạn nên sửa đổi file server ảo mà bạn đã tìm thấy trước đó bằng grep . Đối với ví dụ của ta , ta sẽ xem xét hai file Server ảo được cung cấp với Apache theo mặc định, 000-default.conf và default-ssl.conf .
Ta sẽ bắt đầu bằng cách chỉnh sửa file 000-default.conf :
- sudo nano /etc/apache2/sites-enabled/000-default.conf
Tiếp theo, ta sẽ tìm dòng bắt đầu bằng DocumentRoot và cập nhật nó với vị trí mới.
Lưu ý: Bạn nên tìm những địa điểm khác mà đường dẫn ban đầu đã hiển thị và thay đổi cả những địa điểm đó sang vị trí mới. Với cài đặt mặc định, có DocumentRoot và một khối Directory mà bạn cần thay đổi. Trên bản cài đặt hiện có, bạn cũng có thể tìm thấy những thứ như alias và bản viết lại cần cập nhật. Bất cứ nơi nào bạn thấy đường dẫn của root tài liệu root trong kết quả của grep , bạn cần phải điều tra.
/etc/apache2/sites-enabled/000-default.conf<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /mnt/volume-nyc1-01/html <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /mnt/volume-nyc1-01/html/> Options Indexes FollowSymLinks MultiViews AllowOverride None Require all granted </Directory>Sau khi lưu các thay đổi này, ta sẽ chuyển sự chú ý sang cấu hình SSL. Khi cài đặt mới, SSL chưa được cấu hình , nhưng có thể bạn cần cập nhật ssl-default.conf để tránh một số sự cố sau này nếu bạn không nhớ rằng mình cần thực hiện thay đổi.
- sudo nano /etc/apache2/sites-available/ssl-default.conf
Lưu ý: Nếu SSL không được bật, thì file ssl-default.conf chỉ nằm trong /etc/apache2/sites-available. Nếu bạn bật SSL với a2ensite , một softlink sẽ được tạo từ file trong sites-available cho /etc/apache2/sites-enabled . Trong trường hợp đó, file có thể được chỉnh sửa từ một trong hai folder .
Bước 3 - Khởi động lại Apache
Khi bạn đã hoàn tất các thay đổi cấu hình, bạn có thể đảm bảo cú pháp đúng với configtest :
- sudo apachectl configtest
Bạn sẽ nhận được phản hồi từ apachectl configtest với một bản cài đặt mới:
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 OKMiễn là bạn nhận được Syntax OK , hãy khởi động lại web server . Nếu không, hãy theo dõi và khắc phục các sự cố mà nó đã báo cáo.
Sử dụng lệnh sau để khởi động lại Apache:
- sudo systemctl reload apache2
Khi server đã khởi động lại, hãy truy cập các trang web bị ảnh hưởng của bạn và đảm bảo chúng hoạt động như mong đợi. Khi bạn thấy phù hợp , mọi thứ đã ổn định, đừng quên xóa bản sao root của dữ liệu.
Kết luận
Trong hướng dẫn này, ta đã trình bày cách thay đổi root tài liệu Apache thành một vị trí mới. Điều này có thể giúp bạn quản trị web server cơ bản, như lưu trữ hiệu quả nhiều trang web trên một server 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, một bước quan trọng trong việc mở rộng quy mô trang web khi nhu cầu của nó thay đổi.
Nếu bạn đang quản lý một trang web bận rộn hoặc đang phát triển, bạn có thể quan tâm đến việc tìm hiểu cách tải kiểm tra web server của bạn để xác định các tắc nghẽn hiệu suất trước khi bạn gặp phải chúng trong quá trình production . Bạn cũng có thể tìm hiểu thêm về việc cải thiện trải nghiệm production trong so sánh năm cách này để cải thiện cài đặt server ứng dụng web production của bạn .
Tags:Các tin liên quan
Cách thiết lập xác thực mật khẩu với Apache trên Ubuntu 16.04 2016-07-26 Cách cung cấp các ứng dụng Django với Apache và mod_wsgi trên Ubuntu 16.04 2016-05-17 Cách mã hóa kết nối Tomcat 8 với Apache hoặc Nginx trên Ubuntu 16.04 2016-04-29 Cách tạo chứng chỉ SSL tự ký cho Apache trong Ubuntu 16.04 2016-04-21 Cách thiết lập server ảo Apache trên Ubuntu 16.04 2016-04-21 Cách bảo mật Apache bằng Let's Encrypt trên Ubuntu 16.04 2016-04-21 Cách thiết lập Let's Encrypt chứng chỉ cho nhiều server ảo Apache trên Ubuntu 14.04 2016-01-19 Cách bảo mật Apache bằng Let's Encrypt trên Ubuntu 14.04 2015-12-18 Cách thiết lập server lưu lượng truy cập Apache làm Reverse-Proxy trên Ubuntu 14.04 2015-10-03 Cách thiết lập một cụm thụ động chủ động Apache bằng máy tạo nhịp tim trên CentOS 7 2015-09-08Từ khóa » Trong Apache Thư Mục Web Root (hay Documentroot) Có Tên Là Gì
-
Thay đổi Thư Mục Webroot Htdocs Của XAMPP
-
Thay đổi Thư Mục Web Root Apache- Htdocs Www
-
Ngu Ngơ Học Làm Web (46) - Cài đặt Và Sử Dụng XAMPP - Langbiang
-
ADMINISTERING APACHE - Viblo
-
Cách Di Chuyển Web Root Apache đến Một Vị Trí Mới Trên Debian 8
-
Bài Số 7: Thiết Lập Dịch Vụ Web - Soict
-
Thắc Mắc - Thay đổi Thư Mục Gốc Của Apache Server Trên Ubuntu?
-
Làm Cách Nào để đặt DOCUMENT_ROOT Và Gốc Trang Web Trong ...
-
Var Www Có Nghĩa Là Gì?
-
Làm Cách Nào để Thay đổi Xampp Localhost Sang Thư Mục Khác (bên ...
-
25 Câu Hỏi Phỏng Vấn Apache Cho Người Mới Bắt đầu Và ...
-
Thư Mục Root Là Gì?
-
Đổi Document Root Cho Subdomain Trên DirectAdmin