Merge pull request #2026 from silke/vagrant-update

Vagrant update
This commit is contained in:
Tobias Diekershoff 2015-11-07 15:12:09 +01:00
commit b609aca456
4 changed files with 44 additions and 48 deletions

64
Vagrantfile vendored
View file

@ -1,16 +1,19 @@
server_ip = "192.168.22.10" server_ip = "192.168.22.10"
server_memory = "384" # MB server_memory = "384" # MB
server_timezone = "UTC" server_timezone = "UTC"
public_folder = "/vagrant" public_folder = "/vagrant"
Vagrant.configure("2") do |config| Vagrant.configure(2) do |config|
# Set server to Ubuntu 12.04 # Set server to Ubuntu 14.04
config.vm.box = "precise64" config.vm.box = "ubuntu/trusty64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box" # Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false
# Create a hostname, don't forget to put it to the `hosts` file # Create a hostname, don't forget to put it to the `hosts` file
# This will point to the server's default virtual host # This will point to the server's default virtual host
@ -20,40 +23,21 @@ Vagrant.configure("2") do |config|
# Create a static IP # Create a static IP
config.vm.network :private_network, ip: server_ip config.vm.network :private_network, ip: server_ip
# If using VirtualBox # Share a folder between host and guest
config.vm.provider :virtualbox do |vb| config.vm.synced_folder "./", "/vagrant/", owner: "www-data", group: "vagrant"
# Set server memory
vb.customize ["modifyvm", :id, "--memory", server_memory]
# Set the timesync threshold to 10 seconds, instead of the default 20 minutes.
# If the clock gets more than 15 minutes out of sync (due to your laptop going
# to sleep for instance, then some 3rd party services will reject requests.
vb.customize ["guestproperty", "set", :id, "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold", 10000]
# Prevent VMs running on Ubuntu to lose internet connection
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
config.vm.provider "virtualbox" do |vb|
# # Display the VirtualBox GUI when booting the machine
# vb.gui = true
#
# # Customize the amount of memory on the VM:
vb.memory = server_memory
end end
# If using VMWare Fusion # Enable provisioning with a shell script.
config.vm.provider "vmware_fusion" do |vb, override|
override.vm.box_url = "http://files.vagrantup.com/precise64_vmware.box"
# Set server memory
vb.vmx["memsize"] = server_memory
end
####
# Local Scripts
# Any local scripts you may want to run post-provisioning.
# Add these to the same directory as the Vagrantfile.
##########
config.vm.synced_folder "./", "/vagrant/", :owner=> 'www-data', :group=>'vagrant', :mount_options => ['dmode=775', 'fmode=775']
config.vm.provision "shell", path: "./util/vagrant_provision.sh" config.vm.provision "shell", path: "./util/vagrant_provision.sh"
# run: "always"
# run: "once"
end end

View file

