Giờ đã đi vào vòng kết nối theo mọi hướng dẫn tôi có thể tìm thấy trên mạng.Cách chạy nhiều trang web trên một trường hợp apache
Tôi muốn có hai trang web chạy trên một ví dụ apache duy nhất, một cái gì đó như thế này - 192.168.2.8/site1 và 192.168.2.8/site2
Tôi đã đi vòng quanh trong vòng tròn, nhưng đồng Hiện nay tôi có hai tập tin conf trong 'sites-available (symlinked để sites-enabled) trông giống như this-
<VirtualHost *:2000>
ServerAdmin [email protected]
ServerName site1
ServerAlias site1
# Indexes + Directory Root.
DirectoryIndex index.html
DocumentRoot /home/user/site1/
# CGI Directory
ScriptAlias /cgi-bin/ /home/user/site1/cgi-bin/
Options +ExecCGI
# Logfiles
ErrorLog /home/user/site1/logs/error.log
CustomLog /home/user/site1/logs/access.log combined
</VirtualHost>
và
<VirtualHost *:3000>
ServerAdmin [email protected]
ServerName site2
ServerAlias site2
# Indexes + Directory Root.
DirectoryIndex index.html
DocumentRoot /home/user/site2/
# CGI Directory
ScriptAlias /cgi-bin/ /home/user/site2/cgi-bin/
Options +ExecCGI
# Logfiles
ErrorLog /home/user/site2/logs/error.log
CustomLog /home/user/site2/logs/access.log combined
</VirtualHost>
http.conf trông giống như this-
NameVirtualHost *:2000
NameVirtualHost *:3000
Tại thời điểm này tôi nhận được này sai sót
[error] VirtualHost *:80 — mixing * ports and non-* ports with a NameVirtualHostaddress is not supported, proceeding with undefined results
Ports.conf trông như thế này - (mặc dù không có hướng dẫn đã đề cập đến bất kỳ cần phải chỉnh sửa này)
NameVirtualHost *:80
Listen 80
<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
Có ai có thể đưa ra một số hướng dẫn đơn giản để chạy chương trình này không? Mọi hướng dẫn tôi đã tìm thấy đều nói rằng hãy làm theo một cách khác và mỗi hướng dẫn dẫn đến các lỗi khác nhau. Tôi rõ ràng đang làm điều gì đó sai nhưng đã không tìm thấy lời giải thích rõ ràng về những gì có thể.
Chỉ muốn một trang web có thể truy cập trên cổng 2000 và cổng còn lại có thể truy cập trên cổng 3000 (hoặc bất kỳ thứ gì, chỉ cần chọn các cổng đó để kiểm tra).
Tôi đang chạy Ubuntu Server 12.04 ...
=============
EDIT
Tiếp theo một 'hướng dẫn' ...
Bây giờ tôi đã thiết lập này trong sites-available:
<VirtualHost *:80>
DocumentRoot "/home/user/site1/"
ServerName 192.168.2.10/site1
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/home/user/site2/"
ServerName 192.168.2.10/site2
</VirtualHost>
đã thiết lập này trong apache2.conf:
ServerName site1
ServerName site2
đã bổ sung này để ports.conf:
Listen 192.168.2.10:80
==============
EDIT
tại Nó hoạt động, tôi đặt tệp này vào tệp conf trong trang web được bật:
<VirtualHost *:81>
DocumentRoot "/home/user/site1/"
ServerName site1
</VirtualHost>
<VirtualHost *:82>
DocumentRoot "/home/user/site2/"
ServerName site2
</VirtualHost>
Tôi có điều này trong cổng.conf:
Listen *:80
Listen *:81
Listen *:82
Tôi có điều này trong apache2.conf:
ServerName site1
ServerName site2
Tôi không tìm thấy điều này trong bất kỳ hướng dẫn nào Tôi chỉ làm việc này qua cả ngày dùng thử và lỗi nên tôi không biết đây có phải là giải pháp tốt hay không. Nhưng ít nhất là làm việc như thế nào tôi muốn nó ngay bây giờ.
Dường như với tôi bạn cần chỉ định tên máy chủ ảo trong NameVirtualHost. –
Chúc mừng, tôi đã thử nhiều thứ dọc theo những dòng đó, bạn có thể cụ thể hơn về những gì tôi nên thử đặt trong đó không? – Exbi
Sau một ngày cố gắng để làm việc này, cuối cùng tôi đã tình cờ gặp câu trả lời lol. Tôi cảm thấy kiệt quệ về tinh thần, tôi sẽ đi ngủ. Tôi nghi ngờ giải pháp hack apache dodgy của tôi sẽ được quan tâm đến bất cứ ai, nhưng tôi sẽ chỉnh sửa nó vào cuối câu hỏi của tôi. – Exbi