我有一位客户希望我更新他们的Drupal网站。我之前从未这样做过,我想在本地机器上处理它,以防出现问题。我不知道从哪里开始!
首先,我如何访问我客户的网站文件,以便将它们放到我的电脑上?我尝试输入客户给我进入Cyberduck的信息,但它不能让我访问。还有其他方法可以访问吗?
另外,我如何在本地托管?我有XAMPP,但我不确定如何使用它。
话虽这么说,我找到了一些可以帮助我设置本地服务器的论坛。我只是不知道如何将文件从实时服务器传送到我的电脑。
我知道这是一个超级noob问题,但我可以使用帮助。谢谢!
答案 0 :(得分:1)
嗯,对于基本问题,您必须从客户端获取正确的凭据。没有其他选择,真的:D
虽然您正在使用它,但您也需要该网站数据库的副本。
问题"我如何在本地托管?"这就是我要怎么做的。
鉴于您获得了(S)FTP凭据,我猜测该网站不受版本控制。如果这是正确的,那么这可能是你要做的第一件事。这样,您就可以跟踪自己在本地网站上与生产版本不同的更改。
git init
。.gitignore
个文件添加到该文件夹(您可以创建自己的文件,或使用one customized for Drupal)。git commit -am "First commit of Drupal files to repository."
有一个很好的help page about working with Drupal in git on drupal.org。
settings.php
或settings.local.php
中记录数据库凭据并将其存储在安全的地方,最好是在密码管理器中。更改settings.php
或settings.local.php
中的数据库凭据,以匹配您刚刚创建的数据库的凭据。
(为了安全起见并避免混淆,我总是使用与实际网站不同的名称,用户和密码创建本地数据库。这意味着如果您的本地凭据遭到入侵,则实时网站不是,并且这意味着您无法偶然连接并更改实时网站的数据库 。)
example.local
指向包含文件index.php
在计算机上添加以下行名为/etc/hosts
的文件:
127.0.0.1 example.local
通过访问例如,在浏览器中测试这是否有效http://example.local
或http://example.local/robots.txt
。
您将如何做到这一点在某种程度上取决于您客户的网络托管基础架构,以及您的客户端使用的Drupal版本。但无论如何,对于您所做的更改,您将有三个不同的顾虑:
代码更改
您需要将对代码所做的更改部署回服务器。理想情况下,你可能会通过Git直接克隆到实时网站或者(更好!)作为自动构建过程的一部分。听到它的声音,你可能只需将备份FTP更新。
小心不要重新上传修改后的settings.php
或settings.local.php
文件!
内容更改
您可能必须在本地测试部分/全部内容更改,然后在实际网站上重新创建。由于您的客户可能在您工作时对实际网站进行了更改,因此您无法冒险将本地数据库导入实际网站。
配置更改
如果可能的话,应该在代码中管理对配置的更改(即,作为 1。代码更改的一部分)。在Drupal 7中,the Features module通常是实现此目标的最佳方式(此处为an answer I wrote describing the Features workflow)。 Drupal 8有the Configuration Manager。请注意,这两个工具使用起来都很棘手。
答案 1 :(得分:0)
您的客户端需要授予您访问文件的权限,以便您可以将它们放入XAMPP上的htdocs,然后您需要数据库(也由客户端提供),启动XAMPP,在localhost/phpMyAdmin
上创建一个新数据库,导入站点的数据库。在proyect代码上转到sites/default/settings
并将数据库设置更改为本地设置。然后你可以去localhost/{your-proyect}
它应该工作。