cách tạo máy chủ ảo trên XAMPP


82

Tôi chắc rằng câu hỏi này đang được hỏi nhiều lần nhưng tôi không gặp phải vấn đề gì. Tôi đang sử dụng XAMPP nơi tôi định cấu hình khung công tác Zend.

XAMPP đang chạy trên cổng 808180 đang bị chiếm bởi một số quy trình Windows. Tôi cần sử dụng máy chủ ảo để cấu hình bằng mã sau trong C:/xampp/apache/config/extra/httpd-vhosts.config(hoặc C:/xampp/apache/conf/extra/httpd-vhosts.conftrong các bản phát hành mới hơn).

<VirtualHost *:80>
ServerName comm-app.local
DocumentRoot "C:/xampp/htdocs/CommunicationApp/public"
SetEnv APPLICATION_ENV "development"
    <Directory "C:/xampp/htdocs/CommunicationApp/public"
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>    

và cũng cập nhật tệp máy chủ 127.0.0.1 comm-app.localvà cố gắng khởi động lại apache nhưng nó đang hiển thị lỗi.

15:03:01  [Apache]  Error: Apache shutdown unexpectedly.
15:03:01  [Apache]  This may be due to a blocked port, missing dependencies, 
15:03:01  [Apache]  improper privileges, a crash, or a shutdown by another method.
15:03:01  [Apache]  Press the Logs button to view error logs and check
15:03:01  [Apache]  the Windows Event Viewer for more clues
15:03:01  [Apache]  If you need more help, copy and post this
15:03:01  [Apache]  entire log window on the forums

2
Không nên VirtualHost *: 80 được VirtualHost *: 8081 nếu đó là nơi mà Apache đang chạy
TommyBs

4
Quá trình cửa sổ chiếm cổng 80 có thể là Skype.
Marek

Câu trả lời:


70

Tôi thấy hai lỗi:

<VirtualHost *:80> -> Fix to :8081, your POrt the server runs on
    ServerName comm-app.local
    DocumentRoot "C:/xampp/htdocs/CommunicationApp/public"
    SetEnv APPLICATION_ENV "development"
    <Directory "C:/xampp/htdocs/CommunicationApp/public" -> This is probably why it crashes, missing >
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
 -> MIssing close container: </VirtualHost> 

Phiên bản cố định:

<VirtualHost *:8081>
    ServerName comm-app.local
    DocumentRoot "C:/xampp/htdocs/CommunicationApp/public"
    SetEnv APPLICATION_ENV "development"
    <Directory "C:/xampp/htdocs/CommunicationApp/public">
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Một điều cần đề cập:

Bạn luôn có thể thử và chạy lệnh:

service apache2 configtest

Điều này sẽ cho bạn biết khi nào bạn có cấu hình không đúng định dạng và thậm chí có thể cho bạn biết vấn đề nằm ở đâu.

Hơn nữa, nó giúp tránh không có sẵn trong hệ thống TRỰC TIẾP:

service apache2 restart

sẽ tắt máy và sau đó không khởi động được, bạn đã biết cấu hình này từ trước "rất tiếc, tôi đã làm sai điều gì đó, tôi nên sửa lỗi này trước" nhưng bản thân apache vẫn đang chạy với cấu hình cũ. :)


Apache bắt đầu chạy sau những sửa chữa này nhưng vẫn không tìm thấy comm-app.local trên máy chủ hiển thị Không tìm thấy Lỗi HTTP 404. Không tìm thấy tài nguyên được yêu cầu.
Paras Arora

Bạn đã thiết lập comm-app.local để chuyển hướng đến 127.0.0.1 trong tệp máy chủ của mình chưa? Và bạn có chắc chắn rằng con đường của bạn là chính xác? Oh và ofcours, bạn phải đóng vùng chứa VirtualHost nếu bạn không ... (Đã cập nhật bài đăng của tôi)
Steini

1
vâng, tôi chỉ đặt 127.0.0.1 comm-app.local trong tệp máy chủ và thậm chí khởi động lại máy chủ
Paras Arora

