我正在测试Fedora 29(在过去的十年中我一直是Debian的用户)进行Web开发,而要使虚拟主机在Apache中正常工作确实很困难(我想这是缺乏理解的)坦白讲,就我而言)。
这是我要使用的文件夹结构(我知道我偏离了标准的/ var / www / html的处理方式):
/home
/julio
/Projects
/Web
/meca-innotech.com
到目前为止,为了使用虚拟主机,我创建了“基本”文件夹和符号链接(仅一个用于测试):
/etc
/httpd
/sites-available
meca-innotech.com.conf
template.conf
/sites-enabled
meca-innotech.com.conf -> /etc/httpd/sites-available/foo.conf
为此,我还对/etc/httpd/conf/httpd.conf
进行了更改:
# Virtual host definitions
IncludeOptional sites-enabled/*.conf
我的虚拟主机定义如下:
<VirtualHost *:80>
ServerName meca-innotech.com
DocumentRoot /home/julio/Projects/Web/meca-innotech.com
</VirtualHost>
为了确保Apache可以针对有效的FQDN进行解析,我在/etc/hosts
中添加了正确的行:
192.168.1.77 jmecahansen-E1-570G.meca-innotech.com jmecahansen-E1-570G
127.0.0.1 meca-innotech.com
我还配置了/etc/sysconfig/network
:
HOSTNAME=jmecahansen-E1-570G
我运行了httpd -S
,但没有显示任何错误。我还通过sudo systemctl start httpd
启动了Apache服务,一切正常。
问题是我可能没有正确的权限,或者缺少我自己看不到的东西。例如,我已经阅读(因此,博客文章,一些Google网站和/var/log/httpd/error_log
的输出),您的主目录至少必须是可执行的。这意味着/home/julio
目录需要更改为710或711。
我读过的另一件事是Apache需要与您的用户组相关,因此我尝试使用usermod -a -G julio apache
,但这似乎无济于事。
其他信息来源指出,您需要启用Apache Userdir扩展并运行一些我完全不了解的与SELinux相关的命令。
也许我做的太过分了,所有事情都减少了,以遵循标准的/var/www/html
路径,并确保我的用户是Apache的成员,并且对上述路径具有适当的权限。
无论如何,我将不胜感激。你能给我一个提示吗? :)