2015-01-14 17:32:10 +00:00
Vagrant for Friendica Developers
===================
* [Home ](help )
2015-04-17 14:58:48 +00:00
Getting started
---------------
2015-02-02 22:14:01 +00:00
2015-04-17 07:13:40 +00: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 15:09:20 +00:00
Vagrant creates a virtual machine for you that you can just run inside VirtualBox and start to work directly on Friendica.
2022-10-15 15:33:47 +00:00
It brings an Debian Bullseye with PHP 8.0 and MariaDB 10.5.11.
2015-11-07 13:55:58 +00:00
2015-04-17 07:13:40 +00:00
What you need to do:
2015-01-14 17:32:10 +00:00
1. Install VirtualBox and vagrant.
2015-11-07 13:55:58 +00:00
Please use an up-to-date vagrant version from https://www.vagrantup.com/downloads.html.
2015-04-17 07:13:40 +00:00
2. Git clone your Friendica repository.
2021-10-01 06:54:08 +00:00
Inside, you'll find a `Vagrantfile` and some scripts in the `bin/dev` folder.
2021-10-01 08:04:40 +00:00
Pull the PHP requirements with `bin/composer install` .
2021-10-01 06:54:08 +00:00
3. Run `vagrant up` from inside the friendica clone.
This will start the virtual machine.
2021-10-01 07:38:51 +00:00
Be patient: When it runs for the first time, it downloads a Debian Server image and installs Friendica.
2021-10-01 06:54:08 +00: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 15:09:20 +00:00
5. Open you test installation in a browser.
2022-10-15 15:33:47 +00:00
Go to friendica.local (or 192.168.56.10).
2021-10-01 06:54:08 +00:00
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 18:25:15 +00:00
The mysql database is called "friendica", the mysql user and password both are "friendica".
2015-01-14 17:32:10 +00:00
6. Work on Friendica's code in your git clone on your machine (not in the VM).
2015-11-07 13:55:58 +00:00
Your local working directory is set up as a shared directory with the VM (/vagrant).
2015-04-17 07:13:40 +00:00
7. Check the changes in your browser in the VM.
2021-10-01 06:54:08 +00:00
Find the Friendica log file `/vagrant/logfile.out` on the VM or in the `logfile.out` in you local Friendica directory.
2023-03-21 03:14:44 +00:00
8. Commit and push your changes directly back to GitHub.
2015-01-16 10:20:48 +00:00
If you want to stop vagrant after finishing your work, run the following command
2017-10-04 18:25:15 +00:00
$> vagrant halt
2015-01-16 10:20:48 +00:00
in the development directory.
2017-10-04 18:25:15 +00:00
This will not delete the virtual machine.
9. To ultimately delete the virtual machine run
$> vagrant destroy
2018-11-25 06:56:02 +00:00
$> rm /vagrant/config/local.config.php
2017-10-04 18:25:15 +00:00
to make sure that you can start from scratch with another "vagrant up".
2015-01-16 10:20:48 +00:00
2021-10-01 06:54:08 +00:00
Default User Accounts
---------------------
By default the provision script will setup two user accounts.
2015-02-02 22:14:01 +00:00
* admin, password admin
2021-10-01 06:54:08 +00: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 22:14:01 +00:00
2021-10-01 07:38:51 +00: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).
2022-10-15 15:33:47 +00:00
For further documentation of vagrant, please see [the vagrant*docs* ](https://docs.vagrantup.com/v2/ ).