解决scheme的离线服务器

我试图在工作中设置一个开发服务器,最好能够在PHP,Rails或Django中testing几个项目(并不总是同时运行)。 我在Mac上本地开发应用程序,然后将这些项目放在此服务器上,以供我的实际用户(非技术人员)进行testing,然后部署到生产服务器。

我的问题是在工作中我们的networking连接非常差(几乎可以忽略),并且通常用于设置服务器的apt-get / yum / portsmakecleaninstall )进程始终将它们的软件包从联机存储库中取出。 我知道我可以下载源代码然后编译它们,但这对我来说太麻烦了。

我正在考虑两个解决scheme:

schemeA:

在我的Mac上运行服务器虚拟机,然后使用此虚拟机作为脱机服务器的源存储库。 我已经阅读了Ubuntu的apt-proxy,尽pipe我还没有尝试过,但它似乎已经足够好了。

我不知道这是否可能,但我可以简单地执行apt-get install nginx --downloadonly以便将软件包及其依赖关系下载到我的虚拟机中,并且我的服务器可以使用VM作为apt-get的源回购?

计划B:

在我的Mac上运行一个服务器虚拟机(当我在家的时候,我可以轻松地安装/更新),然后将虚拟机克隆到离线开发服务器。 也许我应该简单地将服务器作为VM主机,这样我就可以简单地将VM复制过来。

我认为这对第一次设置是可以的,但后续更新将花费太长时间(克隆VM镜像)。

如果我在Windows上工作,我想这会更容易,因为大多数服务都有一个可以下载并在服务器上运行的安装程序文件。

如果你可以build议另一种方式,将不胜感激。

更新:

从迈克尔汉普顿的回答中,我find了一个可能的解决scheme。

我也在Ubuntu的网站上find了这个页面 。

我想知道是否有比这更好的工具。

考虑使用apt-mirror创build一个本地镜像。

您可以查看apt-offline ( 请参阅debian-administration.org )。

我正在VMware Fusion上运行小型Ubuntu devel虚拟化。 4GB的磁盘和512MB的RAM足够开发。 虚拟机networking处于NAT模式,即使不在Internet上也可以访问。 我也configuration了AFPd,所以我可以直接编辑文件安装共享。 至于我只是在做Django的方式设置如下… Django应用程序运行在我创build的一些用户帐户下,该用户homedir也是一个virtualenv根(加载login),我使用该用户login到法新社。 当新项目我只克隆模板机,并创build新的用户帐户+ virtualenv 。 安装到VMware Ubuntuselect拥有主要虚拟化能力的内核… XEN,KVM,VMware。 那么Deploymnet应该是DevOps的方式…只需将VM文件复制到云并在线启动(可能是磁盘文件的转换或其增长到产品大小)。

我使用apt-cacher作为私有云,只需使用默认值即可。 我是一个大粉丝。 你必须更新你的sources.list,除非它们是使用apt-cacher的位置安装的。