本页面解释了如何创建新的 CRAN 镜像,这相当简单。如果您想成为官方 CRAN 镜像,请务必仔细阅读并遵循以下说明。您应该获得您的托管公司(如果您不是托管公司本身)的同意,并准备好应对相当大的带宽使用量。CRAN 的完整大小在 2024-02-22 约为 410 GB(并且我们一直在增长)。
我们目前没有关于将新镜像添加到官方列表中的书面规则。 PHP 每个国家只接受最多两个镜像,我们认为可能需要对中国进行不同的处理,例如卢森堡。因此,请使用常识,问问自己您的镜像是否对 R 社区有帮助。我们希望有良好的全球覆盖范围,但也希望在 镜像网页 或 GUI 上有简短的列表。此外,维护列表和 监控 它需要人工时间。如果您的国家/地区没有镜像,通常会接受它。否则,如有疑问,请先询问。
https://cran.r-project.org.cn也可以通过 rsync 访问 cran.r-project.org::CRAN。
您所要做的就是定期(至少每周两次,最好每 1-2 天,但每天不要超过两次)将完整的树递归地镜像到您的 Web 服务器上。您用于镜像的软件取决于服务器的操作系统,但我们强烈建议您使用 rsync。出于安全原因,我们还建议通过 SSH 隧道进行镜像。您可能希望使用以下参数调用 rsync
rsync -e "ssh" -rptlzv --delete [email protected]::CRAN /dir/on/local/disc
或(可能不安全)
rsync -rptlzv --delete cran.r-project.org::CRAN /dir/on/local/disc
对于通过 ssh 的 rsync,请提前将您的公共 SSH 密钥发送到 [email protected](只考虑来自组织的请求),并且不要忘记 --delete
标志以从镜像中删除不再存在于主服务器上的文件。
CRAN 树使用符号链接,因此 rysnc 可能无法在Windows 服务器上按预期工作。可能需要在上述内容中将 -l
替换为 -L
(对于一些部分镜像,例如,那些不包括 contrib/Archive 区域的镜像,这也将是必要的)。
在开始之前考虑您的文件系统权限/用户模式是一个好习惯,以确保每次同步都能成功,并且之后服务器软件(例如 Apache)能够访问所有必需的文件。根据您的服务器环境,可以通过仔细的规划、调整 rsync 脚本中的权限/所有权,或通过 rsync 本身的附加参数来实现。
CRAN 不包含任何动态页面,因此通常不需要对您的 Web 服务器进行特殊配置。但是,有一些额外的设置和一些需要检查的设置。
最后,当使用 Apache 服务器时,如果 CRAN 目录中的 .htaccess 文件已启用(会降低服务器速度),它应该会自动工作。或者(推荐)将以下内容添加到 Apache 配置中。
<Directory [your CRAN directory]/src> Options +Indexes </Directory> <Directory [your CRAN directory]/bin> Options +Indexes </Directory>
如果您想宣传镜像的托管机构,可以使用环境变量 CRAN_HOST。
在这种情况下,您需要启用服务器端包含(不执行)。
如果您有 Apache 2.4+ 服务器,以下是您需要在配置中包含的内容。
SetEnv CRAN_HOST "This server is hosted by your organization ..."
字符串 "This server ..."(可能包含 HTML 标记)将添加到 CRAN 主页的页脚,请参阅 主服务器 以获取示例。
您还需要
Options +IncludesNOEXEC
在相应的 <Directory> 部分中,以及
# # To use server-parsed HTML files # AddType text/html .shtml <IfModule mod_include.c> AddOutputFilter INCLUDES .shtml </IfModule>
在 Apache 配置的 MIME 类型部分中。确切的语法取决于 Apache 的版本。您只需在默认配置中取消注释这些(或类似)行即可。
一旦您的镜像运行起来并且自动更新工作了几天,请发送电子邮件至 [email protected],以便我们将其网站包含在镜像列表中。请在您的电子邮件中包含以下信息
感谢您为 R 项目提供网络空间!