正确的步骤,以从Fedora中的$ HOME提供Apache虚拟主机

时间:2018-11-07 09:10:30

标签: apache virtualhost fedora

我正在测试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的成员,并且对上述路径具有适当的权限。

无论如何,我将不胜感激。你能给我一个提示吗? :)

0 个答案:

没有答案