Diseñar el proceso para desplegar un nextcloud, discourse, y ldap consumer para un colectivo x.
## Base configuration.
Después de contratar un servidor nuevo. Los primeros pasos son
# Cambiar hostname and /etc/hosts
# Crear usuarios que necesitan sudo
# Cambiar sshd_config
# Install firewall
# Install postfix
### Cambiar hostname and /etc/hosts
Nuestros servidores se llaman CC1, CC2, CC3, etc
`/etc/hostname`
```
CC1
```
`/etc/hosts`
```
127.0.1.1 CC1 scw-b94f71 #mantenemos el nombre original que puso el proveedor por sea caso
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
```
### Crear usuarios que necesitan sudo
Tenemos un ansible playbook que funciona, pero solo desde mi PC. Tenemos que mejorar eso.
### Cambiar sshd_config
`/etc/ssh/sshd_config` changing these parametres
```
Port 22022
PermitRootLogin no
PasswordAuthentication no
```
Test new config by logging into the server **before** logging out
### Default firewall
```
iptables -P INPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 22022 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
ip6tables -P INPUT ACCEPT
ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
ip6tables -A INPUT -p tcp -m tcp --dport 22022 -j ACCEPT
ip6tables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
ip6tables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
ip6tables -P INPUT DROP
ip6tables -P FORWARD ACCEPT
ip6tables -P OUTPUT ACCEPT
```
```
apt-get install iptables-persistent
```
### Install PostfixThe [[ https://phabricator.femprocomuns.cat/w/commonscloud/despliegue/base-config/ | first configuration steps ]] on a new server. Hostname, firewall, smtp,..
I've got an ansible-playbook working. We need to find a way to share this## Base docker apps.
All servers use ldap, nginx, and letstencrypt.