Configurar vagrant para trabajar con v. hosts

bultack

Buenas,

estoy empezando a utilizar Vagrant para trabajar en mis proyectos PHP. Ahora estoy intentando configurar una máquina para que al arrancarla la primera vez se instale apache, php y mysql. Cuando instalo apacho hago que el directorio compartido pase a estar en /var/www

Hasta aquí bien.

Después paso a habilitar el módulo rewrite, crear el virtual host en /etc/apache2/sites-available/000-default.conf

Aquí es donde ya tengo el problema ya que al arrancar la máquina la instalación y configuración van bien (o eso creo ya que no muestra error) pero cuando accedo a la IP asignada y le paso un parámetro a la url me da error.

Os dejo aquí la configuración de Vagrant, el código del script y del .htaccess.

Vagrant file:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|

config.vm.box = "hashicorp/precise32"
config.vm.network "private_network", ip: "192.168.33.44"
config.vm.provision :shell, path: "bootstrap.sh"

end

bootstrap.sh

#!/usr/bin/env bash

apt-get update
apt-get install -y apache2
apt-get install -y php5
sudo apt-get -y install mysql-server
sudo apt-get install php5-mysql
sudo apt-get -y install phpmyadmin

if ! [ -L /var/www ]; then
    rm -rf /var/www
    ln -fs /vagrant /var/www
fi


# setup hosts file
VHOST=$(cat <<EOF
<VirtualHost *:80>
    DocumentRoot "/var/www/"
    <Directory "/var/www/">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
EOF
)
echo "${VHOST}" > /etc/apache2/sites-available/000-default.conf


# enable mod_rewrite
sudo a2enmod rewrite

# restart apache
service apache2 restart

echo "Provisioning finished!"

Código .htaccess

# Activates URL rewriting
RewriteEngine On

# General rewrite rules
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ /index.php?params=$1 [QSA,L]
txandy

No se si conoces : https://puphpet.com/

4 3 respuestas
Mujiwara

Prueba poniendo los SymLinks, diría que era eso ya que también me ha pasado:

    <Directory "/var/www/">
       Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
1 respuesta
bultack

#2 No lo conocía, voy a probarlo a ver que tal va

#3 Sigue sin funcionarme

jalamoNNN

#1 como te han dicho en #2 usa puphpet, que te da configuraciones para todo

1 respuesta
DarkSoldier

#1 veo #2 y sumo: https://www.docker.com/

2 respuestas
bultack

#5 #6 He probado puphpet y al iniciar vagrant e intentar acceder a través de la IP privada recibo un error de página no encontrada, con mi código me muestra el echo del index.php pero con este nada.

He probado ansible y con este de momento me está funcionando.

Le echaré un vistazo a docker a ver de qué va la cosa.

2 respuestas
DarkSoldier

#7 si quieres seguir con vagrant (que virtualiza de verdad y chupa recursos como el solo..), mirate esto:

https://box.scotch.io/

1 respuesta
Camperito

#6 En mi trabajo lo usamos, y joder menuda obra de arte, es precisamente lo que predica

1 respuesta
jalamoNNN

#7 en puphpet has redireccionado algun puerto del host al 80 del guest?

1 respuesta
DarkSoldier

#9 a mi cada vez me gusta mas...

bultack

#10 Nada, solo he añadido los módulos de Apache que necesitaba y lo demás lo he dejado tal como viene.

#8 He estado leyendo la web para ver lo que tiene y está muy bien, ya todo montado para trabajar con PHP.

Usuarios habituales

  • bultack
  • DarkSoldier
  • jalamoNNN
  • Camperito
  • Mujiwara
  • txandy