<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.opensourceecology.org/index.php?action=history&amp;feed=atom&amp;title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3</id>
	<title>CHG-2025-XX-XX migrate microfactory to hetzner3 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.opensourceecology.org/index.php?action=history&amp;feed=atom&amp;title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3"/>
	<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3&amp;action=history"/>
	<updated>2026-04-16T19:04:20Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.13</generator>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3&amp;diff=303523&amp;oldid=prev</id>
		<title>Maltfield: melapress-login-security by DB (so we can harden nginx to block wp-config.php)</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3&amp;diff=303523&amp;oldid=prev"/>
		<updated>2025-02-16T01:09:49Z</updated>

		<summary type="html">&lt;p&gt;melapress-login-security by DB (so we can harden nginx to block wp-config.php)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 01:09, 16 February 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l294&quot;&gt;Line 294:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 294:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	sudo -u wp -i wp --path=&amp;quot;${docrootDir}&amp;quot; plugin activate ${plugin}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	sudo -u wp -i wp --path=&amp;quot;${docrootDir}&amp;quot; plugin activate ${plugin}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;done&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;done&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# configure melapress-login-security&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;echo &#039;DELETE FROM wp_options WHERE option_name = &quot;mls_options&quot;;&#039; | mysql -u${dbUser} -p${dbPass} ${dbName}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;echo &#039;DELETE FROM wp_options WHERE option_name = &quot;mls_setting&quot;;&#039; | mysql -u${dbUser} -p${dbPass} ${dbName}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cat &amp;lt;&amp;lt; EOF | mysql -u${dbUser} -p${dbPass} ${dbName}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;INSERT INTO wp_options (option_name, option_value) VALUES (&#039;mls_options&#039;, &#039;a:62:{s:13:&quot;master_switch&quot;;s:3:&quot;yes&quot;;s:26:&quot;activate_password_policies&quot;;s:3:&quot;yes&quot;;s:37:&quot;activate_password_expiration_policies&quot;;s:2:&quot;no&quot;;s:34:&quot;activate_password_recycle_policies&quot;;s:2:&quot;no&quot;;s:16:&quot;enforce_password&quot;;s:2:&quot;no&quot;;s:10:&quot;min_length&quot;;s:2:&quot;20&quot;;s:16:&quot;password_history&quot;;s:1:&quot;1&quot;;s:16:&quot;inherit_policies&quot;;s:2:&quot;no&quot;;s:15:&quot;password_expiry&quot;;a:2:{s:5:&quot;value&quot;;s:1:&quot;0&quot;;s:4:&quot;unit&quot;;s:6:&quot;months&quot;;}s:8:&quot;ui_rules&quot;;a:7:{s:7:&quot;history&quot;;s:2:&quot;no&quot;;s:8:&quot;username&quot;;s:2:&quot;no&quot;;s:6:&quot;length&quot;;b:1;s:7:&quot;numeric&quot;;s:2:&quot;no&quot;;s:8:&quot;mix_case&quot;;s:2:&quot;no&quot;;s:13:&quot;special_chars&quot;;s:2:&quot;no&quot;;s:21:&quot;exclude_special_chars&quot;;s:2:&quot;no&quot;;}s:5:&quot;rules&quot;;a:6:{s:6:&quot;length&quot;;b:1;s:7:&quot;numeric&quot;;s:2:&quot;no&quot;;s:10:&quot;upper_case&quot;;s:2:&quot;no&quot;;s:10:&quot;lower_case&quot;;s:2:&quot;no&quot;;s:13:&quot;special_chars&quot;;s:2:&quot;no&quot;;s:21:&quot;exclude_special_chars&quot;;s:2:&quot;no&quot;;}s:23:&quot;change_initial_password&quot;;s:2:&quot;no&quot;;s:12:&quot;timed_logins&quot;;s:2:&quot;no&quot;;s:21:&quot;timed_logins_schedule&quot;;a:7:{s:6:&quot;monday&quot;;a:7:{s:6:&quot;enable&quot;;s:2:&quot;no&quot;;s:7:&quot;from_hr&quot;;i:0;s:8:&quot;from_min&quot;;i:0;s:5:&quot;to_hr&quot;;i:11;s:6:&quot;to_min&quot;;i:59;s:13:&quot;from_am_or_pm&quot;;s:2:&quot;am&quot;;s:11:&quot;to_am_or_pm&quot;;s:2:&quot;pm&quot;;}s:7:&quot;tuesday&quot;;a:7:{s:6:&quot;enable&quot;;s:2:&quot;no&quot;;s:7:&quot;from_hr&quot;;i:0;s:8:&quot;from_min&quot;;i:0;s:5:&quot;to_hr&quot;;i:11;s:6:&quot;to_min&quot;;i:59;s:13:&quot;from_am_or_pm&quot;;s:2:&quot;am&quot;;s:11:&quot;to_am_or_pm&quot;;s:2:&quot;pm&quot;;}s:9:&quot;wednesday&quot;;a:7:{s:6:&quot;enable&quot;;s:2:&quot;no&quot;;s:7:&quot;from_hr&quot;;i:0;s:8:&quot;from_min&quot;;i:0;s:5:&quot;to_hr&quot;;i:11;s:6:&quot;to_min&quot;;i:59;s:13:&quot;from_am_or_pm&quot;;s:2:&quot;am&quot;;s:11:&quot;to_am_or_pm&quot;;s:2:&quot;pm&quot;;}s:8:&quot;thursday&quot;;a:7:{s:6:&quot;enable&quot;;s:2:&quot;no&quot;;s:7:&quot;from_hr&quot;;i:0;s:8:&quot;from_min&quot;;i:0;s:5:&quot;to_hr&quot;;i:11;s:6:&quot;to_min&quot;;i:59;s:13:&quot;from_am_or_pm&quot;;s:2:&quot;am&quot;;s:11:&quot;to_am_or_pm&quot;;s:2:&quot;pm&quot;;}s:6:&quot;friday&quot;;a:7:{s:6:&quot;enable&quot;;s:2:&quot;no&quot;;s:7:&quot;from_hr&quot;;i:0;s:8:&quot;from_min&quot;;i:0;s:5:&quot;to_hr&quot;;i:11;s:6:&quot;to_min&quot;;i:59;s:13:&quot;from_am_or_pm&quot;;s:2:&quot;am&quot;;s:11:&quot;to_am_or_pm&quot;;s:2:&quot;pm&quot;;}s:8:&quot;saturday&quot;;a:7:{s:6:&quot;enable&quot;;s:2:&quot;no&quot;;s:7:&quot;from_hr&quot;;i:0;s:8:&quot;from_min&quot;;i:0;s:5:&quot;to_hr&quot;;i:11;s:6:&quot;to_min&quot;;i:59;s:13:&quot;from_am_or_pm&quot;;s:2:&quot;am&quot;;s:11:&quot;to_am_or_pm&quot;;s:2:&quot;pm&quot;;}s:6:&quot;sunday&quot;;a:7:{s:6:&quot;enable&quot;;s:2:&quot;no&quot;;s:7:&quot;from_hr&quot;;i:0;s:8:&quot;from_min&quot;;i:0;s:5:&quot;to_hr&quot;;i:11;s:6:&quot;to_min&quot;;i:59;s:13:&quot;from_am_or_pm&quot;;s:2:&quot;am&quot;;s:11:&quot;to_am_or_pm&quot;;s:2:&quot;pm&quot;;}}s:22:&quot;inactive_users_enabled&quot;;s:2:&quot;no&quot;;s:21:&quot;inactive_users_expiry&quot;;a:2:{s:5:&quot;value&quot;;i:30;s:4:&quot;unit&quot;;s:4:&quot;days&quot;;}s:30:&quot;inactive_users_reset_on_unlock&quot;;s:2:&quot;no&quot;;s:29:&quot;failed_login_policies_enabled&quot;;s:3:&quot;yes&quot;;s:21:&quot;failed_login_attempts&quot;;s:1:&quot;5&quot;;s:27:&quot;failed_login_reset_attempts&quot;;s:4:&quot;1440&quot;;s:27:&quot;failed_login_unlock_setting&quot;;s:5:&quot;timed&quot;;s:24:&quot;failed_login_reset_hours&quot;;s:2:&quot;60&quot;;s:29:&quot;failed_login_reset_on_unblock&quot;;s:2:&quot;no&quot;;s:18:&quot;disable_self_reset&quot;;s:3:&quot;yes&quot;;s:26:&quot;disable_self_reset_message&quot;;b:0;s:27:&quot;deactivated_account_message&quot;;s:159:&quot;Your WordPress user has been deactivated. Please contact the &amp;lt;a href=&quot;mailto:michael@michaelaltfield.net&quot;&gt;website administrator&amp;lt;/a&gt; to activate back your user.&quot;;s:19:&quot;timed_login_message&quot;;b:0;s:30:&quot;locked_user_disable_self_reset&quot;;s:2:&quot;no&quot;;s:38:&quot;locked_user_disable_self_reset_message&quot;;b:0;s:17:&quot;restrict_login_ip&quot;;s:2:&quot;no&quot;;s:23:&quot;restrict_login_ip_count&quot;;i:3;s:22:&quot;restrict_login_message&quot;;s:0:&quot;&quot;;s:22:&quot;notify_password_expiry&quot;;s:2:&quot;no&quot;;s:30:&quot;notify_password_reset_on_login&quot;;b:0;s:27:&quot;notify_password_expiry_days&quot;;i:0;s:27:&quot;notify_password_expiry_unit&quot;;s:4:&quot;days&quot;;s:26:&quot;restrict_login_credentials&quot;;s:7:&quot;default&quot;;s:34:&quot;restrict_login_credentials_message&quot;;s:0:&quot;&quot;;s:24:&quot;enable_sessions_policies&quot;;b:0;s:23:&quot;remember_session_expiry&quot;;a:2:{s:5:&quot;value&quot;;i:14;s:4:&quot;unit&quot;;s:4:&quot;days&quot;;}s:22:&quot;default_session_expiry&quot;;a:2:{s:5:&quot;value&quot;;i:2;s:4:&quot;unit&quot;;s:4:&quot;days&quot;;}s:22:&quot;enable_device_policies&quot;;b:0;s:35:&quot;enable_device_policies_admin_alerts&quot;;s:2:&quot;no&quot;;s:25:&quot;enable_security_questions&quot;;b:0;s:17:&quot;enabled_questions&quot;;a:0:{}s:36:&quot;device_policies_prompt_email_content&quot;;s:0:&quot;&quot;;s:41:&quot;device_policies_admin_alert_email_content&quot;;s:0:&quot;&quot;;s:36:&quot;device_policies_prompt_email_subject&quot;;s:0:&quot;&quot;;s:41:&quot;device_policies_admin_alert_email_subject&quot;;s:0:&quot;&quot;;s:25:&quot;min_answered_needed_count&quot;;i:3;s:39:&quot;password_reset_request_disabled_message&quot;;s:0:&quot;&quot;;s:24:&quot;password_expired_message&quot;;s:0:&quot;&quot;;s:36:&quot;inactive_user_account_locked_message&quot;;s:0:&quot;&quot;;s:51:&quot;inactive_user_account_locked_reset_disabled_message&quot;;s:0:&quot;&quot;;s:38:&quot;restrict_logins_prompt_failure_message&quot;;s:0:&quot;&quot;;s:34:&quot;timed_logins_login_blocked_message&quot;;s:0:&quot;&quot;;s:39:&quot;restrict_login_ip_login_blocked_message&quot;;s:0:&quot;&quot;;s:35:&quot;failed_logins_login_blocked_message&quot;;s:0:&quot;&quot;;s:40:&quot;security_prompt_response_failure_message&quot;;s:0:&quot;&quot;;s:24:&quot;timed_logins_auto_logout&quot;;b:0;s:13:&quot;ppm-user-role&quot;;s:0:&quot;&quot;;s:22:&quot;excluded_special_chars&quot;;s:0:&quot;&quot;;}&#039;);&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;EOF&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cat &amp;lt;&amp;lt; EOF | mysql -u${dbUser} -p${dbPass} ${dbName}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;INSERT INTO wp_options (option_name, option_value) VALUES (&#039;mls_setting&#039;, &#039;a:62:{s:18:&quot;send_summary_email&quot;;s:3:&quot;yes&quot;;s:8:&quot;exempted&quot;;a:1:{s:5:&quot;users&quot;;a:0:{}}s:21:&quot;use_custom_from_email&quot;;s:13:&quot;default_email&quot;;s:10:&quot;from_email&quot;;s:0:&quot;&quot;;s:17:&quot;from_display_name&quot;;s:0:&quot;&quot;;s:26:&quot;terminate_session_password&quot;;s:2:&quot;no&quot;;s:16:&quot;stop_pw_generate&quot;;s:2:&quot;no&quot;;s:25:&quot;users_have_multiple_roles&quot;;s:2:&quot;no&quot;;s:19:&quot;multiple_role_order&quot;;a:0:{}s:13:&quot;clear_history&quot;;s:2:&quot;no&quot;;s:22:&quot;excluded_special_chars&quot;;s:0:&quot;&quot;;s:25:&quot;password_reset_key_expiry&quot;;a:2:{s:5:&quot;value&quot;;i:24;s:4:&quot;unit&quot;;s:5:&quot;hours&quot;;}s:20:&quot;enable_wp_reset_form&quot;;s:3:&quot;yes&quot;;s:22:&quot;enable_wp_profile_form&quot;;s:3:&quot;yes&quot;;s:18:&quot;enable_wc_pw_reset&quot;;s:2:&quot;no&quot;;s:22:&quot;enable_wc_checkout_reg&quot;;s:2:&quot;no&quot;;s:18:&quot;enable_bp_register&quot;;s:2:&quot;no&quot;;s:19:&quot;enable_bp_pw_update&quot;;s:2:&quot;no&quot;;s:18:&quot;enable_ld_register&quot;;s:2:&quot;no&quot;;s:18:&quot;enable_um_register&quot;;s:2:&quot;no&quot;;s:19:&quot;enable_um_pw_update&quot;;s:2:&quot;no&quot;;s:24:&quot;enable_bbpress_pw_update&quot;;s:2:&quot;no&quot;;s:20:&quot;enable_mepr_register&quot;;s:2:&quot;no&quot;;s:21:&quot;enable_mepr_pw_update&quot;;s:2:&quot;no&quot;;s:19:&quot;enable_edd_register&quot;;s:2:&quot;no&quot;;s:20:&quot;enable_edd_pw_update&quot;;s:2:&quot;no&quot;;s:19:&quot;enable_pmp_register&quot;;s:2:&quot;no&quot;;s:20:&quot;enable_pmp_pw_update&quot;;s:2:&quot;no&quot;;s:19:&quot;enable_pmp_pw_reset&quot;;s:2:&quot;no&quot;;s:28:&quot;enable_profilepress_register&quot;;s:2:&quot;no&quot;;s:29:&quot;enable_profilepress_pw_update&quot;;s:2:&quot;no&quot;;s:28:&quot;enable_profilepress_pw_reset&quot;;s:2:&quot;no&quot;;s:16:&quot;custom_login_url&quot;;s:16:&quot;ose-hidden-login&quot;;s:21:&quot;custom_login_redirect&quot;;s:0:&quot;&quot;;s:24:&quot;enable_login_allowed_ips&quot;;b:0;s:26:&quot;restrict_login_allowed_ips&quot;;s:0:&quot;&quot;;s:27:&quot;restrict_login_redirect_url&quot;;s:0:&quot;&quot;;s:26:&quot;restrict_login_bypass_slug&quot;;s:0:&quot;&quot;;s:24:&quot;send_user_unlocked_email&quot;;s:3:&quot;yes&quot;;s:25:&quot;send_user_unblocked_email&quot;;s:3:&quot;yes&quot;;s:24:&quot;send_user_pw_reset_email&quot;;s:3:&quot;yes&quot;;s:26:&quot;send_user_pw_expired_email&quot;;s:3:&quot;yes&quot;;s:16:&quot;login_geo_method&quot;;s:7:&quot;default&quot;;s:16:&quot;login_geo_action&quot;;s:11:&quot;deny_to_url&quot;;s:19:&quot;login_geo_countries&quot;;s:0:&quot;&quot;;s:22:&quot;login_geo_redirect_url&quot;;s:0:&quot;&quot;;s:25:&quot;login_geo_blocked_message&quot;;s:0:&quot;&quot;;s:16:&quot;iplocate_api_key&quot;;s:0:&quot;&quot;;s:19:&quot;gdpr_banner_message&quot;;s:0:&quot;&quot;;s:18:&quot;enable_gdpr_banner&quot;;b:0;s:33:&quot;disable_user_password_reset_email&quot;;s:2:&quot;no&quot;;s:41:&quot;disable_user_delayed_password_reset_email&quot;;s:2:&quot;no&quot;;s:29:&quot;disable_user_pw_expired_email&quot;;s:2:&quot;no&quot;;s:40:&quot;disable_user_unlocked_reset_needed_email&quot;;s:2:&quot;no&quot;;s:36:&quot;disable_device_policies_prompt_email&quot;;s:2:&quot;no&quot;;s:42:&quot;disable_device_policies_prompt_admin_email&quot;;s:2:&quot;no&quot;;s:27:&quot;disable_user_imported_email&quot;;s:2:&quot;no&quot;;s:40:&quot;disable_user_imported_forced_reset_email&quot;;s:2:&quot;no&quot;;s:27:&quot;disable_user_unlocked_email&quot;;s:2:&quot;no&quot;;s:24:&quot;user_unlocked_email_body&quot;;s:0:&quot;&quot;;s:25:&quot;user_unblocked_email_body&quot;;s:0:&quot;&quot;;s:32:&quot;user_reset_next_login_email_body&quot;;s:0:&quot;&quot;;}&#039;);&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;EOF&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l312&quot;&gt;Line 312:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 324:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;ActivityPub&amp;quot; -&amp;gt; &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Blog-Profile&amp;quot; -&amp;gt; &amp;quot;Change Header Image&amp;quot; = Select &amp;quot;design.jpg&amp;quot;, cropped such the top just includes the whole OSHW logo on the hat&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;ActivityPub&amp;quot; -&amp;gt; &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Blog-Profile&amp;quot; -&amp;gt; &amp;quot;Change Header Image&amp;quot; = Select &amp;quot;design.jpg&amp;quot;, cropped such the top just includes the whole OSHW logo on the hat&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;Login Security&amp;quot; &lt;/del&gt;-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;gt; &amp;quot;Login Security Policies&amp;quot; &lt;/del&gt;-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;gt; tick the box that said &amp;quot;enable login &lt;/del&gt;security &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;policies&amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;quick confirmation of &amp;#039;melapress&lt;/ins&gt;-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;login&lt;/ins&gt;-security&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot; -&amp;gt; tick the box that said &amp;quot;Activate password policies&lt;/del&gt;&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;Login Security&amp;quot; -&lt;/del&gt;&amp;gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;Login Security Policies&amp;quot; -&amp;gt; change &amp;quot;Passwords must be X characters minimum&amp;quot; to &amp;quot;&lt;/del&gt;20&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Make sure password polices are enabled, and &lt;/ins&gt;&amp;gt;20 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chars are required&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Security Policies&amp;quot; -&amp;gt;  uncheck &amp;quot;Password must contain at least one uppercase and one lowercase character. &lt;/del&gt;&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;page hardening&lt;/ins&gt;&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;quot;Login &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&amp;quot; -&amp;gt; uncheck &amp;quot;Password must contain at least one numeric character (0-9).&amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Make sure &lt;/ins&gt;&amp;quot;Login &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;page URL&lt;/ins&gt;&amp;quot; is &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;set &lt;/ins&gt;to &amp;quot;ose-hidden-login&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&amp;quot; -&amp;gt; uncheck &amp;quot;Password must contain at least one special character, i.e., a character that is not a letter or a umber, such as ( , ? € ! @ # * etc&amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&amp;quot; -&amp;gt; check &amp;quot;Reset password on first login &amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# &amp;quot;Login Security&amp;quot; -&amp;gt; &lt;/del&gt;&amp;quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Login Security Policies&amp;quot; -&amp;gt; check &amp;quot;Do not send password reset links &amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&amp;quot; -&amp;gt; check &amp;quot;Activate failed login policies &amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&amp;quot; -&amp;gt; change &amp;quot;When a user &lt;/del&gt;is &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;locked&amp;quot; from &amp;quot;it can be only unlocked by the administrator&amp;quot; &lt;/del&gt;to &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;quot;unlock it after 60 minutes&amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&amp;quot; -&amp;gt; uncheck &amp;quot;Require blocked users to reset password on unblock. &amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# Click the &amp;quot;Save Changes&amp;quot; button&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login page hardening&amp;quot; -&amp;gt; in the input form next to &amp;quot;Login page URL&amp;quot;, I enter &lt;/del&gt;&amp;quot;ose-hidden-login&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# Click the &amp;quot;Save Changes&amp;quot; button&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Google Authenticator&amp;quot; -&amp;gt; Check every box under &amp;quot;Roles requiring Google Authenticator Enabled&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Google Authenticator&amp;quot; -&amp;gt; Check every box under &amp;quot;Roles requiring Google Authenticator Enabled&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Maltfield</name></author>
	</entry>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3&amp;diff=303519&amp;oldid=prev</id>
		<title>Maltfield: use permissions script instead</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3&amp;diff=303519&amp;oldid=prev"/>
		<updated>2025-02-16T01:07:47Z</updated>

		<summary type="html">&lt;p&gt;use permissions script instead&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 01:07, 16 February 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l286&quot;&gt;Line 286:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 286:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# SET PERMISSIONS&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# SET PERMISSIONS&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;time &lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;usr&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;local&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;bin&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;fix_web_permissions&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sh&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# first pass, whole site&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chown -R not-apache:www-data &amp;quot;&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;var&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;www&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;html&amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;find &amp;quot;&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;var/www/html&amp;quot; -type d -exec chmod 0050 {} \;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;find &amp;quot;/var/www/html&amp;quot; -type f -exec chmod 0040 {} \;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#############&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# WORDPRESS #&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#############&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;wordpress_sites=&amp;quot;$(find /var/www/html -type d -wholename *htdocs/wp-content)&amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;for wordpress_site in $wordpress_sites; do&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	wp_docroot=&amp;quot;$(dirname &amp;quot;${wordpress_site}&amp;quot;)&amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	vhost_dir=&amp;quot;$(dirname &amp;quot;${wp_docroot}&amp;quot;)&amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	chown -R not-apache:www-data &amp;quot;${vhost_dir}&amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	find &amp;quot;${vhost_dir}&amp;quot; -type d -exec chmod 0050 {} \;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	find &amp;quot;${vhost_dir}&amp;quot; -type f -exec chmod 0040 {} \;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	chown not-apache:apache-admins &amp;quot;${vhost_dir}/wp-config&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;php&amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	chmod 0040 &amp;quot;${vhost_dir}/wp-config.php&amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	[ -d &amp;quot;${wp_docroot}/wp-content/uploads&amp;quot; ] || mkdir &amp;quot;${wp_docroot}/wp-content/uploads&amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	chown -R not-apache:www-data &amp;quot;${wp_docroot}/wp-content/uploads&amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	find &amp;quot;${wp_docroot}/wp-content/uploads&amp;quot; -type f -exec chmod 0660 {} \;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	find &amp;quot;${wp_docroot}/wp-content/uploads&amp;quot; -type d -exec chmod 0770 {} \;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	[ -d &amp;quot;${wp_docroot}/wp-content/tmp&amp;quot; ] || mkdir &amp;quot;${wp_docroot}/wp-content/tmp&amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	chown -R not-apache:www-data &amp;quot;${wp_docroot}/wp-content/tmp&amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	find &amp;quot;${wp_docroot}/wp-content/tmp&amp;quot; -type f -exec chmod 0660 {} \;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	find &amp;quot;${wp_docroot}/wp-content/tmp&amp;quot; -type d -exec chmod 0770 {} \;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;done&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;###########&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# phpList #&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;###########&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;phplist_sites=&amp;quot;$(find /var/www/html -maxdepth 1 -type d -iname *phplist*)&amp;quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;for vhost_dir in $phplist_sites; do&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	for dir in ${vhost_dir}; do chown -R not-apache:www-data &amp;quot;${dir}&amp;quot;; done&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	for dir in ${vhost_dir}; do find &amp;quot;${dir}&amp;quot; -type d -exec chmod 0050 {} \;; done&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	for dir in ${vhost_dir}; do find &amp;quot;${dir}&amp;quot; -type f -exec chmod 0040 {} \;; done&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	for dir in ${vhost_dir}; do [ -d &amp;quot;${dir}/public_html/uploadimages&amp;quot; ] || mkdir &amp;quot;${dir}/public_html/uploadimages&amp;quot;; done&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	for dir in ${vhost_dir}; do chown -R not-apache:www-data &amp;quot;${dir}/public_html/uploadimages&amp;quot;; done&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	for dir in ${vhost_dir}; do find &amp;quot;${dir}/public_html/uploadimages&amp;quot; -type f -exec chmod 0660 {} \;; done&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	for dir in ${vhost_dir}; do find &amp;quot;${dir}/public_html/uploadimages&amp;quot; -type d -exec chmod 0770 {} \;; done&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;done&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# ACTIVATE NEW PLUGINS&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# ACTIVATE NEW PLUGINS&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Maltfield</name></author>
	</entry>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3&amp;diff=303213&amp;oldid=prev</id>
		<title>Maltfield: s/store/microfactory/</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3&amp;diff=303213&amp;oldid=prev"/>
		<updated>2025-01-30T21:55:03Z</updated>

		<summary type="html">&lt;p&gt;s/store/microfactory/&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:55, 30 January 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l20&quot;&gt;Line 20:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 20:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This change does the following for microfactory.opensourceecology.org&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This change does the following for microfactory.opensourceecology.org&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# entirely migrate the &amp;#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;store&lt;/del&gt;&amp;#039; wordpress site from [[hetzner2]] (EOL CentOS7) to [[hetzner3]] (Debian 12)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# entirely migrate the &amp;#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;microfactory&lt;/ins&gt;&amp;#039; wordpress site from [[hetzner2]] (EOL CentOS7) to [[hetzner3]] (Debian 12)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# changes site from apache v2.4.6 to v2.4.62&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# changes site from apache v2.4.6 to v2.4.62&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# changes site from varnish v4.0.5 to v7.1.1&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# changes site from varnish v4.0.5 to v7.1.1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Maltfield</name></author>
	</entry>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3&amp;diff=303194&amp;oldid=prev</id>
		<title>Maltfield: /* Change Steps */</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3&amp;diff=303194&amp;oldid=prev"/>
		<updated>2025-01-29T21:03:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Change Steps&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:03, 29 January 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l363&quot;&gt;Line 363:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 363:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;ActivityPub&amp;quot; -&amp;gt; &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Enable profiles by type&amp;quot; = &amp;quot;Blog profile only&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;ActivityPub&amp;quot; -&amp;gt; &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Enable profiles by type&amp;quot; = &amp;quot;Blog profile only&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;ActivityPub&amp;quot; -&amp;gt; &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Blog-Profile&amp;quot; -&amp;gt; &amp;quot;Change profile ID&amp;quot; = &amp;quot;ose&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;ActivityPub&amp;quot; -&amp;gt; &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Blog-Profile&amp;quot; -&amp;gt; &amp;quot;Change profile ID&amp;quot; = &amp;quot;ose&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;ActivityPub&amp;quot; -&amp;gt; &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Blog-Profile&amp;quot; -&amp;gt; &amp;quot;Change Header Image&amp;quot; = Select &amp;quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;1day&lt;/del&gt;.jpg&amp;quot;, cropped such the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;bottom is exactly &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;bottom of Catarina&amp;#039;s white coat&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;ActivityPub&amp;quot; -&amp;gt; &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Blog-Profile&amp;quot; -&amp;gt; &amp;quot;Change Header Image&amp;quot; = Select &amp;quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;design&lt;/ins&gt;.jpg&amp;quot;, cropped such the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;top just includes &lt;/ins&gt;the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;whole OSHW &lt;/ins&gt;logo on the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;hat&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;General&amp;quot; -&amp;gt; &amp;quot;Choose a Site Icon&amp;quot; -&amp;gt; Select &amp;quot;OSE-&lt;/del&gt;logo&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-blueprint-bg-v3-1blarge.jpg&amp;quot;, cropped such that there is only a small buffer &lt;/del&gt;on the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;left &amp;amp; right of the text &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&amp;quot; -&amp;gt; tick the box that said &amp;quot;enable login security policies&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&amp;quot; -&amp;gt; tick the box that said &amp;quot;enable login security policies&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l393&quot;&gt;Line 393:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 392:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Revert the trivial change&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Revert the trivial change&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Confirm that the change has been reverted on the website&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Confirm that the change has been reverted on the website&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# search for &amp;#039;https://&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;store&lt;/del&gt;.opensourceecology.org/@&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;opensourceeverything&lt;/del&gt;&amp;#039; and &amp;#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;opensourceeverything&lt;/del&gt;@&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;store&lt;/del&gt;.opensourceecology.org&amp;#039; on some mastodon site and see if it&amp;#039;s working&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# search for &amp;#039;https://&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;microfacotry&lt;/ins&gt;.opensourceecology.org/@&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ose&lt;/ins&gt;&amp;#039; and &amp;#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ose&lt;/ins&gt;@&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;microfactory&lt;/ins&gt;.opensourceecology.org&amp;#039; on some mastodon site and see if it&amp;#039;s working&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Revert Steps==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Revert Steps==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Maltfield</name></author>
	</entry>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3&amp;diff=303193&amp;oldid=prev</id>
		<title>Maltfield: remove theme change step</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3&amp;diff=303193&amp;oldid=prev"/>
		<updated>2025-01-29T17:25:14Z</updated>

		<summary type="html">&lt;p&gt;remove theme change step&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:25, 29 January 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l358&quot;&gt;Line 358:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 358:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Finally, log into the new wordpress site (proceed with any db upgrades it walks you through), and update settings:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Finally, log into the new wordpress site (proceed with any db upgrades it walks you through), and update settings:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# &quot;Appearance&quot; -&gt; Themes. Activate &quot;Twenty Seventeen&quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# &quot;Settings&quot; -&gt; &quot;Reading&quot; -&gt; &quot;Homepage&quot; = &quot;Sample Page&quot;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;quot;Media&amp;quot; -&amp;gt; &amp;quot;Library&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &amp;quot;Media&amp;quot; -&amp;gt; &amp;quot;Library&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;## Upload https://wiki.opensourceecology.org/wiki/File:OSE-logo-blueprint-bg-v3-1blarge.jpg&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;## Upload https://wiki.opensourceecology.org/wiki/File:OSE-logo-blueprint-bg-v3-1blarge.jpg&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Maltfield</name></author>
	</entry>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3&amp;diff=303191&amp;oldid=prev</id>
		<title>Maltfield: updated plugin versions</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3&amp;diff=303191&amp;oldid=prev"/>
		<updated>2025-01-29T17:23:05Z</updated>

		<summary type="html">&lt;p&gt;updated plugin versions&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:23, 29 January 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l69&quot;&gt;Line 69:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 69:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# install plugin &amp;#039;wp-pgp-encrypted-emails&amp;#039; v0.8.0&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# install plugin &amp;#039;wp-pgp-encrypted-emails&amp;#039; v0.8.0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# install plugin &amp;#039;wp-qrcode&amp;#039; v1.1.1&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# install plugin &amp;#039;wp-qrcode&amp;#039; v1.1.1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# change theme from &#039;oshin&#039; to &#039;twentyseventeen&#039;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update theme &#039;storefront&#039; from v6.6.4.4 to v7.2.1&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update theme &#039;twentyeleven&#039; from v3.2 to v4.7&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update theme &#039;twentyfifteen&#039; from v2.4 to v3.8&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update theme &#039;twentyfourteen&#039; from v2.6 to v4.0&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update theme &#039;twentynineteen&#039; from v1.3 to v2.9&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update theme &#039;twentyseventeen&#039; from v2.1 to v3.7&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update theme &#039;twentysixteen&#039; from v1.9 to v3.3&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update theme &#039;twentyten&#039; from v2.8 to v4.2&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update theme &#039;twentythirteen&#039; from v2.8 to v4.2&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update theme &#039;twentytwelve&#039; from v2.9 to v4.3&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;TODO: add new plugins &amp;amp; versions&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update theme &amp;#039;oshin&amp;#039; from v6.6.4.4 to v7.2.1&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update theme &amp;#039;twentyeleven&amp;#039; from v3.2 to v4.8&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update theme &amp;#039;twentyfifteen&amp;#039; from v2.4 to v3.9&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update theme &amp;#039;twentyfourteen&amp;#039; from v2.6 to v4.1&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update theme &amp;#039;twentyseventeen&amp;#039; from v2.1 to v3.8&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update theme &amp;#039;twentysixteen&amp;#039; from v1.9 to v3.4&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update theme &amp;#039;twentyten&amp;#039; from v2.8 to v4.3&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update theme &amp;#039;twentythirteen&amp;#039; from v2.8 to v4.3&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update theme &amp;#039;twentytwelve&amp;#039; from v2.9 to v4.4&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Points of Contact==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Points of Contact==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Maltfield</name></author>
	</entry>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3&amp;diff=303190&amp;oldid=prev</id>
		<title>Maltfield: remove woocommerce plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3&amp;diff=303190&amp;oldid=prev"/>
		<updated>2025-01-29T17:17:52Z</updated>

		<summary type="html">&lt;p&gt;remove woocommerce plugins&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:17, 29 January 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l47&quot;&gt;Line 47:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 47:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# uninstall plugin &amp;#039;typehub&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# uninstall plugin &amp;#039;typehub&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# update plugin &amp;#039;vaching&amp;#039; from v1.6.9 to v1.8.3&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# update plugin &amp;#039;vaching&amp;#039; from v1.6.9 to v1.8.3&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update plugin &#039;coingate-for-woocommerce&#039; from v1.2.2 to v2.1.1&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# install, activate, and configure new plugin &amp;#039;activitypub&amp;#039; v4.4.0&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# install, activate, and configure new plugin &amp;#039;activitypub&amp;#039; v4.4.0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l64&quot;&gt;Line 64:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 63:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# install plugin &amp;#039;smart-slider-3&amp;#039; v3.5.1.25&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# install plugin &amp;#039;smart-slider-3&amp;#039; v3.5.1.25&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# install plugin &amp;#039;spam-destroyer&amp;#039; v2.1.4&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# install plugin &amp;#039;spam-destroyer&amp;#039; v2.1.4&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# install plugin &#039;woocommerce-gateway-stripe&#039; v9.0.0&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# install plugin &#039;woocommerce-multilingual&#039; v5.3.9&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# install plugin &amp;#039;wordpress-seo&amp;#039; v24.0&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# install plugin &amp;#039;wordpress-seo&amp;#039; v24.0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# install plugin &amp;#039;wp-2fa&amp;#039; v2.8.0&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# install plugin &amp;#039;wp-2fa&amp;#039; v2.8.0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l262&quot;&gt;Line 262:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 259:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# INSTALLL NEW PLUGINS&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# INSTALLL NEW PLUGINS&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;new_plugins=&amp;quot;activitypub aurora-heatmap melapress-login-security wps-hide-login raw-html related-posts-by-taxonomy smart-slider-3 spam-destroyer &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;coinpayments-payment-gateway-for-woocommerce woocommerce-gateway-stripe &lt;/del&gt;wpfront-notification-bar wordpress-seo wp-pgp-encrypted-emails &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;woo-multi-currency woocommerce-multilingual &lt;/del&gt;include-mastodon-feed bulk-media-register enable-media-replace regenerate-thumbnails wp-qrcode wp-pgp-encrypted-emails &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;woo-multi-currency woocommerce-multilingual &lt;/del&gt;include-mastodon-feed wp-2fa advanced-nocaptcha-recaptcha hcaptcha-for-forms-and-more leaflet-map extensions-leaflet-map wpforms-lite&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;new_plugins=&amp;quot;activitypub aurora-heatmap melapress-login-security wps-hide-login raw-html related-posts-by-taxonomy smart-slider-3 spam-destroyer wpfront-notification-bar wordpress-seo wp-pgp-encrypted-emails include-mastodon-feed bulk-media-register enable-media-replace regenerate-thumbnails wp-qrcode wp-pgp-encrypted-emails include-mastodon-feed wp-2fa advanced-nocaptcha-recaptcha hcaptcha-for-forms-and-more leaflet-map extensions-leaflet-map wpforms-lite&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;for plugin in ${new_plugins}; do&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;for plugin in ${new_plugins}; do&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Maltfield</name></author>
	</entry>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3&amp;diff=303189&amp;oldid=prev</id>
		<title>Maltfield: update plugin versions</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3&amp;diff=303189&amp;oldid=prev"/>
		<updated>2025-01-29T17:16:25Z</updated>

		<summary type="html">&lt;p&gt;update plugin versions&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:16, 29 January 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l28&quot;&gt;Line 28:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 28:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# update core wp from v5.1.1 to v6.7.1  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# update core wp from v5.1.1 to v6.7.1  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# eliminates subversion from the docroot (which has security issues because the releases are not signed and lacks 3TOFU)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# eliminates subversion from the docroot (which has security issues because the releases are not signed and lacks 3TOFU)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# update plugin &amp;#039;akismet&amp;#039; from v4.1.1 to v5.3.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;3&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# update plugin &amp;#039;akismet&amp;#039; from v4.1.1 to v5.3.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;uninstall &lt;/del&gt;plugin &amp;#039;be-gdpr&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;update &lt;/ins&gt;plugin &amp;#039;be-gdpr&amp;#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;from v1.0.0 to v1.1.6&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;uninstall &lt;/del&gt;plugin &amp;#039;be-portfolio-post&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;#039;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;update &lt;/ins&gt;plugin &amp;#039;be-portfolio-post&amp;#039; from v1.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;1 &lt;/ins&gt;to v1.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;1&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;1&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update plugin &amp;#039;classic-editor&lt;/del&gt;&amp;#039; from v1.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;4 &lt;/del&gt;to v1.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;6&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# uninstall plugin &amp;#039;colorhub&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# uninstall plugin &amp;#039;colorhub&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update plugin &#039;contact-form-7&#039; from v5.1.1 to v5.9.8&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# uninstall plugin &amp;#039;force-strong-passwords&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# uninstall plugin &amp;#039;force-strong-passwords&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# update plugin &amp;#039;google-authenticator&amp;#039; from v0.48 to 0.54&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# update plugin &amp;#039;google-authenticator&amp;#039; from v0.48 to 0.54&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# uninstall plugin &amp;#039;masterslider&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# uninstall plugin &amp;#039;masterslider&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# update plugin &amp;#039;meta-box&amp;#039; from v4.17.3 to v5.10.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update plugin &amp;#039;masterslider&amp;#039; from v3.2.7 to v3.7.8&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;uninstall &lt;/del&gt;plugin &amp;#039;meta-box-conditional-logic&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# update plugin &amp;#039;meta-box&amp;#039; from v4.17.3 to v5.10.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;uninstall &lt;/del&gt;plugin &amp;#039;meta-box-show-hide&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;update &lt;/ins&gt;plugin &amp;#039;meta-box-conditional-logic&amp;#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;from v1.3 to v1.6.23&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;uninstall &lt;/del&gt;plugin &amp;#039;meta-box-tabs&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;update &lt;/ins&gt;plugin &amp;#039;meta-box-show-hide&amp;#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;from v1.0.2 to v1.3.1&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;uninstall &lt;/del&gt;plugin &amp;#039;oshine-core&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;update &lt;/ins&gt;plugin &amp;#039;meta-box-tabs&amp;#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;from v1.0.0 to v1.1.18&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;uninstall &lt;/del&gt;plugin &amp;#039;oshine-modules&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;update &lt;/ins&gt;plugin &amp;#039;oshine-core&amp;#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;from v1.3.4 to v1.6.1&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# uninstall plugin &amp;#039;redux-vendor-support&amp;#039;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;update &lt;/ins&gt;plugin &amp;#039;oshine-modules&amp;#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;from v2.2.5 to v3.3.8&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# uninstall plugin &amp;#039;rename-wp-login&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# uninstall plugin &amp;#039;rename-wp-login&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;uninstall &lt;/del&gt;plugin &amp;#039;revslider&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;update &lt;/ins&gt;plugin &amp;#039;revslider&amp;#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;from v5.4.7.4 to 6.7.25&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;uninstall &lt;/del&gt;plugin &amp;#039;tatsu&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;update &lt;/ins&gt;plugin &amp;#039;tatsu&amp;#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;from v2.6.8 to v3.5.3&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# uninstall plugin &amp;#039;typehub&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# uninstall plugin &amp;#039;typehub&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# update plugin &amp;#039;vaching&amp;#039; from v1.6.9 to v1.8.3&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# update plugin &amp;#039;vaching&amp;#039; from v1.6.9 to v1.8.3&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# update plugin &#039;woocommerce&#039; from v3.5.7 to v9.3.3&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# update plugin &amp;#039;coingate-for-woocommerce&amp;#039; from v1.2.2 to v2.1.1&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# update plugin &amp;#039;coingate-for-woocommerce&amp;#039; from v1.2.2 to v2.1.1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Maltfield</name></author>
	</entry>
	<entry>
		<id>https://wiki.opensourceecology.org/index.php?title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3&amp;diff=303187&amp;oldid=prev</id>
		<title>Maltfield: initial draft, copied from CHG-2025-XX-XX_migrate_store_to_hetzner3</title>
		<link rel="alternate" type="text/html" href="https://wiki.opensourceecology.org/index.php?title=CHG-2025-XX-XX_migrate_microfactory_to_hetzner3&amp;diff=303187&amp;oldid=prev"/>
		<updated>2025-01-29T00:33:39Z</updated>

		<summary type="html">&lt;p&gt;initial draft, copied from CHG-2025-XX-XX_migrate_store_to_hetzner3&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Status=&lt;br /&gt;
