如何将Apache Web根移动到Debian 8上的新位置

介绍

在Debian 8,Apache2的Web服务器中存储的文件, /var/www/html默认。此目录与操作系统的其余部分位于根文件系统上。您可能需要将文档根目录移动到其他位置,例如单独安装的文件系统。例如,如果您从同一个Apache实例提供多个网站,将每个站点的文档根目录放在自己的卷上,您可以根据特定站点或客户端的需求进行扩展。 在本指南中,您将通过移动文件和更改Apache的配置文件将Apache文档根目录移动到新位置。

先决条件

要完成本指南,您需要:
  • 一个Debian 8服务器与非root用户sudo权限。 您可以了解更多有关如何设置这些权限的用户在我们与Debian 8 初始服务器设置指南。
  • 一个Apache2的Web服务器:如果您尚未设置一个,深入的文章,是在Apache的部分如何安装Linux,Apache,MySQL和PHP在Debian 8(LAMP) ,可以指导你。
  • 文档根目录的新位置:根据您的需要,新的文档根目录位置是完全可配置的。如果将文档根目录移动到其他存储设备,则需要在设备的装载点下选择一个位置。
在本教程中,我们将使用目录 /mnt/volume-nyc1-01 ,指向连接到服务器的块存储卷。 如果您想使用块存储来保存您的网页,完成教程 如何使用块存储上DigitalOcean ,然后再继续安装驱动器。

第1步 - 将文件复制到新位置

在全新安装的Apache,文档根目录位于 /var/www/html 。但是,如果您使用现有的服务器,则可能有明显不同的设置,包括相应VirtualHost指令中的多个文档根目录。 您可以搜索的使用附加文档根目录位置 grep 。 在搜索 /etc/apache2/sites-enabled目录中的重点,限制使用下面的命令活性位点:
grep -R "DocumentRoot" /etc/apache2/sites-enabled
-R标志,可以确保 grep将打印DocumentRoot的,并在其输出的文件名。 结果将类似于以下内容,尽管结果的名称和数量在现有安装中可能不同:
Outputsites-enabled/000-default.conf   DocumentRoot /var/www/html
从使用反馈 grep ,以确保你移动,你要移动的文件,并更新其相应的配置文件。 现在,你已经确定你的文档根目录的位置,将文件复制到新的位置用 rsync 。 首先,安装 rsync
sudo apt-get install rsync
然后执行此命令复制文件:
sudo rsync -av /var/www/html /mnt/volume-nyc1-01
使用 -a标志保留的权限和其他目录属性,而 -v提供详细输出,以便能够按照进度。 了解更多有关使用 rsync教程 如何使用Rsync在同步上一个VPS本地和远程目录注意:确保没有对目录没有尾随斜线,如果你使用制表符完成可以加入。当有一个结尾的斜线, rsync将转储目录复制到安装点,而不是转移成一个包含内容html目录: 文件现在在其新位置,但Apache仍在旧位置,所以让我们解决这个问题。

第2步 - 更新配置文件

Apache2使用全局和站点特定的配置文件。有关配置文件的层次背景,看看 如何配置的Ubuntu或Debian的VPS在Apache Web服务器 。 如果你使用现有的安装工作,你应该修改先前的发现虚拟主机文件 grep命令。 在这个例子中,我们将看看在默认情况下,与Apache附带的两个虚拟主机文件 000-default.confdefault-ssl.conf 。 通过编辑启动 000-default.conf文件:
sudo nano /etc/apache2/sites-enabled/000-default.conf
查找开头的行 DocumentRoot并用新的位置更新:
/etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
 ...
        ServerAdmin webmaster@localhost
        DocumentRoot /mnt/volume-nyc1-01/html
接下来,寻找一个 Directory块也指向原始路径,并更新为指向新的路径。 在全新安装,没有 Directory的默认站点条目。将以下代码添加到配置文件中,以便Apache可以从您的新位置提供文件:
/etc/apache2/sites-enabled/000-default.conf
 ...
     ServerAdmin webmaster@localhost
     DocumentRoot /mnt/volume-nyc1-01/html

     <Directory />
         Options FollowSymLinks
         AllowOverride None
     </Directory>
     <Directory /mnt/volume-nyc1-01/html/>
         Options Indexes FollowSymLinks MultiViews
         AllowOverride None
         Require all granted
    </Directory>
 ...
第一个 Directory块设置一些制约默认权限,而第二块配置在新的Web根目录的选项 /mnt/volume-nyc1-01/html/ 注意:您应该寻找其他地方的原始路径出现了,并改变那些到新的位置为好。除了DocumentRootDirectory设置,您可能会发现类似的东西别名和需要更新重写了。无论你看到的输出的原始文档根目录的路径grep ,你要更新路径,以反映新的位置。 进行必要的更改后,保存文件。 接下来,我们将关注SSL配置。在全新安装,SSL将不进行任何配置,但你可能会想要更新的 ssl-default.conf文件,以避免一些问题以后,如果你不记得,你需要做出改变。 注意:如果不启用SSL,那么ssl-default.conf文件只位于/etc/apache2/sites-available.如果启用了SSL sudo a2ensite ssl-default ,被从文件中创建一个符号链接sites-available/etc/apache2/sites-enabled在这种情况下,您可以从任一目录编辑文件。 编辑文件:
sudo nano /etc/apache2/sites-available/ssl-default.conf
然后,让你做以前,同样的变化通过改变 DocumentRoot ,并确保 Directory规则被正确配置:
/etc/apache2/sites-available/ssl-default.conf
 ...
<IfModule mod_ssl.c>
  <VirtualHost _default_:443>
     ServerAdmin webmaster@localhost
     DocumentRoot /mnt/volume-nyc1-01

     <Directory />
         Options FollowSymLinks
         AllowOverride None
     </Directory>
     <Directory /mnt/volume-nyc1-01/html/>
         Options Indexes FollowSymLinks MultiViews
         AllowOverride None
         Require all granted
    </Directory>
 ...
完成配置更改后,请使用以下命令确保语法正确:
sudo apachectl configtest
您将看到如下输出:
OutputAH00558: apache2: Could not reliably determine the server's fully qualified domain name, 
using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK
在默认安装中,您将看到上面的消息,您可以安全地忽略它。只要你看到 Syntax OK ,重新启动Web服务器。否则,跟踪并修复它报告的问题。 使用以下命令重新启动Apache:
sudo systemctl reload apache2
服务器重新启动后,访问受影响的网站,确保其正常工作。一旦你舒服一切都是为了,不要忘了删除数据的原始副本。

结论

在本教程中,您将Apache文档根更改为新位置。这可以帮助您进行基本的Web服务器管理,例如在单个服务器上有效地托管多个网站。它还允许您利用备选存储设备,如网络块存储,这是在其网站需求变化时扩展网站的重要步骤。 如果你管理繁忙或成长的网站,你可能有兴趣在学习 如何进行负载测试您的Web服务器 ,以找出性能瓶颈在生产中遇到他们之前。 您还可以了解更多有关提高的这种比较的生产经验 五种方式来改善你的生产Web应用程序服务器设置
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