Và bạn đã nhập comm-app.local: 8081 trong trình duyệt? (Có thể quên cổng)? Rmember để khởi động lại apache của bạn sau khi thay đổi cấu hình. Tuy nhiên nếu điều này vẫn sẽ không làm việc gì khác là sai trong config-file của bạn ...
Steini

Chào! Steini. Tôi đang gặp vấn đề tương tự. Có cách nào để tránh gõ cổng không sau tên máy chủ ảo. Cảm ơn trước
karim_fci

62

Bước 1) C: \ WINDOWS \ system32 \ drivers \ etc \ Mở tệp "hosts":

127.0.0.1       localhost
127.0.0.1       test.com
127.0.0.1       example.com

Bước 2) xampp \ apache \ conf \ extra \ httpd-vhosts.conf

<VirtualHost *:80>
    DocumentRoot C:/xampp/htdocs/test/
    ServerName www.test.com
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot C:/xampp/htdocs/example/
    ServerName www.example.com
</VirtualHost>

Bước 3) C: \ xampp \ apache \ conf \ httpd.conf. Cuộn xuống phần Cấu hình bổ sung ở cuối và tìm phần sau (xung quanh dòng 500), Xóa dấu # khỏi đầu dòng thứ hai để phần bây giờ trông giống như sau:

#Virtual hosts
Include conf/extra/httpd-vhosts.conf

Bước 4) Khởi động lại XAMPP và bây giờ chạy trong trình duyệt của bạn:

www.example.com or www.test.com

1
Này amit ... Đáng ngạc nhiên là của tôi không hoạt động .... Sự khác biệt duy nhất trong cài đặt của tôi là: 127.0.0.4 mycustomdomainvà nó chạy trên cổng 90 nên tôi đã sử dụng <VirtualHost 127.0.0.4:90>. Nó không thành công khi tôi thử trong trình duyệthttp://mycustomdomain
Jason Krs

8

Thêm mã này vào C: \ xampp \ apache \ conf \ extra \ httpd-vhosts.conf

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName qa-staging.com
ServerAlias www.qa-staging.com
<Directory "c:/xampp/htdocs">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

Bây giờ Thêm tên máy chủ ảo của bạn trong tệp dưới đây.

C:\Windows\System32\drivers\etc\hosts

127.0.0.1 qa-staging.com

Nếu bạn không thể lưu mã này trong tệp máy chủ, hãy nhấp chuột phải vào notpad chọn Run as administrator và sau đó bạn có thể lưu mã tùy chỉnh của mình ngay bây giờ hãy khởi động lại XAMP của bạn


7

Viết các mã này vào cuối tệp C: \ xampp \ apache \ conf \ extra \ httpd-vhosts.conf,

DocumentRoot "D:/xampp/htdocs/foldername"
ServerName www.siteurl.com
ServerAlias www.siteurl.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common

giữa thẻ máy chủ ảo.

và chỉnh sửa tệp System32 / Drivers / etc / hosts sử dụng notepad làm quản trị viên

thêm vào cuối tệp

127.0.0.1    www.siteurl.com

4
<VirtualHost *:80>
    DocumentRoot "D:/projects/yourdirectry name"
    ServerName local.yourdomain.com
    <Directory "D:/projects/yourdirectry name">
        Require all granted 
    </Directory>
</VirtualHost>

Lưu tệp cấu hình Apache.

để biết thông tin chi tiết hãy tham khảo điều này


4

Chỉ cần thay đổi cổng thành 8081và máy chủ ảo sau sẽ hoạt động:

<VirtualHost *:8081>
ServerName comm-app.local
DocumentRoot "C:/xampp/htdocs/CommunicationApp/public"
SetEnv APPLICATION_ENV "development"
    <Directory "C:/xampp/htdocs/CommunicationApp/public">
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory> 
</VirtualHost>

