如何修改Apache服务器的根目录?

如何修改Apache服务器的文档根目录?我基本上希望localhost来自/users/spencer/projects目录,而不是/var/www


我终于弄明白了。有些人建议我更改httpd.conf文件,但我最终在/etc/apache2/sites-available/default中找到了一个文件,并将根目录从/var/www更改为/home/myusername/projects_folder,这是有效的。

828419 次浏览

你需要改变你的httpd.conf文件中的DocumentRoot设置。它可能会在/etc/apache2/conf/httpd.conf下面。

使用你最喜欢的编辑器(我推荐Vim),寻找DocumentRoot并将其更改为/users/spencer/projects。再往下看一点,是这样的设置:

<Directory "/var/www">

您还需要将引号中的内容更改到新目录中。这使Apache能够在用户发出调用该目录的请求时从该目录读取数据。

现在重新启动你的Apache服务(httpd -k restart),你应该很好。

Apache 2站点配置文件现在通常保存在/etc/apache2/sites-available/中(Debian, Ubuntu等)。

我必须编辑/etc/apache2/sites-available/default。这些行与RDL提到相同。

如果你找不到http.conf并执行尼克的方式

使用sudo service apache2 restart重新启动Apache。

我正在使用更改文档根文件夹 . txt,我已经编辑了默认的文件,该文件在 /etc/apache2/sites-available < /强>文件夹中。

如果你想做同样的事情,只需编辑如下:

DocumentRoot /home/username/new_root_folder
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/username/new_root_folder>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

在此之后,如果您输入“;localhost"在浏览器中,它将加载< >强/ home /用户名/ new_root_folder < / >强内容。

如果有人在/opt文件夹中安装了,那么/etc/apache2文件夹不是你要找的。

在文件夹/opt/lampp/etc中查找httpd.conf文件。

更改此文件夹中的行,并从终端保存它。

请注意,这只适用于Ubuntu 14.04 LTS (Trusty Tahr)和更新的版本。

在我的Ubuntu 14.04 LTS中,文档根目录被设置为/var/www/html。它在以下文件中配置:

/etc/apache2/sites-available/000-default.conf

所以只要做一个

sudo nano /etc/apache2/sites-available/000-default.conf

然后把下面这行改为你想要的:

DocumentRoot /var/www/html

也做一个

sudo nano /etc/apache2/apache2.conf

找到这个:

<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

并将/var/www/html更改为您的首选目录并保存它。

保存更改后,只需重新启动Apache 2 web服务器,就可以完成了:)

sudo service apache2 restart

如果你更喜欢图形文本编辑器,你可以用gksu gedit替换sudo nano

红帽Linux 7.0中:/etc/httpd/conf/httpd.conf

这是为Ubuntu 14.04 (Trusty Tahr):

在文件/etc/apache2/apache2.conf中,它应该如下所示,不包含目录名:

<Directory /home/username>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

在文件/etc/apache2/sites-available/000-default.conf中,你应该包含自定义目录名,即www:

DocumentRoot /home/username/www

如果不是如上所述,它会在加载服务器时给你一个错误:

禁止您没有访问此服务器的权限

对于Linux Mint 17.3 肉桂 64位上的Apache 2,以下工作:

  1. /etc/apache2/sites-available/中打开000-default.conf文件,并将文档根更改为您目录的绝对路径。

    sudo vim /etc/apache2/sites-available/000-default.conf

  2. 在文件夹/etc/apache2/中打开文件httpd.conf,并添加一个引用您的目录的<Directory>标记,并包含与var/www标记完全相同的设置。

     sudo vim /etc/apache2/apache2.conf
    

    在我的机器上是这样的:


     <Directory /home/my_user_name/php/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
    </Directory>
    

在第一步中,为了SSL的目的,你可能想要改变default-ssl.conf文件中的文档根。但据我所知,这并不是让一个通用开发环境运行所必需的。

在Apache 2.4.18 (Ubuntu)版本中。

  1. 打开/etc/apache2/apache2.conf文件 搜索<Directory /var/www/>并将其替换到您的目录

  2. 打开文件000 - default.conf /etc/apache2/sites-available /,搜索DocumentRoot /var/www/html并用你的DocumentRoot替换它。

我已经将/var/www设置为到所需目录的软链接(例如,/users/username/projects),之后一切都很好。

然而,自然地,原始的/var/www需要被删除-或重命名。

如果你正在使用Linux Mint(个人意见,从所有发行版来看,这个版本让我很高兴),遵循以下命令:

  1. 进入文件夹/etc/apache2/sites-available,编辑文件000 - default.conf
  2. 搜索DocumentRoot,例如DocumentRoot /var/www/html。您更改到您各自的目录;
  3. 打开一个终端并输入:sudo service apache2 restart

