背景:
我已经安装了apache2并尝试设置虚拟目录...但是当我尝试测试不同的站点时,我不断收到404错误消息。
我一直关注的文章/教程位于:https://www.digitalocean.com/community/tutorials/how-to-configure-the-apache-web-server-on-an-ubuntu-or-debian-vps
我具有以下文件夹结构:
/var/www/webtest.com/test.html
/var/www/ttimes.com/test.php
在/ etc / apache2 / sites-available文件夹中,我具有以下配置文件:
jmj@cp-AOA150:/etc/apache2/sites-available$ ls -lah /var/www/
total 44K
drwxr-xr-x 9 root root 4.0K Jul 28 21:37 .
drwxr-xr-x 15 root root 4.0K Jul 28 19:54 ..
drwxr-xr-x 2 root root 4.0K May 11 2013 current
drwxr-xr-x 2 root root 4.0K Apr 3 08:21 html
-rwxr-xr-x 1 root root 177 Nov 23 2013 index.html
-rwxr-xr-x 1 root root 124 Jul 28 20:14 test.php
drwxr-xr-x 5 jmj root 4.0K Jun 6 11:58 ttimes.com
drwxr-xr-x 2 jmj root 4.0K Jul 28 21:21 webtest.com
这是webtest.com.conf文件的外观:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName webtest.com
ServerAlias www.webtest.com
DocumentRoot /var/www/webtest.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
这是我的主机文件的外观:
127.0.0.1 localhost
127.0.1.1 cp-AOA150
这都只是在本地开发框中,我想在/ var / www下有多个站点。网站开发完成后,我将其移至托管公司。我目前没有其他IP地址要添加,因此我跳过了添加VPS服务器IP的步骤。
我能够成功运行
sudo a2ensite webtest.com.conf
命令,我重新启动apache。
但是当我通过输入http://localhost/webtest.com/test.html
进入网站时,出现404未找到错误。
到目前为止,我已经尝试过:-我已审阅文章,以确保我没有错过任何步骤。-通过转到http://localhost.
来证明apache本身在工作,我得到的页面显示为:
Index of /
[ICO] Name Last modified Size Description
Apache/2.4.7 (Ubuntu) Server at localhost Port 80
然后我停止apache服务并尝试相同的URL。它失败。
您已将其设置为指向webtest.com的虚拟主机,但您正在尝试通过localhost /访问它。使用VirtualHost时,该路径中不存在它。
最简单的方法是编辑/ etc / hosts文件,为webtest.com创建本地DNS条目。在该文件中添加一行,如下所示:
127.0.0.1 webtest.com
然后将浏览器指向webtest.com,您应该会看到您的网站。
您可能需要编辑/etc/apache2/apache2.conf
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
并将其更改为;
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
然后,
sudo service apache2 restart
您可能还需要执行sudo a2enmod rewrite
以启用模块重写。”