====== Container 'wordpress-technikkultur' ====== ===== Ressourcen ===== * 0.5 GB RAM * 2 Cores * 8 GB HDD (root-fs) ===== System ===== * interne IPs * 10.2.0.5, fd00:10:2:0::5 * 10.3.0.5, fd00:10:3:0::5 ===== Dienste ===== * Wordpress (via NGINX) ===== Installation ===== * Standard-Template mit Benutzern ==== NGINX / PHP ==== - NGINX und PHP-FPM installieren * **sudo apt-get install php8.2 php8.2-cli php8.2-fpm php8.2-gd php8.2-xml php8.2-zip php8.2-mbstring php8.2-mysql php8.2-imagick php8.2-curl nginx** - Default-Konfiguration anpassen server { listen 80 default_server; listen [::]:80 default_server; root /var/www/public_html; # Add index.php to the list if you are using PHP index index.php; server_name _; # Maximum POST-size and Buffer client_max_body_size 20M; client_body_buffer_size 128K; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location / { # This is cool because no php is touched for static content. # include the "?$args" part so non-default permalinks doesn't break when using query string try_files $uri $uri/ /index.php?$args; } # pass PHP scripts to FastCGI server location ~ \.php$ { #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini include fastcgi_params; fastcgi_intercept_errors on; fastcgi_pass unix:/run/php/php8.2-fpm.sock; #The following parameter can be also included in fastcgi_params file fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires max; log_not_found off; } } - PHP-Konfiguration für Upload anpassen post_max_size = 20M upload_max_filesize = 20M - Dienste aktivieren und neustarten * **sudo systemctl enable nginx.service php8.2-fpm.service** * **sudo systemctl restart nginx.service php8.2-fpm.service** ==== Wordpress ==== - Wordpress-Verzeichnisse erstellen * **sudo mkdir /var/www/public_html** - Datenbank erstellen - Wordpress installieren * nach [[https://wordpress.org/support/article/how-to-install-wordpress/|Anleitung]] * Entpacken in das Verzeichnis /var/www/public_html - Berechtigungen anpassen * **sudo chown -R www-data:www-data /var/www/public_html** - Konfigurationsvorlage kopieren * **sudo cp /var/www/public_html/wp-config-sample.php /var/www/public_html/wp-config.php** - DB-Konfiguration anpassen /** The name of the database for WordPress */ define( 'DB_NAME', 'wordpress_technikkultur' ); /** MySQL database username */ define( 'DB_USER', 'XXXXXXXXX' ); /** MySQL database password */ define( 'DB_PASSWORD', 'XXXXXXXXXX' ); /** MySQL hostname */ define( 'DB_HOST', '10.3.0.100' ); /** Database Charset to use in creating database tables. */ define( 'DB_CHARSET', 'utf8' ); /** The Database Collate type. Don't change this if in doubt. */ define( 'DB_COLLATE', '' ); - Salt-Konfiguration anpassen: Ausgabe von https://api.wordpress.org/secret-key/1.1/salt/ in Konfiguration schreiben define('AUTH_KEY', '****************************************************************'); define('SECURE_AUTH_KEY', '****************************************************************'); define('LOGGED_IN_KEY', '****************************************************************'); define('NONCE_KEY', '****************************************************************'); define('AUTH_SALT', '****************************************************************'); define('SECURE_AUTH_SALT', '****************************************************************'); define('LOGGED_IN_SALT', '****************************************************************'); define('NONCE_SALT', '****************************************************************'); - Verwendung eines SSL-Proxies konfigurieren ... /* Accept SSL behind proxy */ if (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') { $_SERVER['HTTPS'] = 'on'; } /* Use X-Forwarded-For HTTP Header to get visitors Real IP Address */ if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $http_x_headers = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); $_SERVER['REMOTE_ADDR'] = $http_x_headers[0]; } /** Sets up WordPress vars and included files. */ require_once ABSPATH . 'wp-settings.php'; - Installer aufrufen unter [[https://technikkultur-erfurt.de/wp-admin/install.php]] * Titel: **Verein zur Förderung der Technikkultur in Erfurt e.V.** * Mail-Adresse: **webmaster@XXXXXX.de** * Benutzername und Passwort sicher wählen und dokumentieren - Im Admin-Backend einloggen und HTTPS konfigurieren * Unter Einstellungen - Allgemein die Parameter **WordPress-Adresse (URL)** und **Website-Adresse (URL)** anpassen ==== Backup mit Borgmatic ==== - Installation siehe [[mariadb]] - Konfiguration ... location: # List of source directories to backup (required). Globs and # tildes are expanded. source_directories: - /etc - /home - /root - /var/log - /var/www ...