在Linux Mint中,你去找文件/etc/apache2/apache.conf。将/var/www替换为您各自的路径,然后重新启动服务器(步骤3)。

就是这样。

Apache 2在不同端口下切换目录或从多个目录运行的正确方法如下:

对于Apache 2,配置文件位于/etc/apache2之下,不像旧版本中那样使用单个配置文件,而是分成多个较小的配置文件,其中/etc/apache2/apache2.conf是主要配置文件。为了从不同的目录提供文件,我们需要一个新的virtualhost conf文件。虚拟主机配置文件位于/etc/apache2/sites-available中(不要在sites-enabled内编辑文件)。Apache默认安装使用的是virtualhost conf文件000-default.conf

首先,复制Apache默认安装所使用的默认虚拟主机文件(在localhost上的80端口上运行的虚拟主机文件),创建一个新的虚拟主机文件。进入目录/etc/apache2/sites-available,然后通过sudo cp 000-default.conf example.com.conf进行复制,现在通过sudo gedit example.com.conf编辑文件到:

<VirtualHost *:80>
ServerAdmin example@localhost
DocumentRoot /home/ubuntu/example.com
</VirtualHost>

为了简洁起见,我从上面的文件中删除了不重要的行。这里的DocumentRoot是网站文件要提供的目录的路径,例如index.html

创建要存放文件的目录,例如mkdir example.com,并更改目录的属主和默认组,例如,如果您登录的用户名为ubuntu,则更改权限为sudo chown ubuntu:www-data example.com。这将授予用户ubuntu的完全访问权,并允许对组www-data的读取和执行访问权。

现在通过发出命令sudo gedit apache2.conf编辑Apache配置文件/etc/apache2/apache2.conf,并找到<Directory /var/www/>行和结束标记</Directory>下面的行,添加以下内容:

<Directory /home/ubuntu/example.com>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>

现在有两个命令来启用或禁用虚拟主机配置文件,分别是a2ensitea2dissite。现在,由于我们的example.com.conf文件与默认配置文件(000-default.conf)使用相同的端口(80),我们必须通过发出sudo a2dissite 000-default.conf命令来禁用默认配置文件,并通过sudo a2ensite example.com.conf启用虚拟主机配置文件

现在使用sudo service apache2 restart命令重新启动或重新加载服务器。现在Apache提供的文件来自example.com目录下的localhost,默认端口为80

a2ensite命令基本上创建了一个到启用站点的目录下的配置文件的符号链接。

不要编辑sites-enabled(或*-enabled)目录中的文件,如这个答案中指出的那样。

更改端口并在不同端口的多个目录下运行:

现在如果你需要在不同的端口上运行目录,通过编辑虚拟主机文件将端口号从80更改为8080:

<VirtualHost *:8080>
ServerAdmin user@localhost
DocumentRoot /home/ubuntu/work
</VirtualHost>

编辑/etc/apache2/ports.conf并在Listen 80行下面添加Listen 8080

现在,我们可以启用运行在端口80上的默认虚拟主机配置文件,因为example.com目录使用端口8080,作为sudo a2ensite 000-default.conf

现在使用sudo service apache2 restart命令重新启动或重新加载服务器。现在这两个目录都可以从localhostlocalhost:8080访问。

如果您正在使用Ubuntu 16.04 (Xenial Xerus),请更新/etc/apache2/sites-available目录下的000 - default.conf文件。

这里→

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/YourFolder < / p >

以下内容适用于Ubuntu 14.04 (Trusty Tahr)及以后的版本。在进行任何更改之前,请确保备份以下文件。

  1. 打开/etc/apache2/apache2.conf并搜索<Directory /var/www/>指令并将path替换为/home/<USERNAME>/public_html。你可以用*代替。

  2. 打开/etc/apache2/sites-available/000-default.conf并将DocumentRoot值属性从/var/www/html更改为/home/<USERNAME>/public_html。还有<Directory /var/www/html><Directory /home/<USERNAME>/public_html

  3. < p > /etc/mods-available/php7.1.conf开放。查找并注释以下代码

    php_admin_flag engine Off

不要将php_admin_flag engine OFF标志转换为,原因在指令代码上面的注释中提到了。此外,PHP版本可以是5.0、7.0或任何您已经安装的版本。

home/<USERNAME>中创建public_html目录。

执行sudo service apache2 restart命令重新启动Apache服务。

在服务器上运行示例脚本进行测试。