Petite note interne pour lister les étapes pour monter un serveur ex nihilo.

Serveur

Différentes étapes pour se connecter au serveur :

  1. installer un serveur (online.net par exemple)
  2. se connecter en ssh avec login/password
  3. ssh-copy-id login@ip pour copier sa clé ssh sur le serveur
  4. se connecter en ssh sans login/password
  5. configurer son shell (bash, zsh, fish, etc.)

Installation du serveur web

Différentes étapes pour installer nginx :

  1. pacman -S nginx
  2. modifier /etc/nginx/nginx.conf pour gérer les différents services (cf. https://wiki.archlinux.org/index.php/Nginx#Managing_server_entries)
  3. créer le fichier sites-available/http2.conf et faire un lien symbolique ln -rs sites-available/http2.conf sites-enabled/ et redémarrer nginx
  4. pacman -S certbot
  5. lancer certbot --nginx

nginx.conf

#user html;
worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }


    include sites-enabled/*.conf;
}

http2.conf

server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;


  root /usr/share/nginx/html;
  server_name server.ticabri.com;

    ssl_certificate /etc/letsencrypt/live/server.ticabri.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/server.ticabri.com/privkey.pem; # managed by Certbot
}
server {
    if ($host = server.ticabri.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot



  listen 80;
  listen [::]:80;
  server_name server.ticabri.com;
    return 404; # managed by Certbot


}

Installer un bouncer IRC

Différentes étapes pour installer le bouncer ZNC :

  1. pacman -S znc
  2. certbot certonly && cat /etc/letsencrypt/live/znc.ticabri.com/{privkey,cert,chain}.pem > /var/lib/znc/.znc/znc.pem (cf. https://wiki.znc.in/Signed_SSL_certificate#Certbot)
  3. configurer son client avec /PASS username/freenode:password

Installer ghost

La documentation complète est sur le site de ghost : https://docs.ghost.org/install/ubuntu/

Pour les pré-requis, nginx étant déjà installé, il faut ensuite pacman -S mariadb nodejs-lts-carbon npm.