@ -8,10 +8,12 @@ Getting started
[Vagrant](https://www.vagrantup.com/) is a virtualization solution for developers. [Vagrant](https://www.vagrantup.com/) is a virtualization solution for developers.
No need to setup up a webserver, database etc. before actually starting. No need to setup up a webserver, database etc. before actually starting.
Vagrant creates a virtual machine (an Ubuntu 12.04) for you that you can just run inside VirtualBox and start to work directly on Friendica. Vagrant creates a virtual machine (an Ubuntu 14.04) for you that you can just run inside VirtualBox and start to work directly on Friendica.
What you need to do: What you need to do:
1. Install VirtualBox and vagrant. 1. Install VirtualBox and vagrant.
Please use an up-to-date vagrant version from https://www.vagrantup.com/downloads.html.
2. Git clone your Friendica repository. 2. Git clone your Friendica repository.
Inside, you'll find a "Vagrantfile" and some scripts in the utils folder. Inside, you'll find a "Vagrantfile" and some scripts in the utils folder.
3. Run "vagrant up" from inside the friendica clone. 3. Run "vagrant up" from inside the friendica clone.
@ -20,8 +22,10 @@ Be patient: When it runs for the first time, it downloads an Ubuntu Server image
5. Open 192.168.22.10 in a browser. 5. Open 192.168.22.10 in a browser.
The mysql database is called "friendica", the mysql user and password both are "root". The mysql database is called "friendica", the mysql user and password both are "root".
6. Work on Friendica's code in your git clone on your machine (not in the VM). 6. Work on Friendica's code in your git clone on your machine (not in the VM).
Your local working directory is set up as a shared directory with the VM (/vagrant).
7. Check the changes in your browser in the VM. 7. Check the changes in your browser in the VM.
Debug via the "vagrant ssh" login. Debug via the "vagrant ssh" login.
Find the Friendica log file /vagrant/logfile.out.
8. Commit and push your changes directly back to Github. 8. Commit and push your changes directly back to Github.
If you want to stop vagrant after finishing your work, run the following command If you want to stop vagrant after finishing your work, run the following command
@ -40,3 +44,10 @@ You will then have the following accounts to login:
* friendica2 and friendica3 are conntected. friendica4 and friendica5 are connected. * friendica2 and friendica3 are conntected. friendica4 and friendica5 are connected.
For further documentation of vagrant, please see [the vagrant*docs*](https://docs.vagrantup.com/v2/). For further documentation of vagrant, please see [the vagrant*docs*](https://docs.vagrantup.com/v2/).
**Important notice:**
If you already had an Ubuntu 12.04 Vagrant VM, please run
$> vagrant destroy
before starting the new 14.04 machine.

View file

@ -70,3 +70,9 @@ $a->config['system']['no_regfullname'] = true;
// Location of the global directory // Location of the global directory
$a->config['system']['directory'] = 'http://dir.friendi.ca'; $a->config['system']['directory'] = 'http://dir.friendi.ca';
// turn on friendica's log
$a->config['system']['debugging'] = true;
$a->config['system']['logfile'] = 'logfile.out';
$a->config['system']['loglevel'] = LOGGER_DEBUG;

View file

@ -21,18 +21,13 @@ organizationalUnitName=
emailAddress= emailAddress=
" "
sudo mkdir -p "$SSL_DIR" sudo mkdir -p "$SSL_DIR"
sudo openssl genrsa -out "$SSL_DIR/xip.io.key" 1024 sudo openssl genrsa -out "$SSL_DIR/xip.io.key" 4096
sudo openssl req -new -subj "$(echo -n "$SUBJ" | tr "\n" "/")" -key "$SSL_DIR/xip.io.key" -out "$SSL_DIR/xip.io.csr" -passin pass:$PASSPHRASE sudo openssl req -new -subj "$(echo -n "$SUBJ" | tr "\n" "/")" -key "$SSL_DIR/xip.io.key" -out "$SSL_DIR/xip.io.csr" -passin pass:$PASSPHRASE
sudo openssl x509 -req -days 365 -in "$SSL_DIR/xip.io.csr" -signkey "$SSL_DIR/xip.io.key" -out "$SSL_DIR/xip.io.crt" sudo openssl x509 -req -days 365 -in "$SSL_DIR/xip.io.csr" -signkey "$SSL_DIR/xip.io.key" -out "$SSL_DIR/xip.io.crt"
#Install apache2 #Install apache2
echo ">>> Installing Apache2 webserver" echo ">>> Installing Apache2 webserver"
# The package python-software-properties provides add-apt-repository on Ubuntu Precise Server
sudo apt-get install python-software-properties
sudo add-apt-repository -y ppa:ondrej/apache2
sudo apt-key update
sudo apt-get update
sudo apt-get install -y apache2 sudo apt-get install -y apache2
sudo a2enmod rewrite actions ssl sudo a2enmod rewrite actions ssl
sudo cp /vagrant/util/vagrant_vhost.sh /usr/local/bin/vhost sudo cp /vagrant/util/vagrant_vhost.sh /usr/local/bin/vhost