In Exoscale Website hochfahren
Manchmal muss man vorübergehend eine Webseite oder App im Internet zur Verfügung stellen, damit Nutzer, die keinen lokalen Zugang haben, darauf zugreifen können. Es gibt verschiedene Möglichkeiten, dies zu tun – zum Beispiel mit Vercel, wenn die Webseite mit Git versioniert ist und ohne Datenbank auskommt, oder mit On-Demand-Compute-Instanzen wie Exoscale. Im folgenden Beispiel mussten wir eine WordPress-Webseite mit einer SQL-Datenbank kurzfristig hochfahren.
Warum Exoscale? Es ist bei wenig Trafic extrem günstig und man kann die Sever jederzeit einfach ausschalten
- Konto erstellen bei Exoscale
- Ssh-Key (Pub) hinzufügen (COMPUTE -> SSH KEYS)
- 2FA aktvieren (Account Details -> Password and Security)
- Compute Instance erstellen (In unserem Fall: Ein kleiner Debian 12 Container) (COMPUTE -> INSTANCES -> ADD)
- Security Group und Rules erstellen: ssh, http und https (COMPUTE -> SECURITY GROUPS) ssh: Type: INGRESS Protocol: TCP Source: 0.0.0.0/0 Start Port: 22 End Port: 22 http: Create a new security group called frontend Add a first rule: INGRESS, TCP, CIDR 0.0.0.0/0, port 80-80 https: Add another rule: ingress, TCP, CIDR 0.0.0.0/0, port 443-443
-
Worpress Backup in wsl entpacken
-
mit rsync files auf server kopieren:
rsync -avz --rsh='ssh' wordpress debian@194.182.188.236:/home/debian/fachsymposium
- Server konfigurieren a. Datenbankserver installieren mariadb(mysql):
sudo apt install mariadb-server
b. webserver installieren, nginx oder apache
sudo apt install nginx
c. DB und Webseite services aktivieren und starten
sudo systemctl enable nginx
sudo systemtl start nginx
Gleiches Vorgehen für mariadb-server und andere Dienste falls nötig
d. mariadb server sichern
sudo mysql_secure_installation
MariaDB als root-Benutzer öffnen
sudo mysql -u root -p
Neue Datenbank erstellen
CREATE DATABASE meinedb;
Neuen Benutzer mit Passwort erstellen
CREATE USER 'meinuser'@'localhost' IDENTIFIED BY 'meinpasswort';
Dem Benutzer alle Rechte für die Datenbank geben
GRANT ALL PRIVILEGES ON meinedb.* TO 'meinuser'@'localhost';
Änderungen übernehmen
FLUSH PRIVILEGES;
MariaDB verlassen
EXIT;
- php für nginx installieren
sudo apt install php-fpm
sudo systemctl enable php8.2-fpm.service
sudo systemctl start php8.2-fpm.service
- nginx für php-fpm konfigurieren
sudo vi /etc/nginx/sites-available/default
server {
listen 80;
server_name your_domain_or_ip;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock; # Adjust version if needed
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
Achtung! Auf dem config server nur den relevanten ersetzen, nicht alles überschreiben