Servereinrichtung für Akedia

Pakete installieren

# Basis Pakete
apt install nginx build-essential imagemagick software-properties-common postgresql postgresql-contrib

# Certbot, siehe
add-apt-repository universe
add-apt-repository ppa:certbot/certbot
apt install certbot python-certbot-nginx 

# Elixir, siehe: https://elixir-lang.org/install.html#unix-and-unix-like
wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb && sudo dpkg -i erlang-solutions_1.0_all.deb
apt update
apt install esl-erlang
apt install elixir

# Node 11, siehe https://github.com/nodesource/distributions#deb
curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -
sudo apt-get install -y nodejs

Benutzer anlegen

Einstellungen vornehmen

Locale generieren

Wenn die locale nicht konfiguriert ist, kommt beim deployen von akedia die folgede warnung (mehrmals):

warning: the VM is running with native name encoding of latin1 which may cause Elixir to malfunction as it expects utf8. Please ensure your locale is set to UTF-8 (which can be verified by running “locale” in your shell)

Um das zu verhindern, sollten die folgenden Befehle ausgeführt werden:

# Locale generieren
locale-gen de_DE.UTF-8
# Standardsprache setzen
dpkg-reconfigure locales

Diffie-Hellman Parameter für Nginx generieren

openssl dhparam -out /etc/nginx/dhparam.pem 4096

TODO: Nginx einrichten

Postgres Server einrichten

# Als postgres Benutzer einloggen
sudo -i -u postgres
# Akedia Benutzer anlegen
createuser --interactive
# Akedia Datenbank anlegen
createdb akedia_prod
# Rechte setzen
psql
grant all privileges on database akedia_prod to akedia;
meta
elixir
ubuntu
nginx