Đó là một vâng misstake, nhưng điều này sẽ không ngăn cản các dịch vụ apache từ khi bắt đầu, đây chỉ đơn thuần là sẽ ném một cảnh báo và các vhost sẽ không làm việc
Steini

Apache bắt đầu chạy sau những sửa chữa này nhưng vẫn không tìm thấy comm-app.local trên máy chủ hiển thị Không tìm thấy Lỗi HTTP 404. Không tìm thấy tài nguyên được yêu cầu.
Paras Arora

3

Trong ổ đĩa của bạn: \ xampp \ apache \ conf \ extra \ httpd-vhosts.conf tồn tại một ví dụ và bạn có thể chỉnh sửa nó bằng cấu hình của mình:

 ##<VirtualHost *:80>
 ##ServerAdmin webmaster@dummy-host.example.com
 ##DocumentRoot "C:/xampp/htdocs/dummy-host.example.com"
 ##ServerName dummy-host.example.com
 ##ServerAlias www.dummy-host.example.com
 ##ErrorLog "logs/dummy-host.example.com-error.log"
 ##CustomLog "logs/dummy-host.example.com-access.log" common
 ##</VirtualHost>

Nó sẽ như thế này, chẳng hạn và đừng quên thêm VirtualHost cho chính localhost để có thể chạy phpmyadmin và dự án khác cùng lúc trên cổng 80, chẳng hạn như tôi sẽ hiển thị với dự án store.local :

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
</VirtualHost>

<VirtualHost *:80>
ServerAdmin webmaster@store.local
DocumentRoot "c:/xampp/htdocs/store.local/public"
ServerName www.store.local
ServerAlias store.local
<Directory C:/xampp/htdocs/store.local>
    AllowOverride All
    Require all granted
</Directory>
</VirtualHost>

thì như đã đề cập ở trên, bạn phải thêm: C: \ windows \ system32 \ drivers \ hosts vào cuối tệp

127.0.0.1    store.local
127.0.0.1    www.store.local

khởi động lại Apache và thử trong trình duyệt:

store.local or www.store.local

có thể ở lần đầu tiên bạn phải thêm như thế này:

http://store.local or http://www.store.local

để sử dụng các cổng khác, bạn phải thêm các cổng sau vào trước VirtualHost:

Listen 8081 or another which you prefer

sau đó chỉ cần sử dụng cổng cho VirtualHost của bạn như sau:

<VirtualHost *:8081>
ServerAdmin webmaster@store.local
DocumentRoot "c:/xampp/htdocs/store.local/public"
ServerName store.local
ServerAlias www.store.local
<Directory C:/xampp/htdocs/store.local>
    AllowOverride All
    Require all granted
</Directory>

sau đó khởi động lại Apache và thử trong trình duyệt

store.local:8081 or www.store.local:8081

và chỉ dự án mà bạn thêm cổng sẽ chạy trên cổng này, ví dụ: các dự án khác và phpmyadmin sẽ vẫn chạy trên cổng 80


2

Tài liệu về Máy chủ ảo Apache Thiết lập máy chủ ảo (vhost) cung cấp một số lợi ích:

  • Máy chủ ảo làm cho URL sạch hơn - localhost / mysite so với mysite.local.
  • Máy chủ ảo làm cho quyền dễ dàng hơn - hạn chế quyền truy cập cho một vhost trên mạng cục bộ so với cho phép truy cập vào tất cả các trang web trên mạng cục bộ của bạn.
  • Một số ứng dụng yêu cầu dấu “.” trong URL (ahem Magento). Mặc dù bạn có thể thiết lập localhost.com/mysite bằng cách chỉnh sửa tệp máy chủ Windows, nhưng tạo vhost là giải pháp tốt hơn.

Chỉ thị VirtualHost Chứa các chỉ thị chỉ áp dụng cho một tên máy chủ hoặc địa chỉ IP cụ thể

Chỉ thị về vị trí Chỉ áp dụng các chỉ thị kèm theo cho các URL phù hợp

Ví dụ về các thay đổi đối với tệp cấu hình -D:\xampp\apache\conf\extra\httpd-vhosts.conf