&lt;br /&gt;
==2024-01-29 12:30 UTC==&lt;br /&gt;
&lt;br /&gt;
Initial Ticket draft created on wiki (WIP)&lt;br /&gt;
&lt;br /&gt;
=Change Info=&lt;br /&gt;
&lt;br /&gt;
==Scheduled Time==&lt;br /&gt;
&lt;br /&gt;
This change will take place on 2025-??-?? ??:00 UTC&lt;br /&gt;
&lt;br /&gt;
* = 2025-??-?? ??:00 Kansas City, US&lt;br /&gt;
* = 2025-??-?? ??:00 Guayaquil, EC&lt;br /&gt;
&lt;br /&gt;
https://www.timeanddate.com/worldclock/converter.html?iso=20240727T160000&amp;amp;p1=405&amp;amp;p2=1440&amp;amp;p3=93&lt;br /&gt;
&lt;br /&gt;
==Purpose==&lt;br /&gt;
&lt;br /&gt;
This change does the following for microfactory.opensourceecology.org&lt;br /&gt;
&lt;br /&gt;
# entirely migrate the &amp;#039;store&amp;#039; wordpress site from [[hetzner2]] (EOL CentOS7) to [[hetzner3]] (Debian 12)&lt;br /&gt;
# changes site from apache v2.4.6 to v2.4.62&lt;br /&gt;
# changes site from varnish v4.0.5 to v7.1.1&lt;br /&gt;
# changes site from nginx v1.20.1 to v1.22.1&lt;br /&gt;
# changes site from php v5.6 to v8.2&lt;br /&gt;
# changes site from using mod_php to php-fpm&lt;br /&gt;
# update core wp from v5.1.1 to v6.7.1 &lt;br /&gt;
# eliminates subversion from the docroot (which has security issues because the releases are not signed and lacks 3TOFU)&lt;br /&gt;
# update plugin &amp;#039;akismet&amp;#039; from v4.1.1 to v5.3.3&lt;br /&gt;
# uninstall plugin &amp;#039;be-gdpr&amp;#039;&lt;br /&gt;
# uninstall plugin &amp;#039;be-portfolio-post&amp;#039;&lt;br /&gt;
# update plugin &amp;#039;classic-editor&amp;#039; from v1.4 to v1.6.5&lt;br /&gt;
# uninstall plugin &amp;#039;colorhub&amp;#039;&lt;br /&gt;
# update plugin &amp;#039;contact-form-7&amp;#039; from v5.1.1 to v5.9.8&lt;br /&gt;
# uninstall plugin &amp;#039;force-strong-passwords&amp;#039;&lt;br /&gt;
# update plugin &amp;#039;google-authenticator&amp;#039; from v0.48 to 0.54&lt;br /&gt;
# uninstall plugin &amp;#039;masterslider&amp;#039;&lt;br /&gt;
# update plugin &amp;#039;meta-box&amp;#039; from v4.17.3 to v5.10.2&lt;br /&gt;
# uninstall plugin &amp;#039;meta-box-conditional-logic&amp;#039;&lt;br /&gt;
# uninstall plugin &amp;#039;meta-box-show-hide&amp;#039;&lt;br /&gt;
# uninstall plugin &amp;#039;meta-box-tabs&amp;#039;&lt;br /&gt;
# uninstall plugin &amp;#039;oshine-core&amp;#039;&lt;br /&gt;
# uninstall plugin &amp;#039;oshine-modules&amp;#039;&lt;br /&gt;
# uninstall plugin &amp;#039;redux-vendor-support&amp;#039;&lt;br /&gt;
# uninstall plugin &amp;#039;rename-wp-login&amp;#039;&lt;br /&gt;
# uninstall plugin &amp;#039;revslider&amp;#039;&lt;br /&gt;
# uninstall plugin &amp;#039;tatsu&amp;#039;&lt;br /&gt;
# uninstall plugin &amp;#039;typehub&amp;#039;&lt;br /&gt;
# update plugin &amp;#039;vaching&amp;#039; from v1.6.9 to v1.8.3&lt;br /&gt;
# update plugin &amp;#039;woocommerce&amp;#039; from v3.5.7 to v9.3.3&lt;br /&gt;
# update plugin &amp;#039;coingate-for-woocommerce&amp;#039; from v1.2.2 to v2.1.1&lt;br /&gt;
&lt;br /&gt;
# install, activate, and configure new plugin &amp;#039;activitypub&amp;#039; v4.4.0&lt;br /&gt;
# install, activate, and configure new plugin &amp;#039;aurora-heatmap&amp;#039; v1.7.0&lt;br /&gt;
# install, activate, and configure new plugin &amp;#039;melapress-login-security&amp;#039; v2.0.1&lt;br /&gt;
# install plugin &amp;#039;advanced-nocaptcha-recaptcha&amp;#039; v7.5.0&lt;br /&gt;
# install plugin &amp;#039;bulk-media-register&amp;#039; v1.40&lt;br /&gt;
# install plugin &amp;#039;enable-media-replace&amp;#039; v4.1.5&lt;br /&gt;
# install plugin &amp;#039;extensions-leaflet-map&amp;#039; v4.4.3&lt;br /&gt;
# install plugin &amp;#039;hcaptcha-for-forms-and-more&amp;#039; v4.8.0&lt;br /&gt;
# install plugin &amp;#039;include-mastodon-feed&amp;#039; v1.9.9&lt;br /&gt;
# install plugin &amp;#039;leaflet-map&amp;#039; v3.4.1&lt;br /&gt;
# install plugin &amp;#039;raw-html&amp;#039; v1.6.4&lt;br /&gt;
# install plugin &amp;#039;regenerate-thumbnails&amp;#039; v3.1.6&lt;br /&gt;
# install plugin &amp;#039;related-posts-by-taxonomy&amp;#039; v2.7.6&lt;br /&gt;
# install plugin &amp;#039;smart-slider-3&amp;#039; v3.5.1.25&lt;br /&gt;
# install plugin &amp;#039;spam-destroyer&amp;#039; v2.1.4&lt;br /&gt;
# install plugin &amp;#039;woocommerce-gateway-stripe&amp;#039; v9.0.0&lt;br /&gt;
# install plugin &amp;#039;woocommerce-multilingual&amp;#039; v5.3.9&lt;br /&gt;
# install plugin &amp;#039;wordpress-seo&amp;#039; v24.0&lt;br /&gt;
# install plugin &amp;#039;wp-2fa&amp;#039; v2.8.0&lt;br /&gt;
# install plugin &amp;#039;wpforms-lite&amp;#039; v1.9.2.3&lt;br /&gt;
# install plugin &amp;#039;wpfront-notification-bar&amp;#039; v3.4.2&lt;br /&gt;
# install plugin &amp;#039;wp-pgp-encrypted-emails&amp;#039; v0.8.0&lt;br /&gt;
# install plugin &amp;#039;wp-qrcode&amp;#039; v1.1.1&lt;br /&gt;
# change theme from &amp;#039;oshin&amp;#039; to &amp;#039;twentyseventeen&amp;#039;&lt;br /&gt;
# update theme &amp;#039;storefront&amp;#039; from v6.6.4.4 to v7.2.1&lt;br /&gt;
# update theme &amp;#039;twentyeleven&amp;#039; from v3.2 to v4.7&lt;br /&gt;
# update theme &amp;#039;twentyfifteen&amp;#039; from v2.4 to v3.8&lt;br /&gt;
# update theme &amp;#039;twentyfourteen&amp;#039; from v2.6 to v4.0&lt;br /&gt;
# update theme &amp;#039;twentynineteen&amp;#039; from v1.3 to v2.9&lt;br /&gt;
# update theme &amp;#039;twentyseventeen&amp;#039; from v2.1 to v3.7&lt;br /&gt;
# update theme &amp;#039;twentysixteen&amp;#039; from v1.9 to v3.3&lt;br /&gt;
# update theme &amp;#039;twentyten&amp;#039; from v2.8 to v4.2&lt;br /&gt;
# update theme &amp;#039;twentythirteen&amp;#039; from v2.8 to v4.2&lt;br /&gt;
# update theme &amp;#039;twentytwelve&amp;#039; from v2.9 to v4.3&lt;br /&gt;
&lt;br /&gt;
TODO: add new plugins &amp;amp; versions&lt;br /&gt;
&lt;br /&gt;
==Points of Contact==&lt;br /&gt;
&lt;br /&gt;
Change being performed by: [[User:Maltfield|Michael Altfield]]&lt;br /&gt;
&lt;br /&gt;
Service owners: [[User:Catarina|Catarina Mota]] &amp;amp; [[User:Marcin|Marcin Jakubowski]]&lt;br /&gt;
&lt;br /&gt;
==Time Length==&lt;br /&gt;
&lt;br /&gt;
This whole process is expected to take 1-3 hours.&lt;br /&gt;
&lt;br /&gt;
Some systems could be impacted for days, if issues are encountered.&lt;br /&gt;
&lt;br /&gt;
==Systems Impacted==&lt;br /&gt;
&lt;br /&gt;
This change impacts both hetzner2 and hetzner3. It&amp;#039;s possible that we&amp;#039;ll need to restart one or both of these servers during this migration, which could affect the availability of all OSE &amp;amp; OBI websites.&lt;br /&gt;
&lt;br /&gt;
==Staging Test==&lt;br /&gt;
&lt;br /&gt;
n/a&lt;br /&gt;
&lt;br /&gt;
=Change Steps=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
####################&lt;br /&gt;
# run on hetzner2 #&lt;br /&gt;
####################&lt;br /&gt;
&lt;br /&gt;
sudo su -&lt;br /&gt;
&lt;br /&gt;
# STEP 0: CREATE BACKUPS&lt;br /&gt;
source /root/backups/backup.settings&lt;br /&gt;
/root/backups/backup.sh&lt;br /&gt;
&lt;br /&gt;
# when finished, verify that the whole system backup was successful before proceeding&lt;br /&gt;
sudo rclone lsl b2:ose-server-backups | grep -i $(date +%Y%m%d)&lt;br /&gt;
&lt;br /&gt;
# DECLARE VARIABLES&lt;br /&gt;
vhost_name=&amp;#039;microfactory.opensourceecology.org&amp;#039;&lt;br /&gt;
dbName=&amp;#039;microfactory_db&amp;#039;&lt;br /&gt;
 dbUser=&amp;quot;CHANGEME&amp;quot;&lt;br /&gt;
 dbPass=&amp;quot;CHANGEME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
