commit
b609aca456
4 changed files with 44 additions and 48 deletions
64
Vagrantfile
vendored
64
Vagrantfile
vendored
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue