{"id":64227,"date":"2024-07-20T03:01:00","date_gmt":"2024-07-19T17:01:00","guid":{"rendered":"https:\/\/65.254.95.247\/ITblog\/?p=64227"},"modified":"2024-09-06T12:25:14","modified_gmt":"2024-09-06T02:25:14","slug":"almalinux-wordpress-site-health-installs-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/almalinux-wordpress-site-health-installs-tutorial\/","title":{"rendered":"AlmaLinux WordPress Site Health Installs Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/wordpress_site_health_installs.gif\" rel=\"noopener\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"\" src=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/wordpress_site_health_installs.gif\" title=\"AlmaLinux WordPress Site Health Installs Tutorial\"  style=\"float:left;\"   \/><\/a><p class=\"wp-caption-text\">AlmaLinux WordPress Site Health Installs Tutorial<\/p><\/div>\n<p>Yesterday&#8217;s <a title='AlmaLinux Apache\/PHP\/MySql WordPress Migration Tutorial' href='#ala\/php\/mswpmt'>AlmaLinux Apache\/PHP\/MySql WordPress Migration Tutorial<\/a> was about &#8230;<\/p>\n<ul>\n<li>configuring the major players, software wise, running WordPress 6.6 on AlmaLinux 9.0.4 &#8230; and today &#8230;<\/li>\n<li>via the WordPress admin area&#8217;s Tools menu&#8217;s Site Health report &#8220;One or more recommended modules are missing&#8221; section &#8230; for our website it discovered missing &#8230;\n<ol>\n<li>exif<\/li>\n<li>imagick<\/li>\n<li>fileinfo<\/li>\n<li>intl<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<p> &#8230; and after a bit of lack of success we discovered from the <a target=\"_blank\" title='dnf package manager info' href='https:\/\/docs.fedoraproject.org\/en-US\/quick-docs\/dnf\/' rel=\"noopener\"><i>dnf<\/i><\/a> package manager information that the <i>list<\/i> &#8220;verb&#8221; could be very useful.  That, along with &#8230;<\/p>\n<p><code><br \/>\nphp -v<br \/>\n<\/code><\/p>\n<p> &#8230; resulting in 8.1.19 made the choice of module name [moduleName] in &#8230;<\/p>\n<p><code><br \/>\ndnf install [moduleName]<br \/>\n<\/code><\/p>\n<p> &#8230; module install statements a doddle, <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/wordpress_site_health_installs.gif\" rel=\"noopener\">as you can see<\/a>.<\/p>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=\"_blank\" href='\/\/www.rjmprogramming.com.au\/ITblog\/almalinux-wordpress-site-health-installs-tutorial\/' rel=\"noopener\">AlmaLinux WordPress Site Health Installs Tutorial<\/a>.<\/p-->\n<hr>\n<p id='ala\/php\/mswpmt'>Previous relevant <a target=\"_blank\" title='AlmaLinux Apache\/PHP\/MySql WordPress Migration Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/almalinux-apache\/php\/mysql-wordpress-migration-tutorial\/' rel=\"noopener\">AlmaLinux Apache\/PHP\/MySql WordPress Migration Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/wordpress-migration-from-php5-to-php8-on-almalinux9.m4v\" rel=\"noopener\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"AlmaLinux Apache\/PHP\/MySql WordPress Migration Tutorial\" src=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/wordpress-migration-from-php5-to-php8-on-almalinux9.jpg\" title=\"AlmaLinux Apache\/PHP\/MySql WordPress Migration Tutorial\"  style=\"float:left;\"   \/><\/a><p class=\"wp-caption-text\">AlmaLinux Apache\/PHP\/MySql WordPress Migration Tutorial<\/p><\/div>\n<p>Yes, we&#8217;re migrating again <font size=1>(as we were talking about with <a title='Apache\/PHP\/MySql Web Hosting Website Migration ssh Tutorial' href='#a\/php\/mswhwmt'>Apache\/PHP\/MySql Web Hosting Website Migration ssh Tutorial<\/a>)<\/font>, though as you read this blog posting, if hot off the press here on 19\/7\/2024, we&#8217;ll not have transferred the DNS over yet, which we&#8217;ll outline the reasons for into the future.  But, today, we&#8217;re excited to outline some steps after &#8230;<\/p>\n<ul>\n<li>data migration &#8230; which our web hoster, <a target=\"_blank\" title='Crazy Domains' href='https:\/\/www.crazydomains.com.au\/' rel=\"noopener\">Crazy Domains<\/a>, did a good job regarding &#8230; ahead of &#8230;<\/li>\n<li>seeing HTML and Javascript and CSS working fine straight away &#8230; and today&#8217;s progress migrating the WordPress Blog <font size=1>(involving serverside PHP and MySql)<\/font> you are reading now &#8230;<\/li>\n<\/ul>\n<p> &#8230; in terms of a migration consisting of (just in terms of major players) &#8230;<\/p>\n<table border=5 cellpadding=5 cellspacing=5>\n<tr>\n<th>Description<\/th>\n<th>From<\/th>\n<th>To<\/th>\n<\/tr>\n<tr>\n<td>Hosting VPS<\/td>\n<td>CentOS 6.4 x86.64 WHM cPanel 11.38.2 (build 23)<\/td>\n<td><a target=\"_blank\" title='AlmaLinux' href='https:\/\/almalinux.org\/' rel=\"noopener\">AlmaLinux<\/a> 9.4.0 cPanel 11.120<\/td>\n<\/tr>\n<tr>\n<td>Operating System type<\/td>\n<td>Linux 2.6.32-220.13.1.el6.x86_64<\/td>\n<td>Linux 5.14.0-362.18.1.el9_3.x86_64<\/td>\n<\/tr>\n<tr>\n<td>Web Server type<\/td>\n<td>Apache 2.2.29<\/td>\n<td>Apache 2.4.61<\/td>\n<\/tr>\n<tr>\n<td>Server Language<\/td>\n<td>PHP 5.4.38<\/td>\n<td>PHP 8.1.19<\/td>\n<\/tr>\n<tr>\n<td>Database type<\/td>\n<td>MySql 5.1.70<\/td>\n<td>MySql 8.0.38<\/td>\n<\/tr>\n<tr>\n<td>Blog type<\/td>\n<td>WordPress 4.1.1<\/td>\n<td><a target=\"_blank\" title='WordPress.org' href='https:\/\/wordpress.org\/' rel=\"noopener\">WordPress<\/a> 6.6<\/td>\n<\/tr>\n<\/table>\n<p> &#8230; that PHP leap very big <font size=1>(and we were near an edge regarding PHP 5.4.38 where a WP-CLI approach as below can still work &#8230; some earlier 5&#8217;s will not work, we were told along the way)<\/font>, and trepidatious, to our mind, but at least for WordPress, now working, via (just highlights, and we&#8217;ll leave out that it is great to have a backup of the MySql WordPress software and database ideally, before starting <font size=1>(because we already had one courtesy of the data migration above)<\/font>) &#8230;<\/p>\n<ol>\n<li>install <a target=\"_blank\" title='WP-CLI ... thanks, heaps' href='https:\/\/wp-cli.org\/' rel=\"noopener\">WP-CLI<\/a> &#8230; via <i>ssh -p 22 [adminUser]@[newIPaddressForRJMProgrammingIntoTheFuture]<\/i> &#8230; profuse thanks to <a target=\"_blank\" title='Great advice' href='https:\/\/talk.plesk.com\/threads\/update-wp-cli-version-on-plesk-ext-wp-toolkit-wp-cli-to-work-with-lscache.361474\/' rel=\"noopener\">this great advice<\/a> &#8230;<br \/>\n<code><br \/>\n# cd ~[websiteUser]<br \/>\n# cd public_html\/ITblog<br \/>\n# curl -O https:\/\/raw.githubusercontent.com\/wp-cli\/builds\/gh-pages\/phar\/wp-cli.phar<br \/>\n# php wp-cli.phar --info<br \/>\n# chmod +x wp-cli.phar<br \/>\n# mv wp-cli.phar \/usr\/local\/bin\/wp<\/code>\n<\/li>\n<li>run the plan ideas past <a target=\"_blank\" title='Crazy Domains' href='https:\/\/www.crazydomains.com.au\/' rel=\"noopener\">Crazy Domains<\/a> &#8230;<\/li>\n<li>just install the WordPress Codex software in wp-admin and wp-includes &#8230; via <i>ssh -p 22 [adminUser]@[newIPaddressForRJMProgrammingIntoTheFuture]<\/i> &#8230;<br \/>\n<code><br \/>\n# su - [websiteUser]<br \/>\n$ cd ~[websiteUser]<br \/>\n$ cd public_html\/ITblog<br \/>\n$ wp core download --force --skip-content<br \/>\n<\/code>\n<\/li>\n<li>iron out just the one <font size=1>(yee, ha)<\/font> <i>plugins and\/or theme<\/i> issues that can occur entering a URL such as <i>https:\/\/[newIPaddressForRJMProgrammingIntoTheFuture]\/ITblog<\/i> into a web browser address bar &#8230; removing &#8230;<br \/>\n<code><br \/>\nNew Google Plus Badge Widget<br \/>\n<\/code><br \/>\n &#8230; plugin folder and files, because it&#8217;s name was apparent in the error message in the <a href='#myvideo'>video<\/a> below, and once done WordPress 6.6 starting looking like it&#8217;s old self &#8230; <font size=1>yee, ha<\/font> &#8230;\n<\/li>\n<li>amend wp-config.php to add in code statement &#8230; thanks to <a target=\"_blank\" title='Great advice' href='https:\/\/docs.plesk.com\/en-US\/obsidian\/administrator-guide\/website-management\/wp-toolkit.73391\/' rel=\"noopener\">this great advice<\/a> &#8230;<br \/>\n<code><br \/>\ndefine('RELOCATE',true);<br \/>\n<\/code><br \/>\n &#8230; meaning URLs such as <i>https:\/\/[newIPaddressForRJMProgrammingIntoTheFuture]\/ITblog<\/i> just address data and software on [newIPaddressForRJMProgrammingIntoTheFuture] proposed new AlmaLinux9 web server (rather than ducking off to <i>https:\/\/www.rjmprogramming.com.au\/ITblog\/<\/i> or <i>https:\/\/[oldIPaddressForRJMProgrammingFromTheNearFuturePast]\/ITblog\/<\/i>)\n<\/li>\n<li>on our way to WordPress admin section via <i>https:\/\/[newIPaddressForRJMProgrammingIntoTheFuture]\/ITblog\/wp-admin<\/i> into the web browser address bar &#8230;<br \/>\n<code><br \/>\nWordPress MySql database was updated (to align with PHP 8.1.19 and MySql 8.0.38 and WordPress 6.6 requirements)<br \/>\n<\/code><\/li>\n<li>in WordPress admin section General Settings make sure both WordPress Address (URL) and Site Address (URL) get mapped to  &#8230;<br \/>\n<code><br \/>\n<i>https:\/\/[newIPaddressForRJMProgrammingIntoTheFuture]\/ITblog<\/i><br \/>\n<\/code><br \/>\n &#8230; during our migration phase, at least\n<\/li>\n<li>practice writing &#8230;<br \/>\n<code><br \/>\nBlog posts<br \/>\n<\/code><br \/>\n &#8230; in WordPress <i>Code editor<\/i> (showing HTML, as we are most familiar with, but you can edit in a visual mode of use, if you like)\n<\/li>\n<\/ol>\n<p>Feel free to see some of what we did here in video below &#8230;<\/p>\n<p><video id=myvideo controls><source type='video\/mp4' src='https:\/\/www.rjmprogramming.com.au\/ITblog\/wordpress-migration-from-php5-to-php8-on-almalinux9.m4v'><\/source<\/video><\/p>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=\"_blank\" href='\/\/www.rjmprogramming.com.au\/ITblog\/almalinux-apachephpmysql-wordPress-migration-tutorial\/' rel=\"noopener\">AlmaLinux Apache\/PHP\/MySql WordPress Migration Tutorial<\/a>.<\/p-->\n<hr>\n<p id='a\/php\/mswhwmt'>Previous relevant <a target=\"_blank\" title='Apache\/PHP\/MySql Web Hosting Website Migration ssh Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/apache\/php\/mysql-web-hosting-website-migration-ssh-tutorial\/' rel=\"noopener\">Apache\/PHP\/MySql Web Hosting Website Migration ssh Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=\"_blank\" href=\"http:\/\/www.rjmprogramming.com.au\/rsa_key_idea_after_migration.jpg\" rel=\"noopener\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Apache\/PHP\/MySql Web Hosting Website Migration ssh Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/rsa_key_idea_after_migration.jpg\" title=\"Apache\/PHP\/MySql Web Hosting Website Migration ssh Tutorial\"  style=\"float:left;\"   \/><\/a><p class=\"wp-caption-text\">Apache\/PHP\/MySql Web Hosting Website Migration ssh Tutorial<\/p><\/div>\n<p>One of the most amazing aspects to the <a target=\"_blank\" title='Crazy Domains' href='http:\/\/www.crazydomains.com.au' rel=\"noopener\">Crazy Domains<\/a> performed data migration for the RJM Programming domain on 17\/1\/2023, thanks, was the way, from our point of view, it was &#8230;<\/p>\n<table border=20 style=width:100%;>\n<tr>\n<th>Changed<\/th>\n<th>No change<\/th>\n<\/tr>\n<tr>\n<td>IP address<\/td>\n<td>Any usernames<\/td>\n<\/tr>\n<tr>\n<td>Power management<\/td>\n<td>Any passwords<\/td>\n<\/tr>\n<tr>\n<td>DNS mappings<\/td>\n<td>ssh access (just with changed IP address slotted in for old one)<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>sftp access<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>cPanel access (just with changed IP address slotted in for old one)<\/td>\n<\/tr>\n<\/table>\n<p> &#8230; with so little affecting our day to day interactions with the website.<\/p>\n<p>And so, on this topic, adding to the recent <a title='Apache\/PHP\/MySql Web Hosting Website Migration DNS Tutorial' href='#a\/php\/mswhwmdnst'>Apache\/PHP\/MySql Web Hosting Website Migration DNS Tutorial<\/a> we want to hone in on that <i>Any usernames and Any passwords<\/i> resisting any need to change.  How so?  Well, it&#8217;s to do with how ssh and sftp and RSA keys and Fingerprints work.  Let&#8217;s ask experts some questions.<\/p>\n<blockquote><p><a target=\"_blank\" title='How does ssh use rsa keys to help with login?' href='https:\/\/www.google.com\/search?q=How+does+ssh+use+rsa+keys+to+help+with+login%3F&#038;rlz=1C5CHFA_enAU973AU973&#038;sxsrf=AJOqlzVVmAqUisylhNIjpeu1eq64TvT2Ww%3A1675064060068&#038;ei=_HLXY7_oA82Pg8UPrr2CgA8&#038;ved=0ahUKEwi_1pry4-78AhXNx6ACHa6eAPAQ4dUDCBA&#038;uact=5&#038;oq=How+does+ssh+use+rsa+keys+to+help+with+login%3F&#038;gs_lcp=Cgxnd3Mtd2l6LXNlcnAQAzIECCMQJzoKCAAQRxDWBBCwAzoHCCMQsAIQJ0oECEEYAEoECEYYAFCMB1jQC2C5D2gBcAF4AIABsAGIAc0CkgEDMC4ymAEAoAEByAEIwAEB&#038;sclient=gws-wiz-serp' rel=\"noopener\">How does ssh use rsa keys to help with login?<\/a><\/p><\/blockquote>\n<p>And we liked <a target=\"_blank\" href='https:\/\/sectigo.com\/resource-library\/what-is-an-ssh-key' title='What Is an SSH Key? Generation, Authentication, Key Pair Info &#038; More' rel=\"noopener\">What Is an SSH Key? Generation, Authentication, Key Pair Info &#038; More<\/a> &#8230;<\/p>\n<blockquote cite='https:\/\/sectigo.com\/resource-library\/what-is-an-ssh-key'><p>\nHow does SSH RSA key work?<br \/>\n<br \/>\nAn SSH key relies upon the use of two related keys, a public key and a private key, that together create a key pair that is used as the secure access credential. The private key is secret, known only to the user, and should be encrypted and stored safely.\n<\/p><\/blockquote>\n<p>That &#8220;stored safely&#8221; is the key <font size=1>(chortle, chortle)<\/font> to the cleverness of the system.  The key is stored on the same web server disk migrated, and so access to a username&#8217;s previous password is maintained that way.<\/p>\n<blockquote><p><a target=\"_blank\" title='How does ssh use a fingerprint to help with login?' href='https:\/\/www.google.com\/search?q=How+does+ssh+use+a+fingerprint+to+help+with+login%3F&#038;rlz=1C5CHFA_enAU973AU973&#038;sxsrf=AJOqlzV-y4dvypl71D4xW2-6Brm7uE5Rvg%3A1675064074983&#038;ei=CnPXY8LbO4_n4-EP5oieqAs&#038;ved=0ahUKEwjCiKn54-78AhWP8zgGHWaEB7UQ4dUDCBA&#038;uact=5&#038;oq=How+does+ssh+use+a+fingerprint+to+help+with+login%3F&#038;gs_lcp=Cgxnd3Mtd2l6LXNlcnAQAzIFCAAQogQyBQgAEKIEOgcIIxCwAxAnOgoIABBHENYEELADOgQIIRAKSgQIQRgASgQIRhgAUJoEWKctYJc7aAFwAHgAgAHpAYgBsBSSAQYwLjExLjOYAQCgAQHIAQnAAQE&#038;sclient=gws-wiz-serp' rel=\"noopener\">How does ssh use a fingerprint to help with login?<\/a><\/p><\/blockquote>\n<p>And we liked <a target=\"_blank\" href='https:\/\/docs.rackspace.com\/support\/how-to\/rackspace-cloud-essentials-check-the-ssh-host-fingerprint-of-a-server-with-the-web-console\/#:~:text=Secure%20Shell%20(SSH)%20uses%20a,the%20host%20key%20generates%20randomly.' title='Check the SSH host fingerprint of a server with the web console' rel=\"noopener\">Check the SSH host fingerprint of a server with the web console<\/a> &#8230;<\/p>\n<blockquote cite='https:\/\/docs.rackspace.com\/support\/how-to\/rackspace-cloud-essentials-check-the-ssh-host-fingerprint-of-a-server-with-the-web-console\/#:~:text=Secure%20Shell%20(SSH)%20uses%20a,the%20host%20key%20generates%20randomly.'><p>\nSecure Shell (SSH) uses a fingerprint generated with the unique server host key so that a client can identify the server. Whenever the host fingerprint changes, SSH issues the following warning: The host fingerprint can&#8217;t be verified or it has changed. When you configure the SSH server, the host key generates randomly.\n<\/p><\/blockquote>\n<p>And so, we can see that the fingerprint mechanism can help the user authenticate, and have the key refresh itself, in the new web server IP address environment, as you can see in <a target=\"_blank\" href=\"http:\/\/www.rjmprogramming.com.au\/rsa_key_idea_after_migration.jpg\" title='Click picture' rel=\"noopener\">today&#8217;s tutorial picture<\/a>.<\/p>\n<p>Cute, huh?!<\/p>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=\"_blank\" href='\/\/www.rjmprogramming.com.au\/ITblog\/apache\/php\/mysql-web-hosting-website-migration-ssh-tutorial\/' rel=\"noopener\">Apache\/PHP\/MySql Web Hosting Website Migration ssh Tutorial<\/a>.<\/p-->\n<hr>\n<p id='a\/php\/mswhwmdnst'>Previous relevant <a target=\"_blank\" title='Apache\/PHP\/MySql Web Hosting Website Migration DNS Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/apache\/php\/mysql-web-hosting-website-migration-dns-tutorial\/' rel=\"noopener\">Apache\/PHP\/MySql Web Hosting Website Migration DNS Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=\"_blank\" href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/GeoChart\/dns_data_migration.gif\" rel=\"noopener\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Apache\/PHP\/MySql Web Hosting Website Migration DNS Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/GeoChart\/dns_data_migration.gif\" title=\"Apache\/PHP\/MySql Web Hosting Website Migration DNS Tutorial\"  style=\"float:left;\"   \/><\/a><p class=\"wp-caption-text\">Apache\/PHP\/MySql Web Hosting Website Migration DNS Tutorial<\/p><\/div>\n<p>Regarding Apache\/PHP\/MySql web hosting, and the recent <a target=\"_blank\" title='Apache\/PHP\/MySql Web Hosting Website Migration DNS Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/apachephpmysql-web-hosting-website-migration-tutorial' rel=\"noopener\">Apache\/PHP\/MySql Web Hosting Website Migration Tutorial<\/a>&#8216;s subject matter regarding a <a target=\"_blank\" title='Crazy Domains' href='http:\/\/www.crazydomains.com.au' rel=\"noopener\">Crazy Domains<\/a> inspired Data Migration here at RJM Programming on 17\/1\/2023, we wanted to go over a last set of <a target=\"_blank\" title='Domain Name System information from Wikipedia, thanks' href='https:\/\/en.wikipedia.org\/wiki\/Domain_Name_System' rel=\"noopener\">DNS<\/a> setting &#8230;<\/p>\n<blockquote cite='https:\/\/en.wikipedia.org\/wiki\/Domain_Name_System'><p>\nThe Domain Name System (DNS) is a hierarchical and distributed naming system for computers, services, and other resources in the Internet or other Internet Protocol (IP) networks. It associates various information with domain names assigned to each of the associated entities. Most prominently, it translates readily memorized domain names to the numerical IP addresses needed for locating and identifying computer services and devices with the underlying network protocols.[1] The Domain Name System has been an essential component of the functionality of the Internet since 1985.\n<\/p><\/blockquote>\n<p> &#8230; steps that represented that final &#8220;tying the knot&#8221; of repositioning the RJM Programming domain to a new IP address and allowing cPanel and ssh and sftp website access methods not have to change regarding username and password usage, just IP addresses, perhaps totally &#8220;behind the scenes&#8221;.  Think of it like a &#8220;renaming the underbelly&#8221; exercise, perhaps!<\/p>\n<p>Until these DNS settings are adjusted in &#8220;A records&#8221; up at the web hoster by the Webmaster or Web Hoster, and there is, typically, about a five minute wait afterwards, the website cannot be reached via your usual &#8230;<\/p>\n<p><code><br \/>\n<a target=\"_blank\" title='https:\/\/www.rjmprogramming.com.au' href='https:\/\/www.rjmprogramming.com.au' rel=\"noopener\">https:\/\/www.rjmprogramming.com.au<\/a><br \/>\n<\/code><\/p>\n<p> &#8230; web browser address bar way to navigate to the Landing Page of the RJM Programming domain.<\/p>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d58132' onclick='var dv=document.getElementById(\"d58132\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/dns\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d58132' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d58217' onclick='var dv=document.getElementById(\"d58217\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/ssh\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d58217' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d64259' onclick='var dv=document.getElementById(\"d64259\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/wordpress\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d64259' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d64227' onclick='var dv=document.getElementById(\"d64227\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/package-manager\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d64227' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Yesterday&#8217;s AlmaLinux Apache\/PHP\/MySql WordPress Migration Tutorial was about &#8230; configuring the major players, software wise, running WordPress 6.6 on AlmaLinux 9.0.4 &#8230; and today &#8230; via the WordPress admin area&#8217;s Tools menu&#8217;s Site Health report &#8220;One or more recommended modules &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/almalinux-wordpress-site-health-installs-tutorial\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,19,29,33,37],"tags":[234,249,4843,707,885,2181,932,1166,1319,1456,3276],"class_list":["post-64227","post","type-post","status-publish","format-standard","hentry","category-elearning","category-installers","category-operating-system","category-software","category-tutorials","tag-command-line","tag-configuration","tag-dnf","tag-linux","tag-operating-system-2","tag-package-manager","tag-php","tag-software-2","tag-tutorial","tag-wordpress","tag-wordpress-blog"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/64227"}],"collection":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/comments?post=64227"}],"version-history":[{"count":4,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/64227\/revisions"}],"predecessor-version":[{"id":64580,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/64227\/revisions\/64580"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=64227"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=64227"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=64227"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}