Spe*_*ley 231 linux apache lamp
有谁知道如何更改Apache服务器的文档根目录?我基本上想localhost从/users/spencer/projects目录来代替/var/www.
我最终搞清楚了.有人建议我更改httpd.conf文件,但我最终找到了一个文件,/etc/apache2/sites-available/default并将根目录更改为/var/www,/home/myusername/projects_folder并且工作正常.
moz*_*ozz 254
请注意,这仅适用于Ubuntu 14.04 LTS和更新版本.
在我的Ubuntu 14.04 LTS中,文档根目录设置为/var/www/html.它在以下文件中配置:
/etc/apache2/sites-available/000-default.conf
Run Code Online (Sandbox Code Playgroud)
所以,做一个
sudo nano /etc/apache2/sites-available/000-default.conf
Run Code Online (Sandbox Code Playgroud)
并将以下行更改为您想要的:
DocumentRoot /var/www/html
Run Code Online (Sandbox Code Playgroud)
还做一个
sudo nano /etc/apache2/apache2.conf
Run Code Online (Sandbox Code Playgroud)
找到这个
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)
并更改/var/www/html为您的首选目录
并保存.
保存更改后,只需重新启动apache2 webserver即可完成:)
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
sudo nanoa gksu gedit.
RDL*_*RDL 204
您需要更改文件中的DocumentRoot设置httpd.conf.可能会有类似的事情/etc/apache2/conf/httpd.conf
使用您最喜欢的编辑器(我推荐Vim)并查找DocumentRoot并将其更改为/users/spencer/projects.还可以向下看一下看起来像这样的设置:
<Directory "/var/www">
Run Code Online (Sandbox Code Playgroud)
您还需要更改新目录的引号内容.当用户发出调用它的请求时,这使Apache访问该目录.
现在重启你的apache服务(httpd -k restart),你应该好好去.
编辑:Apache2站点配置文件现在通常保存在/etc/apache2/sites-available/ (Debian,Ubuntu等)中.
Nic*_*ick 42
我不得不编辑/etc/apache2/sites-available/default.这些行与RDL提到的相同.
and*_*fat 20
这是Ubunutu 14.04:
在文件中,/etc/apache2/apache2.conf它应该如下没有目录名称:
<Directory /home/username>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)
在文件中/etc/apache2/sites-available/000-default.conf你应该包括自定义目录名称,即www:
DocumentRoot /home/username/www
Run Code Online (Sandbox Code Playgroud)
如果不是如上所述,它将在加载服务器时出现错误:
Forbidden You don't have permission to access / on this server
lor*_*vcs 12
在apache2的不同端口下更改目录或从多个目录运行的正确方法如下:
对于apache2,配置文件位于/etc/apache2旧版本下并且不使用单个配置文件,但是将其拆分为较小的配置文件,/etc/apache2/apache2.conf作为主配置文件.要从不同的目录提供文件,我们需要一个新的虚拟主机配置文件.virtualhost conf文件位于/etc/apache2/sites-available(不要编辑已启用站点的文件).默认的apache安装使用virtualhost conf文件000-default.conf.
首先,通过复制默认安装的apache(在端口80上的localhost上运行的文件)使用的默认虚拟主机文件来创建新的虚拟主机文件.转到目录/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>
Run Code Online (Sandbox Code Playgroud)
为简洁起见,我删除了上述文件中的非重要行.以下DocumentRoot是从中提供网站文件的目录的路径,例如index.html.
创建要从中提供文件的目录,例如; mkdir example.com并更改目录的所有者和默认组,例如,如果您的登录用户名是ubuntu更改权限sudo chown ubuntu:www-data example.com.这将授予对用户的完全访问权限,ubuntu并允许对组进行读取和执行访问www-data.
现在/etc/apache2/apache2.conf通过发出命令编辑apache conf文件sudo gedit apache2.conf并找到该行<Directory /var/www/>并在结束标记</Directory>下面添加以下内容:
<Directory /home/ubuntu/example.com>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)
现在有两个命令可以启用或禁用virtualhost配置文件,分别是a2ensite和a2dissite.现在,由于我们的example.com.conf文件使用80默认配置文件(000-default.conf)使用的相同port(),我们必须通过发出命令来禁用默认配置文件sudo a2dissite 000-default.conf并启用我们的虚拟主机配置文件sudo a2ensite example.com.conf
现在使用命令重新启动或重新加载服务器sudo service apache2 restart.现在阿帕奇提供从目录中的文件example.com时localhost的默认端口上80.
该a2ensite命令基本上创建了一个指向启用站点的目录下的conf文件的符号链接
不要在启用站点的(或*-enabled)directoy中编辑文件,如此答案中所述/sf/answers/2909809101/
现在,如果您需要在其他端口上运行该目录,请通过将virtualhost文件编辑为:将端口号从80更改为8080:
<VirtualHost *:8080>
ServerAdmin user@localhost
DocumentRoot /home/ubuntu/work
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
与编辑/etc/apache2/ports.conf和添加Listen 8080只是线下Listen 80
现在我们可以启用在端口80上运行的默认virtualhost conf文件,因为example.com目录使用端口8080,如 sudo a2ensite 000-default.conf
现在使用命令重新启动或重新加载服务器sudo service apache2 restart.现在可以从localhost和访问这两个目录localhost:8080
| 归档时间: |
|
| 查看次数: |
673818 次 |
| 最近记录: |