X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=doc%2FVagrant.md;h=3751b7bc06cc365b259b4c268e0cfebb38d13a4f;hb=d7d8a6ab55d88e579126b915d1c127bbdc91bcbb;hp=136583c4d977b4f81ae827c4ea23bab87af54160;hpb=b27d6f1a825888e59acd6ce141f86eef4c99dc93;p=friendica.git diff --git a/doc/Vagrant.md b/doc/Vagrant.md index 136583c4d9..3751b7bc06 100644 --- a/doc/Vagrant.md +++ b/doc/Vagrant.md @@ -3,17 +3,34 @@ Vagrant for Friendica Developers * [Home](help) -**Getting started** +Getting started +--------------- -[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. What you need to do: +[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 for you that you can just run inside VirtualBox and start to work directly on Friendica. + +It brings an Debian Bullseye with PHP 7.4 and MariaDB 10.5.11. + +What you need to do: 1. Install VirtualBox and vagrant. -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. Be patient: When it runs for the first time, it downloads an Ubuntu Server image. -4. Run "vagrant ssh" to log into the virtual machine to log in to the VM. -5. Open 192.168.22.10 in a browser to finish the Friendica installation. The mysql database is called "friendica", the mysql user and password both are "root". +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 `bin/dev` folder. +Pull the PHP requirements with `bin/composer install`. +3. Run `vagrant up` from inside the friendica clone. +This will start the virtual machine. +Be patient: When it runs for the first time, it downloads a Debian Server image and installs Friendica. +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. +5. Open you test installation in a browser. +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. +The mysql database is called "friendica", the mysql user and password both are "friendica". 6. Work on Friendica's code in your git clone on your machine (not in the VM). -7. Check the changes in your browser in the VM. Debug via the "vagrant ssh" login. +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. +Find the Friendica log file `/vagrant/logfile.out` on the VM or in the `logfile.out` in you local Friendica directory. 8. Commit and push your changes directly back to Github. If you want to stop vagrant after finishing your work, run the following command @@ -21,19 +38,32 @@ If you want to stop vagrant after finishing your work, run the following command $> vagrant halt in the development directory. +This will not delete the virtual machine. +9. To ultimately delete the virtual machine run -**Import test data** + $> vagrant destroy + $> rm /vagrant/config/local.config.php -If you want some test data in your vagrant Friendica instance import the database dump friendica_test_data.sql like so (inside the VM): +to make sure that you can start from scratch with another "vagrant up". - $> mysql -u root -p friendica < /vagrant/friendica_test_data.sql +Default User Accounts +--------------------- -You will then have the following accounts to login: +By default the provision script will setup two user accounts. * admin, password admin - * friendica1, password friendica - * friendica2, password friendica2 and so on until friendica5 - * friendica1 is connected to all others. friendica1 has two groups: group1 with friendica2 and friendica4, group2 with friendica3 and friendica5. - * friendica2 and friendica3 are conntected. friendica4 and friendica5 are connected. + * 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. + +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). -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/). \ No newline at end of file