source /root/backups/backup.settings&lt;br /&gt;
stamp=`date +%Y%m%d`&lt;br /&gt;
backupDir_hetzner2=&amp;quot;/var/tmp/backups_for_migration_to_hetzner3/${vhost_name}_${stamp}&amp;quot;&lt;br /&gt;
backupDir_hetzner3=&amp;quot;/var/tmp/backups_for_migration_from_hetzner2/${vhost_name}_${stamp}&amp;quot;&lt;br /&gt;
backupFileName_db_hetzner2=&amp;quot;mysqldump_${vhost_name}.${stamp}.sql.bz2&amp;quot;&lt;br /&gt;
backupFileName_files_hetzner2=&amp;quot;${vhost_name}_files.${stamp}.tar.gz&amp;quot;&lt;br /&gt;
vhostDir=&amp;quot;/var/www/html/${vhost_name}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# STEP 1: Bring site down on hetzner2&lt;br /&gt;
# uncomment the SITE_DOWN section&lt;br /&gt;
vim /etc/nginx/conf.d/${vhost_name}.conf&lt;br /&gt;
&lt;br /&gt;
nginx -t&lt;br /&gt;
# only run this next command if the above command was successful&lt;br /&gt;
service nginx reload&lt;br /&gt;
&lt;br /&gt;
# STEP 2: BACKUP DB&lt;br /&gt;
mkdir -p ${backupDir_hetzner2}/{current,old}&lt;br /&gt;
pushd ${backupDir_hetzner2}/current/&lt;br /&gt;
mv ${backupDir_hetzner2}/current/* ${backupDir_hetzner2}/old/&lt;br /&gt;
&lt;br /&gt;
time nice mysqldump -u&amp;quot;${dbUser}&amp;quot; -p&amp;quot;${dbPass}&amp;quot; ${dbName} | bzip2 -c &amp;gt; ${backupDir_hetzner2}/current/${backupFileName_db_hetzner2}&lt;br /&gt;
&lt;br /&gt;
# STEP 3: BACKUP FILES&lt;br /&gt;
time nice tar -czvf ${backupDir_hetzner2}/current/${backupFileName_files_hetzner2} ${vhostDir}&lt;br /&gt;
&lt;br /&gt;
# STEP 4: COPY TO HETZNER3&lt;br /&gt;
ssh -p 32415 maltfield@hetzner3 sudo mkdir -p ${backupDir_hetzner3}/{current,old}&lt;br /&gt;
ssh -p 32415 maltfield@hetzner3 sudo mv ${backupDir_hetzner3}/current/* ${backupDir_hetzner3}/old/&lt;br /&gt;
rsync -av --progress --rsync-path=&amp;quot;sudo rsync&amp;quot; -e &amp;quot;ssh -p 32415&amp;quot; ${backupDir_hetzner2}/current/* maltfield@hetzner3:${backupDir_hetzner3}/current/&lt;br /&gt;
&lt;br /&gt;
####################&lt;br /&gt;
# run on hetzner3 #&lt;br /&gt;
####################&lt;br /&gt;
&lt;br /&gt;
sudo su -&lt;br /&gt;
&lt;br /&gt;
# STEP 0: CREATE BACKUPS&lt;br /&gt;
# for good measure, trigger a backup of the entire system&amp;#039;s database &amp;amp; files:&lt;br /&gt;
time /bin/nice /root/backups/backup.sh &amp;amp;&amp;gt;&amp;gt; /var/log/backups/backup.log&lt;br /&gt;
&lt;br /&gt;
# when finished, verify that the whole system backup was successful before proceeding&lt;br /&gt;
rclone lsl b2:ose-server-backups | grep -i $(date +%Y%m%d)&lt;br /&gt;
&lt;br /&gt;
# DECLARE VARIABLES&lt;br /&gt;
vhost_name=&amp;#039;microfactory.opensourceecology.org&amp;#039;&lt;br /&gt;
dbName=&amp;#039;microfactory_db&amp;#039;&lt;br /&gt;
 dbUser=&amp;quot;CHANGEME&amp;quot;&lt;br /&gt;
 dbPass=&amp;quot;CHANGEME&amp;quot;&lt;br /&gt;
&lt;br /&gt;
source /root/backups/backup.settings&lt;br /&gt;
stamp=`date +%Y%m%d`&lt;br /&gt;
backupDir_hetzner2=&amp;quot;/var/tmp/backups_for_migration_to_hetzner3/${vhost_name}_${stamp}&amp;quot;&lt;br /&gt;
backupDir_hetzner3=&amp;quot;/var/tmp/backups_for_migration_from_hetzner2/${vhost_name}_${stamp}&amp;quot;&lt;br /&gt;
backupFileName_db_hetzner2=&amp;quot;mysqldump_${vhost_name}.${stamp}.sql.bz2&amp;quot;&lt;br /&gt;
backupFileName_files_hetzner2=&amp;quot;${vhost_name}_files.${stamp}.tar.gz&amp;quot;&lt;br /&gt;
vhostDir=&amp;quot;/var/www/html/${vhost_name}&amp;quot;&lt;br /&gt;
docrootDir=&amp;quot;${vhostDir}/htdocs&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# STEP 1: ADD DB&lt;br /&gt;
&lt;br /&gt;
# create backup before we start changing the sql file&lt;br /&gt;
pushd ${backupDir_hetzner3}/current&lt;br /&gt;
cp ${backupFileName_db_hetzner2} ${backupFileName_db_hetzner2}.orig&lt;br /&gt;
&lt;br /&gt;
# extract .sql.bz2 -&amp;gt; .sql&lt;br /&gt;
bzip2 -dc ${backupFileName_db_hetzner2} &amp;gt; db.sql&lt;br /&gt;
&lt;br /&gt;
 time nice mysql -uroot -p${mysqlPass} -sNe &amp;quot;DROP DATABASE IF EXISTS ${dbName};&amp;quot; &lt;br /&gt;
 time nice mysql -uroot -p${mysqlPass} -sNe &amp;quot;CREATE DATABASE ${dbName}; USE ${dbName};&amp;quot;&lt;br /&gt;
 time nice mysql ${dbName} -uroot -p${mysqlPass} &amp;lt; &amp;quot;db.sql&amp;quot;&lt;br /&gt;
 time nice mysql -uroot -p${mysqlPass} -sNe &amp;quot;GRANT ALL ON ${dbName}.* TO &amp;#039;${dbUser}&amp;#039;@&amp;#039;localhost&amp;#039; IDENTIFIED BY &amp;#039;${dbPass}&amp;#039;; FLUSH PRIVILEGES;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# STEP 2: Add vhost files&lt;br /&gt;
mv &amp;quot;${vhostDir}&amp;quot; &amp;quot;${backupDir_hetzner3}/old/${vhost_name}.$(date &amp;quot;+%Y%m%d_%H%M%S&amp;quot;)&amp;quot;&lt;br /&gt;
tar -xzvf ${backupFileName_files_hetzner2}&lt;br /&gt;
mv var/www/html/${vhost_name} ${vhostDir}&lt;br /&gt;
&lt;br /&gt;
# remove &amp;#039;.svn&amp;#039; dirs (we no longer use svn, for security)&lt;br /&gt;
find ${docrootDir} -iname &amp;#039;.svn&amp;#039; -exec rm -rf &amp;#039;{}&amp;#039; \;&lt;br /&gt;
&lt;br /&gt;
# add wordpress bug fix&lt;br /&gt;
# is the bug fix already present?&lt;br /&gt;
if [[ ! $(grep &amp;#039;https://core.trac.wordpress.org/ticket/48693&amp;#039; ${vhostDir}/wp-config.php) ]]; then&lt;br /&gt;
	# the bug fix is absent; add it&lt;br /&gt;
&lt;br /&gt;
	backup_filename=&amp;quot;wp-config.`date &amp;quot;+%Y%m%d_%H%M%S&amp;quot;`.php&amp;quot;&lt;br /&gt;
	mv ${vhostDir}/wp-config.php ${vhostDir}/${backup_filename}&lt;br /&gt;
&lt;br /&gt;
	cat &amp;gt; ${vhostDir}/wp-config.php &amp;lt;&amp;lt;&amp;#039;EOF&amp;#039;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
# fix wordpress bugs&lt;br /&gt;
# * https://core.trac.wordpress.org/ticket/48693&lt;br /&gt;
# * https://core.trac.wordpress.org/ticket/62693&lt;br /&gt;
if( ! function_exists(&amp;#039;ini_set&amp;#039;) ){&lt;br /&gt;
        function ini_set(){&lt;br /&gt;
                return;&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
if( ! function_exists(&amp;#039;chmod&amp;#039;) ){&lt;br /&gt;
        function chmod(){&lt;br /&gt;
                return;&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
	tail -n +2 ${vhostDir}/${backup_filename} &amp;gt;&amp;gt; ${vhostDir}/wp-config.php&lt;br /&gt;
&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# verify&lt;br /&gt;
ls&lt;br /&gt;
vim ${vhostDir}/wp-config.php&lt;br /&gt;
&lt;br /&gt;
# UPDATE CORE&lt;br /&gt;
&lt;br /&gt;
rsync -av --progress /var/tmp/wordpress/core/wordpress/ ${docrootDir}&lt;br /&gt;
&lt;br /&gt;
# UPDATE OLD PLUGINS&lt;br /&gt;
&lt;br /&gt;
for plugin_path in $(find &amp;quot;${docrootDir}/wp-content/plugins&amp;quot; -mindepth 1 -maxdepth 1 -type d); do&lt;br /&gt;
        plugin=$(basename &amp;quot;${plugin_path}&amp;quot;)&lt;br /&gt;
        source_path=&amp;quot;/var/tmp/wordpress/plugins/${plugin}&amp;quot;&lt;br /&gt;
        &lt;br /&gt;
        echo &amp;quot;${plugin}&amp;quot;&lt;br /&gt;
        rm -rf ${plugin_path};&lt;br /&gt;
        if [ -d &amp;quot;${source_path}&amp;quot; ]; then&lt;br /&gt;
                rsync -a ${source_path}/ &amp;quot;${plugin_path}/&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# INSTALLL NEW PLUGINS&lt;br /&gt;
&lt;br /&gt;
new_plugins=&amp;quot;activitypub aurora-heatmap melapress-login-security wps-hide-login raw-html related-posts-by-taxonomy smart-slider-3 spam-destroyer coinpayments-payment-gateway-for-woocommerce woocommerce-gateway-stripe wpfront-notification-bar wordpress-seo wp-pgp-encrypted-emails woo-multi-currency woocommerce-multilingual include-mastodon-feed bulk-media-register enable-media-replace regenerate-thumbnails wp-qrcode wp-pgp-encrypted-emails woo-multi-currency woocommerce-multilingual include-mastodon-feed wp-2fa advanced-nocaptcha-recaptcha hcaptcha-for-forms-and-more leaflet-map extensions-leaflet-map wpforms-lite&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for plugin in ${new_plugins}; do&lt;br /&gt;
        plugin_path=&amp;quot;${docrootDir}/wp-content/plugins/${plugin}&amp;quot;&lt;br /&gt;
        source_path=&amp;quot;/var/tmp/wordpress/plugins/${plugin}&amp;quot;&lt;br /&gt;
        &lt;br /&gt;
        if [ -d &amp;quot;${source_path}&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;${plugin}&amp;quot;&lt;br /&gt;
                rm -rf ${plugin_path};&lt;br /&gt;
                rsync -a ${source_path}/ &amp;quot;${plugin_path}/&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# delete Master Slider plugin (MS_Aq_Resize.process() error: Image file does not exist)&lt;br /&gt;
rm -rf ${docrootDir}/wp-content/plugins/masterslider*&lt;br /&gt;
&lt;br /&gt;
# UPDATE/INSTALL THEMES&lt;br /&gt;
&lt;br /&gt;
for theme_path in $(find &amp;quot;${docrootDir}/wp-content/themes&amp;quot; -mindepth 1 -maxdepth 1 -type d); do&lt;br /&gt;
	theme=$(basename &amp;quot;${theme_path}&amp;quot;)&lt;br /&gt;
	source_path=&amp;quot;/var/tmp/wordpress/themes/${theme}&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	echo &amp;quot;${theme}&amp;quot;&lt;br /&gt;
	rm -rf ${theme_path};&lt;br /&gt;
	if [ -d &amp;quot;${source_path}&amp;quot; ]; then&lt;br /&gt;
		rsync -a ${source_path}/ &amp;quot;${theme_path}/&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# SET PERMISSIONS&lt;br /&gt;
&lt;br /&gt;
# first pass, whole site&lt;br /&gt;
chown -R not-apache:www-data &amp;quot;/var/www/html&amp;quot;&lt;br /&gt;
find &amp;quot;/var/www/html&amp;quot; -type d -exec chmod 0050 {} \;&lt;br /&gt;
find &amp;quot;/var/www/html&amp;quot; -type f -exec chmod 0040 {} \;&lt;br /&gt;
&lt;br /&gt;
#############&lt;br /&gt;
# WORDPRESS #&lt;br /&gt;
#############&lt;br /&gt;
&lt;br /&gt;
wordpress_sites=&amp;quot;$(find /var/www/html -type d -wholename *htdocs/wp-content)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for wordpress_site in $wordpress_sites; do&lt;br /&gt;
&lt;br /&gt;
	wp_docroot=&amp;quot;$(dirname &amp;quot;${wordpress_site}&amp;quot;)&amp;quot;&lt;br /&gt;
	vhost_dir=&amp;quot;$(dirname &amp;quot;${wp_docroot}&amp;quot;)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	chown -R not-apache:www-data &amp;quot;${vhost_dir}&amp;quot;&lt;br /&gt;
	find &amp;quot;${vhost_dir}&amp;quot; -type d -exec chmod 0050 {} \;&lt;br /&gt;
	find &amp;quot;${vhost_dir}&amp;quot; -type f -exec chmod 0040 {} \;&lt;br /&gt;
&lt;br /&gt;
	chown not-apache:apache-admins &amp;quot;${vhost_dir}/wp-config.php&amp;quot;&lt;br /&gt;
	chmod 0040 &amp;quot;${vhost_dir}/wp-config.php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	[ -d &amp;quot;${wp_docroot}/wp-content/uploads&amp;quot; ] || mkdir &amp;quot;${wp_docroot}/wp-content/uploads&amp;quot;&lt;br /&gt;
	chown -R not-apache:www-data &amp;quot;${wp_docroot}/wp-content/uploads&amp;quot;&lt;br /&gt;
	find &amp;quot;${wp_docroot}/wp-content/uploads&amp;quot; -type f -exec chmod 0660 {} \;&lt;br /&gt;
	find &amp;quot;${wp_docroot}/wp-content/uploads&amp;quot; -type d -exec chmod 0770 {} \;&lt;br /&gt;
&lt;br /&gt;
	[ -d &amp;quot;${wp_docroot}/wp-content/tmp&amp;quot; ] || mkdir &amp;quot;${wp_docroot}/wp-content/tmp&amp;quot;&lt;br /&gt;
	chown -R not-apache:www-data &amp;quot;${wp_docroot}/wp-content/tmp&amp;quot;&lt;br /&gt;
	find &amp;quot;${wp_docroot}/wp-content/tmp&amp;quot; -type f -exec chmod 0660 {} \;&lt;br /&gt;
	find &amp;quot;${wp_docroot}/wp-content/tmp&amp;quot; -type d -exec chmod 0770 {} \;&lt;br /&gt;
&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
###########&lt;br /&gt;
# phpList #&lt;br /&gt;
###########&lt;br /&gt;
&lt;br /&gt;
phplist_sites=&amp;quot;$(find /var/www/html -maxdepth 1 -type d -iname *phplist*)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for vhost_dir in $phplist_sites; do&lt;br /&gt;
 &lt;br /&gt;
	for dir in ${vhost_dir}; do chown -R not-apache:www-data &amp;quot;${dir}&amp;quot;; done&lt;br /&gt;
	for dir in ${vhost_dir}; do find &amp;quot;${dir}&amp;quot; -type d -exec chmod 0050 {} \;; done&lt;br /&gt;
	for dir in ${vhost_dir}; do find &amp;quot;${dir}&amp;quot; -type f -exec chmod 0040 {} \;; done&lt;br /&gt;
 &lt;br /&gt;
	for dir in ${vhost_dir}; do [ -d &amp;quot;${dir}/public_html/uploadimages&amp;quot; ] || mkdir &amp;quot;${dir}/public_html/uploadimages&amp;quot;; done&lt;br /&gt;
	for dir in ${vhost_dir}; do chown -R not-apache:www-data &amp;quot;${dir}/public_html/uploadimages&amp;quot;; done&lt;br /&gt;
	for dir in ${vhost_dir}; do find &amp;quot;${dir}/public_html/uploadimages&amp;quot; -type f -exec chmod 0660 {} \;; done&lt;br /&gt;
	for dir in ${vhost_dir}; do find &amp;quot;${dir}/public_html/uploadimages&amp;quot; -type d -exec chmod 0770 {} \;; done&lt;br /&gt;
&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
# ACTIVATE NEW PLUGINS&lt;br /&gt;
&lt;br /&gt;
activate_plugins=&amp;quot;activitypub aurora-heatmap melapress-login-security&amp;quot;&lt;br /&gt;
for plugin in ${activate_plugins}; do&lt;br /&gt;
	sudo -u wp -i wp --path=&amp;quot;${docrootDir}&amp;quot; plugin activate ${plugin}&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TODO: Update DNS to point to hetzner3&lt;br /&gt;
&lt;br /&gt;
# wait until DNS changes to hetzner3&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while true; do date; dig store.opensourceecology.org; sleep 10; echo; done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally, log into the new wordpress site (proceed with any db upgrades it walks you through), and update settings:&lt;br /&gt;
&lt;br /&gt;
# &amp;quot;Appearance&amp;quot; -&amp;gt; Themes. Activate &amp;quot;Twenty Seventeen&amp;quot;&lt;br /&gt;
# &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Reading&amp;quot; -&amp;gt; &amp;quot;Homepage&amp;quot; = &amp;quot;Sample Page&amp;quot;&lt;br /&gt;
# &amp;quot;Media&amp;quot; -&amp;gt; &amp;quot;Library&amp;quot;&lt;br /&gt;
## Upload https://wiki.opensourceecology.org/wiki/File:OSE-logo-blueprint-bg-v3-1blarge.jpg&lt;br /&gt;
## Upload https://wiki.opensourceecology.org/wiki/File:1day.jpg&lt;br /&gt;
# &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;ActivityPub&amp;quot; -&amp;gt; &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Enable profiles by type&amp;quot; = &amp;quot;Blog profile only&amp;quot;&lt;br /&gt;
# &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;ActivityPub&amp;quot; -&amp;gt; &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Blog-Profile&amp;quot; -&amp;gt; &amp;quot;Change profile ID&amp;quot; = &amp;quot;ose&amp;quot;&lt;br /&gt;
# &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;ActivityPub&amp;quot; -&amp;gt; &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Blog-Profile&amp;quot; -&amp;gt; &amp;quot;Change Header Image&amp;quot; = Select &amp;quot;1day.jpg&amp;quot;, cropped such the bottom is exactly the bottom of Catarina&amp;#039;s white coat&lt;br /&gt;
# &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;General&amp;quot; -&amp;gt; &amp;quot;Choose a Site Icon&amp;quot; -&amp;gt; Select &amp;quot;OSE-logo-blueprint-bg-v3-1blarge.jpg&amp;quot;, cropped such that there is only a small buffer on the left &amp;amp; right of the text &lt;br /&gt;
&lt;br /&gt;
# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&amp;quot; -&amp;gt; tick the box that said &amp;quot;enable login security policies&amp;quot;&lt;br /&gt;
# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&amp;quot; -&amp;gt; tick the box that said &amp;quot;Activate password policies&amp;quot;&lt;br /&gt;
# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&amp;quot; -&amp;gt; change &amp;quot;Passwords must be X characters minimum&amp;quot; to &amp;quot;20&amp;quot;&lt;br /&gt;
# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&amp;quot; -&amp;gt;  uncheck &amp;quot;Password must contain at least one uppercase and one lowercase character. &amp;quot;&lt;br /&gt;
# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&amp;quot; -&amp;gt; uncheck &amp;quot;Password must contain at least one numeric character (0-9).&amp;quot;&lt;br /&gt;
# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&amp;quot; -&amp;gt; uncheck &amp;quot;Password must contain at least one special character, i.e., a character that is not a letter or a umber, such as ( , ? € ! @ # * etc&amp;quot;&lt;br /&gt;
# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&amp;quot; -&amp;gt; check &amp;quot;Reset password on first login &amp;quot;&lt;br /&gt;
# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&amp;quot; -&amp;gt; check &amp;quot;Do not send password reset links &amp;quot;&lt;br /&gt;
# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&amp;quot; -&amp;gt; check &amp;quot;Activate failed login policies &amp;quot;&lt;br /&gt;
# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&amp;quot; -&amp;gt; change &amp;quot;When a user is locked&amp;quot; from &amp;quot;it can be only unlocked by the administrator&amp;quot; to &amp;quot;unlock it after 60 minutes&amp;quot;&lt;br /&gt;
# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login Security Policies&amp;quot; -&amp;gt; uncheck &amp;quot;Require blocked users to reset password on unblock. &amp;quot;&lt;br /&gt;
# Click the &amp;quot;Save Changes&amp;quot; button&lt;br /&gt;
# &amp;quot;Login Security&amp;quot; -&amp;gt; &amp;quot;Login page hardening&amp;quot; -&amp;gt; in the input form next to &amp;quot;Login page URL&amp;quot;, I enter &amp;quot;ose-hidden-login&amp;quot;&lt;br /&gt;
# Click the &amp;quot;Save Changes&amp;quot; button&lt;br /&gt;
&lt;br /&gt;
# &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Google Authenticator&amp;quot; -&amp;gt; Check every box under &amp;quot;Roles requiring Google Authenticator Enabled&amp;quot;&lt;br /&gt;
# Click &amp;quot;Save Changes&amp;quot; Button&lt;br /&gt;
&lt;br /&gt;
==Validation Steps==&lt;br /&gt;
&lt;br /&gt;
# Load the website in your web browser. Make sure it looks sane&lt;br /&gt;
# Login to the website&lt;br /&gt;
# Verify that the wordpress admin WUI states that the current version is v6.6.1&lt;br /&gt;
# Attempt to make some trivial change&lt;br /&gt;
# Confirm that the change is publicly visible on the website&lt;br /&gt;
# Revert the trivial change&lt;br /&gt;
# Confirm that the change has been reverted on the website&lt;br /&gt;
# search for &amp;#039;https://store.opensourceecology.org/@opensourceeverything&amp;#039; and &amp;#039;opensourceeverything@store.opensourceecology.org&amp;#039; on some mastodon site and see if it&amp;#039;s working&lt;br /&gt;
&lt;br /&gt;
==Revert Steps==&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
&lt;br /&gt;
# [[CHG-2018-02-05_migrate_osemain_to_hetzner2]] Last wordpress migration from hetzner1 to hetzner2&lt;br /&gt;
# [[CHG-2024-07-26 yum update]] Last (possible) update to hetzner2&lt;br /&gt;
# [[CHG-2025-XX-XX_migrate_store_to_hetzner3]]&lt;br /&gt;
# [[:Category: CHGs|List of other CHG &amp;quot;tickets&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
[[Category: CHGs]]&lt;/div&gt;</summary>
		<author><name>Maltfield</name></author>
	</entry>
</feed>