如何更改apache服务器的根目录?
有谁知道如何更改Apache服务器的文档根目录? 我基本上希望localhost来自/users/spencer/projects目录而不是/var/www 。 
编辑
 我终于搞清楚了。 有人build议我更改httpd.conf文件,但是我最终在/etc/apache2/sites-available/defaultfind了一个文件,并将根目录从/var/www更改为/home/myusername/projects_folder并且工作正常。 
 您需要更改httpd.conf文件中的DocumentRoot设置。 有可能是像/etc/apache2/conf/httpd.conf东西 
 使用你最喜欢的编辑器(我推荐Vim )并查找DocumentRoot ,并将其更改为/users/spencer/projects 。 再看下去,看起来像这样的设置: 
 <Directory "/var/www"> 
您还将要更改引号中的内容到您的新目录。 当用户发出调用请求时,这使得Apache可以从该目录读取数据。
 现在重新启动你的Apache服务( httpd -k restart ),你应该很好。 
  编辑 :Apache2站点configuration文件现在通常保存在/etc/apache2/sites-available/ (Debian,Ubuntu等)中。 
请注意,这只适用于Ubuntu 14.04 LTS和更新的版本。
 在我的Ubuntu 14.04 LTS中,文档根目录被设置为/var/www/html 。 它被configuration在以下文件中: 
 /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 
并find这个
 <Directory /var/www/html/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> 
 并将/var/www/html更改为您的首选目录 
并保存。
保存更改后,只需重新启动apache2networking服务器即可完成
 sudo service apache2 restart 
 如果你喜欢graphics化的文本编辑器,你可以用gksu geditreplacesudo nano 。 
 我不得不编辑/etc/apache2/sites-available/default 。 这些行与RDL提到的相同。 
这是Ubunutu 14.04:
 在文件/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 
 如果不是如上所述,加载服务器时会出现错误: Forbidden You don't have permission to access / on this server 
对于Linux上的 apache2 Mint 17.3 Cinnamon 64位以下作品:
- 
在 /etc/apache2/sites-available/打开000-default.conf文件,并将Document Root更改为目录的绝对path。sudo vim /etc/apache2/sites-available/000-default.conf
- 
在 /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> 
  注意:在第一步中,您可能希望更改default-ssl.conf文件中的Document Root以及SSL目的。 但据我所知,这并不是要求运行一般的开发环境。 
我正在使用LAMP,并且要更改Document Root文件夹,我编辑了默认文件,它位于/ 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> 
在此之后,如果您在浏览器中inputlocalhost,则会加载* / home / username / new_root_folder *内容。
 如果你找不到http.conf并按照Nick的方式。 
 使用sudo service apache2 restart启动Apache 
更改目录或从不同端口下的多个目录运行apache2的正确方法如下:
 对于apache2,configuration文件位于/etc/apache2 ,不像旧版本那样使用单个configuration文件,而是分割成较小的configuration文件,其中/etc/apache2/apache2.conf是主configuration文件。 要从不同目录提供文件,我们需要一个新的虚拟主机configuration文件。 虚拟主机conf文件位于/etc/apache2/sites-available (不要编辑站点启用的文件)。 默认的apache安装使用虚拟主机configuration文件000-default.conf 。 
 通过复制缺省安装的apache(在端口80上运行在本地主机上的缺省安装)使用的默认虚拟主机文件来创build新的虚拟主机文件。 转到目录/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> 
为了简洁起见,我从上面的文件中删除了非重要的行。
 创build您想从中提供文件的目录,例如;  mkdir example.com并更改目录的所有者和默认组,例如,如果您的login用户名是ubuntu更改权限为sudo chown ubuntu:www-data example.com 。 这将授予用户ubuntu完全访问权限,并允许读取和执行对组www-data访问。 
 现在通过发出命令sudo gedit apache2.conf编辑apache conf文件/etc/apache2/apache2.conf ,find<Directory /var/www/>这一行,并在结束标记</Directory>的下面添加以下内容: 
 <Directory /home/ubuntu/example.com> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Directory> 
 现在有两个命令来启用或禁用虚拟主机configuration文件,分别是a2ensite和a2dissite 。 现在,因为我们的example.com.conf文件使用与默认configuration文件( 000-default.conf )相同的端口( 80 ),所以我们必须通过发出命令sudo a2dissite 000-default.conf来禁用默认configuration文件并通过sudo a2ensite example.com.conf启用我们的虚拟主机configuration文件 
 现在使用命令sudo service apache2 restart启动或重新加载服务器。 现在,apache在默认端口为80 localhost上从example.com目录提供文件。 
  a2ensite命令基本上在站点启用的目录下创build一个到conf文件的符号链接 
不要编辑启用了站点的文件(或* -enabled)directoy,正如在这个答案中指出的那样https://stackoverflow.com/a/41568701/2532763
要更改端口并从不同端口上的多个目录运行:
现在,如果您需要在其他端口上运行目录,请将端口号从80更改为8080,方法是编辑虚拟主机文件为:
 <VirtualHost *:8080> ServerAdmin user@localhost DocumentRoot /home/ubuntu/work </VirtualHost> 
 编辑/etc/apache2/ports.conf并在Listen 80下面添加Listen 8080 
 现在,我们可以启用在端口80上运行的默认虚拟主机conf文件,因为example.com目录使用端口8080,如sudo a2ensite 000-default.conf 
 现在使用命令sudo service apache2 restart启动或重新加载服务器。 现在可以从localhost和localhost:8080访问这两个目录 
 如果有人在/opt文件夹中安装了LAMP ,那么/etc/apache2不是你正在寻找的。 
 在/opt/lampp/etc/httpd.conf查找httpd.conf文件。 
更改此文件夹中的行并从terminal保存。
在Apache版本2.4.18(Ubuntu)。
  1.go到这个文件/etc/apache2/apache2.confsearch<Directory /var/www/>并replace到你的目录…… 
  2.go到/etc/apache2/sites-available/000-default.confsearchDocumentRoot /var/www/html并replace为您的DocumentRoot …. 
 在RedHat 7.0中: /etc/httpd/conf/httpd.conf 
 我已经使得/var/www成为所需目录的软连接(例如/users/username/projects ),而且之后的事情都很好。 
 然而,自然,原始的/var/www需要被删除 – 或重新命名。 
如果你使用的是Linux Mint(个人认为,所有的发行版都让我高兴),请按照下面的步骤操作:
1-进入/ etc / apache2 / sites-available并编辑000-default.conf 2-searchDocumentRoot,例如DocumentRoot / var / www / html更改到各自的目录; 3-打开terminal,input:sudo service apache2 restart
编辑—–我意识到,在Mint你去/etc/apache2/apache.conf,replace/ var / www到你的path,比重新启动服务器(步骤3)。
而已。
如果你是(像我)通过谷歌find这个职位:
我在/etc/apache2/sites-available/000-default.conffind它