Ubuntu 15.04上的Vagrant Shell提供LAMP堆栈

时间:2016-01-02 09:43:50

标签: shell ubuntu vagrant lamp vagrant-provision

我尝试使用为CakePHP 2.x项目提供PHP 5.6.x,Apache 2.4,MySQL 5.x的默认软件包在Ubuntu 15.04上创建LAMP堆栈,并且我遇到了问题配置Apache它似乎没有正确启动,虽然它已安装。我无法点击我在配置脚本底部添加的测试index.html,或者vhost指向公共目录/ var / www / app / webroot。

所有组件似乎都安装正确,因为我可以检查他们的所有版本,但是我在Apache上配置错误配置或错过配置?我真的不想在去年使用Laravel Homestead再次安装XAMPP。流浪盒是最好的方式。

我使用我的Vagrantfile,Lamp.rb和provision.sh脚本创建了一个GIST,其路径位于顶部。任何人都可以启动它,看看我做错了什么。

终端中的Vagrant Up错误

==> default: Job for apache2.service failed. See "systemctl status 
    apache2.service" and "journalctl -xe" for details.

当我尝试重启apache时,我遇到了第一次运行vagrant up时出现的相同错误:

root@test:/# sudo service apache2 restart
Job for apache2.service failed. See "systemctl status apache2.service" and "journalctl -xe" for details.

错误日志来自var / log / apache2 / error.log

我无法访问error.log并获得此-bash: cd: var/log/apache2: Permission denied。所以我不得不使用sudo su,这似乎有用,但我不想每次都这样做,所以如果有人知道需要做什么来提供用户许可,我会很感激。我发现的关于这个问题的帖子似乎真正解释了我需要做什么,只有sudo su才能正常工作。从那里我可以使用nano访问错误日志。

[Sat Jan 02 19:03:54.589161 2016] [mpm_event:notice] [pid 3529:tid 140703238530944] AH00489: Apache/2.4.10 (Ubuntu) co$
[Sat Jan 02 19:03:54.589263 2016] [core:notice] [pid 3529:tid 140703238530944] AH00094: Command line: '/usr/sbin/apach$
[Sat Jan 02 19:03:58.874664 2016] [mpm_event:notice] [pid 3529:tid 140703238530944] AH00491: caught SIGTERM, shutting $
[Sat Jan 02 19:03:59.950199 2016] [mpm_prefork:notice] [pid 4803] AH00163: Apache/2.4.10 (Ubuntu) configured -- resumi$
[Sat Jan 02 19:03:59.950314 2016] [core:notice] [pid 4803] AH00094: Command line: '/usr/sbin/apache2'
[Sat Jan 02 19:04:01.359328 2016] [mpm_prefork:notice] [pid 4803] AH00169: caught SIGTERM, shutting down
[Sat Jan 02 19:04:02.467409 2016] [mpm_prefork:notice] [pid 4906] AH00163: Apache/2.4.10 (Ubuntu) configured -- resumi$
[Sat Jan 02 19:04:02.467483 2016] [core:notice] [pid 4906] AH00094: Command line: '/usr/sbin/apache2'
[Sat Jan 02 19:05:16.040251 2016] [mpm_prefork:notice] [pid 4906] AH00169: caught SIGTERM, shutting down

1 个答案:

答案 0 :(得分:1)

问题是因为某些配置文件被删除,您必须重新安装它。

重新安装APACHE2:

要替换已删除的配置文件,而不清除程序包,可以执行

sudo apt-get -o DPkg::Options::="--force-confmiss" --reinstall install apache2

要完全删除apache2配置文件,您应该

sudo apt-get purge apache2

然后可以通过

以通常的方式重新安装它

sudo apt-get install apache2

要删除所有配置文件需要清除 - 如果删除配置文件但只删除包,则会记住此信息。默认情况下不会重新安装丢失的配置文件。

然后重新安装PHP5:

apt-get purge libapache2-mod-php5 php5 && \ apt-get install libapache2-mod-php5 php5