-server_ip = "192.168.22.10"
-server_memory = "384" # MB
-server_timezone = "UTC"
+server_ip = "192.168.22.10"
+server_memory = "384" # MB
+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
- config.vm.box = "precise64"
+ # Set server to Ubuntu 14.04
+ 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
# This will point to the server's default virtual host
# Create a static IP
config.vm.network :private_network, ip: server_ip
- # If using VirtualBox
- config.vm.provider :virtualbox do |vb|
-
- # 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"]
-
+ # Share a folder between host and guest
+ config.vm.synced_folder "./", "/vagrant/", owner: "www-data", group: "vagrant"
+
+ # 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
- # If using VMWare Fusion
- 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"
-
+ # Enable provisioning with a shell script.
+ config.vm.provision "shell", path: "./util/vagrant_provision.sh"
+ # run: "always"
+ # run: "once"
end
[Vagrant](https://www.vagrantup.com/) is a virtualization solution for developers.
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:
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.
Inside, you'll find a "Vagrantfile" and some scripts in the utils folder.
3. Run "vagrant up" from inside the friendica clone.
5. Open 192.168.22.10 in a browser.
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).
+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.
Debug via the "vagrant ssh" login.
+Find the Friendica log file /vagrant/logfile.out.
8. Commit and push your changes directly back to Github.
If you want to stop vagrant after finishing your work, run the following command
* 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/).
+
+**Important notice:**
+If you already had an Ubuntu 12.04 Vagrant VM, please run
+
+ $> vagrant destroy
+
+before starting the new 14.04 machine.
emailAddress=
"
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 x509 -req -days 365 -in "$SSL_DIR/xip.io.csr" -signkey "$SSL_DIR/xip.io.key" -out "$SSL_DIR/xip.io.crt"
#Install apache2
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 a2enmod rewrite actions ssl
sudo cp /vagrant/util/vagrant_vhost.sh /usr/local/bin/vhost