2016-09-15 7 views
0

Я запускаю бродячий шотландский блок 2.0, я добавил несколько доменов в поле.Как получить доступ к нескольким сайтам с внешнего компьютера с помощью скотч-бокса 2

Я добавил внутрибрюшинно своим хозяевам файл

192.168.33.11 site1.local 
192.168.33.11 site2.local 

домены работают с локальной машины.

То, что я хотел сделать, это разрешить доступ к этим сайтам с другого компьютера в сети

Я добавил порт вперед к бродячему файлу, и это работает в единой среде домена.

но есть ли способ как-то связать домены таким образом, чтобы с внешнего компьютера они могли получить доступ к обоим доменам, просто добавив другой номер порта или какой-либо другой способ заставить оба сайта работать извне?

Я не уверен, что это актуально или нет, но прямо сейчас я запускаю scotch box на mac, но мне нужно решение для работы с системой Windows.

вот мой бродяга файл

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

Vagrant.configure("2") do |config| 

config.vm.box = "scotch/box" 
config.vm.network "private_network", ip: "192.168.33.11" 
config.vm.network "forwarded_port", guest: 80, host: 8080 
config.vm.hostname = "scotchbox" 
config.vm.synced_folder "/Users/acc/Documents/vagrant/site1", "/var/www/site1.local/public",id:"1", :mount_options => ["dmode=777", "fmode=666"] 
config.vm.synced_folder "/Users/acc/Documents/vagrant/site2", "/var/www/site2.local/public",id:"2", :mount_options => ["dmode=777", "fmode=666"] 
config.vm.provision "shell", inline: <<-SHELL 

    ## Only thing you probably really care about is right here 
    DOMAINS=("site1.local" "site2.local") 

    ## Loop through all sites 
    for ((i=0; i < ${#DOMAINS[@]}; i++)); do 

     ## Current Domain 
     DOMAIN=${DOMAINS[$i]} 

     echo "Creating directory for $DOMAIN..." 
     mkdir -p /var/www/$DOMAIN/public 

     echo "Creating vhost config for $DOMAIN..." 
     sudo cp /etc/apache2/sites-available/scotchbox.local.conf /etc/apache2/sites-available/$DOMAIN.conf 

     echo "Updating vhost config for $DOMAIN..." 
     sudo sed -i s,scotchbox.local,$DOMAIN,g /etc/apache2/sites-available/$DOMAIN.conf 
     sudo sed -i s,/var/www/public,/var/www/$DOMAIN/public,g /etc/apache2/sites-available/$DOMAIN.conf 

     echo "Enabling $DOMAIN. Will probably tell you to restart Apache..." 
     sudo a2ensite $DOMAIN.conf 

     echo "So let's restart apache..." 
     sudo service apache2 restart 

    done 

SHELL 

# Optional NFS. Make sure to remove other synced_folder line too 
#config.vm.synced_folder ".", "/var/www", :nfs => { :mount_options => ["dmode=777","fmode=666"] } 

end 

ответ

0

Ответ в том, что дополнительные домены нужно идти на разные порты, то работает

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

Vagrant.configure("2") do |config| 

config.vm.box = "scotch/box" 
config.vm.network "private_network", ip: "192.168.33.11" 
config.vm.network "forwarded_port", guest: 80, host: 8080 
config.vm.network "forwarded_port", guest: 81, host: 8081 
config.vm.network "forwarded_port", guest: 82, host: 8082 
config.vm.hostname = "scotchbox" 
config.vm.synced_folder "/Users/acc/Documents/vagrant/main", "/var/www/public",id:"3", :mount_options => ["dmode=777", "fmode=666"] 
config.vm.synced_folder "/Users/acc/Documents/vagrant/site1", "/var/www/site1.local/public",id:"1", :mount_options => ["dmode=777", "fmode=666"] 
config.vm.synced_folder "/Users/acc/Documents/vagrant/site2", "/var/www/site2.local/public",id:"2", :mount_options => ["dmode=777", "fmode=666"] 
config.vm.provision "shell", inline: <<-SHELL 

    ## Only thing you probably really care about is right here 
    DOMAINS=("site1.local" "site2.local") 

    IPS=("81" "82") 

    ## Loop through all sites 
    for ((i=0; i < ${#DOMAINS[@]}; i++)); do 

     ## Current Domain 
     DOMAIN=${DOMAINS[$i]} 

     MYIP=${IPS[$i]} 

     echo "Creating directory for $DOMAIN..." 
     mkdir -p /var/www/$DOMAIN/public 

     echo "Creating vhost config for $DOMAIN..." 
     sudo cp /etc/apache2/sites-available/scotchbox.local.conf /etc/apache2/sites-available/$DOMAIN.conf 

     echo "Updating vhost config for $DOMAIN..." 
     sudo sed -i s,scotchbox.local,$DOMAIN,g /etc/apache2/sites-available/$DOMAIN.conf 
     sudo sed -i s,/var/www/public,/var/www/$DOMAIN/public,g /etc/apache2/sites-available/$DOMAIN.conf 

    sudo sed -i s,80,$MYIP,g /etc/apache2/sites-available/$DOMAIN.conf 

    sudo sed -i s,'<VirtualHost',"Listen $MYIP \\n<VirtualHost",g /etc/apache2/sites-available/$DOMAIN.conf 



     echo "Enabling $DOMAIN. Will probably tell you to restart Apache..." 
     sudo a2ensite $DOMAIN.conf 

     echo "So let's restart apache..." 
     sudo service apache2 restart 

    done 

SHELL 

# Optional NFS. Make sure to remove other synced_folder line too 
#config.vm.synced_folder ".", "/var/www", :nfs => { :mount_options => ["dmode=777","fmode=666"] } 

end 

 Смежные вопросы

  • Нет связанных вопросов^_^