<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>larry &#8211; LarryLai</title>
	<atom:link href="https://larrylai.com/author/larry/feed/" rel="self" type="application/rss+xml" />
	<link>https://larrylai.com</link>
	<description>兼聽則明 偏聽則暗</description>
	<lastBuildDate>Sat, 02 Apr 2022 01:24:13 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://larrylai.com/wp-content/uploads/2017/03/larrylai_com-favicon.png</url>
	<title>larry &#8211; LarryLai</title>
	<link>https://larrylai.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Port Forwarding Issue &#8211; Netgear Nighthawk</title>
		<link>https://larrylai.com/port-forwarding-issue-netgear-nighthawk/</link>
					<comments>https://larrylai.com/port-forwarding-issue-netgear-nighthawk/#respond</comments>
		
		<dc:creator><![CDATA[larry]]></dc:creator>
		<pubDate>Wed, 15 Jul 2020 04:40:37 +0000</pubDate>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[netgear]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[port forwarding]]></category>
		<category><![CDATA[router]]></category>
		<guid isPermaLink="false">https://larrylai.com/?p=3913</guid>

					<description><![CDATA[<p>Background This morning when accessing YouTube from TV, there&#8217;s no response. Found that the reason was internet access failure though WiFi connection was fine. Then some other things got wrong due to router issue. Issue All the web hosting sites in local virtual server were down. The problem was port forwarding records all disappeared. I [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/port-forwarding-issue-netgear-nighthawk/">Port Forwarding Issue &#8211; Netgear Nighthawk</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3>Background</h3>
<p>This morning when accessing YouTube from TV, there&#8217;s no response. Found that the reason was internet access failure though WiFi connection was fine.</p>
<p>Then some other things got wrong due to router issue.</p>
<h3>Issue</h3>
<p>All the web hosting sites in local virtual server were down. The problem was port forwarding records all disappeared. I guess that after rebooting the router some configuration was corrupted.</p>
<p>Even worse, once adding back those port forwarding records, there&#8217;s error message about something like IP conflicts.</p>
<h3><strong>Solution</strong></h3>
<p>Restore previous configuration backup</p>
<h3>Tricks</h3>
<p>Sometimes a buggy device is bad. This time there are double bugs. First, configuration settings (port forwarding) unexpectedly corrupted; then the previous port forwarding became zombie configuration records. New addition of settings create conflicts.</p>
<h3>Configuration</h3>
<p>Netgear Nighthawk MR60: firmware ver. 1.0.4.98</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/port-forwarding-issue-netgear-nighthawk/">Port Forwarding Issue &#8211; Netgear Nighthawk</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://larrylai.com/port-forwarding-issue-netgear-nighthawk/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Make Phone Calls on Mac</title>
		<link>https://larrylai.com/make-phone-calls-on-mac/</link>
					<comments>https://larrylai.com/make-phone-calls-on-mac/#respond</comments>
		
		<dc:creator><![CDATA[larry]]></dc:creator>
		<pubDate>Mon, 13 Jul 2020 04:15:31 +0000</pubDate>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[iMac]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[phone calls]]></category>
		<guid isPermaLink="false">https://larrylai.com/?p=3899</guid>

					<description><![CDATA[<p>Issue: When trying to use FaceTime on iMac to make phone calls through iPhone, there is an issue to connect the iPhone with the Mac. Even though these 2 devices are on the same WiFi network. There&#8217;s an error message on the iPhone &#8220;Cannot turn on calls on other devices&#8221;. When clicking &#8220;Calls on Other [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/make-phone-calls-on-mac/">Make Phone Calls on Mac</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">Issue:</h3>



<p>When trying to use FaceTime on iMac to make phone calls through iPhone, there is an issue to connect the iPhone with the Mac. Even though these 2 devices are on the same WiFi network. There&#8217;s an error message on the iPhone &#8220;Cannot turn on calls on other devices&#8221;. When clicking &#8220;Calls on Other Devices&#8221; under &#8220;Settings -&gt; phone&#8221; as suggested by Apple&#8217;s support forum, it doesn&#8217;t work to connect the iPhone with the Mac.</p>



<h3 class="wp-block-heading">Solution:</h3>



<p> In the iPhone, go to Settings, and click &#8220;facetime&#8221;, select something like &#8230; AppleID&#8230; and sign in.</p>



<h3 class="wp-block-heading">Tricks:</h3>



<p>Though the AppleID is signed in probably in my new iPhone, some Apps have to be signed in, I guess, before some of its features are to be enabled.</p>



<h3 class="wp-block-heading">Config:</h3>



<ul class="wp-block-list"><li>iPhone SE 2020: iOS 13.5.1</li><li>iMac (late 2013): macOS 10.15.5 (Catalina)</li></ul>
<p>The post <a rel="nofollow" href="https://larrylai.com/make-phone-calls-on-mac/">Make Phone Calls on Mac</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://larrylai.com/make-phone-calls-on-mac/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Google Site Kit All Blank in WP</title>
		<link>https://larrylai.com/google-site-kit-all-blank-in-wp/</link>
					<comments>https://larrylai.com/google-site-kit-all-blank-in-wp/#respond</comments>
		
		<dc:creator><![CDATA[larry]]></dc:creator>
		<pubDate>Tue, 12 May 2020 12:47:06 +0000</pubDate>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[site kit]]></category>
		<guid isPermaLink="false">https://larrylai.com/?p=3877</guid>

					<description><![CDATA[<p>Background: Google Site Kit plugin for WordPress is no doubt a comprehensive site performance plugin delivering promised all-in-one dashboard also with colourful layout. Issue: Using Google Site Kits plugin for a while without problem, suddenly its dashboard, settings, analytics, etc. all go blank. Solution: Disable the plugin – Remove Query Strings by Littlebizzy Tricks: A [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/google-site-kit-all-blank-in-wp/">Google Site Kit All Blank in WP</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">Background:</h3>



<p>Google Site Kit plugin for WordPress is no doubt a comprehensive site performance plugin delivering promised all-in-one dashboard also with colourful layout. </p>



<h3 class="wp-block-heading">Issue:</h3>



<p>Using Google Site Kits plugin for a while without problem, suddenly its dashboard, settings, analytics, etc. all go blank.</p>



<h3 class="wp-block-heading">Solution:</h3>



<p>Disable the plugin – Remove Query Strings by <a href="https://www.littlebizzy.com/plugins" target="_blank" rel="noopener">Littlebizzy</a> </p>



<h3 class="wp-block-heading">Tricks:</h3>



<ul class="wp-block-list"><li>A common practice to solve this kind of problem is to disable all plugins. However, in some cases with CDN installed like CloudFlare plugin, the DNS of the website is usually switched from domain hosting company to the CDN. Then, once the plugin is disabled, the website address will be disconnected with your web hosting server.</li><li>The &#8216;Remove Query Strings&#8217; plugin is to improve website speed rating. </li></ul>
<p>The post <a rel="nofollow" href="https://larrylai.com/google-site-kit-all-blank-in-wp/">Google Site Kit All Blank in WP</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://larrylai.com/google-site-kit-all-blank-in-wp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SSL Key Ownership</title>
		<link>https://larrylai.com/ssl-key-ownership/</link>
					<comments>https://larrylai.com/ssl-key-ownership/#respond</comments>
		
		<dc:creator><![CDATA[larry]]></dc:creator>
		<pubDate>Sun, 09 Feb 2020 07:39:51 +0000</pubDate>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[certbot]]></category>
		<category><![CDATA[Jupiter-notebook]]></category>
		<category><![CDATA[letsencrypt]]></category>
		<category><![CDATA[ssl-key]]></category>
		<guid isPermaLink="false">http://larrylai.com/?p=3775</guid>

					<description><![CDATA[<p>Issue: After receiving renewal notice from Let&#8217;s Encrypt for Jupyter server, go to the virtual machine hosting Jupyter and renew the key successfully. But cannot login to the jupyter notebook from https. Solution Remove the symbolic link of privkey.pem under /etc/letsencrypt/live/[mydomain]/privkey.pem recreate the symbolic link with the dedicated user running Jupyter notebook. Run command as [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/ssl-key-ownership/">SSL Key Ownership</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Issue:</strong><br />
After receiving renewal notice from Let&#8217;s Encrypt for Jupyter server, go to the virtual machine hosting Jupyter and renew the key successfully. But cannot login to the jupyter notebook from https.</p>
<p><strong>Solution</strong></p>
<ol>
<li style="list-style-type: none;">
<ol>
<li>Remove the symbolic link of privkey.pem under
<pre>/etc/letsencrypt/live/[mydomain]/privkey.pem</pre>
</li>
<li>recreate the symbolic link with the dedicated user running Jupyter notebook.</li>
<li>Run command as root:
<pre>systemctl restart jupyterhub</pre>
</li>
</ol>
</li>
</ol>
<p><strong>Tricks</strong></p>
<ol>
<li style="list-style-type: none;">
<ol>
<li style="list-style-type: none;">
<ul>
<li>As the jupyter server is run by the ownership of a dedicated user, after the renewal, the private key, i.e. privkey.pem must be owned by this user. However, I run the command:
<pre>certbot renew --standalone</pre>
<p>under root.</li>
<li>note that let&#8217;s encrypt command for CentOS 6 is quite different from CentOS7</li>
</ul>
</li>
</ol>
</li>
</ol>
<p><strong>Config</strong></p>
<ol>
<li style="list-style-type: none;">
<ul>
<li>OS: CentOS 7</li>
<li>Jupyter-notebook: 5.7.8</li>
</ul>
</li>
</ol>
<p>The post <a rel="nofollow" href="https://larrylai.com/ssl-key-ownership/">SSL Key Ownership</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://larrylai.com/ssl-key-ownership/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>CSS List item style a) b)</title>
		<link>https://larrylai.com/css-list-item-style-a-b/</link>
					<comments>https://larrylai.com/css-list-item-style-a-b/#respond</comments>
		
		<dc:creator><![CDATA[larry]]></dc:creator>
		<pubDate>Tue, 07 Jan 2020 07:48:19 +0000</pubDate>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Ordered List Item]]></category>
		<category><![CDATA[Text-indent]]></category>
		<guid isPermaLink="false">http://larrylai.com/?p=3756</guid>

					<description><![CDATA[<p>Issue Default ordered list item style is decimal number, lower/upper alpha, lower/upper roman then followed by a dot. Thought it&#8217;s easy to change the dot to something like &#160; a) This is good 1st item &#160; b) This is good 2nd item. &#160; &#160; &#160; instead of: &#160; a. This is not good 1st item [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/css-list-item-style-a-b/">CSS List item style a) b)</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Issue</strong></p>
<p>Default ordered list item style is decimal number, lower/upper alpha, lower/upper roman then followed by a dot. Thought it&#8217;s easy to change the dot to something like<br />
&nbsp; a) This is good 1st item<br />
&nbsp; b) This is good 2nd item.   </p>
<p>&nbsp; &nbsp; &nbsp; instead of:<br />
&nbsp; a. This is not good 1st item<br />
&nbsp; b. This is not good 2nd item</p>
<p>However, there&#8217;s no simple way to change the style of ordered list item and remove the dot after the order number <code>&lt;ol&gt; &lt;li&gt;&lt;/li&gt;&lt;/ol&gt;</code>.<br />
As I got used to markdown&#8217;s convinence of auto numbering for ordered list items, don&#8217;t want to hard code the order into the list.</p>
<p><strong>Solution</strong></p>
<ol>
<li>Removing the default ordering number and using counter by creating counter variable  (say, list) like this<br />
&nbsp; <code>ol { list-style-type: none; counter-reset: list;}</code></li>
<li>Update counter variable for each \
<li> like this `ol&gt;li { counter-increment: list; } </li>
<li>Display the content of the new counter like this `ol&gt;li::before { content: counter(list, lower-alpha) &quot;) &quot;; }</li>
</ol>
<p><strong>Tricks</strong></p>
<ul>
<li>It&#8217;s a bit complex for multi-level ordered list, but the principle still applies</li>
<li>Some more has to be added to see hanging text like default ordered list display. This can be done by the following for modifying 2nd order level :
<pre>
ol ol {    
&nbsp; list-style-type: none;    
&nbsp; counter-reset: list;   
}     
ol ol>li::before {     
&nbsp; content: counter(list, lower-alpha) ") \00a0";
&nbsp; display: inline-block;
&nbsp; width: 1.5em;
&nbsp; text-align: right;
}    
ol ol>li {    
&nbsp; counter-increment: list;    
&nbsp; margin-left: .5em;    
&nbsp; text-indent: -1.5em;    
} 
</pre>
<p>Of course, several paramenters can be adjusted to fit into each individual case. These include margin-left, text-indent spaces and the counter number style, i.e. lower-alpha, lower-roman, decimal, etc.</p>
</li>
</ul>
<p>The post <a rel="nofollow" href="https://larrylai.com/css-list-item-style-a-b/">CSS List item style a) b)</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://larrylai.com/css-list-item-style-a-b/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MathJax Load Failed &#8211; WP Security Plugin</title>
		<link>https://larrylai.com/mathjax-load-failed-wp-security-plugin/</link>
					<comments>https://larrylai.com/mathjax-load-failed-wp-security-plugin/#respond</comments>
		
		<dc:creator><![CDATA[larry]]></dc:creator>
		<pubDate>Thu, 14 Nov 2019 09:42:55 +0000</pubDate>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[MathJax]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WP Security Plugin]]></category>
		<guid isPermaLink="false">http://larrylai.com/?p=3745</guid>

					<description><![CDATA[<p>Issue After installing a WordPress security plugin call All-In-One WP Security, MathJax failed to load some JS including. Solution In the setting of the plugin, choose the tab Additional Firewall Rules Uncheck the option at the bottom, i.e. Advanced Character String Filter Config WordPress 5.3 All In One WP Security v4.4.2 MathJax-LaTex v1.3.11</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/mathjax-load-failed-wp-security-plugin/">MathJax Load Failed &#8211; WP Security Plugin</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Issue</strong><br />
After installing a WordPress security plugin call All-In-One WP Security, MathJax failed to load some JS including.</p>
<p><strong>Solution</strong>   </p>
<ul>
<li>In the setting of the plugin, choose the tab Additional Firewall Rules</li>
<li>Uncheck the option at the bottom, i.e. Advanced Character String Filter</li>
</ul>
<p><strong>Config</strong></p>
<ul>
<li>WordPress 5.3</li>
<li>All In One WP Security v4.4.2</li>
<li>MathJax-LaTex v1.3.11</li>
</ul>
<p>The post <a rel="nofollow" href="https://larrylai.com/mathjax-load-failed-wp-security-plugin/">MathJax Load Failed &#8211; WP Security Plugin</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://larrylai.com/mathjax-load-failed-wp-security-plugin/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Grohe Bath/Shower Mixer Diverter Replacement</title>
		<link>https://larrylai.com/grohe-bath-shower-mixer-diverter-replacement/</link>
					<comments>https://larrylai.com/grohe-bath-shower-mixer-diverter-replacement/#respond</comments>
		
		<dc:creator><![CDATA[larry]]></dc:creator>
		<pubDate>Sun, 22 Sep 2019 23:47:04 +0000</pubDate>
				<category><![CDATA[Diary]]></category>
		<category><![CDATA[bath/shower mixer]]></category>
		<category><![CDATA[household]]></category>
		<category><![CDATA[maintenance]]></category>
		<guid isPermaLink="false">http://larrylai.com/?p=3733</guid>

					<description><![CDATA[<p>Background Prior to doing some research, don&#8217;t trust any expert in plumbing service. It&#8217;s because the return of the finding after research may be larger than expected. While so-called experts in plumbing telling you to replace the whole set of bath shower mixer, pay attention to other opportunity to save the existing mixer, especially if [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/grohe-bath-shower-mixer-diverter-replacement/">Grohe Bath/Shower Mixer Diverter Replacement</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Background</strong><br />
Prior to doing some research, don&#8217;t trust any expert in plumbing service. It&#8217;s because the return of the finding after research may be larger than expected.  While so-called experts in plumbing telling you to replace the whole set of bath shower mixer, pay attention to other opportunity to save the existing mixer, especially if you&#8217;d like to be environmental friendly.<br />
They&#8217;ll tell you that no parts is available for the obsolete model. Got 11 so-called quotations from an online experts matching platform, cfumaster.com, none of them provides repair services. Indeed, most of them suggested that there must be replacement of the whole mixer set. Another one called 水道屋, they have a contact person to get requirement and response, but also said no parts available for fixing. However, unnecessary replacement of durable building materials is harmful to our environment. I guess they want to earn you money by providing installation service of a new mixer.</p>
<p><strong>Issue</strong><br />
Water could barely be diverted to the shower after pulling the diverter knob, but aside from this malfunctioning the bath shower mixer is still in good condition. </p>
<p><strong>Solution</strong><br />
Purchase the appropriate diverter from a building material store, Luen Hing Hong Building Materials Ltd. in Portland St., Mongkok. The replace it on my own according to the instruction given by the sales of the store.  <img decoding="async" src="http://larrylai.com/wp-content/uploads/2019/09/grohe-diverter-gr-08915.jpg" alt="grope-diverter" /></p>
<p><strong>Tricks</strong></p>
<ol>
<li>The video footing about replacement of bath/shower diverter for other brands is totally irrelevant to this model Grohe 33485. </li>
<li>Neither pliers nor adjustable spanner wrench can help to remove the parts as the inside material of the knob is rubber-like material, i.e. not rigid. Only <em>6 point combination wrench</em> with size 11/16 can do the trick. <img decoding="async" src="http://larrylai.com/wp-content/uploads/2019/09/20190922201909-c0f84e40-me.jpg" alt="" /> <img decoding="async" src="https://images-na.ssl-images-amazon.com/images/I/31JO7IesN8L._SX466_.jpg" alt="6 point combination wrench" /></li>
</ol>
<p>The post <a rel="nofollow" href="https://larrylai.com/grohe-bath-shower-mixer-diverter-replacement/">Grohe Bath/Shower Mixer Diverter Replacement</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://larrylai.com/grohe-bath-shower-mixer-diverter-replacement/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>CentOS VM Client Can&#8217;t Boot Up</title>
		<link>https://larrylai.com/centos-vm-client-cant-boot-up/</link>
					<comments>https://larrylai.com/centos-vm-client-cant-boot-up/#respond</comments>
		
		<dc:creator><![CDATA[larry]]></dc:creator>
		<pubDate>Fri, 30 Aug 2019 15:59:24 +0000</pubDate>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[System]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[Boot Up]]></category>
		<category><![CDATA[CentOS7]]></category>
		<category><![CDATA[SELINUX]]></category>
		<category><![CDATA[VirtualBox6]]></category>
		<guid isPermaLink="false">http://larrylai.com/?p=3695</guid>

					<description><![CDATA[<p>Issue VirtualBox client CentOS can&#8217;t boot up with error message: [FAILED] Failed to start Virtual Machine and Container Registration Service. [FAILED] Failed to start Login Service. Solution Disable SELINUX config with the following steps during boot up sequence: During Grub boot up stage, press &#039;e&#039; to edit grub sequence; Add systemd.unit=rescue.target to the end of [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/centos-vm-client-cant-boot-up/">CentOS VM Client Can&#8217;t Boot Up</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3>Issue</h3>
<p>VirtualBox client CentOS can&#8217;t boot up with error message: </p>
<ol>
<li>[FAILED] Failed to start Virtual Machine and Container Registration Service.</li>
<li>[FAILED] Failed to start Login Service.<br />
<img decoding="async" src="http://larrylai.com/wp-content/uploads/2019/08/Screenshot-2019-08-30-at-12.20.17-PM.png" alt="" /></li>
</ol>
<h3>Solution</h3>
<p>Disable SELINUX config with the following steps during boot up sequence:</p>
<ol>
<li>During Grub boot up stage, press <code>&#039;e&#039;</code> to edit grub sequence;</li>
<li>Add <code>systemd.unit=rescue.target</code> to the end of line with linux16 and boot with rescue mode;</li>
<li>Press ctrl+x to continue boot sequence</li>
</ol>
<h3>Config</h3>
<ul>
<li>CentOS 7 3.10</li>
<li>VirtualBox 6.0.10</li>
</ul>
<h3>Tricks</h3>
<ul>
<li>The cause of this boot up issue was difficult to found and the original setting of SELINUX was &#8216;permissive&#8217; not &#8216;enabled&#8217;. However, this issue may also be owing to bugs in VirtualBox 6.</li>
<li>During boot up process, by default the boot up is quiet, i.e. no system message will be displayed, only the boot up progress bar is seen. However, pressing <code>Esc</code> key will let you see the detail boot up messages.</li>
</ul>
<p>The post <a rel="nofollow" href="https://larrylai.com/centos-vm-client-cant-boot-up/">CentOS VM Client Can&#8217;t Boot Up</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://larrylai.com/centos-vm-client-cant-boot-up/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Jupyter Notebook on Boot Automatically</title>
		<link>https://larrylai.com/3679-2/</link>
					<comments>https://larrylai.com/3679-2/#respond</comments>
		
		<dc:creator><![CDATA[larry]]></dc:creator>
		<pubDate>Fri, 16 Aug 2019 10:37:49 +0000</pubDate>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Middleware]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[jupyter]]></category>
		<category><![CDATA[python]]></category>
		<guid isPermaLink="false">http://larrylai.com/?p=3679</guid>

					<description><![CDATA[<p>Issue After making the file to create a system service for jupyter notebook running on CentOS so as to start jupyter server automatically during system start up, the service successfully loaded but systemctl status jupyter shown: Active: fail. Solution Be sure that jupyter-notebook is used instead of jupyter notebook, i.e. ExecStart=/[pathOfTheBinary]/jupyter-notebook or else it should [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/3679-2/">Jupyter Notebook on Boot Automatically</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Issue</strong><br />
After making the file to create a system service for <a href="https://jupyter.org" target="_blank" rel="noopener">jupyter notebook</a> running on CentOS so as to start jupyter server automatically during system start up, the service successfully loaded but <code>systemctl status jupyter</code> shown: <code>Active: fail</code>.</p>
<p><strong>Solution</strong><br />
Be sure that <code>jupyter-notebook</code> is used instead of <code>jupyter notebook</code>, i.e.<br />
ExecStart=/[pathOfTheBinary]/jupyter-notebook<br />
or else it should be bracketed with quotation marks to ensure the space between jupyter and notebook is allowed.</p>
<p><strong>Tricks</strong></p>
<ul>
<li>Be sure that the path of the jupyter binary is correct</li>
<li>Most of the info. on the web suggesting the content of jupyter.service file missed the fact that jupyter notebook is recommended to be run by non-root user, and it&#8217;s imperative that the location of jupyter configuration file must be specified in the jupyter.service file and not just the <code>User=[jupyterUser]</code> directive.</li>
</ul>
<p><strong>Config</strong></p>
<ul>
<li>CentOS: 7-6</li>
<li>jupyter: Anaconda3-5</li>
</ul>
<p>The post <a rel="nofollow" href="https://larrylai.com/3679-2/">Jupyter Notebook on Boot Automatically</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://larrylai.com/3679-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PHP 7 &#038; Related Issues</title>
		<link>https://larrylai.com/php-7-related-issues/</link>
					<comments>https://larrylai.com/php-7-related-issues/#respond</comments>
		
		<dc:creator><![CDATA[larry]]></dc:creator>
		<pubDate>Tue, 12 Mar 2019 15:15:42 +0000</pubDate>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Middleware]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Error]]></category>
		<category><![CDATA[PHP7]]></category>
		<guid isPermaLink="false">http://larrylai.com/?p=3619</guid>

					<description><![CDATA[<p>Background After installing a WordPress plugin &#8211; WP Health, it&#8217;s reminded that PHP5 had no longer been supported since late 2018, thus there may be risk in all WordPress websites. Issue Since removing PHP5 (retrospectively known that it&#8217;s not necessary), and installed remi&#8217;s repository&#8217;s PHP72, some WordPress sites could not be accessed with message: &#8220;Internal [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://larrylai.com/php-7-related-issues/">PHP 7 &#038; Related Issues</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Background</h2>



<p>After installing a WordPress plugin &#8211; WP Health, it&#8217;s reminded that PHP5 had no longer been supported since late 2018, thus there may be risk in all WordPress websites.</p>



<h2 class="wp-block-heading">Issue</h2>



<p>Since removing PHP5 (retrospectively known that it&#8217;s not necessary), and installed remi&#8217;s repository&#8217;s PHP72, some WordPress sites could not be accessed with message: &#8220;Internal Server Error. The server encountered an internal error or misconfiguration and was unable to complete your request.&#8221; Then using VirtualBox&#8217;s snapshot to roll back and finally got every site back to normal.</p>



<p>However, using re-check configuration of Virtualmin to see if there&#8217;s anything need to follow up, it&#8217;s known that mod_actions of Apache wasn&#8217;t enabled. Then after enabling mod_actions by uncommenting the following: </p>



<pre class="wp-block-preformatted">LoadModule actions_module modules/mod_action.so<br></pre>



<p>in /etc/httpd/conf.modules.d/00-base.conf, something weird that instead of executing php page, these pages were downloaded. Some members on forums suggested that the following in /etc/httpd/conf.d/php.conf should be commented out:</p>



<pre class="wp-block-preformatted">SetHandler application/x-httpd-php</pre>



<p>This really solved the problem of not executing php pages, but another weird thing happened. Some other websites couldn&#8217;t be accessed again with message: 500 Internal Server Error.</p>



<h2 class="wp-block-heading">Solution</h2>



<ol class="wp-block-list"><li>The permission of some html directories all granted to 775 and changed owner as apache.</li><li>In Virtualmin, Server Config -> Website Options -> PHP script execution mode must select FPM if mod_fpm is installed and enable.</li></ol>



<h2 class="wp-block-heading">Tricks</h2>



<p>Before comment out SetHandler application/x-httpd-php, directory permission was not a problem. What and how does something change the permission or why is the permission of html directories should be further granted to eliminated 500 Internal Server Error?</p>



<h2 class="wp-block-heading">Config</h2>



<ul class="wp-block-list"><li>WordPress 5.1</li><li>Virtualmin 6</li><li>PHP7.2 remi</li><li>CentOS7</li></ul>
<p>The post <a rel="nofollow" href="https://larrylai.com/php-7-related-issues/">PHP 7 &#038; Related Issues</a> appeared first on <a rel="nofollow" href="https://larrylai.com">LarryLai</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://larrylai.com/php-7-related-issues/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
