2014-05-21 22 views
5

Tôi có Apache 2.4.7 được cài đặt trên máy tính Ubuntu 14.04 của mình và một số máy chủ ảo của tôi không đồng ý với tôi. Tôi có 5 máy chủ ảo mà tôi đang cố chạy; 3 người trong số họ làm việc, 2 thì không. Các file conf cho hai mà không làm việc là:Ubuntu 14.04: Apache 2.4.7 virtualhost không hoạt động/chuyển hướng

002-tmpnet.conf

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/html/tmpnet 
    ServerName tmpnet 
    <Directory /> 
     Options FollowSymLinks 
     AllowOverride All 
    </Directory> 
    <Directory /var/www/html/tmpnet/> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride All 
     #Order allow,deny 
     #allow from all 
     Require all granted 
    </Directory> 

    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

003-tmpcom.conf

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/html/tmpcom 
    ServerName tmpcom 
    <Directory /> 
     Options FollowSymLinks 
     AllowOverride All 
    </Directory> 
    <Directory /var/www/html/tmpcom> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride All 
     #Order allow,deny 
     #allow from all 
     Require all granted 
    </Directory> 

    ErrorLog ${APACHE_LOG_DIR}/error.log 
     CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

Cả hai trở

500 Internal server errors 

whe n cố gắng đến thăm họ. Nếu tôi truy cập chúng thông qua localhost (ví dụ: localhost/html/tmpnet), nó hoạt động hoàn toàn tốt, không phải khi cố gắng sử dụng máy chủ ảo.

host của tôi nộp là:

127.0.0.1 localhost 
127.0.1.1 Eagle 
127.0.1.1 tmpcom 
127.0.1.1 tmpbiz 
127.0.1.1 tmporg 
127.0.1.1 tmpnet 
127.0.1.1 thatsmybrick 

# The following lines are desirable for IPv6 capable hosts 
::1  ip6-localhost ip6-loopback 
fe00::0 ip6-localnet 
ff00::0 ip6-mcastprefix 
ff02::1 ip6-allnodes 
ff02::2 ip6-allrouters 

và tôi apache2.conf là:

Mutex file:${APACHE_LOCK_DIR} default 
PidFile ${APACHE_PID_FILE} 
Timeout 300 
KeepAlive On 
MaxKeepAliveRequests 100 
KeepAliveTimeout 5 

# These need to be set in /etc/apache2/envvars 
User ${APACHE_RUN_USER} 
Group ${APACHE_RUN_GROUP} 

HostnameLookups on 
ErrorLog ${APACHE_LOG_DIR}/error.log 
LogLevel warn 
IncludeOptional mods-enabled/*.load 
IncludeOptional mods-enabled/*.conf 
Include ports.conf 

<Directory /> 
    Options FollowSymLinks 
    AllowOverride All 
    Require all denied 
</Directory> 

<Directory /usr/share> 
    AllowOverride All 
    Require all granted 
</Directory> 

<Directory /var/www/> 
    Options Indexes FollowSymLinks 
    AllowOverride All 
    Require all granted 
</Directory> 

AccessFileName .htaccess 

<FilesMatch "^\.ht"> 
    Require all denied 
</FilesMatch> 

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined 
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined 
LogFormat "%h %l %u %t \"%r\" %>s %O" common 
LogFormat "%{Referer}i -> %U" referer 
LogFormat "%{User-agent}i" agent 

IncludeOptional conf-enabled/*.conf 

IncludeOptional sites-enabled/*.conf 

Tôi đã bị mắc kẹt trên này một thời gian dài trong khi bây giờ, và tôi sẽ thực sự đánh giá cao một số trợ giúp. Bất kỳ chỉ hướng nào đúng hướng sẽ thật tuyệt vời.

Cảm ơn bạn

Trả lời

1

Bạn vẫn đang gặp sự cố?

Bạn đã xem nhật ký lỗi có tại /var/log/apache2/error.log hay không. Nhật ký lỗi là tự giải thích và sẽ đưa ra một hướng dẫn tốt cho vấn đề.

Các lỗi trên máy tính của tôi cho thấy điều này (phần sau của báo cáo kết quả lỗi)

.htaccess: Invalid lệnh 'RewriteEngine', có lẽ sai chính tả hoặc xác định bởi một mô-đun không được đưa vào cấu hình máy chủ

Trong trường hợp của tôi, ghi đè mô-đun Apache không được bật. Tôi đã bật mô-đun và thay thế cài đặt máy chủ ảo trở nên sống động.

Ngoài ra, tôi thấy rằng bạn đang sử dụng câu lệnh 'AllowOverride All' cho biết bạn đang cố sử dụng mô-đun viết lại. Cho phép mô-đun 'viết lại', nếu chưa có, sử dụng lệnh sudo a2enmod rewrite và sau đó khởi động lại bạn apache2 sudo /etc/init.d/apache2 restart

Xem điều này có hữu ích không!

7

Điều này có thể hơi muộn, không chắc bạn có tìm được giải pháp hay không, nhưng đây là những gì tôi đã làm. Sau khi chi tiêu nhiều giờ sửa đổi tập tin cấu hình của tôi và tinh chỉnh vhost của tôi, tôi quyết định a2dissite 000 ... trang web mặc định và tải lại apache. Một khi tôi đã làm điều này, chuyển hướng đã làm việc như epxected. Tôi không biết làm thế nào điều này sẽ mở ra khi bạn có nhiều hơn một trang web trên một máy chủ, nếu nó sẽ mặc định cho vhost tải đầu tiên hoặc ... Tôi đã luôn luôn theo ấn tượng rằng apache đã có một máy chủ lưu trữ mặc định, tôi có thể sai về điều đó.

+0

Cảm ơn bạn !!! Tôi chạy 'a2dissite 000-default.conf' và thêm' .conf' vào các tệp hiện có của tôi và nó đã hoạt động! – Skovy

4

Tôi đang gặp sự cố này và hóa ra tôi phải vô hiệu hóa máy chủ ảo mặc định.

sudo a2dissite 000-default.conf 
-1

Vâng, điểm mấu chốt là này:

IncludeOptional sites-enabled/*.conf

nó có nghĩa là nó sẽ chỉ bao gồm host file ảo với .conf vào cuối tên tập tin.

Đổi tên hoặc thay đổi chỉ thị.

Ciao, Gelma

+0

Tôi không nghĩ bạn đã đọc câu hỏi. Các tệp của anh ấy ** được đặt tên là ** .conf' và vẫn không tải. – Machavity

0

nếu bạn đang nâng cấp từ chính xác (12.04), sau đó bạn cần phải thêm conf phần mở rộng cho máy chủ ảo tập tin cấu hình của bạn

ví dụ, trước đây bạn có cấu hình này

/etc/apache2/sites-available/project 

sau đó bạn cần phải thêm conf mở rộng nó,

/etc/apache2/sites-available/project.conf 

và tất nhiên bạn phải tạo một liên kết tượng trưng mới trong thư mục sites-enabled, cd vào thư mục trang web-enabled và

sudo ln -s ../sites-available/project.conf 

restart apache và bạn đã hoàn tất.

5

Tôi không chỉ phải vô hiệu hóa mặc định:

sudo a2dissite 000-default.conf 

nhưng tôi cũng phải tải lại apache như sudo - mà không sudo nó không được nạp đúng

sudo service apache2 reload 
+1

SUDO trong khi tải lại đã thực hiện công việc của mình! cảm ơn bạn :) –

Các vấn đề liên quan