![在 Ubuntu 上手动安装 AMP 环境并保持其更新](https://linux22.com/image/536990/%E5%9C%A8%20Ubuntu%20%E4%B8%8A%E6%89%8B%E5%8A%A8%E5%AE%89%E8%A3%85%20AMP%20%E7%8E%AF%E5%A2%83%E5%B9%B6%E4%BF%9D%E6%8C%81%E5%85%B6%E6%9B%B4%E6%96%B0.png)
在 Linux 发行版中,通过某种软件包安装东西是常态而非例外。通过管理器或命令行。这会为您配置很多东西,然后就可以正常工作了。
因此,有像 XAMPP 的 LAMP 之类的东西。
然而,我并不满足于此。我希望可以选择获取每个软件的最新版本,并使其保持最新状态。
有几个问题:
- 我应该将各个软件安装到哪些目录?
- 我怎样才能让它们正确地协同工作?
- 考虑到#2:我应该按照什么顺序安装它们?
- 我是否需要下载源代码并自行编译,或者是否有可以下载的预编译二进制文件(与安装 LAMP 不同)?
- 如果某个组件发布了新版本,而我想更新,我该怎么做?重新编译并覆盖安装文件夹?如果是重大更新,比如从 MySQL 4.x 更新到 5.x,该怎么办?
第四点尤其适用于 PHP,因为您可以提供很多命令行选项来非常具体地编译它。
这些问题一直困扰着我。我该怎么办?
答案1
虽然自己编译和维护整个堆栈并不是一个坏项目,但在我看来这需要付出很大努力,因为发行版也会尽可能保持最新状态。
当然,bgy 关于在生产环境中使用最新版本的说法是正确的,但这不是推荐的做法,你总是希望至少落后 1 周,而这已经是处于最前沿了。
对于 Ubuntu,您可以添加使用前沿存储库(现在是 natty beta 2)或找到许多 PPA 存储库之一,这些存储库将包含您可能需要的任何软件包,直到其最新版本,当然您的里程可能会有所不同,并且您最终可能会得到一个损坏的软件包,但返回总是快速而简单的。
我自己编译的唯一真正原因是,如果您需要默认包装无法提供的东西,那么坚持使用分发包装机制来保持最新状态是最好的选择。