Tôi đang cố gắng thiết lập một số VH trong Apache 2.4.6 trên CentOS 7 nhưng không thành công vì nó không hoạt động. Đây là những gì tôi đã cố gắng đến bây giờ:VirtualHost không hoạt động theo Apache 2.4.6 trên CentOS 7
Vì trong
/etc/httpd/conf/httpd.conf
là dòng nàyInclude conf.modules.d/*.conf
sau đó tôi có thể tạo một tập tin dưới/etc/httpd/conf.d/vhost.conf
và đặt này bên trong nó:NameVirtualHost *:80 <VirtualHost *:80> ServerName webserver ServerAlias localhost devserver development DocumentRoot /var/www/html </VirtualHost>
- dịch vụ
Nạp/Restart Apache (đã thử cả hai):
service httpd reload|restart
Ở bên Windows chỉnh sửa tệp
C:\Windows\system32\drivers\etc\hosts
và thêm dòng này:192.168.3.131 webserver localhost devserver development # this is the IP of Apache Server
Mở trình duyệt và thử:
http://webserver
,http://devserver
và cả hai đi để mặc định trang Apache để VH không hoạt động.Đặt một tập tin dưới
/var/www/html/index.php
với dòng này<?php phpinfo(); ?>
chỉ để biết những mô-đun là Apache tải, đây là kết quả:core mod_so http_core mod_access_compat mod_actions mod_alias mod_allowmethods mod_auth_basic mod_auth_digest mod_authn_anon mod_authn_core mod_authn_dbd mod_authn_dbm mod_authn_file mod_authn_socache mod_authz_core mod_authz_dbd mod_authz_dbm mod_authz_groupfile mod_authz_host mod_authz_owner mod_authz_user mod_autoindex mod_cache mod_cache_disk mod_data mod_dbd mod_deflate mod_dir mod_dumpio mod_echo mod_env mod_expires mod_ext_filter mod_filter mod_headers mod_include mod_info mod_log_config mod_logio mod_mime_magic mod_mime mod_negotiation mod_remoteip mod_reqtimeout mod_rewrite mod_setenvif mod_slotmem_plain mod_slotmem_shm mod_socache_dbm mod_socache_memcache mod_socache_shmcb mod_status mod_substitute mod_suexec mod_unique_id mod_unixd mod_userdir mod_version mod_vhost_alias mod_dav mod_dav_fs mod_dav_lock mod_lua prefork mod_proxy mod_lbmethod_bybusyness mod_lbmethod_byrequests mod_lbmethod_bytraffic mod_lbmethod_heartbeat mod_proxy_ajp mod_proxy_balancer mod_proxy_connect mod_proxy_express mod_proxy_fcgi mod_proxy_fdpass mod_proxy_ftp mod_proxy_http mod_proxy_scgi mod_systemd mod_cgi mod_php5
Và rõ ràng mod_vhost được nạp nhưng không hoạt động, đã làm tôi bỏ lỡ một cái gì đó? Bất kỳ trợ giúp hoặc lời khuyên nào về điều này? Có lẽ tôi đã quên một cái gì đó nhưng tôi đọc tài liệu Apache và không tìm thấy một cái gì đó hữu ích
Cập nhật: test1
tôi đã thực hiện một số thay đổi VH nghĩa và bây giờ điều này là những gì tôi có:
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName webserver
#ServerAlias localhost devserver development
<Directory "/var/www/html">
Options FollowSymLinks Includes ExecCGI
AllowOverride All
Allow from all
#Require local
#Require 192.168.3.0/16
#Require 192.168.1.0/16
</Directory>
</VirtualHost>
Nhưng tôi nhận được một 403 Forbidden
Forbidden
Bạn không được phép truy cập /index.php trên máy chủ này.
Lỗi gì ở đây?
Tôi đã gỡ bỏ chỉ thị ServerAlias và chỉ để lại ServerName chỉ để kiểm tra xem đó có phải là vấn đề hay không. Tôi loại bỏ các chỉ thị NameVirtualHost và đó không phải là vấn đề hoặc.Apache trong CentOS và các bản phân phối dựa trên RHEL khác đã đặt DocumentRoot thành '/ var/www/html' để đúng với cấu hình VH. Cuối cùng sau khi thử nghiệm trong Windows với cả hai lệnh bạn rời tôi đã thử cái này quá 'ipconfig/flushdns' nhưng truy cập' webserver' đưa tôi đến mặc định "Chào mừng" – ReynierPM
Có nhưng quan điểm của tôi là bạn đã chỉ tất cả 3 tên miền vào '/ var/www/html' để chúng NÊN tất cả đi đến cùng một Máy chủ ảo, cùng một vị trí với vị trí lưu trữ cục bộ mặc định của bạn. Vì vậy, làm thế nào để bạn biết nếu định nghĩa máy chủ ảo đang làm việc? Vì vậy, nếu bạn tạo 3 VHOST khác nhau, tất cả chỉ vào một thư mục diffeent bạn sẽ biết cái nào thực sự hoạt động và cái nào thì không. – RiggsFolly
Vâng logic của tôi nói nếu cả ba tên miền trỏ đến cùng một địa chỉ và địa chỉ đó có tệp 'index.php' nếu tôi gọi máy chủ web hoặc localhost hoặc máy chủ devserver thì nên hiển thị trang chỉ mục hay không? Có lẽ tôi sai, ngay bây giờ tôi đang gặp một vấn đề khác và tôi nghĩ đó là vấn đề, đây là thông điệp tôi nhận được 'Unknown Authz provider: 192.168.3' – ReynierPM