我是Linux新手,我陷入了Apache 2.2版虚拟主机configuration的困境。
在我的本地/ var / www我有2个网站(和默认的本地主机)在各自的目录中:
/var/www/importer /var/www/foostore
导入程序是安装在daxstore目录中的Opencart的导入程序,我正在开发它。 我想要两个不同的网站工作,所以我复制了文件
/etc/apache2/sites-available/default
将其重命名为“importer”和“foostore”,然后将其编辑为:
<VirtualHost importer:80> ServerAdmin webmaster@localhost ServerName importer DocumentRoot /var/www/importer/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/importer> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel debug CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory>
切换对方的名字。 然后我编辑/ etc / hosts如下:
127.0.0.1 localhost 127.0.1.1 VirtualHD 127.0.0.1 foostore 127.0.0.1 importer
然后我给出的命令:
sudo a2ensite importer sudo a2ensite foostore sudo service apache2 restart
和Apache的权利。 当我尝试访问这两个网站时,浏览器redirect到foostore站点(也找不到某些文件,但这是另一个问题)。 我错在哪里?
谢谢先生。
将两个站点configuration的<VirtualHost>
块从<VirtualHost importer:80>
更改为<VirtualHost *:80>
,并确保在每个文件中都有正确的ServerName
指令。 重新加载Apache。
如果没有帮助,请检查access.log
和error.log
以获取有关Apache实际正在执行的操作的信息。
首先,确保你的/etc/apache2/ports.conf文件中有一个NameVirtualHost *:80
行。 然后尝试在您的configuration中将<VirtualHost importer:80>
更改为<VirtualHost *:80>
。
先使用a2dissite site
禁用这两个a2dissite site
打开default
文件,并将以下内容添加到顶部。 好而简单。 如果您想稍后将其移入自己的conf文件或更改安全性,则欢迎您进行testing。
<VirtualHost *:80> ServerName importer DocumentRoot /var/www/importer </VirtualHost> <VirtualHost *:80> ServerName foostore DocumentRoot /var/www/foostore </VirtualHost>
然后重启apache service apache2 restart