2015-01-14 12:32:10 -05:00
Vagrant for Friendica Developers
===================
* [Home ](help )
2015-04-17 10:58:48 -04:00
Getting started
---------------
2015-02-02 17:14:01 -05:00
2015-04-17 03:13:40 -04:00
[Vagrant ](https://www.vagrantup.com/ ) is a virtualization solution for developers.
No need to setup up a webserver, database etc. before actually starting.
2016-11-19 10:09:20 -05:00
Vagrant creates a virtual machine for you that you can just run inside VirtualBox and start to work directly on Friendica.
2021-10-01 02:54:08 -04:00
It brings an Debian Bullseye with PHP 7.4 and MariaDB 10.5.11.
2015-11-07 08:55:58 -05:00
2015-04-17 03:13:40 -04:00
What you need to do:
2015-01-14 12:32:10 -05:00
1. Install VirtualBox and vagrant.
2015-11-07 08:55:58 -05:00
Please use an up-to-date vagrant version from https://www.vagrantup.com/downloads.html.
2015-04-17 03:13:40 -04:00
2. Git clone your Friendica repository.
2021-10-01 02:54:08 -04:00
Inside, you'll find a `Vagrantfile` and some scripts in the `bin/dev` folder.
2021-10-01 04:04:40 -04:00
Pull the PHP requirements with `bin/composer install` .
2021-10-01 02:54:08 -04:00
3. Run `vagrant up` from inside the friendica clone.
This will start the virtual machine.
2021-10-01 03:38:51 -04:00
Be patient: When it runs for the first time, it downloads a Debian Server image and installs Friendica.
2021-10-01 02:54:08 -04:00
4. Run `vagrant ssh` to log into the virtual machine to log in to the VM in case you need to debug something on the server.
2016-11-19 10:09:20 -05:00
5. Open you test installation in a browser.
2021-10-01 02:54:08 -04:00
Go to friendica.local (or 192.168.22.10).
friendica.local is using a self-signed TLS certificate, so you will need to add an exception to trust the certificate the first time you are visiting the page.
2017-10-04 14:25:15 -04:00
The mysql database is called "friendica", the mysql user and password both are "friendica".
2015-01-14 12:32:10 -05:00
6. Work on Friendica's code in your git clone on your machine (not in the VM).
2015-11-07 08:55:58 -05:00
Your local working directory is set up as a shared directory with the VM (/vagrant).
2015-04-17 03:13:40 -04:00
7. Check the changes in your browser in the VM.
2021-10-01 02:54:08 -04:00
Find the Friendica log file `/vagrant/logfile.out` on the VM or in the `logfile.out` in you local Friendica directory.
2015-01-14 12:32:10 -05:00
8. Commit and push your changes directly back to Github.
2015-01-16 05:20:48 -05:00
If you want to stop vagrant after finishing your work, run the following command
2017-10-04 14:25:15 -04:00
$> vagrant halt
2015-01-16 05:20:48 -05:00
in the development directory.
2017-10-04 14:25:15 -04:00
This will not delete the virtual machine.
9. To ultimately delete the virtual machine run
$> vagrant destroy
2018-11-25 01:56:02 -05:00
$> rm /vagrant/config/local.config.php
2017-10-04 14:25:15 -04:00
to make sure that you can start from scratch with another "vagrant up".
2015-01-16 05:20:48 -05:00
2021-10-01 02:54:08 -04:00
Default User Accounts
---------------------
By default the provision script will setup two user accounts.
2015-02-02 17:14:01 -05:00
* admin, password admin
2021-10-01 02:54:08 -04:00
* friendica, password friendica
Trouble Shooting
----------------
If you see a version mis-match for the _VirtualBox Guest Additions_ between host and guest during the initial setup of the Vagrant VM, you will need to install an addon to Vagrant (ref. [Stack Overflow ](https://stackoverflow.com/a/38010683 )).
Stop the Vagrant VM and run the following command:
$> vagrant plugin install vagrant-vbguest
On the next Vagrant up, the version problem should be fixed.
2015-02-02 17:14:01 -05:00
2021-10-01 03:38:51 -04:00
If `friendica.local` is not resolved, you may need to add an entry to the `/etc/hosts` file (or similar configuration depending on the OS you are using).
2021-10-01 02:54:08 -04:00
For further documentation of vagrant, please see [the vagrant*docs* ](https://docs.vagrantup.com/v2/ ).