<VirtualHost *:80>
    ServerAdmin localhost
    DocumentRoot "D:/xampp/htdocs"
    ServerName localhost
</VirtualHost>

<VirtualHost localhost:80>
  ServerAdmin webmaster@host.example.com
  DocumentRoot "/www/docs/host.example.com"
  #DocumentRoot "D:\xampp\htdocs\phpPages"
  ServerName host.example.com
  ErrorLog "logs/host.example.com-error_log"
  TransferLog "logs/host.example.com-access_log"
</VirtualHost>

# To get view of PHP application in the Browser.
<VirtualHost *:80>
    ServerAdmin postmaster@dummy-host.localhost
    DocumentRoot "D:\xampp\htdocs\app1"
    ServerName app1.yash.com
    ServerAlias app1.yash.com
    ErrorLog "logs/app1.yash.com-error.log"
    CustomLog "logs/app1.yash.com-access.log" combined
    
    # App1 communication proxy call to Java War applications from XAMP
    <Location /ServletApp1>
            ProxyPass  http://app1.yashJava.com:8080/ServletApp1
            ProxyPassReverse  http://app1.yashJava.com:8080/ServletApp1
            Order Allow,Deny
            Allow from all
    </Location>
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin postmaster@infotreesolutions.com
    DocumentRoot "D:\xampp\htdocs\app2"
    ServerName app2.yash.com
    ErrorLog "logs/app2.yash.com-error.log"
    CustomLog "logs/app2.yash.com-access.log" combined
    
    # App1 communication proxy call to Java War applications from XAMP
    <Location /ServletApp2>
            ProxyPass  http://app1.yashJava.com:8080/ServletApp2
            ProxyPassReverse  http://app1.yashJava.com:8080/ServletApp2
            Order Allow,Deny
            Allow from all
    </Location>
</VirtualHost>

Cập nhật tệp máy chủ Windows của bạn «Mở tệp máy chủ Windows của bạn ở C:\Windows\System32\drivers\etc\hosts.

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost

127.0.0.1       test.com
127.0.0.1       example.com
127.0.0.1       myssl.yash.com

D:\xampp\apache\conf\httpd.conf, [httpd-ssl.conf](http://httpd.apache.org/docs/2.2/mod/mod_ssl.html)

# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost> directive.
# Listen 0.0.0.0:80 | [::]:80
Listen 80

LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule speling_module modules/mod_speling.so

# ServerAdmin: Your address, where problems with the server should be e-mailed.
# This address appears on some server-generated pages, such as error documents.
#  e.g. admin@your-domain.com
ServerAdmin postmaster@localhost
ServerName localhost:80
DocumentRoot "D:/xampp/htdocs"

<Directory "D:/xampp/htdocs">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted
</Directory>

# Virtual hosts
Include "conf/extra/httpd-vhosts.conf"

# ===== httpd-ssl.conf - SSL Virtual Host Context =====
# Note: Configurations that use IPv6 but not IPv4-mapped addresses need two
#       Listen directives: "Listen [::]:443" and "Listen 0.0.0.0:443"
Listen 443
## SSL Virtual Host Context
<VirtualHost _default_:443>
    DocumentRoot "D:\xampp\htdocs\projectFolderSSL"
    ServerName myssl.yash.com:443
    ServerAlias myssl.yash.com:443
        
    ServerAdmin webmaster@localhost
    ErrorLog "logs/error.log"
    <IfModule log_config_module>
        CustomLog "logs/access.log" combined
    </IfModule>
    
    ## Redirecting URL from Web server to Application server over different machine.
    # myssl.yash.com:443/ServletWebApp
    <Location /path>
        ProxyPass  http://java.yash2.com:8444/ServletWebApp
        ProxyPassReverse  http://java.yash2.com:8444/ServletWebApp
        Order Allow,Deny
        Allow from all
    </Location>
    
    #SSLCertificateFile "conf/ssl.crt/server.crt"
    SSLCertificateFile "D:\SSL_Vendor\yash.crt"
    
    #SSLCertificateKeyFile "conf/ssl.key/server.key"
    SSLCertificateKeyFile "D:\SSL_Vendor\private-key.key"
    
    #SSLCertificateChainFile "conf/ssl.crt/server-ca.crt"
    SSLCertificateChainFile "D:\SSL_Vendor\intermediate.crt"
</VirtualHost>
# ===== httpd-ssl.conf - SSL Virtual Host Context =====

@xem


1

Tôi đã sửa nó bằng cách sử dụng cấu hình sau.

 Listen 85
 <VirtualHost *:85>
           DocumentRoot "C:/xampp/htdocs/LaraBlog/public"
           <Directory "C:/xampp/htdocs/CommunicationApp/public">
           DirectoryIndex index.php
           AllowOverride All
           Order allow,deny
           Allow from all
           </Directory>
 </VirtualHost>

0

Tôi đến bữa tiệc hơi muộn, nhưng tôi đã viết tập lệnh bash nhỏ này cho Mac để tạo VirtualHost thông qua thiết bị đầu cuối:

#!/bin/bash

echo "Welcome to the VirtualHostCreator! Press <RETURN> to continue."

read

echo "Enter the name the VirtualHost you would like to create. No spaces or dashes, please."

read hostname

echo "Enter the document root of the VirtualHost."

read doc_root

echo "Creating VirtualHost \"$hostname\". You may be prompted for your password."

hosts_file="/etc/hosts"
vhosts_file="/Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf"
restart_command="sudo /Applications/XAMPP/xamppfiles/xampp restart"

cat >> $vhosts_file << EndOfMessage
<VirtualHost ${hostname}>
    ServerName ${hostname}
    DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/${doc_root}"
</VirtualHost>
EndOfMessage

sudo sh -c "echo \"127.0.0.1       $hostname\" >> $hosts_file"

$restart_command

Tôi chắc chắn rằng có một số cải tiến có thể được thực hiện và nó chỉ có hai tùy chọn bắt buộc cho vhost (tên máy chủ và gốc tài liệu), nhưng nó thực hiện công việc nhanh chóng và hiệu quả hơn nhiều so với việc mở và chỉnh sửa tất cả các tệp theo cách thủ công và cũng tự động khởi động lại XAMPP sau đó.

Điều này giả định rằng bạn có vị trí cài đặt mặc định cho XAMPP, tất cả đều có thể được thay đổi.


0

Bước 1) Mở tệp máy chủ lưu trữ trong "C: \ Windows \ System32 \ drivers \ etc"

Thêm vào

127.0.0.1  vipsnum.mk

Bước 2) Mở tệp httpd-vhosts.conf trong "C: \ xampp \ apache \ conf \ extra"

Thêm vào

<VirtualHost vipsnum.mk:80>
    ServerName vipsnum.mk
    DocumentRoot "C:/xampp/htdocs/vipnum/"
    SetEnv APPLICATION_ENV "development"
    <Directory "C:/xampp/htdocs/vipnum/">
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost> 

0
1. C:\xampp\apache\conf\https.conf
Virtual hosts
Include conf/extra/httpd-vhosts.conf


2. C:\Windows\System32\drivers\etc\hosts
127.0.0.1       localhost
127.0.0.1       helpdesk.local


3. C:\xampp\apache\conf\extra\httpd-vhosts.conf
<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/helpdesk/public"
    ServerName helpdesk.local
</VirtualHost>


Now, Restart Apache and go through the link. 
URL : http://helpdesk.local

0

Vấn đề với xampp trong trường hợp của tôi là khi chỉ định một thư mục khác ngoài htdocs được sử dụng, đặc biệt là với nhiều miền và thư mục chuyên dụng. Điều này là bởi vì httpd-ssl.confcũng đang tham khảo <VirtualHost>.

Để làm điều này, hãy làm lại toàn bộ <VirtualHost>mục nhập dướihttpd-ssl.conf

