Compare commits
2 Commits
72d624ec95
...
09f3afa35b
Author | SHA1 | Date | |
---|---|---|---|
09f3afa35b | |||
e0e403fc96 |
22
basics/eval.md
Normal file
22
basics/eval.md
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
title: "eval"
|
||||||
|
tags: [ "basics" ]
|
||||||
|
---
|
||||||
|
|
||||||
|
Compose a statement for execution.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
x='echo $y'
|
||||||
|
echo $x
|
||||||
|
y=dragon
|
||||||
|
eval "$x"
|
||||||
|
```
|
||||||
|
|
||||||
|
The results remain in the current shell, unlike sub-shells.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
b=basilisk
|
||||||
|
sh -c 'echo $b'
|
||||||
|
eval "g=goblin"
|
||||||
|
echo $g
|
||||||
|
```
|
@ -29,11 +29,10 @@ Edit `/etc/radicale/config`, changing the `[auth]` section from this:
|
|||||||
|
|
||||||
...to this:
|
...to this:
|
||||||
```
|
```
|
||||||
#type = htpasswd
|
type = htpasswd
|
||||||
```
|
```
|
||||||
|
|
||||||
If the service is started, restart it to make sure nobody can sign in without a password.
|
Make sure the service is off, as people may be able to sign in without a password at this point.
|
||||||
|
|
||||||
|
|
||||||
Next, find the `htpasswd` program.
|
Next, find the `htpasswd` program.
|
||||||
You might get it in the `apache` package or similar.
|
You might get it in the `apache` package or similar.
|
||||||
@ -41,7 +40,7 @@ You might get it in the `apache` package or similar.
|
|||||||
`htpasswd` allows you to generate passwords for users, and place them in `/etc/radicale/users`.
|
`htpasswd` allows you to generate passwords for users, and place them in `/etc/radicale/users`.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
PASS="$(xkcdpass)
|
PASS="$(xkcdpass)"
|
||||||
htpasswd -nb $USER "$PASS" | sudo tee -a /etc/radicale/users
|
htpasswd -nb $USER "$PASS" | sudo tee -a /etc/radicale/users
|
||||||
echo "Your username is $USER"
|
echo "Your username is $USER"
|
||||||
echo "Your password is $PASS"
|
echo "Your password is $PASS"
|
||||||
@ -96,14 +95,12 @@ Finally, replace the example `DOMAIN` with your actual domain name.
|
|||||||
```bash
|
```bash
|
||||||
DOMAIN=whatever.com
|
DOMAIN=whatever.com
|
||||||
sudo sed -i "s/DOMAIN/$DOMAIN/g" /etc/nginx/sites-available/radicale
|
sudo sed -i "s/DOMAIN/$DOMAIN/g" /etc/nginx/sites-available/radicale
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
(optional: replace that `cal.` prefix with anything else)
|
(optional: replace that `cal.` prefix with anything else)
|
||||||
|
|
||||||
Check nginx is happy:
|
Check nginx is happy:
|
||||||
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo nginx -t
|
sudo nginx -t
|
||||||
```
|
```
|
||||||
@ -115,7 +112,6 @@ sudo certbod -d cal.$DOMAIN
|
|||||||
|
|
||||||
Start or restart both services:
|
Start or restart both services:
|
||||||
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo systemctl start radicale
|
sudo systemctl start radicale
|
||||||
sudo systemctl restart nginx
|
sudo systemctl restart nginx
|
||||||
@ -123,4 +119,4 @@ sudo systemctl restart nginx
|
|||||||
|
|
||||||
You should now be able to log into your calendar, and add it to a phone.
|
You should now be able to log into your calendar, and add it to a phone.
|
||||||
|
|
||||||
NB: you don't need the port number.
|
**NB:** you don't need the port number.
|
||||||
|
Loading…
Reference in New Issue
Block a user