Cách thiết lập server ảo Apache trên CentOS 6
Giới thiệu về Server ảo
Server ảo được sử dụng để chạy nhiều hơn một domain trên một địa chỉ IP. Điều này đặc biệt hữu ích cho những người cần chạy một số trang web trên một server riêng ảo. Các trang web hiển thị thông tin khác nhau cho khách truy cập, tùy thuộc vào việc user truy cập trang web. Không có giới hạn về số lượng server ảo có thể được thêm vào VPS.
Cài đặt
Các bước trong hướng dẫn này yêu cầu user phải có quyền root. Bạn có thể xem cách cài đặt điều đó trong Cài đặt server ban đầu ở bước 3 và 4. Hơn nữa, nếu tôi tham chiếu user trong một bước, tôi sẽ sử dụng tên www. Bạn có thể triển khai bất kỳ tên user nào phù hợp với bạn.
Ngoài ra, bạn cần phải cài đặt sẵn apache và chạy trên server ảo của bạn Nếu không đúng như vậy, bạn có thể download bằng lệnh sau:
sudo yum install httpd
Bước một— Tạo một folder mới
Bước đầu tiên trong việc tạo một server ảo là tạo một folder nơi ta sẽ lưu giữ thông tin của trang web mới.
Vị trí này sẽ là Gốc tài liệu của bạn trong file cấu hình ảo Apache sau này. Bằng cách thêm -p vào dòng mã, lệnh sẽ tự động tạo tất cả các file cha cho folder mới.
sudo mkdir -p /var/www/example.com/public_html
Bạn cần chỉ định một domain thực tế được phê duyệt DNS hoặc một địa chỉ IP để kiểm tra xem server ảo có đang hoạt động hay không. Trong hướng dẫn này, ta sẽ sử dụng example.com làm trình giữ chỗ cho một domain chính xác.
Tuy nhiên, nếu bạn muốn sử dụng domain chưa được phê duyệt để kiểm tra quá trình, bạn sẽ tìm thấy thông tin về cách làm cho nó hoạt động trên máy tính local của bạn ở Bước thứ sáu.
Bước hai — Cấp quyền
Ta cần cấp quyền sở hữu folder cho user , thay vì chỉ giữ nó trên hệ thống root .
sudo chown -R apache:apache /var/www/example.com/public_html
Ngoài ra, điều quan trọng là phải đảm bảo mọi người sẽ có thể đọc các file mới của ta .
sudo chmod 755 /var/www
Đến đây bạn đã hoàn thành tất cả các quyền.
Bước ba— Tạo trang
Ta cần tạo một file mới có tên là index.html trong folder cấu hình của ta .
sudo vi /var/www/example.com/public_html/index.html
Ta có thể thêm một số văn bản vào file để ta sẽ có thứ gì đó để xem khi IP chuyển hướng đến server ảo.
<html> <head> <title>www.example.com</title> </head> <body> <h1>Success: You Have Set Up a Virtual Host</h1> </body> </html>
Lưu và thoát
Bước bốn — Bật Server ảo
Bước tiếp theo là nhập vào chính file cấu hình apache.
sudo vi /etc/httpd/conf/httpd.conf
Có một vài dòng để tìm kiếm.
Đảm bảo rằng văn bản của bạn trùng với những gì bạn thấy bên dưới.
#Listen 12.34.56.78:80 Listen 80
Cuộn xuống cuối tài liệu đến phần có tên Server ảo.
NameVirtualHost *:80 # # NOTE: NameVirtualHost cannot be used without a port specifier # (e.g. :80) if mod_ssl is being used, due to the nature of the # SSL protocol. # # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for requests without a known # server name. # <VirtualHost *:80> ServerAdmin webmaster@example.com DocumentRoot /var/www/example.com/public_html ServerName www.example.com ServerAlias example.com ErrorLog /var/www/example.com/error.log CustomLog /var/www/example.com/requests.log </VirtualHost>
Các dòng quan trọng nhất cần tập trung là các dòng có tên NameVirtualHost, Virtual Host, Document Root và Server Name. Hãy lấy từng cái một.
- Bỏ ghi chú (bỏ ký hiệu số) NameVirtualHost mà không thực hiện bất kỳ thay đổi nào. Ngôi sao nghĩa là bất kỳ địa chỉ IP nào đi qua cổng 80 sẽ là một server ảo. Vì hệ thống của bạn có thể chỉ có một địa chỉ IP nên đây không phải là vấn đề — tuy nhiên, nếu muốn, bạn có thể thay thế dấu sao bằng địa chỉ IP của bạn .
- Bạn có thể giữ nguyên phần còn lại của các dấu số cho đến khi bạn đến dòng <VirtualHost *: 80>. Bỏ ghi chú mọi thứ từ đó thông qua <VirtualHost>.
- Giữ nguyên <VirtualHost *: 80> — các chi tiết của nó phải trùng với những thông tin trong phần NameVirtual Host. Nếu bạn đã thay thế dấu sao bằng địa chỉ IP của bạn trong phần đó, hãy đảm bảo thực hiện tương tự ở đây.
- Tài liệu root là key ! Đối với phần này, hãy viết vào phần mở rộng của folder mới được tạo ở Bước một. Nếu root tài liệu không chính xác hoặc không có, bạn sẽ không thể cài đặt server ảo.
- Tên Server là một phần thông tin quan trọng khác, chứa domain của server ảo (ví dụ: www.example.com). Đảm bảo rằng bạn đánh vần domain đầy đủ; ta sẽ đưa vào bất kỳ khả năng thay thế nào trong dòng tiếp theo.
- ServerAlias là một dòng mới trong file cấu hình không có ở đó theo mặc định. Thêm nó sẽ cho phép bạn liệt kê một vài biến thể của domain , ví dụ như không có www ở phía trước.
Các dòng còn lại trong phần này không bắt buộc phải cài đặt server ảo. Tuy nhiên, vẫn hữu ích nếu biết những gì họ làm.
- Administrator server yêu cầu email của administrator web.
- Nhật ký Lỗi và Nhật ký Tùy chỉnh theo dõi sự cố nào với server . Nhật ký lỗi bao gồm các vấn đề phát sinh trong khi bảo trì server và log tùy chỉnh theo dõi các yêu cầu server . Bạn có thể cài đặt một vị trí tùy chỉnh cho các quy trình này.
- Đảm bảo rằng <VirtualHost> được bỏ ghi chú; sau đó lưu và thoát.
Bước năm — Khởi động lại Apache
Ta đã thực hiện rất nhiều thay đổi đối với cấu hình. Tuy nhiên, chúng sẽ không có hiệu lực cho đến khi Apache được khởi động lại.
Đầu tiên hãy dừng tất cả các quy trình apache:
sudo apachectl -k stop
Sau đó khởi động lại apache .
sudo /etc/init.d/httpd start
Bạn có thể gặp lỗi sau:
Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Thông báo chỉ là một cảnh báo và bạn có thể truy cập vào server ảo của bạn mà không gặp sự cố nào khác.
Bước 6 Tùy chọn — Cài đặt Server Cục bộ
Nếu bạn đã trỏ domain của bạn đến địa chỉ IP của server riêng ảo, bạn có thể bỏ qua bước này — bạn không cần cài đặt server local . Server ảo của bạn sẽ hoạt động. Tuy nhiên, nếu muốn dùng thử các server ảo mới của bạn mà không cần phải kết nối với domain thực, bạn có thể cài đặt server local trên máy tính của bạn . Đối với bước này, hãy đảm bảo bạn đang sử dụng chính máy tính, không phải server của bạn.
Để tiến hành bước này, bạn cần biết password quản trị của máy tính, nếu không, bạn cần sử dụng domain thực để kiểm tra các server ảo.
Nếu bạn đang sử dụng máy Mac hoặc Linux, hãy truy cập user root ( su
) trên máy tính và mở file server của bạn:
nano /etc/hosts
Nếu bạn đang sử dụng Máy tính Windows, bạn có thể tìm thấy hướng dẫn để thay đổi file server lưu trữ trên trang web của Microsoft
Bạn có thể thêm chi tiết server local vào file này, như được thấy trong ví dụ bên dưới. Miễn là dòng đó ở đó, hướng trình duyệt của bạn đến, chẳng hạn, example.com sẽ cung cấp cho bạn tất cả các chi tiết server ảo cho địa chỉ IP tương ứng.
# Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost #Virtual Hosts 12.34.56.789 www.example.com
Tuy nhiên, bạn nên xóa các địa chỉ đã tạo này ra khỏi folder server local khi bạn hoàn tất để tránh bất kỳ sự nhầm lẫn nào trong tương lai.
Bước bảy — KẾT QUẢ: Xem Server ảo của bạn đang hoạt động
Sau khi cài đặt xong server ảo, bạn có thể xem giao diện trực tuyến của nó. Nhập địa chỉ ip của bạn vào trình duyệt (tức là. Http://12.34.56.789)
Nó trông hơi giống với ảnh chụp màn hình tiện dụng của tôi
Làm tốt lắm!
Thêm nhiều server ảo hơn
Để tạo thêm server ảo, bạn có thể lặp lại quy trình trên, cẩn thận cài đặt root tài liệu mới với domain mới thích hợp mỗi lần. Sau đó, chỉ cần copy paste thông tin Server ảo mới vào file Apache Config, như hình dưới đây
<VirtualHost *:80> ServerAdmin webmaster@example.com DocumentRoot /var/www/example.com/public_html ServerName www.example.com ServerAlias example.com ErrorLog /etc/var/www/example.com/error.log CustomLog /var/www/example.com/requests.log </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@example.org DocumentRoot /var/www/example.org/public_html ServerName www.example.org ServerAlias example.org ErrorLog /var/www/example.org/error.log CustomLog /var/www/example.orgrequests.log </VirtualHost>
Xem thêm
Khi bạn đã cài đặt server ảo của bạn , bạn có thể tiến hành Tạo Chứng chỉ SSL cho trang web của bạn hoặc Cài đặt server FTP
Các tin liên quan
Cách cài đặt Rails, Apache và MySQL trên Ubuntu với Passenger2012-06-01