Compare commits
6 Commits
2822ab8a2f
...
main
Author | SHA1 | Date | |
---|---|---|---|
2722f066c7
|
|||
d31361c7a6
|
|||
b1662d458f
|
|||
9510d10139
|
|||
da387f0f2b
|
|||
2ee73798a0
|
24
caddy-webserver.service
Normal file
24
caddy-webserver.service
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Caddy webserver
|
||||||
|
After=network-online.target
|
||||||
|
Wants=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=forking
|
||||||
|
User=caddy
|
||||||
|
Group=caddy
|
||||||
|
ExecStartPre=/usr/bin/caddy validate --config /srv/www/Caddyfile
|
||||||
|
ExecStart=/usr/bin/caddy start --config /srv/www/Caddyfile
|
||||||
|
ExecReload=/usr/bin/caddy reload --config /srv/www/Caddyfile
|
||||||
|
ExecStop=/usr/bin/caddy stop
|
||||||
|
TimeoutStopSec=5s
|
||||||
|
LimitNOFILE=1048576
|
||||||
|
LimitNPROC=512
|
||||||
|
PrivateTmp=true
|
||||||
|
ProtectHome=full
|
||||||
|
ProtectSystem=full
|
||||||
|
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
||||||
|
#RemainAfterExit=yes
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
85
nextcloud-snap-caddy-setup.md
Normal file
85
nextcloud-snap-caddy-setup.md
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
1. Install snapd & a web server (caddy in this guide)
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo apt update && sudo apt install --yes snapd caddy
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
2. Start snapd systemd unit
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo systemctl start snapd
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
3. Install Nextcloud snap
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo snap install nextcloud
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
4. Initialize Nextcloud snap and create admin account
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo /snap/bin/nextcloud.manual-install USER PASSWORD
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
5. Set trusted domains in Nextcloud
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo /snap/bin/nextcloud.occ config:system:set trusted_domains NUMBER --value=DOMAIN
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
6. Set Nextcloud HTTP & HTTPS ports to 8080 & 4443
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo snap set nextcloud ports.http=8080
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo snap set nextcloud ports.https=4443
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
7. Create (or add to) a Caddyfile to reverse proxy to Nextcloud
|
||||||
|
|
||||||
|
```
|
||||||
|
nano /path/to/Caddyfile
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
DOMAIN {
|
||||||
|
reverse_proxy localhost:8080
|
||||||
|
|
||||||
|
rewrite /.well-known/carddav /remote.php/dav
|
||||||
|
rewrite /.well-known/caldav /remote.php/dav
|
||||||
|
rewrite /.well-known/webfinger /public.php?service=webfinger
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
8. Stop Caddy systemd service & change Caddyfile path
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo systemctl stop caddy
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
cat /usr/lib/systemd/system/caddy.service | \
|
||||||
|
sed "s|/etc/caddy/Caddyfile|/path/to/Caddyfile|g" | \
|
||||||
|
sudo tee /usr/lib/systemd/system/caddy.service &> /dev/null
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
9. Reload systemd daemon and restart Caddy
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo systemctl start caddy
|
||||||
|
```
|
77
nextcloud-snap-caddy.sh
Normal file
77
nextcloud-snap-caddy.sh
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
|
||||||
|
printf 'Enter username for Nextcloud admin account:\n'
|
||||||
|
read -r USERNAME
|
||||||
|
|
||||||
|
printf '\nEnter password for Nextcloud admin account:'
|
||||||
|
read -sr PASSWORD
|
||||||
|
|
||||||
|
printf '\n\nEnter domain name that will point to this server:\n'
|
||||||
|
read -r DOMAIN
|
||||||
|
|
||||||
|
|
||||||
|
sudo \
|
||||||
|
apt \
|
||||||
|
update \
|
||||||
|
&& \
|
||||||
|
sudo \
|
||||||
|
apt \
|
||||||
|
install \
|
||||||
|
--yes \
|
||||||
|
snapd \
|
||||||
|
caddy \
|
||||||
|
|| \
|
||||||
|
exit \
|
||||||
|
1
|
||||||
|
|
||||||
|
sudo \
|
||||||
|
systemctl \
|
||||||
|
enable \
|
||||||
|
--now \
|
||||||
|
snapd
|
||||||
|
|
||||||
|
sudo \
|
||||||
|
snap \
|
||||||
|
install \
|
||||||
|
nextcloud
|
||||||
|
|
||||||
|
sudo \
|
||||||
|
/snap/bin/nextcloud.manual-install \
|
||||||
|
${USERNAME} \
|
||||||
|
${PASSWORD}
|
||||||
|
|
||||||
|
sudo \
|
||||||
|
/snap/bin/nextcloud.occ \
|
||||||
|
config:system:set \
|
||||||
|
trusted_domains \
|
||||||
|
0 \
|
||||||
|
--value=${DOMAIN}
|
||||||
|
|
||||||
|
sudo \
|
||||||
|
snap \
|
||||||
|
set \
|
||||||
|
nextcloud \
|
||||||
|
ports.http=8080
|
||||||
|
|
||||||
|
sudo \
|
||||||
|
snap \
|
||||||
|
set \
|
||||||
|
nextcloud \
|
||||||
|
ports.https=4443
|
||||||
|
|
||||||
|
cat << EOF | sudo tee /etc/caddy/Caddyfile &> /dev/null
|
||||||
|
${DOMAIN} {
|
||||||
|
reverse_proxy localhost:8080
|
||||||
|
|
||||||
|
rewrite /.well-known/carddav /remote.php/dav
|
||||||
|
rewrite /.well-known/caldav /remote.php/dav
|
||||||
|
rewrite /.well-known/webfinger /public.php?service=webfinger
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
sudo \
|
||||||
|
systemctl \
|
||||||
|
restart \
|
||||||
|
caddy
|
3
sshd_lockdown.conf
Normal file
3
sshd_lockdown.conf
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
PermitRootLogin no
|
||||||
|
PasswordAuthentication no
|
||||||
|
PermitEmptyPasswords no
|
Reference in New Issue
Block a user