问题标签 [vagrant-provision]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
shell - Vagrant Shell 在 Ubuntu 15.04 上提供 LAMP 堆栈
我正在尝试使用为 CakePHP 2.x 项目提供 PHP 5.6.x、Apache 2.4、MySQL 5.x 的默认包在 Ubuntu 15.04 上创建 LAMP 堆栈,但我在配置 Apache 时遇到问题,它似乎没有正确启动,尽管它已安装。我无法点击在配置脚本底部添加的测试 index.html,或者指向公共目录 /var/www/app/webroot 的虚拟主机。
所有组件似乎都已正确安装,因为我可以检查它们的所有版本,但是我在 Apache 上配置错误或错过了配置?我真的不想再次安装 XAMPP,因为去年使用了 Laravel Homestead。流浪盒子是最好的方法。
我用我的 Vagrantfile、Lamp.rb 和 provision.sh 脚本创建了一个GIST ,它们的路径位于顶部。任何人都可以启动它,看看我做错了什么。
终端中的 Vagrant Up 错误
当我尝试重新启动 apache 时,我会遇到与第一次运行时相同的错误vagrant up
:
来自 var/log/apache2/error.log 的错误日志
我无法访问 error.log 并且得到了这个-bash: cd: var/log/apache2: Permission denied
。所以我不得不使用sudo su
,这似乎工作,但我不想每次都这样做,所以如果有人知道需要做什么来提供用户许可,我会很感激。我发现的关于这个的帖子似乎并没有真正解释我需要做什么才能正确地做到这一点sudo su
。从那里我可以使用 nano 访问错误日志。
vagrant - Vagrant 配置脚本
我对 Vagrant 很陌生,我发现需要更新提供的 *.sh 脚本(链接在我的 Vagrant 文件中)。最佳做法是什么?我应该删除盒子并重新创建它吗?或者更确切地说“流浪者停止”并再次执行“流浪者规定”?谢谢
vagrant - Vagrantfile 订购供应商问题
我有以下流浪文件:
在我的设置 setup_script 我有 vagrant install Virtual Box Guest Additions 这是让同步文件夹功能为 vagrant 工作的要求。
不幸的是,即使我将同步文件夹的行放在 Vagrantfile 的最后,它仍然会首先尝试执行该任务,从而导致错误:
我知道我需要先安装 Virtual Box Guest Additions。还有其他人遇到这个问题吗?你们都是怎么解决这个问题的?
ssh - 如何让 vagrant 克隆 Stash 存储库?
我试图让 vagrant 在 a 的提供阶段结束时克隆一个 Stash repovagrant up
在vagrant up
我目前收到以下错误:
我已将我的项目设置为使用 vagrant 的公钥和私钥: config.ssh.insert_key = false
我已将insecure_private_key
文件放在来宾机器上的 ~/.ssh/ 文件夹中。我已将 vagrant 公钥放入我的 Stash Repo 中。
出于某种原因,当我进入配置程序的那个阶段时,我收到了上述错误。我也尝试了这些步骤,vagrant ssh
进入来宾机器,然后继续git clone
,我收到了同样的错误。
这是我的Vagrantfile
SSH 配置的一部分:
我不确定我做错了什么。有什么线索吗?
bash - 是否可以在使用 Vagrant 配置机器并在脚本停止的地方拾取机器时重新启动机器?
我正在阅读 bash 中的教程,他们说要重新启动机器,没有直接重新启动服务的选项,这是重新启动机器的问题,然后在配置时仍然需要运行更多命令.
那么有没有办法在配置过程中重新启动一个盒子,然后从你离开的地方继续?
vagrant - 如何将主机环境变量传递给配置脚本
我的 Vagrantfile 中有以下行:
我想根据主机中设置的环境变量(可能不存在)切换运行该脚本。如果该值存在并且等于true
我希望跳过脚本,否则它应该运行例如
还是有更好的方法(例如以某种方式将 env 传递到脚本中)?
bash - Vagrant 提供 shell,使用命令自动安装 Linuxbrew
我正在使用这个流浪文件:
因为我想安装 Linuxbrew,所以我在我的provision/setup.sh中有这个代码:
但我检索错误:
如何解决这个问题?
python - Vagrant 在提供期间未安装 pip
这是我的bootstrap.sh
:
这是我的流浪文件:
我跑了
但是当我输入pip
它返回
当前未安装程序“pip”。您可以通过键入安装它: sudo apt-get install python-pip
我确认我能够
在 ssh 终端中,所以我不确定出了什么问题。
任何帮助,将不胜感激。
shell - Vagrant Shell 配置未安装
我正在使用 hashcorp/precise64。(对于 ubuntu/trusty64 和许多其他盒子,我也遇到了同样的错误。)
尝试使用以下代码进行配置,但出现错误。
==> 默认值:sudo ==> 默认值::==> 默认值:pip:找不到命令
在 ssh 进入虚拟机并尝试调用 pip 之后,我得到了
vagrant@precise64:$ pip 当前未安装程序“pip”。您可以通过键入安装它: sudo apt-get install python-pip
如果我这样做sudo apt-get install python-pip
,确实会安装 pip。我不明白为什么它不能通过 shell 安装。
我想也许它必须将安装暴露给某些路径?
bash - 在 vagrant 环境中将 max_allowed_packet 添加到 my.cnf
所以我有一个盒子,其中包含一个在提供时执行的 mysqldump 文件。现在的问题是我需要在执行这个脚本之前增加 max_allowed_packet 变量。
我该怎么做:
但不是在 EOF 处,而是在该[mysqld]
部分之后执行
谢谢