Website/vagrant/README.md

116 lines
4.0 KiB
Markdown
Raw Permalink Normal View History

2020-01-05 11:05:02 +01:00
# This Vagrant setup is still Work in Progress, though it can be used as is.
2019-03-09 08:55:17 +01:00
# Disroot Website Development Environment using Vagrant
If you prefer the easy way, just execute the vagrant.sh script provided. Make sure your user is in sudoers first. ⚠️ It has been tested with Debian Buster only. ⚠️
2019-03-09 08:55:17 +01:00
## requirements
1. vagrant 2.2.17
2019-03-09 08:55:17 +01:00
for install on Debian run commands:
```bash
wget https://releases.hashicorp.com/vagrant/2.2.17/vagrant_2.2.17_x86_64.deb
sudo dpkg -i vagrant_2.2.17_x86_64.deb
2019-03-09 08:55:17 +01:00
sudo apt install -f
```
2. virtualbox
2019-03-09 08:55:17 +01:00
2019-11-05 14:35:57 +01:00
for install on Debian Buster run command:
```bash
sudo echo 'deb http://download.virtualbox.org/virtualbox/debian buster contrib' > /etc/apt/sources.list.d/virtualbox.list
2019-11-05 14:35:57 +01:00
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
sudo apt-get update ; sudo apt-get install virtualbox-6.1
2019-11-05 14:35:57 +01:00
```
2019-03-09 08:55:17 +01:00
3. vagrant plugins vagrant-vbguest:
for install on Debian run commands:
```bash
2019-03-09 08:55:17 +01:00
vagrant plugin install vagrant-vbguest
```
4. git
```bash
2019-03-09 08:55:17 +01:00
sudo apt install git
```
## Installation
1. Create a Disroot folder, in which you'll clone six repositories:
```bash
2020-01-03 10:09:39 +01:00
mkdir ~/Disroot
2019-03-09 08:55:17 +01:00
```
2. Clone the repositories
```bash
cd ~/Disroot
git clone https://git.disroot.org/Disroot/Website.git Website
git clone https://git.disroot.org/Disroot/grav-theme-disroot.git grav-theme-disroot
git clone https://git.disroot.org/Disroot/grav-theme-disrootblog.git grav-theme-disrootblog
git clone https://git.disroot.org/Disroot/grav-plugin-language-selector.git grav-plugin-language-selector
git clone https://git.disroot.org/Disroot/Disroot-Privacy-Policy.git Disroot-Privacy-Policy
git clone https://git.disroot.org/Disroot/CHANGELOG.git Disroot-Changelog
git clone https://git.disroot.org/Disroot/Disroot-ToS.git Disroot-ToS
```
3. Add the local domain name for the hub to your host machine's `/etc/hosts` file.
```bash
sudo echo "192.168.33.12 disroot.lan" >> /etc/hosts
2019-03-09 08:55:17 +01:00
```
4. Launch Vagrant to build the virtual machine (VM). This will take several minutes.
```bash
cd ~/Disroot/Website/vagrant
2019-03-09 08:55:17 +01:00
vagrant up disroot_lan
```
Congratulations, you should now have a fully functioning apache+GRAV server running locally in a Virtualbox-hosted VM managed by Vagrant. Next time you want to run vagrant simply run command
```bash
cd ~/Disroot/Website/vagrant
2019-03-09 08:55:17 +01:00
vagrant up disroot_lan
vagrant provision
2019-03-09 08:55:17 +01:00
```
### Enable SSH access
To make your development workflow more efficient, you may wish to use an SSH connection to rapidly synchronize the files you are developing in your local (host machine) development environment.
1. On your host machine, copy your public key.
```bash
2019-03-09 08:55:17 +01:00
user@host:~$ cat ~/.ssh/id_rsa.public
ssh-rsa eLX1UQbJHUCHf2V3K7YlMP0YmIT+50rlEsWre1eobApKb0Ac/WbvssX/Gh/ user@host
```
2020-01-05 11:05:02 +01:00
2. Use `vagrant ssh disroot_lan` to log in to the virtual machine.
```bash
user@host:~$ cd ~/Disroot/Website/vagrant
2019-03-09 08:55:17 +01:00
user@host:hubzilla-vagrant$ vagrant ssh disroot_lan
```
2020-01-05 11:05:02 +01:00
3. Switch to root and add your host user public key.
```bash
2019-03-09 08:55:17 +01:00
vagrant@stretch:~$ sudo -i
root@jessie:~# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
b4:e3:00:40:4f:c5:af:27:05:09:d4:70:29:ac:f8:51 root@jessie
The key's randomart image is:
+---[RSA 2048]----+
| .oo=*oo |
| +E.* |
| . oo. o. |
|. o . .o. |
| . . .oS |
| . oo.. |
| o. |
| |
| |
+-----------------+
root@stretch:~# echo "ssh-rsa eLX1UQbJHUCHf2V3K7YlMP0YmIT+50rlEsWre1eobApKb0Ac/WbvssX/Gh/ user@host" >> ~/.ssh/authorized_keys
```
2020-01-05 11:05:02 +01:00
4. From your host machine, you may now SSH into the virtual machine using
```bash
2019-03-09 08:55:17 +01:00
ssh root@disroot.lan
```