Từ đó, bất kỳ cài đặt nào bạn thực hiện trong của mình httpd-vhosts.confsẽ cập nhật như mong đợi cả httphttpstham chiếu.


0

Tôi đã tìm kiếm giải pháp cho khá nhiều. Và cuối cùng tôi đã có câu trả lời. Nếu máy chủ ảo của bạn không hoạt động trên Windows 10 hoặc 7, v.v., đó là do sự cường điệu https mới này, nơi tất cả các trang web được chuyển đến https.

XAMPP cũng theo xu hướng tương tự, vì vậy việc sửa các máy chủ ảo, tệp máy chủ lưu trữ, v.v. là không đủ, do chuyển hướng https nghiêm ngặt. Đây là giải pháp đầy đủ.

Trang web mong muốn của tôi được đặt tại D: \ xampp \ htdocs \ ikeen.

1) Thêm cái này vào httpd-vhosts.conf của bạn:

<VirtualHost *:80>
     ServerName localhost
     DocumentRoot "D:\xampp\htdocs"
     <Directory "D:\xampp\htdocs">
         DirectoryIndex index.php
     </Directory>
 </VirtualHost>

<VirtualHost *:80>
     ServerName ikeen.localhost
     DocumentRoot "D:\xampp\htdocs\ikeen"
     SetEnv APPLICATION_ENV "development"
     <Directory "D:\xampp\htdocs\ikeen">
         DirectoryIndex index.php
         AllowOverride All
         Order allow,deny
         Allow from all        
     </Directory>
 </VirtualHost>

2) Thêm cái này vào cuối httpd.conf:

<Directory />
    AllowOverride none
    Require all granted
</Directory>

3) Thêm dòng này vào tệp máy chủ của bạn trong thư mục Windows

127.0.0.1      ikeen.localhost

4) Bước cuối cùng là thay đổi phần VirtualHost của tệp httpd-ssl.conf của bạn thành như sau

<VirtualHost _default_:443>

#   General setup for the virtual host
DocumentRoot "D:/xampp/htdocs"
#ServerName www.example.com:443
ServerName localhost
ServerAdmin admin@example.com
ErrorLog "D:/xampp/apache/logs/error.log"
TransferLog "D:/xampp/apache/logs/access.log"

#   General setup for the ikeen host
DocumentRoot "D:/xampp/htdocs/ikeen"
#ServerName www.example.com:443
ServerName ikeen.localhost
ServerAdmin admin@example.com
ErrorLog "D:/xampp/apache/logs/error.log"
TransferLog "D:/xampp/apache/logs/access.log"

Khởi động lại và vui vẻ :)


-1

Tôi đã thêm cấu hình bên dưới vào httpd.conf và khởi động lại dịch vụ lampp và nó bắt đầu hoạt động. Cảm ơn tất cả các bài viết trên, đã giúp tôi giải quyết từng vấn đề một.

Listen 8080
<VirtualHost *:8080>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/opt/lampp/docs/dummy-host2.example.com"
    ServerName localhost:8080
    ErrorLog "logs/dummy-host2.example.com-error_log"
    CustomLog "logs/dummy-host2.example.com-access_log" common
    <Directory "/opt/lampp/docs/dummy-host2.example.com">
        Require all granted 
    </Directory>
</VirtualHost>

-1

Đơn giản, Bạn có thể xem mẫu bên dưới và sử dụng nó cho phù hợp. Nó rất phổ biến để tạo một máy chủ ảo và rất đơn giản. Chắc chắn mẫu bên dưới sẽ hoạt động.

<VirtualHost *:8081>
DocumentRoot "C:/xampp/htdocs/testsite"
ServerName testsite.loc
ServerAlias www.testsite.loc
<Directory "c:/xampp/htdocs/testsite">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

Ngoài ra để tham khảo thêm về máy chủ ảo, vui lòng truy cập trang web này. http://www.thegeekstuff.com/2011/07/apache-virtual-host

Cảm ơn,

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.