<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6486656953905008611</id><updated>2019-01-02T09:10:34.451+02:00</updated><category term="404 error debian redirect to another page"/><category term="apache server name debian"/><category term="generate certificat"/><category term="php script contact"/><category term="postfix no aliases error"/><category term="proftpd ip address error"/><category term="reset root forgoten password"/><category term="webmail path"/><title type='text'>debian help</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>181</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-7732358819167173306</id><published>2019-01-02T09:10:00.001+02:00</published><updated>2019-01-02T09:10:34.428+02:00</updated><title type='text'>how to install adminer in debian better than phpmyadmin</title><content type='html'>https://www.vultr.com/docs/install-adminer-on-debian-ubuntu&lt;br /&gt;&lt;br /&gt;&lt;h4 style=&quot;box-sizing: border-box; color: #363b40; font-family: Raleway, Helvetica, Arial, sans-serif; font-size: 16px; font-weight: 500; letter-spacing: -0.1px; line-height: 22px; margin: 18px 0px; padding: 0px;&quot;&gt;From Debian/Ubuntu repositories&lt;/h4&gt;&lt;div style=&quot;box-sizing: border-box; color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif; font-size: 15px; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;This is an older version,&amp;nbsp;&lt;code style=&quot;background-color: #f9f2f4; border-radius: 3px; border-width: 0px; box-sizing: border-box; color: #c7254e; font-family: Consolas, Menlo, Monaco, monospace, serif; font-size: 13px; padding: 2px 4px;&quot;&gt;3.3.3-1&lt;/code&gt;.&lt;/div&gt;&lt;pre style=&quot;background-attachment: initial; background-clip: initial; background-image: linear-gradient(rgb(249, 242, 244) 0em, rgb(249, 242, 244) 1.25em, rgb(255, 251, 251) 1.25em, rgb(255, 251, 251) 2.5em); background-origin: initial; background-position: 0% 0%; background-repeat: initial; background-size: 100% 2.5em; border-radius: 3px; border: 1px solid rgb(249, 242, 244); box-sizing: border-box; color: #c7254e; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 13px; line-height: 1.25em; margin-bottom: 25px; overflow-wrap: break-word; overflow: auto; padding: 0px 10px; word-break: break-all;&quot;&gt;&lt;code style=&quot;border-radius: 3px; border-width: 0px; box-sizing: border-box; font-family: Consolas, Menlo, Monaco, monospace, serif; padding: 0px;&quot;&gt;sudo apt-get install adminer&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h4 style=&quot;box-sizing: border-box; color: #363b40; font-family: Raleway, Helvetica, Arial, sans-serif; font-size: 16px; font-weight: 500; letter-spacing: -0.1px; line-height: 22px; margin: 18px 0px; padding: 0px;&quot;&gt;From the Adminer project homepage&lt;/h4&gt;&lt;div style=&quot;box-sizing: border-box; color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif; font-size: 15px; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;Newer versions are offered here, such as&amp;nbsp;&lt;code style=&quot;background-color: #f9f2f4; border-radius: 3px; border-width: 0px; box-sizing: border-box; color: #c7254e; font-family: Consolas, Menlo, Monaco, monospace, serif; font-size: 13px; padding: 2px 4px;&quot;&gt;4.2.1&lt;/code&gt;.&lt;/div&gt;&lt;pre style=&quot;background-attachment: initial; background-clip: initial; background-image: linear-gradient(rgb(249, 242, 244) 0em, rgb(249, 242, 244) 1.25em, rgb(255, 251, 251) 1.25em, rgb(255, 251, 251) 2.5em); background-origin: initial; background-position: 0% 0%; background-repeat: initial; background-size: 100% 2.5em; border-radius: 3px; border: 1px solid rgb(249, 242, 244); box-sizing: border-box; color: #c7254e; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 13px; line-height: 1.25em; margin-bottom: 25px; overflow-wrap: break-word; overflow: auto; padding: 0px 10px; word-break: break-all;&quot;&gt;&lt;code style=&quot;border-radius: 3px; border-width: 0px; box-sizing: border-box; font-family: Consolas, Menlo, Monaco, monospace, serif; padding: 0px;&quot;&gt;sudo mkdir /usr/share/adminer&lt;br /&gt;sudo wget &quot;http://www.adminer.org/latest.php&quot; -O /usr/share/adminer/latest.php&lt;br /&gt;sudo ln -s /usr/share/adminer/latest.php /usr/share/adminer/adminer.php&lt;br /&gt;echo &quot;Alias /adminer.php /usr/share/adminer/adminer.php&quot; | sudo tee /etc/apache2/conf-available/adminer.conf&lt;br /&gt;sudo a2enconf adminer.conf&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;hr style=&quot;border-bottom: 0px; border-image: initial; border-left: 0px; border-right: 0px; border-top-color: rgb(238, 238, 238); border-top-style: solid; box-sizing: content-box; color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif; font-size: 15px; height: 0px; margin: 35px 0px;&quot; /&gt;&lt;div style=&quot;box-sizing: border-box; color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif; font-size: 15px; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;Once the installation completes, restart Apache.&lt;/div&gt;&lt;pre style=&quot;background-attachment: initial; background-clip: initial; background-image: linear-gradient(rgb(249, 242, 244) 0em, rgb(249, 242, 244) 1.25em, rgb(255, 251, 251) 1.25em, rgb(255, 251, 251) 2.5em); background-origin: initial; background-position: 0% 0%; background-repeat: initial; background-size: 100% 2.5em; border-radius: 3px; border: 1px solid rgb(249, 242, 244); box-sizing: border-box; color: #c7254e; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 13px; line-height: 1.25em; margin-bottom: 25px; overflow-wrap: break-word; overflow: auto; padding: 0px 10px; word-break: break-all;&quot;&gt;&lt;code style=&quot;border-radius: 3px; border-width: 0px; box-sizing: border-box; font-family: Consolas, Menlo, Monaco, monospace, serif; padding: 0px;&quot;&gt;sudo service apache2 restart &lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif; font-size: 15px; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;At this point, the setup is complete. You can access Adminer at either of the following addresses.&lt;/div&gt;&lt;pre style=&quot;background-attachment: initial; background-clip: initial; background-image: linear-gradient(rgb(249, 242, 244) 0em, rgb(249, 242, 244) 1.25em, rgb(255, 251, 251) 1.25em, rgb(255, 251, 251) 2.5em); background-origin: initial; background-position: 0% 0%; background-repeat: initial; background-size: 100% 2.5em; border-radius: 3px; border: 1px solid rgb(249, 242, 244); box-sizing: border-box; color: #c7254e; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 13px; line-height: 1.25em; margin-bottom: 25px; overflow-wrap: break-word; overflow: auto; padding: 0px 10px; word-break: break-all;&quot;&gt;&lt;code style=&quot;border-radius: 3px; border-width: 0px; box-sizing: border-box; font-family: Consolas, Menlo, Monaco, monospace, serif; padding: 0px;&quot;&gt;http://[SERVER_IP]/adminer  &lt;br /&gt;&lt;br /&gt;http://[SERVER_IP]/adminer.php&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif; font-size: 15px; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;Replace&amp;nbsp;&lt;code style=&quot;background-color: #f9f2f4; border-radius: 3px; border-width: 0px; box-sizing: border-box; color: #c7254e; font-family: Consolas, Menlo, Monaco, monospace, serif; font-size: 13px; padding: 2px 4px;&quot;&gt;[SERVER_IP]&lt;/code&gt;&amp;nbsp;with the IP address of your VPS.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif; font-size: 15px; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;and the entry in nginx&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;server {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; listen 80;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; server_name example.ro;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; root /usr/share/adminer;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # If you want to use a .htpass file, uncomment the three following lines.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; auth_basic &quot;Admin-Area! Password needed!&quot;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; auth_basic_user_file /usr/share/adminer/.htpass;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; access_log /var/log/nginx/adminer-access.log;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; error_log /var/log/nginx/adminer-error.log;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;location / {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; index index.php;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try_files $uri $uri/ /index.php?$args;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;location ~ .php$ {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;include fastcgi.conf;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#fastcgi_pass localhost:9000;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fastcgi_pass unix:/var/run/php5-fpm.sock;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fastcgi_index index.php;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fastcgi_param SCRIPT_FILENAME /usr/share/adminer$fastcgi_script_name;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif; font-size: 15px; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; color: #616366; font-family: Raleway, Helvetica, Arial, sans-serif; font-size: 15px; line-height: 25px; margin-bottom: 17px; padding: 0px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/7732358819167173306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2019/01/how-to-install-adminer-in-debian-better.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/7732358819167173306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/7732358819167173306'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2019/01/how-to-install-adminer-in-debian-better.html' title='how to install adminer in debian better than phpmyadmin'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-8693186263410634132</id><published>2019-01-01T02:48:00.001+02:00</published><updated>2019-01-01T02:48:23.341+02:00</updated><title type='text'>Phusion Passenger is currently not serving any applications</title><content type='html'>Thanks to:&amp;nbsp;&lt;span style=&quot;background-color: white; color: #0c0d0e; font-family: inherit; font-size: 27px; font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit;&quot;&gt;AntonAL&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;grid--cell&quot; style=&quot;background-color: white; border: 0px; box-sizing: border-box; color: #242729; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin: 4px 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;h2 class=&quot;grid gs12 fw-wrap ai-center fs-headline1 lh-xs fw-bold fc-dark wb-break-all profile-user--name&quot; style=&quot;align-items: center !important; border: 0px; box-sizing: border-box; color: rgb(12, 13, 14) !important; display: flex; flex-wrap: wrap !important; font-family: inherit; font-size: 2.07692rem !important; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1 !important; margin: -6px; padding: 0px; vertical-align: baseline; word-break: break-all !important;&quot;&gt;&lt;span class=&quot;grid--cell s-badge s-badge__bounty fw-normal fs-fine baw0&quot; style=&quot;background-color: #0077cc; border-color: transparent; border-image: initial; border-radius: 3px; border-style: solid; border-width: 0px !important; box-sizing: border-box; color: white; display: inline-flex; font-family: inherit; font-size: 11px !important; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: 400 !important; line-height: 2; margin: 6px; min-width: 0px; padding: 0px 6px; place-content: center; vertical-align: middle; white-space: nowrap;&quot;&gt;&lt;/span&gt;&lt;/h2&gt;&lt;/div&gt;&lt;h3 class=&quot;grid--cell fs-body3 fc-light lh-sm profile-user--role current-position&quot; style=&quot;background-color: white; border: 0px; box-sizing: border-box; color: rgb(106, 115, 124) !important; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 1.30769rem !important; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-weight: inherit; line-height: 1.15385 !important; margin: 4px 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Ruby on Rails, Meteor, Node.js, Bitrix (Битрикс)&lt;/h3&gt;&lt;div&gt;and&amp;nbsp;&lt;/div&gt;&lt;div&gt;https://stackoverflow.com/questions/33200648/phusion-passenger-is-currently-not-serving-any-applications&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class=&quot;lang-rb prettyprint prettyprinted&quot; style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; color: #393318; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 1em; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: 5px; vertical-align: baseline; width: auto;&quot;&gt;&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;passenger_app_root &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;to&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;your&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;code&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; box-sizing: inherit; color: #303336; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;com&quot; style=&quot;border: 0px; box-sizing: inherit; color: #858c93; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;# &amp;lt;&amp;lt;&amp;lt; Point Passenger to application code&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/8693186263410634132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2019/01/phusion-passenger-is-currently-not.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/8693186263410634132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/8693186263410634132'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2019/01/phusion-passenger-is-currently-not.html' title='Phusion Passenger is currently not serving any applications'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-5987626327406965583</id><published>2018-12-31T00:53:00.002+02:00</published><updated>2018-12-31T00:53:30.160+02:00</updated><title type='text'>How To Install Node.js on Debian 9</title><content type='html'>https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-debian-9&lt;br /&gt;&lt;br /&gt;&lt;h3 id=&quot;introduction&quot; style=&quot;background-color: white; box-sizing: border-box; color: #3a3a3a; font-family: proxima-nova, sans-serif; font-size: 22px; letter-spacing: 0.005em; margin: 14px auto 11px; padding: 0px; width: 745px;&quot;&gt;Introduction&lt;/h3&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;&lt;a href=&quot;https://nodejs.org/en/&quot; style=&quot;border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;Node.js&lt;/a&gt;&amp;nbsp;is a JavaScript platform for general-purpose programming that allows users to build network applications quickly. By leveraging JavaScript on both the front and backend, Node.js makes development more consistent and integrated.&lt;/div&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;In this guide, we&#39;ll show you how to get started with Node.js on a Debian 9 server.&lt;/div&gt;&lt;div data-unique=&quot;prerequisites&quot; name=&quot;prerequisites&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-left: auto; margin-right: auto; width: 745px;&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;prerequisites&quot; style=&quot;background-color: white; box-sizing: border-box; color: #3a3a3a; font-family: proxima-nova, sans-serif; font-size: 28px; font-weight: 400; letter-spacing: -0.5px; margin: 14px auto 10px; padding: 0px; width: 745px;&quot;&gt;Prerequisites&lt;/h2&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;This guide assumes that you are using Debian 9. Before you begin, you should have a non-root user account with sudo privileges set up on your system. You can learn how to set this up by following the&amp;nbsp;&lt;a href=&quot;https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-9&quot; style=&quot;border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;initial server setup for Debian 9&lt;/a&gt;.&lt;/div&gt;&lt;div data-unique=&quot;installing-the-distro-stable-version-for-debian&quot; name=&quot;installing-the-distro-stable-version-for-debian&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-left: auto; margin-right: auto; width: 745px;&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;installing-the-distro-stable-version-for-debian&quot; style=&quot;background-color: white; box-sizing: border-box; color: #3a3a3a; font-family: proxima-nova, sans-serif; font-size: 28px; font-weight: 400; letter-spacing: -0.5px; margin: 14px auto 10px; padding: 0px; width: 745px;&quot;&gt;Installing the Distro-Stable Version for Debian&lt;/h2&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Debian contains a version of Node.js in its default repositories. At the time of writing, this version is 4.8.2, which will reach end-of-life at the end of April 2018. If you would like to experiment with the language using a stable and sufficient option, then installing from the repositories may make sense. It is recommended, however, that for development and production use cases you install a more recent version with a PPA. We will discuss how to install from a PPA in the next step.&lt;/div&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;To get the distro-stable version of Node.js, you can use the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;apt&lt;/code&gt;&amp;nbsp;package manager. First, refresh your local package index:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;sudo apt update&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Then install the Node.js package from the repositories:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;sudo apt install nodejs&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;If the package in the repositories suits your needs, then this is all you need to do to get set up with Node.js.&lt;/div&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;To check which version of Node.js you have installed after these initial steps, type:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;nodejs -v&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Because of a conflict with another package, the executable from the Debian repositories is called&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nodejs&lt;/code&gt;instead of&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;node&lt;/code&gt;. Keep this in mind as you are running software.&lt;/div&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Once you have established which version of Node.js you have installed from the Debian repositories, you can decide whether or not you would like to work with different versions, package archives, or version managers. Next, we&#39;ll discuss these elements, along with more flexible and robust methods of installation.&lt;/div&gt;&lt;div data-unique=&quot;installing-using-a-ppa&quot; name=&quot;installing-using-a-ppa&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-left: auto; margin-right: auto; width: 745px;&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;installing-using-a-ppa&quot; style=&quot;background-color: white; box-sizing: border-box; color: #3a3a3a; font-family: proxima-nova, sans-serif; font-size: 28px; font-weight: 400; letter-spacing: -0.5px; margin: 14px auto 10px; padding: 0px; width: 745px;&quot;&gt;Installing Using a PPA&lt;/h2&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;To work with a more recent version of Node.js, you can add the&amp;nbsp;&lt;em style=&quot;box-sizing: border-box;&quot;&gt;PPA&lt;/em&gt;&amp;nbsp;(personal package archive) maintained by NodeSource. This will have more up-to-date versions of Node.js than the official Debian repositories, and will allow you to choose between Node.js v4.x (the older long-term support version, which will be supported until the end of April 2018), Node.js v6.x (supported until April of 2019), Node.js v8.x (the current LTS version, supported until December of 2019), and Node.js v10.x (the latest version, supported until April of 2021).&lt;/div&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Let&#39;s first update the local package index and install&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;curl&lt;/code&gt;, which you will use to access the PPA:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;sudo apt update&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;sudo apt install curl&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Next, let&#39;s install the PPA in order to get access to its contents. From your home directory, use&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;curl&lt;/code&gt;&amp;nbsp;to retrieve the installation script for your preferred version, making sure to replace&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;10.x&lt;/span&gt;&lt;/code&gt;&amp;nbsp;with your preferred version string (if different):&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;cd ~&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;curl -sL https://deb.nodesource.com/setup_&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;10.x&lt;/span&gt; -o nodesource_setup.sh&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;You can inspect the contents of this script with&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nano&lt;/code&gt;&amp;nbsp;or&amp;nbsp;&lt;a href=&quot;https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-9#step-six-%E2%80%94-completing-optional-configuration&quot; style=&quot;border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;your preferred text editor&lt;/a&gt;:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;nano nodesource_setup.sh&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Run the script under&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;sudo&lt;/code&gt;:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;sudo bash nodesource_setup.sh&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;The PPA will be added to your configuration and your local package cache will be updated automatically. After running the setup script, you can install the Node.js package in the same way you did above:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;sudo apt install nodejs&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;To check which version of Node.js you have installed after these initial steps, type:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;nodejs -v&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;div class=&quot;secondary-code-label &quot; style=&quot;box-sizing: border-box; color: rgba(0, 0, 0, 0.3); margin-bottom: 4px;&quot; title=&quot;Output&quot;&gt;&lt;br /&gt;Output&lt;/div&gt;&lt;br /&gt;v&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;10.9.0&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;The&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nodejs&lt;/code&gt;&amp;nbsp;package contains the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nodejs&lt;/code&gt;&amp;nbsp;binary as well as&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;npm&lt;/code&gt;, so you don&#39;t need to install&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;npm&lt;/code&gt;separately.&lt;/div&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;npm&lt;/code&gt;&amp;nbsp;uses a configuration file in your home directory to keep track of updates. It will be created the first time you run&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;npm&lt;/code&gt;. Execute this command to verify that&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;npm&lt;/code&gt;&amp;nbsp;is installed and to create the configuration file:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;npm -v&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;div class=&quot;secondary-code-label &quot; style=&quot;box-sizing: border-box; color: rgba(0, 0, 0, 0.3); margin-bottom: 4px;&quot; title=&quot;Output&quot;&gt;&lt;br /&gt;Output&lt;/div&gt;&lt;br /&gt;&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;6.2.0&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;In order for some&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;npm&lt;/code&gt;&amp;nbsp;packages to work (those that require compiling code from source, for example), you will need to install the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;build-essential&lt;/code&gt;&amp;nbsp;package:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;sudo apt install build-essential&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;You now have the necessary tools to work with&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;npm&lt;/code&gt;&amp;nbsp;packages that require compiling code from source.&lt;/div&gt;&lt;div data-unique=&quot;installing-using-nvm&quot; name=&quot;installing-using-nvm&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-left: auto; margin-right: auto; width: 745px;&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;installing-using-nvm&quot; style=&quot;background-color: white; box-sizing: border-box; color: #3a3a3a; font-family: proxima-nova, sans-serif; font-size: 28px; font-weight: 400; letter-spacing: -0.5px; margin: 14px auto 10px; padding: 0px; width: 745px;&quot;&gt;Installing Using NVM&lt;/h2&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;An alternative to installing Node.js through&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;apt&lt;/code&gt;&amp;nbsp;is to use a tool called&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nvm&lt;/code&gt;, which stands for &quot;Node.js Version Manager&quot;. Rather than working at the operating system level,&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nvm&lt;/code&gt;&amp;nbsp;works at the level of an independent directory within your home directory. This means that you can install multiple self-contained versions of Node.js without affecting the entire system.&lt;/div&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Controlling your environment with&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nvm&lt;/code&gt;&amp;nbsp;allows you to access the newest versions of Node.js and retain and manage previous releases. It is a different utility from&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;apt&lt;/code&gt;, however, and the versions of Node.js that you manage with it are distinct from those you manage with&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;apt&lt;/code&gt;.&lt;/div&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;To download the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nvm&lt;/code&gt;&amp;nbsp;installation script from the&amp;nbsp;&lt;a href=&quot;https://github.com/creationix/nvm&quot; style=&quot;border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;project&#39;s GitHub page&lt;/a&gt;, you can use&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;curl&lt;/code&gt;. Note that the version number may differ from what is highlighted here:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;curl -sL https://raw.githubusercontent.com/creationix/nvm/&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;v0.33.11&lt;/span&gt;/install.sh -o install_nvm.sh&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Inspect the installation script with&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nano&lt;/code&gt;:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;nano install_nvm.sh&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Run the script with&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;bash&lt;/code&gt;:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;bash install_nvm.sh&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;It will install the software into a subdirectory of your home directory at&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;~/.nvm&lt;/code&gt;. It will also add the necessary lines to your&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;~/.profile&lt;/code&gt;&amp;nbsp;file to use the file.&lt;/div&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;To gain access to the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nvm&lt;/code&gt;&amp;nbsp;functionality, you&#39;ll need to either log out and log back in again or source the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;~/.profile&lt;/code&gt;&amp;nbsp;file so that your current session knows about the changes:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;source ~/.profile&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;With&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nvm&lt;/code&gt;&amp;nbsp;installed, you can install isolated Node.js versions. For information about the versions of Node.js that are available, type:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;nvm ls-remote&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;div class=&quot;secondary-code-label &quot; style=&quot;box-sizing: border-box; color: rgba(0, 0, 0, 0.3); margin-bottom: 4px;&quot; title=&quot;Output&quot;&gt;&lt;br /&gt;Output&lt;/div&gt;&lt;br /&gt;...&lt;br /&gt;         v8.11.1   (Latest LTS: Carbon)&lt;br /&gt;         v9.0.0&lt;br /&gt;         v9.1.0&lt;br /&gt;         v9.2.0&lt;br /&gt;         v9.2.1&lt;br /&gt;         v9.3.0&lt;br /&gt;         v9.4.0&lt;br /&gt;         v9.5.0&lt;br /&gt;         v9.6.0&lt;br /&gt;         v9.6.1&lt;br /&gt;         v9.7.0&lt;br /&gt;         v9.7.1&lt;br /&gt;         v9.8.0&lt;br /&gt;         v9.9.0&lt;br /&gt;        v9.10.0&lt;br /&gt;        v9.10.1&lt;br /&gt;        v9.11.0&lt;br /&gt;        v9.11.1&lt;br /&gt;        v10.0.0  &lt;br /&gt;        v10.1.0&lt;br /&gt;        v10.2.0&lt;br /&gt;        v10.2.1&lt;br /&gt;        v10.3.0&lt;br /&gt;        v10.4.0&lt;br /&gt;        v10.4.1&lt;br /&gt;        v10.5.0&lt;br /&gt;        v10.6.0&lt;br /&gt;        v10.7.0&lt;br /&gt;        v10.8.0&lt;br /&gt;        v10.9.0&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;As you can see, the current LTS version at the time of this writing is v8.11.1. You can install that by typing:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;nvm install &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;8.11.1&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Usually,&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nvm&lt;/code&gt;&amp;nbsp;will switch to use the most recently installed version. You can tell&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nvm&lt;/code&gt;&amp;nbsp;to use the version you just downloaded by typing:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;nvm use &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;8.11.1&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;When you install Node.js using&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nvm&lt;/code&gt;, the executable is called&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;node&lt;/code&gt;. You can see the version currently being used by the shell by typing:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;node -v&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;div class=&quot;secondary-code-label &quot; style=&quot;box-sizing: border-box; color: rgba(0, 0, 0, 0.3); margin-bottom: 4px;&quot; title=&quot;Output&quot;&gt;&lt;br /&gt;Output&lt;/div&gt;&lt;br /&gt;v&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;8.11.1&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;If you have multiple Node.js versions, you can see what is installed by typing:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;nvm ls&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;If you wish to default one of the versions, type:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;nvm alias default &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;8.11.1&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;This version will be automatically selected when a new session spawns. You can also reference it by the alias like this:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;nvm use default&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Each version of Node.js will keep track of its own packages and has&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;npm&lt;/code&gt;&amp;nbsp;available to manage these.&lt;/div&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;You can also have&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;npm&lt;/code&gt;&amp;nbsp;install packages to the Node.js project&#39;s&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;./node_modules&lt;/code&gt;&amp;nbsp;directory. Use the following syntax to install the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;express&lt;/code&gt;&amp;nbsp;module:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;npm install &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;express&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;If you&#39;d like to install the module globally, making it available to other projects using the same version of Node.js, you can add the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;-g&lt;/code&gt;&amp;nbsp;flag:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;npm install -g &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;express&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;This will install the package in:&lt;/div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;~/.nvm/versions/node/&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;node_version&lt;/span&gt;/lib/node_modules/&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;express&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Installing the module globally will let you run commands from the command line, but you&#39;ll have to link the package into your local sphere to require it from within a program:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;npm link &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;express&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;You can learn more about the options available to you with nvm by typing:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;nvm help&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div data-unique=&quot;removing-nodejs&quot; name=&quot;removing-nodejs&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-left: auto; margin-right: auto; width: 745px;&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;removing-node-js&quot; style=&quot;background-color: white; box-sizing: border-box; color: #3a3a3a; font-family: proxima-nova, sans-serif; font-size: 28px; font-weight: 400; letter-spacing: -0.5px; margin: 14px auto 10px; padding: 0px; width: 745px;&quot;&gt;Removing Node.js&lt;/h2&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;You can uninstall Node.js using&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;apt&lt;/code&gt;&amp;nbsp;or&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nvm&lt;/code&gt;, depending on the version you want to target. To remove versions installed from the repositories or from the PPA, you will need to work with the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;apt&lt;/code&gt;&amp;nbsp;utility at the system level.&lt;/div&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;To remove either of these versions, type the following:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;sudo apt remove nodejs&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;This command will remove the package and the configuration files.&lt;/div&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;To uninstall a version of Node.js that you have enabled using&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nvm&lt;/code&gt;, first determine whether or not the version you would like to remove is the current active version:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;nvm current&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;If the version you are targeting is&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;not&lt;/span&gt;&amp;nbsp;the current active version, you can run:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;nvm uninstall &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;node_version&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;This command will uninstall the selected version of Node.js.&lt;/div&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;If the version you would like to remove&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;is&lt;/span&gt;&amp;nbsp;the current active version, you must first deactivate&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nvm&lt;/code&gt;&amp;nbsp;to enable your changes:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;nvm deactivate&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;You can now uninstall the current version using the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;uninstall&lt;/code&gt;&amp;nbsp;command above, which will remove all files associated with the targeted version of Node.js except the cached files that can be used for reinstallation.&lt;/div&gt;&lt;div data-unique=&quot;conclusion&quot; name=&quot;conclusion&quot; style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-left: auto; margin-right: auto; width: 745px;&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;conclusion&quot; style=&quot;background-color: white; box-sizing: border-box; color: #3a3a3a; font-family: proxima-nova, sans-serif; font-size: 28px; font-weight: 400; letter-spacing: -0.5px; margin: 14px auto 10px; padding: 0px; width: 745px;&quot;&gt;Conclusion&lt;/h2&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; font-family: proxima-nova, sans-serif; font-size: 16px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;There are a quite a few ways to get up and running with Node.js on your Debian 9 server. Your circumstances will dictate which of the above methods is best for your needs. While using the packaged version in the Debian repository is an option for experimentation, installing from a PPA and working with&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;npm&lt;/code&gt;&amp;nbsp;or&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nvm&lt;/code&gt;&amp;nbsp;offers additional flexibility.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/5987626327406965583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2018/12/how-to-install-nodejs-on-debian-9.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/5987626327406965583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/5987626327406965583'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2018/12/how-to-install-nodejs-on-debian-9.html' title='How To Install Node.js on Debian 9'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-3867422845101286250</id><published>2018-12-30T23:44:00.001+02:00</published><updated>2018-12-30T23:44:06.654+02:00</updated><title type='text'></title><content type='html'>&lt;h1 class=&quot;content-title Tutorial-header&quot; style=&quot;background-color: white; box-sizing: inherit; color: #3a3a3a; font-size: 32px; font-weight: 400; letter-spacing: 0px; line-height: 1.1; margin: 0px 0px 14px; padding: 0px;&quot;&gt;How To Set Up a Node.js Application for Production on Debian 9&lt;/h1&gt;&lt;br /&gt;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-debian-9&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;section-content section-content-growable content Tutorial-content&quot; style=&quot;background-color: white; box-sizing: inherit; font-family: proxima-nova, sans-serif; font-size: 20px; line-height: 1.5; margin: 0px auto; padding-left: 0px; padding-right: 0px; position: relative; width: auto;&quot;&gt;&lt;div class=&quot;container tutorial-header&quot; style=&quot;box-sizing: inherit; margin-bottom: 10px; margin-left: auto; margin-right: auto; width: 745px;&quot;&gt;&lt;h1 class=&quot;content-title Tutorial-header&quot; style=&quot;box-sizing: inherit; color: #3a3a3a; font-size: 32px; font-weight: 400; letter-spacing: 0px; line-height: 1.1; margin: 0px 0px 14px; padding: 0px;&quot;&gt;&lt;span class=&quot;meta-section timestamp&quot; style=&quot;box-sizing: inherit; color: #999999; font-size: 13px; margin-right: 10px; vertical-align: middle;&quot;&gt;&lt;span class=&quot;tutorial-date-text&quot; style=&quot;box-sizing: inherit; padding-right: 5px;&quot;&gt;Posted&lt;/span&gt;&lt;span class=&quot;tutorial-date&quot; style=&quot;box-sizing: inherit;&quot;&gt;September 6, 2018&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;meta-section pageviews&quot; style=&quot;box-sizing: inherit; color: #999999; font-size: 13px; margin-right: 10px; vertical-align: middle;&quot;&gt;&lt;span class=&quot;icon icon-eye v-mid&quot; style=&quot;box-sizing: inherit; font-family: &amp;quot;community_icons&amp;quot;; line-height: 1; padding-right: 5px; speak: none; vertical-align: middle;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;views-count v-mid&quot; style=&quot;box-sizing: inherit; vertical-align: middle;&quot;&gt;6.4k&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;span class=&quot;meta-section pageviews&quot; style=&quot;box-sizing: inherit; color: #999999; font-size: 13px; margin-right: 10px; vertical-align: middle;&quot;&gt;&lt;span class=&quot;sr-only&quot; style=&quot;border: 0px; box-sizing: inherit; clip: rect(0px, 0px, 0px, 0px); height: 1px; margin: -1px; overflow: hidden; padding: 0px; position: absolute; width: 1px;&quot;&gt;views&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;meta-section tags&quot; style=&quot;box-sizing: inherit; color: #999999; font-size: 13px; margin-right: 10px; vertical-align: middle;&quot;&gt;&lt;a class=&quot;tag&quot; href=&quot;https://www.digitalocean.com/community/tags/node-js?type=tutorials&quot; style=&quot;background-color: whitesmoke; border-radius: 3px; border: 1px solid rgb(245, 245, 245); box-sizing: inherit; color: #999999; font-size: 10px; letter-spacing: 0.5px; margin: 0px 2px; padding: 3px 4px 2px; text-decoration-line: none; text-transform: uppercase; white-space: nowrap;&quot;&gt;NODE.JS&lt;/a&gt;&amp;nbsp;&lt;a class=&quot;tag&quot; href=&quot;https://www.digitalocean.com/community/tags/nginx?type=tutorials&quot; style=&quot;background-color: whitesmoke; border-radius: 3px; border: 1px solid rgb(245, 245, 245); box-sizing: inherit; color: #999999; font-size: 10px; letter-spacing: 0.5px; margin: 0px 2px; padding: 3px 4px 2px; text-decoration-line: none; text-transform: uppercase; white-space: nowrap;&quot;&gt;NGINX&lt;/a&gt;&amp;nbsp;&lt;a class=&quot;tag&quot; href=&quot;https://www.digitalocean.com/community/tags/debian-9?type=tutorials&quot; style=&quot;background-color: whitesmoke; border-radius: 3px; border: 1px solid rgb(245, 245, 245); box-sizing: inherit; color: #999999; font-size: 10px; letter-spacing: 0.5px; margin: 0px 2px; padding: 3px 4px 2px; text-decoration-line: none; text-transform: uppercase; white-space: nowrap;&quot;&gt;DEBIAN 9&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;tutorial-authors&quot; style=&quot;box-sizing: inherit;&quot;&gt;&lt;div class=&quot;postable-info-bar-container&quot; style=&quot;box-sizing: inherit; margin-bottom: 15px;&quot;&gt;&lt;ul class=&quot;postable-info-bar&quot; style=&quot;box-sizing: border-box; clear: both; color: #999999; margin: 0px auto; max-width: 745px; overflow: auto; padding: 15px 0px 10px; width: 745px; z-index: 100;&quot;&gt;&lt;li class=&quot;author-byline&quot; style=&quot;box-sizing: border-box; float: left; font-size: 13px; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a href=&quot;https://www.digitalocean.com/community/users/katjuell&quot; style=&quot;box-sizing: inherit; color: #999999; text-decoration-line: none;&quot;&gt;&lt;div class=&quot;tutorial-author-avatar&quot; style=&quot;box-sizing: inherit; float: left; height: 50px; margin-right: 10px;&quot;&gt;&lt;div class=&quot;mod-avatar mod-avatar-small&quot; style=&quot;box-sizing: content-box; display: inline-block; position: relative;&quot;&gt;&lt;img alt=&quot;748ce760fc8ab2840a415f65ee0d674c24845854&quot; class=&quot;avatar avatar-small&quot; src=&quot;https://community-cdn-digitalocean-com.global.ssl.fastly.net/assets/users/avatars/small/748ce760fc8ab2840a415f65ee0d674c24845854.jpg?1509387359&quot; style=&quot;border-radius: 50%; box-sizing: inherit; height: 35px; width: 35px;&quot; /&gt;&lt;span class=&quot;mod-star&quot; data-container=&quot;body&quot; data-original-title=&quot;MOD&quot; data-toggle=&quot;tooltip&quot; style=&quot;background: rgb(0, 105, 255); border-radius: 12px; border: 3px solid rgb(255, 255, 255); bottom: 0px; box-sizing: inherit; display: block; height: 16px; position: absolute; right: 0px; width: 16px; z-index: 90;&quot; title=&quot;&quot;&gt;&lt;span class=&quot;mod-star-icon&quot; style=&quot;background: rgb(255 , 255 , 255); border: 1px solid rgb(255 , 255 , 255); box-sizing: inherit; color: white; display: block; height: 8px; margin: 3px 0px 0px 3px; width: 8px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;author-and-date&quot; style=&quot;box-sizing: inherit; float: left; line-height: 17px; margin-right: 20px; margin-top: 9px;&quot;&gt;&lt;div class=&quot;tutorial-author&quot; style=&quot;box-sizing: inherit; font-size: 16px;&quot;&gt;Kathleen Juell&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;author-byline&quot; style=&quot;box-sizing: border-box; float: left; font-size: 13px; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a href=&quot;https://www.digitalocean.com/community/users/bpb&quot; style=&quot;box-sizing: inherit; color: #999999; text-decoration-line: none;&quot;&gt;&lt;div class=&quot;tutorial-author-avatar&quot; style=&quot;box-sizing: inherit; float: left; height: 50px; margin-right: 10px;&quot;&gt;&lt;img alt=&quot;D3f0273e4e4eb87e1002b3653f30eb5ba32eedf8&quot; class=&quot;avatar avatar-small&quot; src=&quot;https://community-cdn-digitalocean-com.global.ssl.fastly.net/assets/users/avatars/small/d3f0273e4e4eb87e1002b3653f30eb5ba32eedf8.jpg?1449535798&quot; style=&quot;border-radius: 50%; box-sizing: inherit; height: 35px; width: 35px;&quot; /&gt;&lt;/div&gt;&lt;div class=&quot;author-and-date&quot; style=&quot;box-sizing: inherit; float: left; line-height: 17px; margin-right: 20px; margin-top: 9px;&quot;&gt;&lt;div class=&quot;tutorial-author&quot; style=&quot;box-sizing: inherit; font-size: 16px;&quot;&gt;Brennen Bearnes&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;container versioned-tutorial-group-navigation&quot; data-versioned-tutorial-group-navigation=&quot;&quot; style=&quot;box-sizing: inherit; font-size: 18px; height: 59px; margin: 1.7rem auto; overflow: hidden; width: 745px;&quot;&gt;&lt;div class=&quot;versioned-tutorial-group-navigation__header&quot; data-versioned-tutorial-group-navigation-header=&quot;&quot; style=&quot;background-color: #0080ff; border-radius: 3px; box-sizing: inherit; cursor: pointer; position: relative;&quot;&gt;&lt;h5 class=&quot;versioned-tutorial-group-navigation__heading&quot; style=&quot;box-sizing: inherit; color: white; font-size: inherit; font-weight: 400; margin: 0px; padding: 1rem;&quot;&gt;Not using&amp;nbsp;&lt;strong style=&quot;box-sizing: inherit;&quot;&gt;Debian 9&lt;/strong&gt;? Choose a different version:&lt;/h5&gt;&lt;span class=&quot;versioned-tutorial-group-navigation__arrow&quot; style=&quot;box-sizing: inherit; position: absolute; right: 16px; top: 16px; transform-origin: center center 0px; transform: rotate(180deg); transition: all 0.3s linear 0s; z-index: 5;&quot;&gt;&lt;svg viewbox=&quot;0 0 105.565 60.872&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M2.526 46.087c-3.37 3.382-3.37 8.868 0 12.246 3.37 3.386 8.832 3.386 12.202 0l43.384-43.547c3.37-3.382 3.37-8.87 0-12.246-3.37-3.386-8.833-3.386-12.202 0L2.526 46.087z&quot; fill=&quot;#fff&quot;&gt;&lt;/path&gt;&lt;path d=&quot;M90.835 58.333c3.37 3.386 8.833 3.386 12.202 0 3.37-3.378 3.37-8.864 0-12.246L59.654 2.54c-3.37-3.386-8.832-3.386-12.202 0-3.37 3.377-3.37 8.864 0 12.246l43.383 43.547z&quot; fill=&quot;#fff&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;versioned-tutorial-group-navigation__body&quot; data-versioned-tutorial-group-navigation-body=&quot;&quot; style=&quot;box-sizing: inherit;&quot;&gt;&lt;ul class=&quot;versioned-tutorial-group-navigation__list&quot; style=&quot;border-bottom-color: rgb(229, 229, 229); border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-bottom-style: solid; border-image: initial; border-left-color: rgb(229, 229, 229); border-left-style: solid; border-right-color: rgb(229, 229, 229); border-right-style: solid; border-top-color: initial; border-top-style: initial; border-width: 0px 1px 1px; box-sizing: inherit; display: flex; flex-wrap: wrap; margin: 0px; padding: 0px;&quot;&gt;&lt;li class=&quot;versioned-tutorial-group-navigation__list-item&quot; style=&quot;box-shadow: rgb(229, 229, 229) 1px 1px 0px; box-sizing: border-box; flex-basis: 33.3333%; font-size: inherit; line-height: 1.3; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a class=&quot;versioned-tutorial-group-navigation__link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-centos-7&quot; style=&quot;align-items: center; box-sizing: inherit; color: #3a3a3a; display: flex; justify-content: space-between; padding: 1rem; text-decoration-line: none; white-space: nowrap;&quot;&gt;CentOS 7&lt;span class=&quot;icon-arrow-down versioned-tutorial-group-navigation__link-arrow&quot; style=&quot;box-sizing: inherit; color: inherit; font-family: &amp;quot;community_icons&amp;quot;; font-size: 6.5px; line-height: 1; margin-left: 3px; opacity: 0.85; speak: none; transform: rotate(-90deg);&quot;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;versioned-tutorial-group-navigation__list-item&quot; style=&quot;box-shadow: rgb(229, 229, 229) 1px 1px 0px; box-sizing: border-box; flex-basis: 33.3333%; font-size: inherit; line-height: 1.3; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a class=&quot;versioned-tutorial-group-navigation__link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-debian-8&quot; style=&quot;align-items: center; box-sizing: inherit; color: #3a3a3a; display: flex; justify-content: space-between; padding: 1rem; text-decoration-line: none; white-space: nowrap;&quot;&gt;Debian 8&lt;span class=&quot;icon-arrow-down versioned-tutorial-group-navigation__link-arrow&quot; style=&quot;box-sizing: inherit; color: inherit; font-family: &amp;quot;community_icons&amp;quot;; font-size: 6.5px; line-height: 1; margin-left: 3px; opacity: 0.85; speak: none; transform: rotate(-90deg);&quot;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;versioned-tutorial-group-navigation__list-item&quot; style=&quot;box-shadow: rgb(229, 229, 229) 0px 1px 0px; box-sizing: border-box; flex-basis: 33.3333%; font-size: inherit; line-height: 1.3; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a class=&quot;versioned-tutorial-group-navigation__link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-18-04&quot; style=&quot;align-items: center; box-sizing: inherit; color: #3a3a3a; display: flex; justify-content: space-between; padding: 1rem; text-decoration-line: none; white-space: nowrap;&quot;&gt;Ubuntu 18.04&lt;span class=&quot;icon-arrow-down versioned-tutorial-group-navigation__link-arrow&quot; style=&quot;box-sizing: inherit; color: inherit; font-family: &amp;quot;community_icons&amp;quot;; font-size: 6.5px; line-height: 1; margin-left: 3px; opacity: 0.85; speak: none; transform: rotate(-90deg);&quot;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;versioned-tutorial-group-navigation__list-item&quot; style=&quot;box-shadow: rgb(229, 229, 229) 1px 1px 0px; box-sizing: border-box; flex-basis: 33.3333%; font-size: inherit; line-height: 1.3; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a class=&quot;versioned-tutorial-group-navigation__link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-16-04&quot; style=&quot;align-items: center; box-sizing: inherit; color: #3a3a3a; display: flex; justify-content: space-between; padding: 1rem; text-decoration-line: none; white-space: nowrap;&quot;&gt;Ubuntu 16.04&lt;span class=&quot;icon-arrow-down versioned-tutorial-group-navigation__link-arrow&quot; style=&quot;box-sizing: inherit; color: inherit; font-family: &amp;quot;community_icons&amp;quot;; font-size: 6.5px; line-height: 1; margin-left: 3px; opacity: 0.85; speak: none; transform: rotate(-90deg);&quot;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;versioned-tutorial-group-navigation__list-item&quot; style=&quot;box-shadow: rgb(229, 229, 229) 1px 1px 0px; box-sizing: border-box; flex-basis: 33.3333%; font-size: inherit; line-height: 1.3; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a class=&quot;versioned-tutorial-group-navigation__link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-14-04&quot; style=&quot;align-items: center; box-sizing: inherit; color: #3a3a3a; display: flex; justify-content: space-between; padding: 1rem; text-decoration-line: none; white-space: nowrap;&quot;&gt;Ubuntu 14.04&lt;span class=&quot;icon-arrow-down versioned-tutorial-group-navigation__link-arrow&quot; style=&quot;box-sizing: inherit; color: inherit; font-family: &amp;quot;community_icons&amp;quot;; font-size: 6.5px; line-height: 1; margin-left: 3px; opacity: 0.85; speak: none; transform: rotate(-90deg);&quot;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;versioned-tutorial-group-navigation__list-item&quot; style=&quot;box-shadow: rgb(229, 229, 229) 0px 1px 0px; box-sizing: border-box; flex-basis: 33.3333%; font-size: inherit; line-height: 1.3; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a class=&quot;versioned-tutorial-group-navigation__link versioned-tutorial-group-navigation__link--unavailable&quot; data-distribution-version-id=&quot;12&quot; data-tutorial-request=&quot;&quot; data-versioned-tutorial-group-id=&quot;9&quot; href=&quot;https://www.blogger.com/null&quot; style=&quot;align-items: center; box-sizing: inherit; color: #bfbfbf; display: flex; justify-content: space-between; padding: 1rem; white-space: nowrap;&quot;&gt;Automated: Docker&lt;small class=&quot;versioned-tutorial-group-navigation__request&quot; data-tutorial-request-status-indicator=&quot;&quot; style=&quot;border-bottom: 1px solid rgb(153, 153, 153); box-sizing: inherit; color: #999999; line-height: 1;&quot;&gt;request&lt;/small&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;versioned-tutorial-group-navigation__list-item&quot; style=&quot;box-shadow: rgb(229, 229, 229) 1px 1px 0px; box-sizing: border-box; flex-basis: 33.3333%; font-size: inherit; line-height: 1.3; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a class=&quot;versioned-tutorial-group-navigation__link versioned-tutorial-group-navigation__link--unavailable&quot; data-distribution-version-id=&quot;14&quot; data-tutorial-request=&quot;&quot; data-versioned-tutorial-group-id=&quot;9&quot; href=&quot;https://www.blogger.com/null&quot; style=&quot;align-items: center; box-sizing: inherit; color: #bfbfbf; display: flex; justify-content: space-between; padding: 1rem; white-space: nowrap;&quot;&gt;Automated: Bash&lt;small class=&quot;versioned-tutorial-group-navigation__request&quot; data-tutorial-request-status-indicator=&quot;&quot; style=&quot;border-bottom: 1px solid rgb(153, 153, 153); box-sizing: inherit; color: #999999; line-height: 1;&quot;&gt;request&lt;/small&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;versioned-tutorial-group-navigation__list-item&quot; style=&quot;box-shadow: rgb(229, 229, 229) 1px 1px 0px; box-sizing: border-box; flex-basis: 33.3333%; font-size: inherit; line-height: 1.3; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a class=&quot;versioned-tutorial-group-navigation__link versioned-tutorial-group-navigation__link--unavailable&quot; data-distribution-version-id=&quot;13&quot; data-tutorial-request=&quot;&quot; data-versioned-tutorial-group-id=&quot;9&quot; href=&quot;https://www.blogger.com/null&quot; style=&quot;align-items: center; box-sizing: inherit; color: #bfbfbf; display: flex; justify-content: space-between; padding: 1rem; white-space: nowrap;&quot;&gt;Automated: Ansible&lt;small class=&quot;versioned-tutorial-group-navigation__request&quot; data-tutorial-request-status-indicator=&quot;&quot; style=&quot;border-bottom: 1px solid rgb(153, 153, 153); box-sizing: inherit; color: #999999; line-height: 1;&quot;&gt;request&lt;/small&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;versioned-tutorial-group-navigation__list-item&quot; style=&quot;box-shadow: rgb(229, 229, 229) 0px 1px 0px; box-sizing: border-box; flex-basis: 33.3333%; font-size: inherit; line-height: 1.3; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-body tutorial-content&quot; data-growable-markdown=&quot;&quot; style=&quot;box-sizing: inherit; clear: both; font-size: 16px; overflow-x: auto;&quot;&gt;&lt;h3 id=&quot;introduction&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 22px; letter-spacing: 0.005em; margin: 14px auto 11px; padding: 0px; width: 745px;&quot;&gt;Introduction&lt;/h3&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;&lt;a href=&quot;https://nodejs.org/en/&quot; style=&quot;border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;Node.js&lt;/a&gt;&amp;nbsp;is an open-source JavaScript runtime environment for building server-side and networking applications. The platform runs on Linux, macOS, FreeBSD, and Windows. Though you can run Node.js applications at the command line, this tutorial will focus on running them as a service. This means that the applications will restart on reboot or failure and are safe for use in a production environment.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;In this tutorial, you will set up a production-ready Node.js environment on a single Debian 9 server. This server will run a Node.js application managed by&amp;nbsp;&lt;a href=&quot;http://pm2.keymetrics.io/&quot; style=&quot;border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;PM2&lt;/a&gt;, and provide users with secure access to the application through an&amp;nbsp;&lt;a href=&quot;https://nginx.org/&quot; style=&quot;border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;Nginx&lt;/a&gt;&amp;nbsp;reverse proxy. The Nginx server will offer HTTPS, using a free certificate provided by&amp;nbsp;&lt;a href=&quot;https://letsencrypt.org/&quot; style=&quot;border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;Let&#39;s Encrypt&lt;/a&gt;.&lt;/div&gt;&lt;div data-unique=&quot;prerequisites&quot; name=&quot;prerequisites&quot; style=&quot;box-sizing: border-box; margin-left: auto; margin-right: auto; width: 745px;&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;prerequisites&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 28px; font-weight: 400; letter-spacing: -0.5px; margin: 14px auto 10px; padding: 0px; width: 745px;&quot;&gt;Prerequisites&lt;/h2&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;This guide assumes that you have the following:&lt;/div&gt;&lt;ul style=&quot;box-sizing: border-box; margin: 0px auto 1.7rem; padding: 0px 0px 0px 2.5rem; width: 745px;&quot;&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 0.8rem; padding: 0px 0px 0px 4px;&quot;&gt;A Debian 9 server setup, as described in the&amp;nbsp;&lt;a href=&quot;https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-9&quot; style=&quot;border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;initial server setup guide for Debian 9&lt;/a&gt;. You should have a non-root user with sudo privileges and an active firewall.&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 0.8rem; padding: 0px 0px 0px 4px;&quot;&gt;A&amp;nbsp;&lt;a href=&quot;https://www.digitalocean.com/docs/networking/dns/quickstart/&quot; style=&quot;border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;domain name pointed at your server&#39;s public IP&lt;/a&gt;. This tutorial will use the domain name&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;example.com&lt;/span&gt;&amp;nbsp;throughout.&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 0.8rem; padding: 0px 0px 0px 4px;&quot;&gt;Nginx installed, as covered in&amp;nbsp;&lt;a href=&quot;https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-debian-9&quot; style=&quot;border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;How To Install Nginx on Debian 9&lt;/a&gt;.&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 0.8rem; padding: 0px 0px 0px 4px;&quot;&gt;Nginx configured with SSL using Let&#39;s Encrypt certificates.&amp;nbsp;&lt;a href=&quot;https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-debian-9&quot; style=&quot;border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;How To Secure Nginx with Let&#39;s Encrypt on Debian 9&lt;/a&gt;&amp;nbsp;will walk you through the process.&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;When you&#39;ve completed the prerequisites, you will have a server serving your domain&#39;s default placeholder page at&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;https://&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;example.com&lt;/span&gt;/&lt;/code&gt;.&lt;/div&gt;&lt;div data-unique=&quot;step-1-—-installing-nodejs&quot; name=&quot;step-1-—-installing-nodejs&quot; style=&quot;box-sizing: border-box; margin-left: auto; margin-right: auto; width: 745px;&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;step-1-—-installing-node-js&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 28px; font-weight: 400; letter-spacing: -0.5px; margin: 14px auto 10px; padding: 0px; width: 745px;&quot;&gt;Step 1 — Installing Node.js&lt;/h2&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Let&#39;s begin by installing the latest LTS release of Node.js, using the&amp;nbsp;&lt;a href=&quot;https://github.com/nodesource/distributions&quot; style=&quot;border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;NodeSource&lt;/a&gt;&amp;nbsp;package archives.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;To install the NodeSource PPA and access its contents, you will first need to update your package index and install&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;curl&lt;/code&gt;:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;sudo apt update&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;sudo apt install curl&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Make sure you&#39;re in your home directory, and then use&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;curl&lt;/code&gt;&amp;nbsp;to retrieve the installation script for the Node.js&amp;nbsp;&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;8&lt;/span&gt;.x archives:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;cd ~&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;curl -sL https://deb.nodesource.com/setup_&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;8&lt;/span&gt;.x -o nodesource_setup.sh&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;You can inspect the contents of this script with&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nano&lt;/code&gt;&amp;nbsp;or your&amp;nbsp;&lt;a href=&quot;https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-9#step-six-%E2%80%94-completing-optional-configuration&quot; style=&quot;border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;preferred text editor&lt;/a&gt;:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;nano nodesource_setup.sh&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;When you&#39;re done inspecting the script, run it under&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;sudo&lt;/code&gt;:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;sudo bash nodesource_setup.sh&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;The PPA will be added to your configuration and your local package cache will be updated automatically. After running the setup script from Nodesource, you can install the Node.js package:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;sudo apt install nodejs&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;To check which version of Node.js you have installed after these initial steps, type:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;nodejs -v&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;div class=&quot;secondary-code-label &quot; style=&quot;box-sizing: border-box; color: rgba(0, 0, 0, 0.3); margin-bottom: 4px;&quot; title=&quot;Output&quot;&gt;&lt;br /&gt;Output&lt;/div&gt;&lt;br /&gt;v&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;8.11.4&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;&lt;span class=&quot;note&quot; style=&quot;background-color: #f4f2d4; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; display: block; font-size: 15px; line-height: 26px; margin-bottom: 22px; padding: 13px 17px;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;Note:&lt;/span&gt;&amp;nbsp;When installing from the NodeSource PPA, the Node.js executable is called&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; color: black; line-height: 22px; padding: 3px;&quot;&gt;nodejs&lt;/code&gt;, rather than&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; color: black; line-height: 22px; padding: 3px;&quot;&gt;node&lt;/code&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;The&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nodejs&lt;/code&gt;&amp;nbsp;package contains the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;nodejs&lt;/code&gt;&amp;nbsp;binary as well as&amp;nbsp;&lt;a href=&quot;https://www.npmjs.com/&quot; style=&quot;border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;npm&lt;/code&gt;&lt;/a&gt;, a package manager for Node modules, so you don&#39;t need to install&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;npm&lt;/code&gt;&amp;nbsp;separately.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;npm&lt;/code&gt;&amp;nbsp;uses a configuration file in your home directory to keep track of updates. It will be created the first time you run&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;npm&lt;/code&gt;. Execute this command to verify that&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;npm&lt;/code&gt;&amp;nbsp;is installed and to create the configuration file:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;npm -v&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;div class=&quot;secondary-code-label &quot; style=&quot;box-sizing: border-box; color: rgba(0, 0, 0, 0.3); margin-bottom: 4px;&quot; title=&quot;Output&quot;&gt;&lt;br /&gt;Output&lt;/div&gt;&lt;br /&gt;&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;5.6.0&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;In order for some&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;npm&lt;/code&gt;&amp;nbsp;packages to work (those that require compiling code from source, for example), you will need to install the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;build-essential&lt;/code&gt;&amp;nbsp;package:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;sudo apt install build-essential&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;You now have the necessary tools to work with&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;npm&lt;/code&gt;&amp;nbsp;packages that require compiling code from source.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;With the Node.js runtime installed, let&#39;s move on to writing a Node.js application.&lt;/div&gt;&lt;div data-unique=&quot;step-2-—-creating-a-nodejs-application&quot; name=&quot;step-2-—-creating-a-nodejs-application&quot; style=&quot;box-sizing: border-box; margin-left: auto; margin-right: auto; width: 745px;&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;step-2-—-creating-a-node-js-application&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 28px; font-weight: 400; letter-spacing: -0.5px; margin: 14px auto 10px; padding: 0px; width: 745px;&quot;&gt;Step 2 — Creating a Node.js Application&lt;/h2&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Let&#39;s write a&amp;nbsp;&lt;em style=&quot;box-sizing: border-box;&quot;&gt;Hello World&lt;/em&gt;&amp;nbsp;application that returns &quot;Hello World&quot; to any HTTP requests. This sample application will help you get Node.js set up. You can replace it with your own application — just make sure that you modify your application to listen on the appropriate IP addresses and ports.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;First, let&#39;s create a sample application called&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;hello.js&lt;/code&gt;:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;cd ~&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;nano hello.js&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Insert the following code into the file:&lt;/div&gt;&lt;div class=&quot;code-label &quot; style=&quot;background-color: #e5e5e5; border-radius: 3px 3px 0px 0px; box-sizing: border-box; color: #3a3a3a; font-size: 14px; margin-bottom: -30px; margin-left: auto; margin-right: auto; padding: 8px 15px; position: relative; text-align: center; width: 745px; z-index: 2;&quot; title=&quot;~/hello.js&quot;&gt;~/hello.js&lt;/div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code class=&quot;code-highlight language-js hljs &quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;box-sizing: border-box; font-weight: 700;&quot;&gt;const&lt;/span&gt; http = &lt;span class=&quot;hljs-built_in&quot; style=&quot;box-sizing: border-box; font-weight: 700;&quot;&gt;require&lt;/span&gt;(&lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: #880000;&quot;&gt;&#39;http&#39;&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;box-sizing: border-box; font-weight: 700;&quot;&gt;const&lt;/span&gt; hostname = &lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: #880000;&quot;&gt;&#39;localhost&#39;&lt;/span&gt;;&lt;br /&gt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;box-sizing: border-box; font-weight: 700;&quot;&gt;const&lt;/span&gt; port = &lt;span class=&quot;hljs-number&quot; style=&quot;box-sizing: border-box; color: #008800;&quot;&gt;3000&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;box-sizing: border-box; font-weight: 700;&quot;&gt;const&lt;/span&gt; server = http.createServer((req, res) =&amp;gt; {&lt;br /&gt;  res.statusCode = &lt;span class=&quot;hljs-number&quot; style=&quot;box-sizing: border-box; color: #008800;&quot;&gt;200&lt;/span&gt;;&lt;br /&gt;  res.setHeader(&lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: #880000;&quot;&gt;&#39;Content-Type&#39;&lt;/span&gt;, &lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: #880000;&quot;&gt;&#39;text/plain&#39;&lt;/span&gt;);&lt;br /&gt;  res.end(&lt;span class=&quot;hljs-string&quot; style=&quot;box-sizing: border-box; color: #880000;&quot;&gt;&#39;Hello World!\n&#39;&lt;/span&gt;);&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;server.listen(port, hostname, () =&amp;gt; {&lt;br /&gt;  console.log(`Server running at http:&lt;span class=&quot;hljs-comment&quot; style=&quot;box-sizing: border-box; color: #888888;&quot;&gt;//${hostname}:${port}/`);&lt;/span&gt;&lt;br /&gt;});&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Save the file and exit the editor.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;This Node.js application listens on the specified address (&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;localhost&lt;/code&gt;) and port (&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;3000&lt;/code&gt;), and returns &quot;Hello World!&quot; with a&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;200&lt;/code&gt;&amp;nbsp;HTTP success code. Since we&#39;re listening on&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;localhost&lt;/code&gt;, remote clients won&#39;t be able to connect to our application.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;To test your application, type:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;node hello.js&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;You will see the following output:&lt;/div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;div class=&quot;secondary-code-label &quot; style=&quot;box-sizing: border-box; color: rgba(0, 0, 0, 0.3); margin-bottom: 4px;&quot; title=&quot;Output&quot;&gt;&lt;br /&gt;Output&lt;/div&gt;&lt;br /&gt;Server running at http://localhost:3000/&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;&lt;span class=&quot;note&quot; style=&quot;background-color: #f4f2d4; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; display: block; font-size: 15px; line-height: 26px; margin-bottom: 22px; padding: 13px 17px;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;Note:&lt;/span&gt;&amp;nbsp;Running a Node.js application in this manner will block additional commands until the application is killed by pressing&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; color: black; line-height: 22px; padding: 3px;&quot;&gt;CTRL+C&lt;/code&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;To test the application, open another terminal session on your server, and connect to&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;localhost&lt;/code&gt;&amp;nbsp;with&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;curl&lt;/code&gt;:&lt;/div&gt;&lt;pre class=&quot;code-pre command second-environment&quot; style=&quot;background-color: #c6f1ff; border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #00546f; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;curl http://localhost:&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #7f0052; display: inline;&quot;&gt;3000&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;If you see the following output, the application is working properly and listening on the correct address and port:&lt;/div&gt;&lt;pre class=&quot;code-pre  second-environment&quot; style=&quot;background-color: #c6f1ff; border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #00546f; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;div class=&quot;secondary-code-label &quot; style=&quot;box-sizing: border-box; color: rgba(0, 0, 0, 0.3); margin-bottom: 4px;&quot; title=&quot;Output&quot;&gt;&lt;br /&gt;Output&lt;/div&gt;&lt;br /&gt;Hello World!&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;If you do not see the expected output, make sure that your Node.js application is running and configured to listen on the proper address and port.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Once you&#39;re sure it&#39;s working, kill the application (if you haven&#39;t already) by pressing&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;CTRL+C&lt;/code&gt;.&lt;/div&gt;&lt;div data-unique=&quot;step-3-—-installing-pm2&quot; name=&quot;step-3-—-installing-pm2&quot; style=&quot;box-sizing: border-box; margin-left: auto; margin-right: auto; width: 745px;&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;step-3-—-installing-pm2&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 28px; font-weight: 400; letter-spacing: -0.5px; margin: 14px auto 10px; padding: 0px; width: 745px;&quot;&gt;Step 3 — Installing PM2&lt;/h2&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Next let&#39;s install&amp;nbsp;&lt;a href=&quot;http://pm2.keymetrics.io/&quot; style=&quot;border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;PM2&lt;/a&gt;, a process manager for Node.js applications. PM2 makes it possible to daemonize applications so that they will run in the background as a service.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Use&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;npm&lt;/code&gt;&amp;nbsp;to install the latest version of PM2 on your server:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;sudo npm install pm2@latest -g&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;The&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;-g&lt;/code&gt;&amp;nbsp;option tells&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;npm&lt;/code&gt;&amp;nbsp;to install the module globally, so it&#39;s available system-wide.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Let&#39;s first use the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;pm2 start&lt;/code&gt;&amp;nbsp;command to run your application,&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;hello.js&lt;/code&gt;, in the background:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;pm2 start &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;hello.js&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;This also adds your application to PM2&#39;s process list, which is outputted every time you start an application:&lt;/div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;div class=&quot;secondary-code-label &quot; style=&quot;box-sizing: border-box; color: rgba(0, 0, 0, 0.3); margin-bottom: 4px;&quot; title=&quot;Output&quot;&gt;&lt;br /&gt;Output&lt;/div&gt;&lt;br /&gt;[PM2] Spawning PM2 daemon with pm2_home=/home/sammy/.pm2&lt;br /&gt;[PM2] PM2 Successfully daemonized&lt;br /&gt;[PM2] Starting /home/sammy/hello.js in fork_mode (1 instance)&lt;br /&gt;[PM2] Done.&lt;br /&gt;┌──────────┬────┬──────┬──────┬────────┬─────────┬────────┬─────┬───────────┬───────┬──────────┐&lt;br /&gt;│ App name │ id │ mode │ pid  │ status │ restart │ uptime │ cpu │ mem       │ user  │ watching │&lt;br /&gt;├──────────┼────┼──────┼──────┼────────┼─────────┼────────┼─────┼───────────┼───────┼──────────┤&lt;br /&gt;│ &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;hello&lt;/span&gt;    │ 0  │ fork │ 1338 │ online │ 0       │ 0s     │ 0%  │ 23.0 MB   │ sammy │ disabled │&lt;br /&gt;└──────────┴────┴──────┴──────┴────────┴─────────┴────────┴─────┴───────────┴───────┴──────────┘&lt;br /&gt; Use `pm2 show &amp;lt;id|name&amp;gt;` to get more details about an app&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;As you can see, PM2 automatically assigns an&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;App name&lt;/code&gt;&amp;nbsp;(based on the filename, without the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;.js&lt;/code&gt;extension) and a PM2&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;id&lt;/code&gt;. PM2 also maintains other information, such as the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;PID&lt;/code&gt;&amp;nbsp;of the process, its current status, and memory usage.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Applications that are running under PM2 will be restarted automatically if the application crashes or is killed, but we can take an additional step to get the application to launch on system startup using the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;startup&lt;/code&gt;&amp;nbsp;subcommand. This subcommand generates and configures a startup script to launch PM2 and its managed processes on server boots:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;pm2 startup systemd&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;The last line of the resulting output will include a command to run with superuser privileges to set PM2 to start on boot:&lt;/div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;div class=&quot;secondary-code-label &quot; style=&quot;box-sizing: border-box; color: rgba(0, 0, 0, 0.3); margin-bottom: 4px;&quot; title=&quot;Output&quot;&gt;&lt;br /&gt;Output&lt;/div&gt;&lt;br /&gt;[PM2] Init System found: systemd&lt;br /&gt;[PM2] To setup the Startup Script, copy/paste the following command:&lt;br /&gt;&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u sammy --hp /home/sammy&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Run the command from the output, with your username in place of&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;sammy&lt;/span&gt;&lt;/code&gt;:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;sammy&lt;/span&gt; --hp /home/&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;sammy&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;As an additional step, we can save the PM2 process list and corresponding environments:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;pm2 save&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;You have now created a systemd&amp;nbsp;&lt;em style=&quot;box-sizing: border-box;&quot;&gt;unit&lt;/em&gt;&amp;nbsp;that runs&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;pm2&lt;/code&gt;&amp;nbsp;for your user on boot. This&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;pm2&lt;/code&gt;&amp;nbsp;instance, in turn, runs&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;hello.js&lt;/code&gt;.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Start the service with&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;systemctl&lt;/code&gt;:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;sudo systemctl start pm2-&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;sammy&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Check the status of the systemd unit:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;systemctl status pm2-&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;sammy&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;For a detailed overview of systemd, see&amp;nbsp;&lt;a href=&quot;https://www.digitalocean.com/community/tutorials/systemd-essentials-working-with-services-units-and-the-journal&quot; style=&quot;border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;Systemd Essentials: Working with Services, Units, and the Journal&lt;/a&gt;.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;In addition to those we have covered, PM2 provides many subcommands that allow you to manage or look up information about your applications.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Stop an application with this command (specify the PM2&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;App name&lt;/code&gt;&amp;nbsp;or&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;id&lt;/code&gt;):&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;pm2 stop &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;app_name_or_id&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Restart an application:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;pm2 restart &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;app_name_or_id&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;List the applications currently managed by PM2:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;pm2 list&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Get information about a specific application using its&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;App name&lt;/code&gt;:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;pm2 info &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;app_name&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;The PM2 process monitor can be pulled up with the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;monit&lt;/code&gt;&amp;nbsp;subcommand. This displays the application status, CPU, and memory usage:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;pm2 monit&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Note that running&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;pm2&lt;/code&gt;&amp;nbsp;without any arguments will also display a help page with example usage.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Now that your Node.js application is running and managed by PM2, let&#39;s set up the reverse proxy.&lt;/div&gt;&lt;div data-unique=&quot;step-4-—-setting-up-nginx-as-a-reverse-proxy-server&quot; name=&quot;step-4-—-setting-up-nginx-as-a-reverse-proxy-server&quot; style=&quot;box-sizing: border-box; margin-left: auto; margin-right: auto; width: 745px;&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;step-4-—-setting-up-nginx-as-a-reverse-proxy-server&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 28px; font-weight: 400; letter-spacing: -0.5px; margin: 14px auto 10px; padding: 0px; width: 745px;&quot;&gt;Step 4 — Setting Up Nginx as a Reverse Proxy Server&lt;/h2&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Your application is running and listening on&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;localhost&lt;/code&gt;, but you need to set up a way for your users to access it. We will set up the Nginx web server as a reverse proxy for this purpose.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;In the prerequisite tutorial, you set up your Nginx configuration in the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;/etc/nginx/sites-available/&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;example.com&lt;/span&gt;&lt;/code&gt;&amp;nbsp;file. Open this file for editing:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;sudo nano /etc/nginx/sites-available/&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;example.com&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Within the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;server&lt;/code&gt;&amp;nbsp;block, you should have an existing&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;location /&lt;/code&gt;&amp;nbsp;block. Replace the contents of that block with the following configuration. If your application is set to listen on a different port, update the highlighted portion to the correct port number:&lt;/div&gt;&lt;div class=&quot;code-label &quot; style=&quot;background-color: #e5e5e5; border-radius: 3px 3px 0px 0px; box-sizing: border-box; color: #3a3a3a; font-size: 14px; margin-bottom: -30px; margin-left: auto; margin-right: auto; padding: 8px 15px; position: relative; text-align: center; width: 745px; z-index: 2;&quot; title=&quot;/etc/nginx/sites-available/example.com&quot;&gt;/etc/nginx/sites-available/example.com&lt;/div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;server {&lt;br /&gt;...&lt;br /&gt;    location / {&lt;br /&gt;        proxy_pass http://localhost:&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;3000&lt;/span&gt;;&lt;br /&gt;        proxy_http_version 1.1;&lt;br /&gt;        proxy_set_header Upgrade $http_upgrade;&lt;br /&gt;        proxy_set_header Connection &#39;upgrade&#39;;&lt;br /&gt;        proxy_set_header Host $host;&lt;br /&gt;        proxy_cache_bypass $http_upgrade;&lt;br /&gt;    }&lt;br /&gt;...&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;This configures the server to respond to requests at its root. Assuming our server is available at&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;example.com&lt;/span&gt;&lt;/code&gt;, accessing&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;https://&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;example.com&lt;/span&gt;/&lt;/code&gt;&amp;nbsp;via a web browser would send the request to&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;hello.js&lt;/code&gt;, listening on port&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;3000&lt;/code&gt;&amp;nbsp;at&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;localhost&lt;/code&gt;.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;You can add additional&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;location&lt;/code&gt;&amp;nbsp;blocks to the same server block to provide access to other applications on the same server. For example, if you were also running another Node.js application on port&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;3001&lt;/code&gt;, you could add this location block to allow access to it via&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;https://&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;example.com&lt;/span&gt;/&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;app2&lt;/span&gt;&lt;/code&gt;:&lt;/div&gt;&lt;div class=&quot;code-label &quot; style=&quot;background-color: #e5e5e5; border-radius: 3px 3px 0px 0px; box-sizing: border-box; color: #3a3a3a; font-size: 14px; margin-bottom: -30px; margin-left: auto; margin-right: auto; padding: 8px 15px; position: relative; text-align: center; width: 745px; z-index: 2;&quot; title=&quot;/etc/nginx/sites-available/example.com — Optional&quot;&gt;/etc/nginx/sites-available/example.com — Optional&lt;/div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;server {&lt;br /&gt;...&lt;br /&gt;    location /&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;app2&lt;/span&gt; {&lt;br /&gt;        proxy_pass http://localhost:&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849; display: inline;&quot;&gt;3001&lt;/span&gt;;&lt;br /&gt;        proxy_http_version 1.1;&lt;br /&gt;        proxy_set_header Upgrade $http_upgrade;&lt;br /&gt;        proxy_set_header Connection &#39;upgrade&#39;;&lt;br /&gt;        proxy_set_header Host $host;&lt;br /&gt;        proxy_cache_bypass $http_upgrade;&lt;br /&gt;    }&lt;br /&gt;...&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Once you are done adding the location blocks for your applications, save the file and exit your editor.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Make sure you didn&#39;t introduce any syntax errors by typing:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;sudo nginx -t&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Restart Nginx:&lt;/div&gt;&lt;pre class=&quot;code-pre command&quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-size: 14px; margin: 1rem auto; overflow-wrap: normal; overflow: auto !important; padding: 1rem; width: 745px;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;prefixed&quot; style=&quot;box-sizing: border-box; margin: 0px; padding: 0px; white-space: normal;&quot;&gt;&lt;br /&gt;&lt;li class=&quot;line&quot; prefix=&quot;$&quot; style=&quot;box-sizing: border-box; line-height: 1.5 !important; list-style: disc outside none; margin-bottom: 0.8rem; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding-bottom: 0px !important; padding-left: 4px; padding-right: 0px !important; padding-top: 0px !important; white-space: pre;&quot;&gt;sudo systemctl restart nginx&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Assuming that your Node.js application is running, and your application and Nginx configurations are correct, you should now be able to access your application via the Nginx reverse proxy. Try it out by accessing your server&#39;s URL (its public IP address or domain name).&lt;/div&gt;&lt;div data-unique=&quot;conclusion&quot; name=&quot;conclusion&quot; style=&quot;box-sizing: border-box; margin-left: auto; margin-right: auto; width: 745px;&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;conclusion&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 28px; font-weight: 400; letter-spacing: -0.5px; margin: 14px auto 10px; padding: 0px; width: 745px;&quot;&gt;Conclusion&lt;/h2&gt;&lt;div style=&quot;box-sizing: border-box; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Congratulations! You now have your Node.js application running behind an Nginx reverse proxy on a Debian 9 server. This reverse proxy setup is flexible enough to provide your users access to other applications or static web content that you want to share.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;tutorial-footer&quot; style=&quot;background-color: white; box-sizing: inherit; font-family: proxima-nova, sans-serif;&quot;&gt;&lt;div class=&quot;tutorial-footer-details&quot; style=&quot;border-bottom: 1px solid rgb(229, 229, 229); box-sizing: inherit; padding: 0px;&quot;&gt;&lt;div class=&quot;postable-info-bar-container&quot; style=&quot;box-sizing: inherit; margin-bottom: 15px;&quot;&gt;&lt;div class=&quot;postable-info-bar&quot; style=&quot;box-sizing: border-box; clear: both; color: #999999; margin: 0px auto; max-width: 745px; overflow: auto; padding-bottom: 10px; padding-top: 15px; width: 745px; z-index: 100;&quot;&gt;&lt;div class=&quot;author-byline&quot; style=&quot;box-sizing: inherit; float: left; font-size: 13px; margin: 0px; padding: 0px;&quot;&gt;&lt;div class=&quot;postable-info-bar-container&quot; style=&quot;box-sizing: inherit; margin-bottom: 15px;&quot;&gt;&lt;ul class=&quot;postable-info-bar&quot; style=&quot;box-sizing: border-box; clear: both; margin: 0px auto; max-width: 745px; overflow: auto; padding: 15px 0px 10px; width: 350.469px; z-index: 100;&quot;&gt;&lt;li class=&quot;author-byline&quot; style=&quot;box-sizing: border-box; float: left; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a href=&quot;https://www.digitalocean.com/community/users/katjuell&quot; style=&quot;box-sizing: inherit; color: #999999; text-decoration-line: none;&quot;&gt;&lt;div class=&quot;tutorial-author-avatar&quot; style=&quot;box-sizing: inherit; float: left; height: 50px; margin-right: 10px;&quot;&gt;&lt;div class=&quot;mod-avatar mod-avatar-small&quot; style=&quot;box-sizing: content-box; display: inline-block; position: relative;&quot;&gt;&lt;img alt=&quot;748ce760fc8ab2840a415f65ee0d674c24845854&quot; class=&quot;avatar avatar-small&quot; src=&quot;https://community-cdn-digitalocean-com.global.ssl.fastly.net/assets/users/avatars/small/748ce760fc8ab2840a415f65ee0d674c24845854.jpg?1509387359&quot; style=&quot;border-radius: 50%; box-sizing: inherit; height: 35px; width: 35px;&quot; /&gt;&lt;span class=&quot;mod-star&quot; data-container=&quot;body&quot; data-original-title=&quot;MOD&quot; data-toggle=&quot;tooltip&quot; style=&quot;background: rgb(0, 105, 255); border-radius: 12px; border: 3px solid rgb(255, 255, 255); bottom: 0px; box-sizing: inherit; display: block; height: 16px; position: absolute; right: 0px; width: 16px; z-index: 90;&quot; title=&quot;&quot;&gt;&lt;span class=&quot;mod-star-icon&quot; style=&quot;background: rgb(255 , 255 , 255); border: 1px solid rgb(255 , 255 , 255); box-sizing: inherit; color: white; display: block; height: 8px; margin: 3px 0px 0px 3px; width: 8px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;author-and-date&quot; style=&quot;box-sizing: inherit; float: left; line-height: 17px; margin-right: 20px; margin-top: 9px;&quot;&gt;&lt;div class=&quot;tutorial-author&quot; style=&quot;box-sizing: inherit; font-size: 16px;&quot;&gt;Kathleen Juell&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;author-byline&quot; style=&quot;box-sizing: border-box; float: left; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a href=&quot;https://www.digitalocean.com/community/users/bpb&quot; style=&quot;box-sizing: inherit; color: #999999; text-decoration-line: none;&quot;&gt;&lt;div class=&quot;tutorial-author-avatar&quot; style=&quot;box-sizing: inherit; float: left; height: 50px; margin-right: 10px;&quot;&gt;&lt;img alt=&quot;D3f0273e4e4eb87e1002b3653f30eb5ba32eedf8&quot; class=&quot;avatar avatar-small&quot; src=&quot;https://community-cdn-digitalocean-com.global.ssl.fastly.net/assets/users/avatars/small/d3f0273e4e4eb87e1002b3653f30eb5ba32eedf8.jpg?1449535798&quot; style=&quot;border-radius: 50%; box-sizing: inherit; height: 35px; width: 35px;&quot; /&gt;&lt;/div&gt;&lt;div class=&quot;author-and-date&quot; style=&quot;box-sizing: inherit; float: left; line-height: 17px; margin-right: 20px; margin-top: 9px;&quot;&gt;&lt;div class=&quot;tutorial-author&quot; style=&quot;box-sizing: inherit; font-size: 16px;&quot;&gt;Brennen Bearnes&lt;/div&gt;&lt;/div&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;right-section&quot; style=&quot;box-sizing: inherit; float: right; margin-top: 24px; text-align: right;&quot;&gt;&lt;div class=&quot;upvote-container&quot; style=&quot;box-sizing: inherit; float: left;&quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;false&quot; data-upvotable-id=&quot;2792&quot; data-upvotable-type=&quot;Tutorial&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: none; border-width: initial; color: #999999; font: inherit; margin: 0px; padding: 0px;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;box-sizing: inherit; display: inline; font-size: 1em; vertical-align: baseline;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-heart&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-heart&quot;&gt;&lt;svg height=&quot;100%&quot; id=&quot;icon-heart&quot; viewbox=&quot;0 0 15.25 12.54&quot; width=&quot;100%&quot;&gt;&lt;path d=&quot;M10.74,0.76A3.73,3.73,0,0,0,7.62,2.39,3.73,3.73,0,0,0,4.51.76,3.62,3.62,0,0,0,.81,4.3c0,3,4.72,6.76,6.81,7.46,2.14-.7,6.81-4.85,6.81-7.46A3.62,3.62,0,0,0,10.74.76Z&quot; vector-effect=&quot;non-scaling-stroke&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-text&quot; style=&quot;box-sizing: inherit; padding: 0px 5px;&quot;&gt;Upvote&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;box-sizing: inherit; color: #c4c4c4; display: inline-block; font-size: 0.75em; min-width: 14px;&quot;&gt;2&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;section-item section-item-subscribe&quot; style=&quot;box-sizing: inherit; float: left; margin-left: 30px;&quot;&gt;&lt;span class=&quot;opt-in-switch off signed-out-subscribe&quot; style=&quot;box-sizing: inherit; margin-bottom: 0px;&quot;&gt;&lt;span class=&quot;subscribe-label&quot; style=&quot;border: 0px; box-sizing: inherit; display: inline-block;&quot;&gt;&lt;span class=&quot;icon icon-subscribe&quot; style=&quot;box-sizing: inherit; font-family: &amp;quot;community_icons&amp;quot;; font-size: 18px; line-height: 1; speak: none; vertical-align: -2px;&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;subscription-label subscribe&quot; style=&quot;border-radius: 0px; border: 0px; box-sizing: inherit; font-size: 16px; padding: 0px;&quot;&gt;Subscribe&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;section-item social-sharing-item&quot; style=&quot;box-sizing: inherit; float: left; margin-left: 30px;&quot;&gt;&lt;div class=&quot;sharing&quot; style=&quot;box-sizing: inherit; text-align: center;&quot;&gt;&lt;a class=&quot;share-button&quot; data-target=&quot;#share-modal&quot; data-toggle=&quot;modal&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-debian-9#&quot; style=&quot;box-sizing: inherit; color: #999999; cursor: pointer; display: inline-block; font-size: 16px; left: 0px; pointer-events: auto; text-decoration-line: none;&quot;&gt;&lt;span class=&quot;icon icon-share-square&quot; style=&quot;box-sizing: inherit; font-family: &amp;quot;community_icons&amp;quot;; font-size: 20px; line-height: 14px; margin-right: 2px; position: relative; speak: none; top: 2px; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;share-button-text&quot; style=&quot;box-sizing: inherit;&quot;&gt;Share&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;section-content tutorial-contributors one&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229); box-sizing: inherit; margin: 0px auto; padding-top: 40px; position: relative; width: 745px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;tutorial-ctas&quot; style=&quot;background-color: #eff6fc; background-image: url(&amp;quot;https://assets.digitalocean.com/labs/btp/kubernetesbg.png?2&amp;quot;), linear-gradient(rgb(30, 95, 244) 1%, rgb(43, 58, 222) 100%); background-position: center bottom; background-repeat: repeat-x; border-bottom: 1px solid rgba(0, 0, 0, 0.03); box-sizing: inherit; color: #999999; height: 323px; line-height: 25px;&quot;&gt;&lt;div class=&quot;section-content&quot; style=&quot;box-sizing: inherit; margin: 0px auto; position: relative; width: 745px;&quot;&gt;&lt;div class=&quot;cta-description&quot; style=&quot;box-sizing: border-box; color: #1857bf; display: inline-block; font-size: 17px; height: 323px; line-height: 20px; text-align: center; width: 745px;&quot;&gt;&lt;h2 style=&quot;box-sizing: inherit; color: white; font-size: 27px; font-weight: 400; letter-spacing: -0.5px; line-height: 30px; margin: 60px 0px 10px; padding: 0px;&quot;&gt;&lt;/h2&gt;&lt;div style=&quot;box-sizing: inherit; color: white; line-height: 1.3em; padding: 15px 0px;&quot;&gt;&lt;img src=&quot;https://assets.digitalocean.com/labs/btp/k8shard.png?1&quot; style=&quot;box-sizing: inherit; max-height: 80px; max-width: 90%;&quot; /&gt;&lt;br /&gt;&lt;span style=&quot;box-sizing: inherit; font-size: 20px;&quot;&gt;We just made it easier for you to deploy faster.&lt;/span&gt;&lt;/div&gt;&lt;a class=&quot;cloud-tutorial-cta&quot; href=&quot;https://www.digitalocean.com/products/kubernetes/?utm_source=comm_exp&amp;amp;utm_medium=btp_everyone_else_kubernetes_hard&quot; style=&quot;background: rgb(255, 255, 255); border-radius: 3px; box-sizing: inherit; color: #0069ff; display: inline-block; font-size: 15px; font-weight: 800; margin-top: 18px; opacity: 0.9; padding: 15px 30px; text-decoration-line: none; text-transform: uppercase;&quot;&gt;TRY FREE&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;related-tutorials&quot; style=&quot;box-sizing: inherit; padding: 35px 0px; text-align: center;&quot;&gt;&lt;div class=&quot;section-content&quot; style=&quot;box-sizing: inherit; margin: 0px auto; position: relative; width: 745px;&quot;&gt;&lt;h2 style=&quot;box-sizing: inherit; color: #373737; font-size: 19px; font-weight: 400; letter-spacing: -0.5px; line-height: 19px; margin: 0px; padding: 0px;&quot;&gt;Related Tutorials&lt;/h2&gt;&lt;ul style=&quot;box-sizing: inherit; line-height: 32px; margin: 10px 0px 0px; padding: 0px;&quot;&gt;&lt;li style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a class=&quot;related-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nginx-ingress-with-cert-manager-on-digitalocean-kubernetes&quot; style=&quot;box-sizing: inherit; color: #999999; text-decoration-line: none;&quot;&gt;How to Set Up an Nginx Ingress with Cert-Manager on DigitalOcean Kubernetes&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a class=&quot;related-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-elastic-stack-on-centos-7&quot; style=&quot;box-sizing: inherit; color: #999999; text-decoration-line: none;&quot;&gt;How To Install Elasticsearch, Logstash, and Kibana (Elastic Stack) on CentOS 7&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a class=&quot;related-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-build-a-node-js-application-with-docker&quot; style=&quot;box-sizing: inherit; color: #999999; text-decoration-line: none;&quot;&gt;How To Build a Node.js Application with Docker&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a class=&quot;related-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-install-buildbot-freebsd&quot; style=&quot;box-sizing: inherit; color: #999999; text-decoration-line: none;&quot;&gt;How To Set Up Buildbot on FreeBSD&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a class=&quot;related-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-install-nginx-freebsd-11-2&quot; style=&quot;box-sizing: inherit; color: #999999; text-decoration-line: none;&quot;&gt;How to Install Nginx on FreeBSD 11.2&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/3867422845101286250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2018/12/how-to-set-up-node.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/3867422845101286250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/3867422845101286250'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2018/12/how-to-set-up-node.html' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-8714725649894511946</id><published>2018-12-04T16:45:00.000+02:00</published><updated>2018-12-04T16:45:38.871+02:00</updated><title type='text'>how to enable mod rewrite </title><content type='html'>&lt;span style=&quot;background-color: #0099cc; font-family: monospace; font-size: 13px; white-space: nowrap;&quot;&gt;cat /etc/apache2/mods-available/rewrite.load&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #0099cc; font-family: monospace; font-size: 13px; white-space: nowrap;&quot;&gt;a2enmod rewrite&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #0099cc; font-family: monospace; font-size: 13px; white-space: nowrap;&quot;&gt;ls -al /etc/apache2/mods-enabled/rewrite.load&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: monospace;&quot;&gt;&lt;span style=&quot;font-size: 13px; white-space: nowrap;&quot;&gt;vim /etc/apache2/sites-available/000-default.conf&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: monospace;&quot;&gt;&lt;span style=&quot;font-size: 13px; white-space: nowrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: #eff0f1; border: 0px; color: #242729; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&amp;lt;Directory /var/www/&amp;gt;&lt;br /&gt;        Options Indexes FollowSymLinks&lt;br /&gt;        AllowOverride All&lt;br /&gt;        Require all granted&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #eff0f1; border: 0px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #242729; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace , sans-serif;&quot;&gt; /etc/init.d/apache2 restart&lt;/span&gt;&lt;/code&gt;&lt;code style=&quot;border: 0px; color: #242729; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/8714725649894511946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2018/12/how-to-enable-mod-rewrite.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/8714725649894511946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/8714725649894511946'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2018/12/how-to-enable-mod-rewrite.html' title='how to enable mod rewrite '/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-8119995075175745949</id><published>2018-12-04T16:44:00.003+02:00</published><updated>2018-12-04T16:44:55.774+02:00</updated><title type='text'>install php 7.3 in debian </title><content type='html'>Thanks to:&lt;br /&gt;https://computingforgeeks.com/how-to-install-php-7-3-on-ubuntu-18-04-ubuntu-16-04-debian/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: #f1f1f1; border-radius: 0px; border: none; box-sizing: border-box; color: #222222; font-family: monospace, monospace; font-size: 17px; margin-top: 24px; overflow: auto; padding: 4px 10px;&quot;&gt;&amp;nbsp;sudo apt-get install php7.3-&amp;lt;entension-name&amp;gt;&lt;/pre&gt;&lt;pre style=&quot;background-color: #f1f1f1; border-radius: 0px; border: none; box-sizing: border-box; color: #222222; font-family: monospace, monospace; font-size: 17px; margin-top: 24px; overflow: auto; padding: 4px 10px;&quot;&gt;&lt;pre style=&quot;border-radius: 0px; border: none; box-sizing: border-box; font-family: monospace, monospace; margin-top: 24px; overflow: auto; padding: 4px 10px;&quot;&gt;sudo apt-get install php7.3-fpm  php7.3-curl php7.3-mysql php7.3-xml php7.3-zip php7.3-gd&lt;/pre&gt;&lt;pre style=&quot;border-radius: 0px; border: none; box-sizing: border-box; font-family: monospace, monospace; margin-top: 24px; overflow: auto; padding: 4px 10px;&quot;&gt;&lt;pre class=&quot;code&quot; style=&quot;border-radius: 0px; border: none; box-sizing: border-box; font-family: monospace, monospace; margin-top: 24px; overflow: auto; padding: 4px 10px;&quot;&gt;&lt;pre class=&quot;code&quot; style=&quot;border-radius: 0px; border: none; box-sizing: border-box; font-family: monospace, monospace; margin-top: 24px; overflow: auto; padding: 4px 10px;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 700;&quot;&gt;apt policy php7.3-fpm&lt;/span&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/8119995075175745949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2018/12/install-php-73-in-debian.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/8119995075175745949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/8119995075175745949'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2018/12/install-php-73-in-debian.html' title='install php 7.3 in debian '/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-1575030749271780657</id><published>2017-07-07T14:03:00.001+03:00</published><updated>2017-07-07T14:03:20.501+03:00</updated><title type='text'>Drupal 8: Mismatched entity and/or field definitions</title><content type='html'>Thanks to: https://www.fuelforbrain.com/drupal-8-mismatched-entity-andor-field-definitions&lt;br /&gt;&lt;br /&gt;&lt;ul style=&quot;-webkit-text-stroke-width: 0px; background-color: white; box-sizing: border-box; color: #3f3f3f; font-family: &amp;quot;Roboto Slab&amp;quot;, &amp;quot;Trebuchet MS&amp;quot;, sans-serif; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: normal; letter-spacing: normal; list-style-type: square; margin-bottom: 10px; margin-top: 0px; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&lt;li style=&quot;box-sizing: border-box;&quot;&gt;&lt;strong style=&quot;box-sizing: border-box; font-weight: 700;&quot;&gt;If you don&#39;t have&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://www.fuelforbrain.com/node/11&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #1a5f8f; text-decoration: none;&quot;&gt;Drush&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;for drupal 8&lt;/strong&gt;, please add the following script before&amp;nbsp;$response-&amp;gt;send(); in index.php file(located in Drupal root folder) and reload the web page.&lt;/li&gt;&lt;/ul&gt;&lt;pre style=&quot;-webkit-text-stroke-width: 0px; background-color: whitesmoke; border-radius: 4px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #333333; display: block; font-family: &amp;quot;Source Code Pro&amp;quot;, Consolas, Monaco, Courier; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: normal; letter-spacing: normal; line-height: 1.42857; margin: 0px 0px 10px; orphans: 2; overflow: auto; padding: 9.5px; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: pre; widows: 2; word-break: break-all; word-spacing: 0px; word-wrap: break-word;&quot;&gt;&lt;code class=&quot;hljs php&quot; style=&quot;background: rgb(51, 51, 51); border-radius: 0px; box-sizing: border-box; color: white; display: block; font-family: &amp;quot;Source Code Pro&amp;quot;, Consolas, Monaco, Courier; font-size: inherit; overflow-x: auto; padding: 0.5em; white-space: pre; word-break: break-all; word-wrap: break-word;&quot;&gt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;box-sizing: border-box; color: #fcc28c;&quot;&gt;try&lt;/span&gt; {&lt;br /&gt;  \Drupal::entityDefinitionUpdateManager()-&amp;gt;applyUpdates();&lt;br /&gt;}&lt;br /&gt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;box-sizing: border-box; color: #fcc28c;&quot;&gt;catch&lt;/span&gt; (EntityStorageException $e) {&lt;br /&gt;  print_r($e);&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/1575030749271780657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2017/07/drupal-8-mismatched-entity-andor-field.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/1575030749271780657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/1575030749271780657'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2017/07/drupal-8-mismatched-entity-andor-field.html' title='Drupal 8: Mismatched entity and/or field definitions'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-2861672721923256990</id><published>2017-07-07T13:27:00.001+03:00</published><updated>2017-07-07T13:27:53.146+03:00</updated><title type='text'>font awesome error drupal</title><content type='html'>How to resolve it:&lt;br /&gt;1. Download from: https://github.com/FortAwesome/Font-Awesome package font awesome&lt;br /&gt;2. Copy unziped files from it to sites/all/libraries/fontawesome&lt;br /&gt;3. Clear cache</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/2861672721923256990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2017/07/font-awesome-error-drupal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/2861672721923256990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/2861672721923256990'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2017/07/font-awesome-error-drupal.html' title='font awesome error drupal'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-5969849279031481624</id><published>2017-06-24T12:50:00.002+03:00</published><updated>2017-06-24T12:50:40.995+03:00</updated><title type='text'>Change server name for apache2 - </title><content type='html'>&lt;pre style=&quot;background-color: #051e30; border-color: rgb(40, 159, 244); border-image: initial; border-style: solid; border-width: 1px 1px 1px 4px; color: white; font-family: &amp;quot;Courier 10 Pitch&amp;quot;, Courier, monospace; font-size: 13px; font-stretch: inherit; font-variant-numeric: inherit; line-height: 19px; margin-bottom: 30px; margin-top: 30px; overflow-x: auto; overflow-y: hidden; padding: 10px 10px 10px 18px; vertical-align: baseline; word-wrap: break-word;&quot;&gt;ServerTokens Full&lt;br /&gt;SecServerSignature “Tecmint_Web”&lt;/pre&gt;&lt;pre style=&quot;background-color: #051e30; border-color: rgb(40, 159, 244); border-image: initial; border-style: solid; border-width: 1px 1px 1px 4px; color: white; font-family: &amp;quot;Courier 10 Pitch&amp;quot;, Courier, monospace; font-size: 13px; font-stretch: inherit; font-variant-numeric: inherit; line-height: 19px; margin-bottom: 30px; margin-top: 30px; overflow-x: auto; overflow-y: hidden; padding: 10px 10px 10px 18px; vertical-align: baseline; word-wrap: break-word;&quot;&gt;HUGE THANKS TO: https://www.tecmint.com/change-apache-server-name-to-anything-in-server-headers/?utm_content=buffercc205&amp;amp;utm_medium=social&amp;amp;utm_source=facebook.com&amp;amp;utm_campaign=buffer&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/5969849279031481624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2017/06/change-server-name-for-apache2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/5969849279031481624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/5969849279031481624'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2017/06/change-server-name-for-apache2.html' title='Change server name for apache2 - '/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-7465995500456618022</id><published>2017-05-30T17:39:00.001+03:00</published><updated>2017-06-04T22:56:56.955+03:00</updated><title type='text'>MySQL Error 1064: You have an error in your SQL syntax - import database DRUPAL</title><content type='html'>Thanx to:&lt;a class=&quot;username&quot; data-uid=&quot;506354&quot; href=&quot;https://www.drupal.org/u/owntheweb&quot; title=&quot;View user profile.&quot;&gt; owntheweb&lt;/a&gt; &lt;span class=&quot;attribution-label&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;h2 class=&quot;result__title&quot;&gt;https://www.drupal.org/node/2496331&lt;/h2&gt;&lt;h2 class=&quot;result__title&quot;&gt;&lt;div style=&quot;background-color: white; border: 0px; box-sizing: border-box; color: #222222; font-family: &amp;quot;Lucida Grande&amp;quot;, &amp;quot;DejaVu Sans&amp;quot;, &amp;quot;Bitstream Vera Sans&amp;quot;, Verdana, Arial, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-numeric: inherit; font-weight: normal; line-height: inherit; margin-bottom: 1.385em; padding: 0px; vertical-align: baseline;&quot;&gt;Change this:&lt;/div&gt;&lt;pre class=&quot;codeblock language-php&quot; style=&quot;background: rgb(247, 247, 247); border-radius: 0.25em; border: none; box-sizing: border-box; color: #4e4e4e; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 13px; font-stretch: inherit; font-variant-numeric: inherit; font-weight: normal; line-height: inherit; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0.25em 0.75em; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;code class=&quot; language-php&quot; style=&quot;background: none; border: 0px; box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.92308em; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;TABLE&lt;/span&gt; `key_value` &lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;br /&gt;  `collection` &lt;span class=&quot;token function&quot; style=&quot;border: 0px; box-sizing: border-box; color: #064771; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;varchar&lt;/span&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot; style=&quot;border: 0px; box-sizing: border-box; color: #707070; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;128&lt;/span&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;CHARACTER&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;SET&lt;/span&gt; ascii &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;token keyword keyword-NULL&quot; style=&quot;border: 0px; box-sizing: border-box; color: #53738d; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;token keyword keyword-DEFAULT&quot; style=&quot;border: 0px; box-sizing: border-box; color: #53738d; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;token string&quot; style=&quot;border: 0px; box-sizing: border-box; color: #308217; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&#39;&#39;&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;COMMENT&lt;/span&gt; &lt;span class=&quot;token string&quot; style=&quot;border: 0px; box-sizing: border-box; color: #308217; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&#39;A named collection of key and value pairs.&#39;&lt;/span&gt;&lt;br /&gt;`value` longblob &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;token keyword keyword-NULL&quot; style=&quot;border: 0px; box-sizing: border-box; color: #53738d; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;COMMENT&lt;/span&gt; &lt;span class=&quot;token string&quot; style=&quot;border: 0px; box-sizing: border-box; color: #308217; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&#39;The value.&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;PRIMARY&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;KEY&lt;/span&gt; &lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;`collection`&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;,&lt;/span&gt;`name`&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;ENGINE&lt;/span&gt;&lt;span class=&quot;token operator&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;=&lt;/span&gt;InnoDB &lt;span class=&quot;token keyword keyword-DEFAULT&quot; style=&quot;border: 0px; box-sizing: border-box; color: #53738d; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;CHARSET&lt;/span&gt;&lt;span class=&quot;token operator&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;=&lt;/span&gt;utf8 &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;COMMENT&lt;/span&gt;&lt;span class=&quot;token operator&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot; style=&quot;border: 0px; box-sizing: border-box; color: #308217; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&#39;Generic key-value storage table. See the state system for…&#39;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; border: 0px; box-sizing: border-box; color: #222222; font-family: &amp;quot;Lucida Grande&amp;quot;, &amp;quot;DejaVu Sans&amp;quot;, &amp;quot;Bitstream Vera Sans&amp;quot;, Verdana, Arial, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-numeric: inherit; font-weight: normal; line-height: inherit; margin-bottom: 1.385em; padding: 0px; vertical-align: baseline;&quot;&gt;to this:&lt;/div&gt;&lt;pre class=&quot;codeblock language-php&quot; style=&quot;background: rgb(247, 247, 247); border-radius: 0.25em; border: none; box-sizing: border-box; color: #4e4e4e; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 13px; font-stretch: inherit; font-variant-numeric: inherit; font-weight: normal; line-height: inherit; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0.25em 0.75em; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;code class=&quot; language-php&quot; style=&quot;background: none; border: 0px; box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.92308em; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;TABLE&lt;/span&gt; `key_value` &lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;br /&gt;  `collection` &lt;span class=&quot;token function&quot; style=&quot;border: 0px; box-sizing: border-box; color: #064771; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;varchar&lt;/span&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot; style=&quot;border: 0px; box-sizing: border-box; color: #707070; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;128&lt;/span&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;CHARACTER&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;SET&lt;/span&gt; ascii &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;token keyword keyword-NULL&quot; style=&quot;border: 0px; box-sizing: border-box; color: #53738d; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;token keyword keyword-DEFAULT&quot; style=&quot;border: 0px; box-sizing: border-box; color: #53738d; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;token string&quot; style=&quot;border: 0px; box-sizing: border-box; color: #308217; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&#39;&#39;&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;COMMENT&lt;/span&gt; &lt;span class=&quot;token string&quot; style=&quot;border: 0px; box-sizing: border-box; color: #308217; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&#39;A named collection of key and value pairs.&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;,&lt;/span&gt;&lt;br /&gt;  `name` &lt;span class=&quot;token function&quot; style=&quot;border: 0px; box-sizing: border-box; color: #064771; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;varchar&lt;/span&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot; style=&quot;border: 0px; box-sizing: border-box; color: #707070; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;128&lt;/span&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;CHARACTER&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;SET&lt;/span&gt; ascii &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;token keyword keyword-NULL&quot; style=&quot;border: 0px; box-sizing: border-box; color: #53738d; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;token keyword keyword-DEFAULT&quot; style=&quot;border: 0px; box-sizing: border-box; color: #53738d; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;token string&quot; style=&quot;border: 0px; box-sizing: border-box; color: #308217; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&#39;&#39;&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;COMMENT&lt;/span&gt; &lt;span class=&quot;token string&quot; style=&quot;border: 0px; box-sizing: border-box; color: #308217; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&#39;The key of the key-value pair. As KEY is a SQL reserved keyword, name was chosen instead.&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;,&lt;/span&gt;&lt;br /&gt;  `value` longblob &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;token keyword keyword-NULL&quot; style=&quot;border: 0px; box-sizing: border-box; color: #53738d; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;COMMENT&lt;/span&gt; &lt;span class=&quot;token string&quot; style=&quot;border: 0px; box-sizing: border-box; color: #308217; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&#39;The value.&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;PRIMARY&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;KEY&lt;/span&gt; &lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;`collection`&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;,&lt;/span&gt;`name`&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;ENGINE&lt;/span&gt;&lt;span class=&quot;token operator&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;=&lt;/span&gt;InnoDB &lt;span class=&quot;token keyword keyword-DEFAULT&quot; style=&quot;border: 0px; box-sizing: border-box; color: #53738d; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;CHARSET&lt;/span&gt;&lt;span class=&quot;token operator&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;=&lt;/span&gt;utf8 &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;COMMENT&lt;/span&gt;&lt;span class=&quot;token operator&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot; style=&quot;border: 0px; box-sizing: border-box; color: #308217; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&#39;Generic key-value storage table. See the state system for&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;background-color: white; border: 0px; box-sizing: border-box; color: #222222; font-family: &amp;quot;Lucida Grande&amp;quot;, &amp;quot;DejaVu Sans&amp;quot;, &amp;quot;Bitstream Vera Sans&amp;quot;, Verdana, Arial, sans-serif; font-size: 13px; font-stretch: inherit; font-variant-numeric: inherit; font-weight: normal; line-height: inherit; margin-bottom: 1.385em; padding: 0px; vertical-align: baseline;&quot;&gt;then&amp;nbsp;&lt;strong style=&quot;border: 0px; box-sizing: border-box; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;remove&lt;/strong&gt;&amp;nbsp;this near the end to prevent another error:&lt;/div&gt;&lt;pre class=&quot;codeblock language-php&quot; style=&quot;background: rgb(247, 247, 247); border-radius: 0.25em; border: none; box-sizing: border-box; color: #4e4e4e; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 13px; font-stretch: inherit; font-variant-numeric: inherit; font-weight: normal; line-height: inherit; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0.25em 0.75em; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;code class=&quot; language-php&quot; style=&quot;background: none; border: 0px; box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.92308em; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;ALTER&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;TABLE&lt;/span&gt; `key_value`&lt;br /&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;ADD&lt;/span&gt; `name` &lt;span class=&quot;token function&quot; style=&quot;border: 0px; box-sizing: border-box; color: #064771; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;varchar&lt;/span&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot; style=&quot;border: 0px; box-sizing: border-box; color: #707070; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;128&lt;/span&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;CHARACTER&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;SET&lt;/span&gt; ascii &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;token keyword keyword-NULL&quot; style=&quot;border: 0px; box-sizing: border-box; color: #53738d; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;token keyword keyword-DEFAULT&quot; style=&quot;border: 0px; box-sizing: border-box; color: #53738d; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;token string&quot; style=&quot;border: 0px; box-sizing: border-box; color: #308217; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&#39;&#39;&lt;/span&gt; &lt;span class=&quot;token constant&quot; style=&quot;border: 0px; box-sizing: border-box; color: #9e5c00; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;COMMENT&lt;/span&gt; &lt;span class=&quot;token string&quot; style=&quot;border: 0px; box-sizing: border-box; color: #308217; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&#39;The key of the key-value pair. As KEY is a SQL reserved keyword, name was chosen instead.&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;codeblock language-php&quot; style=&quot;background: rgb(247, 247, 247); border-radius: 0.25em; border: none; box-sizing: border-box; color: #4e4e4e; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 13px; font-stretch: inherit; font-variant-numeric: inherit; font-weight: normal; line-height: inherit; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0.25em 0.75em; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;code class=&quot; language-php&quot; style=&quot;background: none; border: 0px; box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.92308em; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;codeblock language-php&quot; style=&quot;background: rgb(247, 247, 247); border-radius: 0.25em; border: none; box-sizing: border-box; color: #4e4e4e; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 13px; font-stretch: inherit; font-variant-numeric: inherit; font-weight: normal; line-height: inherit; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0.25em 0.75em; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;code class=&quot; language-php&quot; style=&quot;background: none; border: 0px; box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.92308em; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;codeblock language-php&quot; style=&quot;background: rgb(247, 247, 247); border-radius: 0.25em; border: none; box-sizing: border-box; color: #4e4e4e; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 13px; font-stretch: inherit; font-variant-numeric: inherit; font-weight: normal; line-height: inherit; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0.25em 0.75em; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;code class=&quot; language-php&quot; style=&quot;background: none; border: 0px; box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.92308em; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;codeblock language-php&quot; style=&quot;background: rgb(247, 247, 247); border-radius: 0.25em; border: none; box-sizing: border-box; color: #4e4e4e; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 13px; font-stretch: inherit; font-variant-numeric: inherit; font-weight: normal; line-height: inherit; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0.25em 0.75em; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;code class=&quot; language-php&quot; style=&quot;background: none; border: 0px; box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.92308em; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;token punctuation&quot; style=&quot;border: 0px; box-sizing: border-box; color: #555555; font-family: inherit; font-size: 12px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/h2&gt;&lt;h2 class=&quot;result__title&quot;&gt;&lt;a class=&quot;result__a&quot; href=&quot;https://www.inmotionhosting.com/support/website/database-troubleshooting/error-1064&quot; rel=&quot;noopener&quot;&gt;MySQL&amp;nbsp;&lt;b&gt;Error&lt;/b&gt;&amp;nbsp;&lt;b&gt;1064&lt;/b&gt;:&amp;nbsp;&lt;b&gt;You&lt;/b&gt;&amp;nbsp;&lt;b&gt;have&lt;/b&gt;&amp;nbsp;&lt;b&gt;an&lt;/b&gt;&amp;nbsp;&lt;b&gt;error&lt;/b&gt;&amp;nbsp;&lt;b&gt;in&lt;/b&gt;&amp;nbsp;&lt;b&gt;your&lt;/b&gt;&amp;nbsp;&lt;b&gt;SQL&lt;/b&gt;&amp;nbsp;&lt;b&gt;syntax&lt;/b&gt;&lt;/a&gt;&lt;/h2&gt;Change this:&lt;br /&gt;&lt;pre class=&quot;codeblock language-php&quot;&gt;&lt;code class=&quot; language-php&quot;&gt;&lt;span class=&quot;token constant&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;TABLE&lt;/span&gt; `key_value` &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;br /&gt;  `collection` &lt;span class=&quot;token function&quot;&gt;varchar&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;128&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;CHARACTER&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;SET&lt;/span&gt; ascii &lt;span class=&quot;token constant&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;token keyword keyword-NULL&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;token keyword keyword-DEFAULT&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;&#39;&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;COMMENT&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;A named collection of key and value pairs.&#39;&lt;/span&gt;&lt;br /&gt;`value` longblob &lt;span class=&quot;token constant&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;token keyword keyword-NULL&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;COMMENT&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;The value.&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;token constant&quot;&gt;PRIMARY&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;KEY&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;`collection`&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;`name`&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;ENGINE&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;InnoDB &lt;span class=&quot;token keyword keyword-DEFAULT&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;CHARSET&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;utf8 &lt;span class=&quot;token constant&quot;&gt;COMMENT&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;Generic key-value storage table. See the state system for…&#39;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;to this:&lt;br /&gt;&lt;pre class=&quot;codeblock language-php&quot;&gt;&lt;code class=&quot; language-php&quot;&gt;&lt;span class=&quot;token constant&quot;&gt;CREATE&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;TABLE&lt;/span&gt; `key_value` &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;br /&gt;  `collection` &lt;span class=&quot;token function&quot;&gt;varchar&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;128&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;CHARACTER&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;SET&lt;/span&gt; ascii &lt;span class=&quot;token constant&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;token keyword keyword-NULL&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;token keyword keyword-DEFAULT&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;&#39;&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;COMMENT&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;A named collection of key and value pairs.&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;  `name` &lt;span class=&quot;token function&quot;&gt;varchar&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;128&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;CHARACTER&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;SET&lt;/span&gt; ascii &lt;span class=&quot;token constant&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;token keyword keyword-NULL&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;token keyword keyword-DEFAULT&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;&#39;&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;COMMENT&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;The key of the key-value pair. As KEY is a SQL reserved keyword, name was chosen instead.&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;  `value` longblob &lt;span class=&quot;token constant&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;token keyword keyword-NULL&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;COMMENT&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;The value.&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;token constant&quot;&gt;PRIMARY&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;KEY&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;`collection`&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;`name`&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;ENGINE&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;InnoDB &lt;span class=&quot;token keyword keyword-DEFAULT&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;CHARSET&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;utf8 &lt;span class=&quot;token constant&quot;&gt;COMMENT&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;Generic key-value storage table. See the state system for&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;then &lt;strong&gt;remove&lt;/strong&gt; this near the end to prevent another error:&lt;br /&gt;&lt;pre class=&quot;codeblock language-php&quot;&gt;&lt;code class=&quot; language-php&quot;&gt;&lt;span class=&quot;token constant&quot;&gt;ALTER&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;TABLE&lt;/span&gt; `key_value`&lt;br /&gt; &lt;span class=&quot;token constant&quot;&gt;ADD&lt;/span&gt; `name` &lt;span class=&quot;token function&quot;&gt;varchar&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;128&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;CHARACTER&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;SET&lt;/span&gt; ascii &lt;span class=&quot;token constant&quot;&gt;NOT&lt;/span&gt; &lt;span class=&quot;token keyword keyword-NULL&quot;&gt;NULL&lt;/span&gt; &lt;span class=&quot;token keyword keyword-DEFAULT&quot;&gt;DEFAULT&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;&#39;&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;COMMENT&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;The key of the key-value pair. As KEY is a SQL reserved keyword, name was chosen instead.&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&quot;result__title&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/h2&gt;&lt;h2 class=&quot;result__title&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/h2&gt;</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/7465995500456618022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2017/05/mysql-error-1064-you-have-error-in-your.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/7465995500456618022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/7465995500456618022'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2017/05/mysql-error-1064-you-have-error-in-your.html' title='MySQL Error 1064: You have an error in your SQL syntax - import database DRUPAL'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-7855137273172242177</id><published>2017-05-22T18:39:00.002+03:00</published><updated>2017-05-22T18:39:49.584+03:00</updated><title type='text'>SOLVED read(anvil) failed</title><content type='html'>There is a simple error:&lt;br /&gt;&lt;br /&gt;vim /etc/dovecot/conf.d/10-ssl.conf&lt;br /&gt;&lt;div&gt;and change ssl = required to&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ssl = yes&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;restart dovecot and YES!&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/7855137273172242177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2017/05/solved-readanvil-failed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/7855137273172242177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/7855137273172242177'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2017/05/solved-readanvil-failed.html' title='SOLVED read(anvil) failed'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-648865739304693100</id><published>2017-05-21T13:38:00.001+03:00</published><updated>2017-05-21T13:38:27.038+03:00</updated><title type='text'>DIGITALOCEAN How To Set Up a Postfix E-Mail Server with Dovecot</title><content type='html'>&lt;div class=&quot;section-content section-content-growable content Tutorial-content&quot; style=&quot;background-color: white; font-family: proxima-nova, sans-serif; font-size: 20px; line-height: 1.5; margin: 0px auto; padding-left: 0px; padding-right: 0px; position: relative; width: auto;&quot;&gt;&lt;div class=&quot;postable-info-bar-container&quot; style=&quot;margin-bottom: 15px;&quot;&gt;&lt;div class=&quot;postable-info-bar&quot; style=&quot;box-sizing: border-box; clear: both; color: #999999; margin: 0px auto; max-width: 745px; overflow: auto; padding-bottom: 10px; padding-top: 15px; width: 745px; z-index: 100;&quot;&gt;&lt;div class=&quot;right-section&quot; style=&quot;float: right; text-align: right;&quot;&gt;&lt;div class=&quot;section-item section-item-subscribe&quot; style=&quot;float: left; margin-left: 30px;&quot;&gt;&lt;span class=&quot;opt-in-switch off signed-out-subscribe&quot; style=&quot;float: right; margin-bottom: 0px;&quot;&gt;&lt;span class=&quot;subscribe-label&quot; style=&quot;border: 0px; cursor: pointer; display: inline-block; font-size: 15px; padding: 0px 1px;&quot;&gt;&amp;nbsp;&lt;span class=&quot;subscription-label subscribe&quot; style=&quot;border-radius: 0px; border: 0px; display: inline-block; font-size: 16px; padding: 0px;&quot;&gt;Subscribe&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;section-item social-sharing-item&quot; style=&quot;float: left; margin-left: 30px;&quot;&gt;&lt;div class=&quot;sharing&quot; style=&quot;display: inline-block;&quot;&gt;&lt;a class=&quot;share-button&quot; data-target=&quot;#share-modal&quot; data-toggle=&quot;modal&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot#&quot; style=&quot;background-color: transparent; color: #999999; cursor: pointer; display: inline-block; font-size: 16px; left: 0px; pointer-events: auto; text-decoration-line: none;&quot;&gt;&lt;span class=&quot;icon icon-share-square&quot; style=&quot;font-family: community_icons; font-size: 20px; line-height: 14px; margin-right: 2px; position: relative; speak: none; top: 2px; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;share-button-text&quot;&gt;Share&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;container tutorial-header&quot; style=&quot;margin-bottom: 10px; margin-left: auto; margin-right: auto; width: 745px;&quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;802&quot; data-upvotable-type=&quot;Tutorial&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-bottom: none; border-left: 1px solid rgb(229, 229, 229); border-right: none; border-top: none; color: #cacaca; cursor: pointer; float: right; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 10px -85px 0px 0px; overflow: visible; padding: 0.5em;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 2em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;46&lt;/span&gt;&lt;/button&gt;&lt;h1 class=&quot;content-title Tutorial-header&quot; style=&quot;color: #3a3a3a; font-size: 40px; font-weight: 300; letter-spacing: 0px; line-height: 1.2; margin: 0px 0px 10px; padding: 0px;&quot;&gt;&lt;button class=&quot;Button--reset Tutorial-headerButton &quot; data-js=&quot;markAsComplete&quot; data-original-title=&quot;Mark as Complete&quot; data-toggle=&quot;tooltip&quot; data-tutorialinteraction=&quot;&quot; data-tutorialsingle=&quot;&quot; style=&quot;-webkit-appearance: none; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-width: 0px; cursor: pointer; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; margin: 0px; overflow: visible; padding: 0px; text-align: inherit;&quot; title=&quot;&quot; type=&quot;button&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-completed&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-completed&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/button&gt;&amp;nbsp;How To Set Up a Postfix E-Mail Server with Dovecot&lt;/h1&gt;&lt;span class=&quot;meta-section timestamp&quot; style=&quot;color: #999999; font-size: 13px; margin-right: 10px; vertical-align: middle;&quot;&gt;&lt;span class=&quot;tutorial-date-text&quot; style=&quot;padding-right: 5px;&quot;&gt;Posted&lt;/span&gt;&lt;span class=&quot;tutorial-date&quot;&gt;November 14, 2013&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;meta-section pageviews&quot; style=&quot;color: #999999; font-size: 13px; margin-right: 10px; vertical-align: middle;&quot;&gt;&lt;span class=&quot;icon icon-eye v-mid&quot; style=&quot;font-family: community_icons; line-height: 1; padding-right: 5px; speak: none; vertical-align: middle;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;views-count v-mid&quot; style=&quot;vertical-align: middle;&quot;&gt;451.5k&lt;/span&gt;&lt;span class=&quot;sr-only&quot; style=&quot;border: 0px; clip: rect(0px 0px 0px 0px); height: 1px; margin: -1px; overflow: hidden; padding: 0px; position: absolute; width: 1px;&quot;&gt;views&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;meta-section tags&quot; style=&quot;color: #999999; font-size: 13px; margin-right: 10px; vertical-align: middle;&quot;&gt;&lt;a class=&quot;tag&quot; href=&quot;https://www.digitalocean.com/community/tags/email?type=tutorials&quot; style=&quot;background-color: whitesmoke; border-radius: 3px; border: 1px solid rgb(245, 245, 245); color: #999999; font-size: 10px; letter-spacing: 0.5px; margin: 0px 2px; padding: 3px 4px 2px; text-decoration-line: none; text-transform: uppercase; white-space: nowrap;&quot;&gt;EMAIL&lt;/a&gt;&amp;nbsp;&lt;a class=&quot;tag&quot; href=&quot;https://www.digitalocean.com/community/tags/ubuntu?type=tutorials&quot; style=&quot;background-color: whitesmoke; border-radius: 3px; border: 1px solid rgb(245, 245, 245); color: #999999; font-size: 10px; letter-spacing: 0.5px; margin: 0px 2px; padding: 3px 4px 2px; text-decoration-line: none; text-transform: uppercase; white-space: nowrap;&quot;&gt;UBUNTU&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;content-body tutorial-content tutorial-content-legacy&quot; data-growable-markdown=&quot;&quot; style=&quot;font-size: 16px; margin-left: auto; margin-right: auto; overflow-x: auto; width: 745px;&quot;&gt;&lt;h3 id=&quot;postfix-introduction&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 22px; letter-spacing: -0.5px; margin: 14px auto 11px; padding: 0px; width: 745px;&quot;&gt;Postfix Introduction&lt;/h3&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;This tutorial will tell you how to setup a basic mail server and teach you a bit about the Postfix MTA (Mail Transfer Agent) in the process.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Postfix is extremely flexible. Its architecture is based on a loose composition of services that receive emails and pass them on to other services (with services like &quot;smtp&quot; on the receiving outer edge, and &quot;local&quot; and &quot;virtual&quot; on the delivering outer edge, if you&#39;re looking at receiving mail). Postfix itself implements the core requirements to receive, route, and deliver mail, and relies on third-party extensions to do the rest.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Postfix has several hundred&amp;nbsp;&lt;a href=&quot;http://www.postfix.org/BASIC_CONFIGURATION_README.html&quot; style=&quot;background-color: transparent; border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;configuration parameters&lt;/a&gt;. If you want to administer a mail server that reliably delivers business requirements to a sizable organization, you should make yourself intimate with all of them (&lt;a href=&quot;http://www.postfix.org/postconf.5.html&quot; style=&quot;background-color: transparent; border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;man 5 postconf&lt;/a&gt;). This tutorial will&amp;nbsp;&lt;em style=&quot;box-sizing: border-box;&quot;&gt;not&lt;/em&gt;&amp;nbsp;be enough, on its own, to make you a competent professional email admin. However, if you want to become familiar with postfix or set up a mail server for yourself and a few friends, this tutorial, and the ones to follow, will be your friend.&lt;/div&gt;&lt;h3 id=&quot;dovecot-introduction&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 22px; letter-spacing: -0.5px; margin: 14px auto 11px; padding: 0px; width: 745px;&quot;&gt;Dovecot Introduction&lt;/h3&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;I&#39;m not going to spend a lot of introductory words on dovecot. Dovecot is also huge (here is the&amp;nbsp;&lt;a href=&quot;http://wiki2.dovecot.org/&quot; style=&quot;background-color: transparent; border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;wiki for dovecot 2&lt;/a&gt;), but we only want a very small set of features from dovecot.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;This article explains almost every single setting to be set in detail. You can go ahead and skim over the explanations if you want -&amp;nbsp;&lt;em style=&quot;box-sizing: border-box;&quot;&gt;at your own risk&lt;/em&gt;.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;This tutorial assumes (and was built using) the following setup:&lt;/span&gt;&lt;/div&gt;&lt;ul style=&quot;box-sizing: border-box; margin: 0px auto 28px; padding: 0px 0px 0px 40px; width: 745px;&quot;&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 10px; padding: 0px;&quot;&gt;Debian 7.1&amp;nbsp;&lt;em style=&quot;box-sizing: border-box;&quot;&gt;wheezy&lt;/em&gt;&amp;nbsp;x64_86&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 10px; padding: 0px;&quot;&gt;Postfix 2.9.6-2&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 10px; padding: 0px;&quot;&gt;dovecot 1:2.1.7-7&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;While any Debian-based OS should be fine, Postfix is in use in a wide array of versions, including Postfix 1.x, Postfix 2.9, and Postfix 2.10, which have some mutually incompatible settings and features - and using Postfix 2.9, this tutorial is not on the bleeding edge.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;This tutorial also assumes a few things about you:&lt;/div&gt;&lt;ul style=&quot;box-sizing: border-box; margin: 0px auto 28px; padding: 0px 0px 0px 40px; width: 745px;&quot;&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 10px; padding: 0px;&quot;&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; padding: 0px;&quot;&gt;That you are comfortable on a GNU/Linux commandline and with the general layout and working principles of a GNU/Linux system like Debian.&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 10px; padding: 0px;&quot;&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; padding: 0px;&quot;&gt;That your local system is a GNU/Linux or reasonably compatible (MinGW, Cygwin, Mac OS X, *BSD)&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 10px; padding: 0px;&quot;&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; padding: 0px;&quot;&gt;That you know how to get a rootshell on your droplet&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 10px; padding: 0px;&quot;&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; padding: 0px;&quot;&gt;That you know how to use a text editor (e.g. vim, nano, emacs, or the standard editor,&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;ed&lt;/code&gt;) on linux&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;By default, commands will be entered and files edited from a rootshell on the droplet. As in most other DigitalOcean articles, parts of commands that you need to customize will be&amp;nbsp;&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;highlighted&lt;/span&gt;&amp;nbsp;in red.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div data-unique=&quot;system-setup&quot; name=&quot;system-setup&quot; style=&quot;box-sizing: border-box; margin-left: auto; margin-right: auto; width: 745px;&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;system-setup&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 28px; font-weight: 400; letter-spacing: 0.2px; margin: 10px auto; padding: 0px; width: 745px;&quot;&gt;System Setup&lt;/h2&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;The following ingredients are necessary to make your droplet ready to be a mail server:&lt;/div&gt;&lt;ul style=&quot;box-sizing: border-box; margin: 0px auto 28px; padding: 0px 0px 0px 40px; width: 745px;&quot;&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 10px; padding: 0px;&quot;&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; padding: 0px;&quot;&gt;A domain, let&#39;s assume it is &quot;mydomain.com&quot;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 10px; padding: 0px;&quot;&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; padding: 0px;&quot;&gt;A hostname for your mail server, let&#39;s assume &quot;mail.mydomain.com&quot;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 10px; padding: 0px;&quot;&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; padding: 0px;&quot;&gt;An SSL certificate that is valid for &quot;mail.mydomain.com&quot;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 id=&quot;setting-up-ssl-certificate&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 22px; letter-spacing: -0.5px; margin: 14px auto 11px; padding: 0px; width: 745px;&quot;&gt;Setting up SSL certificate&lt;/h3&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;For SSL, you need a certificate and a private key. In this tutorial, we&#39;re going to assume that the certificate is saved in&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;/etc/ssl/certs/mailcert.pem&lt;/code&gt;&amp;nbsp;and the key is saved in&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;/etc/ssl/private/mail.key&lt;/code&gt;. Make sure the key is only readable by the root user!&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;How to set up SSL certificates for your website and e-mail depends on your website structure and the CA you use (self-signed, organisational (sub)-ca, or commercial ca for example). Creating a self-signed test certificate is as easy as executing&lt;/div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/mail.key -out /etc/ssl/certs/mailcert.pem&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;and leaving the default values in by just hitting enter on all questions asked. Don&#39;t use this certificate in production!&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Most CAs will require you to submit a certificate signing request. (CSR) You can generate one like this:&lt;/div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;sudo openssl req -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/mail.key -out mailcert.csr&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Fill in the information queried properly, like in this transcript: (Check with the CA you intend to use on what information needs to be in the CSR)&lt;/div&gt;&lt;pre style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;Generating a 2048 bit RSA private key&lt;br /&gt;.............................+++&lt;br /&gt;................+++&lt;br /&gt;writing new private key to &#39;mail.key&#39;&lt;br /&gt;-----&lt;br /&gt;You are about to be asked to enter information that will be incorporated&lt;br /&gt;into your certificate request.&lt;br /&gt;What you are about to enter is what is called a Distinguished Name or a DN.&lt;br /&gt;There are quite a few fields but you can leave some blank&lt;br /&gt;For some fields there will be a default value,&lt;br /&gt;If you enter &#39;.&#39;, the field will be left blank.&lt;br /&gt;-----&lt;br /&gt;Country Name (2 letter code) [AU]: &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;US&lt;/span&gt;&lt;br /&gt;State or Province Name (full name) [Some-State]: &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;Virginia&lt;/span&gt;&lt;br /&gt;Locality Name (eg, city) []: &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;Langley&lt;/span&gt;&lt;br /&gt;Organization Name (eg, company) [Internet Widgits Pty Ltd]: &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;Network Services Association&lt;/span&gt;&lt;br /&gt;Organizational Unit Name (eg, section) []: &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;Infrastructure Services&lt;/span&gt;&lt;br /&gt;Common Name (e.g. server FQDN or YOUR name) []: &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;mail.mydomain.com&lt;/span&gt;&lt;br /&gt;Email Address []: &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;postmaster@mydomain.com&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Please enter the following &#39;extra&#39; attributes&lt;br /&gt;to be sent with your certificate request&lt;br /&gt;A challenge password []:&lt;br /&gt;An optional company name []:&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;(Note that this way you cannot create a certificate valid for more than one domain using the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;subjectAltName&lt;/code&gt;&amp;nbsp;field without some additional work - again, check the CA&#39;s documentation!)&lt;/div&gt;&lt;h3 id=&quot;setting-up-dns&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 22px; letter-spacing: -0.5px; margin: 14px auto 11px; padding: 0px; width: 745px;&quot;&gt;Setting up DNS&lt;/h3&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;You have to set up your DNS with an A record that points to your mail server IP and an MX record that points to the mail servers hostname.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Here is how to do it if you&#39;re using DigitalOcean&#39;s DNS:&lt;/div&gt;&lt;ul style=&quot;box-sizing: border-box; margin: 0px auto 28px; padding: 0px 0px 0px 40px; width: 745px;&quot;&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 10px; padding: 0px;&quot;&gt;Go to the &quot;DNS&quot; area in your DigitalOcean panel&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 10px; padding: 0px;&quot;&gt;Create a new domain or select one you&#39;ve created before&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 10px; padding: 0px;&quot;&gt;Click the &quot;Add record&quot; button in the top right&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 10px; padding: 0px;&quot;&gt;Add an A record:&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;growable&quot; style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; position: relative; transition: width 0.25s linear; width: 745px; z-index: 100;&quot;&gt;&lt;img alt=&quot;Adding an A record&quot; src=&quot;https://assets.digitalocean.com/articles/postfix_dovecot/img1.png&quot; style=&quot;border: 0px; box-sizing: border-box; display: block; height: auto; margin-left: auto; margin-right: auto; max-width: 100%;&quot; /&gt;&lt;/div&gt;&lt;ul style=&quot;box-sizing: border-box; margin: 0px auto 28px; padding: 0px 0px 0px 40px; width: 745px;&quot;&gt;&lt;li style=&quot;box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 10px; padding: 0px;&quot;&gt;Click &quot;Add record&quot; again and add an MX record that points to the A record:&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;growable&quot; style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; position: relative; transition: width 0.25s linear; width: 745px; z-index: 100;&quot;&gt;&lt;img alt=&quot;Adding an MX record&quot; src=&quot;https://assets.digitalocean.com/articles/postfix_dovecot/img2.png&quot; style=&quot;border: 0px; box-sizing: border-box; display: block; height: auto; margin-left: auto; margin-right: auto; max-width: 100%;&quot; /&gt;&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Additional information can be found in the&amp;nbsp;&lt;a href=&quot;https://www.digitalocean.com/community/articles/how-to-set-up-a-host-name-with-digitalocean&quot; style=&quot;background-color: transparent; border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;Host Name setup&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href=&quot;https://www.digitalocean.com/community/articles/dns-tips-and-tricks&quot; style=&quot;background-color: transparent; border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;DNS tips and tricks&lt;/a&gt;&amp;nbsp;articles.&lt;/div&gt;&lt;h3 id=&quot;verify-dns&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 22px; letter-spacing: -0.5px; margin: 14px auto 11px; padding: 0px; width: 745px;&quot;&gt;Verify DNS&lt;/h3&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;DNS will take a few hours to propagate all over the internet, but it should be set on your DNS server after a few minutes. You can check with&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;dig&lt;/span&gt;&amp;nbsp;&amp;amp;&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;host&lt;/span&gt;:&lt;/div&gt;&lt;pre style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;[root@yourbase] ~# dig MX &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;mydomain.com&lt;/span&gt; +short &lt;a class=&quot;username-tag&quot; href=&quot;https://www.digitalocean.com/community/users/ns1&quot; style=&quot;background-color: transparent; border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;@ns1&lt;/a&gt;.digitalocean.com&lt;br /&gt;50 mail.mydomain.com.&lt;br /&gt;[root@yourbase] ~# host &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;mail.mydomain.com&lt;/span&gt; ns1.digitalocean.com&lt;br /&gt;Using domain server:&lt;br /&gt;Name: ns1.digitalocean.com&lt;br /&gt;Address: 198.199.120.125#53&lt;br /&gt;Aliases:&lt;br /&gt;&lt;br /&gt;mail.mydomain.com has address 82.196.9.119&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div data-unique=&quot;postfix&quot; name=&quot;postfix&quot; style=&quot;box-sizing: border-box; margin-left: auto; margin-right: auto; width: 745px;&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;postfix&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 28px; font-weight: 400; letter-spacing: 0.2px; margin: 10px auto; padding: 0px; width: 745px;&quot;&gt;Postfix&lt;/h2&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;We will now set up Postfix to receive and deliver mail for local users.&lt;/div&gt;&lt;h3 id=&quot;packages&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 22px; letter-spacing: -0.5px; margin: 14px auto 11px; padding: 0px; width: 745px;&quot;&gt;Packages&lt;/h3&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;The default MTA on Debian is exim. Off with it! We&#39;ll also stop postfix after it has been installed, because we don&#39;t want it to be running yet.&lt;/div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;aptitude remove exim4 &amp;amp;&amp;amp; aptitude install postfix &amp;amp;&amp;amp; postfix stop&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;A small insert: Postfix manages its daemons by itself and doesn&#39;t need the service (init.d) system. postfix start, postfix stop, and postfix reload are equivalent to service postfix start, service postfix stop and service postfix reload.&lt;/div&gt;&lt;h3 id=&quot;postfix-configuration&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 22px; letter-spacing: -0.5px; margin: 14px auto 11px; padding: 0px; width: 745px;&quot;&gt;Postfix Configuration&lt;/h3&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Postfix has two main config files:&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;main.cf&lt;/span&gt;, which specifies what you would think of as config options, and&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;master.cf&lt;/span&gt;, which specifies the services postfix should run.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;First, configure the&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;master.cf&lt;/span&gt;&amp;nbsp;file (in&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;/etc/postfix/&lt;/code&gt;). Add an extra &quot;smtpd&quot; instance called &quot;submission&quot; that will take mail from trusted clients for delivery to the world at large, which we don&#39;t allow for anyone else.&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;To do that, open master.cf (take a look at&amp;nbsp;&lt;a href=&quot;http://www.postfix.org/master.5.html&quot; style=&quot;background-color: transparent; border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;man 5 master&lt;/a&gt;&amp;nbsp;if you want to understand what&#39;s going on) and uncomment the submission config and add options to enable SASL:&lt;/div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;submission inet n       -       -       -       -       smtpd&lt;br /&gt;  -o syslog_name=postfix/submission&lt;br /&gt;  -o smtpd_tls_wrappermode=no&lt;br /&gt;  -o smtpd_tls_security_level=encrypt&lt;br /&gt;  -o smtpd_sasl_auth_enable=yes&lt;br /&gt;  -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject&lt;br /&gt;  -o milter_macro_daemon_name=ORIGINATING&lt;br /&gt;  -o smtpd_sasl_type=dovecot&lt;br /&gt;  -o smtpd_sasl_path=private/auth&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;This warrants a bit of explanation. The&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;-o ...&lt;/code&gt;&amp;nbsp;options override the settings that are taken from defaults or define in the config, which we&#39;ll set later.&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;In a nutshell what happens here is that this enables the &quot;submission&quot; daemon with TLS to secure the outer connection, and dovecot-mediated SASL to check the username and password of connecting clients. (We will set that up in dovecot later).&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;The important detail is one that can&#39;t be seen: The&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;smtpd_recipient_restrictions&lt;/code&gt;&amp;nbsp;is missing&amp;nbsp;&lt;a href=&quot;http://www.postfix.org/postconf.5.html#reject_unauth_destination&quot; style=&quot;background-color: transparent; border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;reject_unauth_destination&lt;/code&gt;&lt;/a&gt;, which is present as a default and restricts relaying.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Then we move on to&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;main.cf&lt;/span&gt;. We&#39;ll start with a clean slate here - run&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;cp /etc/postfix/main.cf /etc/postfix/main.cf.orig&lt;/code&gt;&amp;nbsp;if you want to save the default config file (it&#39;s also in&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;/usr/share/postfix/main.cf.dist&lt;/code&gt;&amp;nbsp;though), then open it and clear it out!&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Let&#39;s first set the network information: (information about the domains postfix is handling mail for, and a bit of extra info)&lt;/div&gt;&lt;pre style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;myhostname = &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;mail.domain.com&lt;/span&gt;&lt;br /&gt;myorigin = &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;/etc/mailname&lt;/span&gt;&lt;br /&gt;mydestination = &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;mail.domain.com, domain.com&lt;/span&gt;, localhost, localhost.localdomain&lt;br /&gt;relayhost =&lt;br /&gt;mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128&lt;br /&gt;mailbox_size_limit = 0&lt;br /&gt;recipient_delimiter = +&lt;br /&gt;inet_interfaces = all&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;We set the hostname and the default origin, which is sourced from&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;/etc/mailname&lt;/span&gt;&amp;nbsp;by debian convention. You can set it explicitly if you don&#39;t have&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;/etc/mailname&lt;/span&gt;. The default origin is used to construct the &#39;From&#39; address for local users.&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;mydestination&lt;/span&gt;&amp;nbsp;sets the domains that postfix accepts emails for as final destination, and we set &quot;relayhost&quot; empty to disable relaying mail (relaying means accepting mail and then forwarding to a mail server that is not the final destination for the mail and we have no need for that; that is useful e.g. in a corporate intranet where a central mail server should check mail before it leaves the network.)&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;&lt;em style=&quot;box-sizing: border-box;&quot;&gt;Additional note: This has nothing to do with the term &quot;open relay&quot;, which is a mail server that accepts email from anybody without authentication and sends it to MTAs for domains that aren&#39;t in their own network - for this the other `relay_&lt;/em&gt;` settings are used, which we leave on default and disabled)&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Let&#39;s now set the local alias maps. We don&#39;t have to set this setting since we&#39;re just keeping the default setting, but it&#39;s good to make it explicit in case we later want to add another method of defining alias maps. (like a real DBMS)&lt;/div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;alias_maps = hash:/etc/aliases&lt;br /&gt;alias_database = hash:/etc/aliases&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Then we set up SSL:&lt;/div&gt;&lt;pre style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;smtpd_tls_cert_file=&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;/etc/ssl/certs/mailcert.pem&lt;/span&gt;&lt;br /&gt;smtpd_tls_key_file=&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;/etc/ssl/private/mail.key&lt;/span&gt;&lt;br /&gt;smtpd_use_tls=yes&lt;br /&gt;smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache&lt;br /&gt;smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache&lt;br /&gt;smtpd_tls_security_level=may&lt;br /&gt;smtpd_tls_protocols = !SSLv2, !SSLv3&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;We set the cert file and the key for it, enable tls, and set the cache files. Then we make TLS optional, because we&#39;re not allowed to make TLS required on a public smtp server per&amp;nbsp;&lt;a href=&quot;http://tools.ietf.org/html/rfc2487&quot; style=&quot;background-color: transparent; border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;RFC2487&lt;/a&gt;. We also disallow SSLv2 and SSLv3, so that only TLSv1.0 and higher is allowed (read a SSL tutorial if you want to know why - in a nutshell, SSLv2 and SSLv3 are obsolete).&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Another setting that is fine as default but should be specified explicitly in case you want to add to it later is the&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;local&lt;em style=&quot;box-sizing: border-box;&quot;&gt;recipient&lt;/em&gt;maps&lt;/span&gt;:&lt;/div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;local_recipient_maps = proxy:unix:passwd.byname $alias_maps&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;This setting tells Postfix to check a lookup table and reject email to users that cannot be found in the table. This is important because the alternative behaviour, if&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;local_recipient_maps&lt;/code&gt;&amp;nbsp;is unset, is to accept mail first and then bounce it later. This causes &quot;backscatter&quot;: If postfix cannot determine all valid users immediately (in the smtpd service), like when&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;local_recipients_maps&lt;/code&gt;&amp;nbsp;is unset, it will accept mail and then send a non-delivery notice later (when it finds out the mail is undeliverable after it has been handed off by smptd). These non-delivery notices usually hit innocent people whose addresses have been spoofed in spam and scam mails and contribute to the spam problem.&lt;/div&gt;&lt;h3 id=&quot;sane-alias-config&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 22px; letter-spacing: -0.5px; margin: 14px auto 11px; padding: 0px; width: 745px;&quot;&gt;Sane Alias Config&lt;/h3&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;There are a few mail accounts you should set up in your alias config that are important. For example the&amp;nbsp;&lt;a href=&quot;http://www.ietf.org/rfc/rfc5321.txt&quot; style=&quot;background-color: transparent; border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;SMTP RFC&lt;/a&gt;&amp;nbsp;mandates that any publicly accessible mailserver that accepts any mail at all must also accept mail to the &#39;postmaster&#39; account, and some people might expect &quot;hostmaster&quot;, &quot;abuse&quot;, &quot;webmaster&quot;, and other mailboxes to be present. You can either redirect those mail addresses to root, or to a specific user. Here is a sane default for&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;/etc/aliases&lt;/code&gt;, presuming that you check email for&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;root&lt;/span&gt;:&lt;/div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;mailer-daemon: postmaster&lt;br /&gt;postmaster: root&lt;br /&gt;nobody: root&lt;br /&gt;hostmaster: root&lt;br /&gt;usenet: root&lt;br /&gt;news: root&lt;br /&gt;webmaster: root&lt;br /&gt;www: root&lt;br /&gt;ftp: root&lt;br /&gt;abuse: root&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;If you want to redirect all of that to a specific local user, say, &quot;yourname&quot; just add&lt;/div&gt;&lt;pre style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;root: &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;yourname&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Postfix will resolve the entire chain of aliases for you and forward all those mail addresses to &quot;yourname&quot;. (This is done by the&amp;nbsp;&lt;a href=&quot;http://www.postfix.org/local.8.html&quot; style=&quot;background-color: transparent; border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;local&lt;/a&gt;&amp;nbsp;daemon using the&amp;nbsp;&lt;a href=&quot;http://www.postfix.org/aliases.5.html&quot; style=&quot;background-color: transparent; border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;aliases&lt;/a&gt;&amp;nbsp;specification.)&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;As &quot;aliases&quot; says, after updating the&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;/etc/aliases&lt;/span&gt;&amp;nbsp;file, you have to run&lt;/div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;newaliases&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;to compile the file into the database Postfix uses for fast lookup.&lt;/div&gt;&lt;div data-unique=&quot;dovecot&quot; name=&quot;dovecot&quot; style=&quot;box-sizing: border-box; margin-left: auto; margin-right: auto; width: 745px;&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;dovecot&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 28px; font-weight: 400; letter-spacing: 0.2px; margin: 10px auto; padding: 0px; width: 745px;&quot;&gt;Dovecot&lt;/h2&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;This one will be less wall-of-text-y! Take a deep breath, we&#39;re almost done.&lt;/div&gt;&lt;h3 id=&quot;packages&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 22px; letter-spacing: -0.5px; margin: 14px auto 11px; padding: 0px; width: 745px;&quot;&gt;Packages&lt;/h3&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin: 28px auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;aptitude install dovecot-core dovecot-imapd&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Should do it. If you want all the default packages, run&lt;/div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;aptitude install dovecot-common&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Then go into&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;/etc/dovecot/dovecot.conf&lt;/code&gt;&amp;nbsp;and clear out the file again. (that&#39;s important this time - the default config includes a bunch of subordinate config files in&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;/etc/dovecot/conf.d&lt;/code&gt;&amp;nbsp;that we don&#39;t want).&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Now enter the following config:&lt;/div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;disable_plaintext_auth = no&lt;br /&gt;mail_privileged_group = mail&lt;br /&gt;mail_location = mbox:~/mail:INBOX=/var/mail/%u&lt;br /&gt;userdb {&lt;br /&gt;  driver = passwd&lt;br /&gt;}&lt;br /&gt;passdb {&lt;br /&gt;  args = %s&lt;br /&gt;  driver = pam&lt;br /&gt;}&lt;br /&gt;protocols = &quot; imap&quot;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;This enables plaintext auth (The &quot;plaintext&quot; authentication will be tunneled through TLS), tells dovecot to use the&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;mail&lt;/code&gt;&amp;nbsp;system group for accessing the local mailboxes (plus the location of the mailboxes), use the unix authentication system to authenticate users, and enable imap only.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;If you want, you can have dovecot automatically add a Trash and Sent folder to mailboxes:&lt;/div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;protocol imap {&lt;br /&gt;  mail_plugins = &quot; autocreate&quot;&lt;br /&gt;}&lt;br /&gt;plugin {&lt;br /&gt;  autocreate = Trash&lt;br /&gt;  autocreate2 = Sent&lt;br /&gt;  autosubscribe = Trash&lt;br /&gt;  autosubscribe2 = Sent&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Next, we need to open a socket that postfix can use to piggy-back on dovecot&#39;s authentication:&lt;/div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;service auth {&lt;br /&gt;  unix_listener /var/spool/postfix/private/auth {&lt;br /&gt;    group = postfix&lt;br /&gt;    mode = 0660&lt;br /&gt;    user = postfix&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;And finally the ssl config:&lt;/div&gt;&lt;pre style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;ssl=required&lt;br /&gt;ssl_cert = &amp;lt;&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;/etc/ssl/certs/mailcert.pem&lt;/span&gt;&lt;br /&gt;ssl_key = &amp;lt;&lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;/etc/ssl/private/mail.key&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Note the angle brackets! They tell dovecot to read from a file.&lt;/div&gt;&lt;div data-unique=&quot;the-end&quot; name=&quot;the-end&quot; style=&quot;box-sizing: border-box; margin-left: auto; margin-right: auto; width: 745px;&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;the-end&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 28px; font-weight: 400; letter-spacing: 0.2px; margin: 10px auto; padding: 0px; width: 745px;&quot;&gt;The End&lt;/h2&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;Save and close all the config files, and execute&lt;/div&gt;&lt;pre class=&quot;code-pre &quot; style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code langs=&quot;&quot; style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;newaliases&lt;br /&gt;postfix start&lt;br /&gt;service dovecot restart&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;And you should be good to go. Test your config with a mail client, e.g. Mozilla Thunderbird. You should be able to send and receive mails from everywhere and to everywhere!&lt;/div&gt;&lt;h3 id=&quot;continued&quot; style=&quot;box-sizing: border-box; color: #3a3a3a; font-size: 22px; letter-spacing: -0.5px; margin: 14px auto 11px; padding: 0px; width: 745px;&quot;&gt;Continued&lt;/h3&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;If you want to add virtual mailboxes (mail boxes that are not tied to a local user account, but can instead be configured using a local database) continue with&amp;nbsp;&lt;a href=&quot;https://www.digitalocean.com/community/articles/how-to-set-up-a-postfix-email-server-with-dovecot-dynamic-maildirs-and-lmtp&quot; style=&quot;background-color: transparent; border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;Part 2&lt;/a&gt;.***&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;You can now test that sending e-mail both ways works, from a terminal on the droplet:&lt;/div&gt;&lt;pre style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;~# mail &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;someotheremail@gmail.com&lt;/span&gt;&lt;br /&gt;Subject: &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;test email from postfix&lt;br /&gt;this is a test&lt;br /&gt;.&lt;/span&gt;&lt;br /&gt;EOT&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;The mail from &quot;&lt;a href=&quot;mailto:root@yourdomain.com&quot; style=&quot;background-color: transparent; border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;root@yourdomain.com&lt;/a&gt;&quot; should shortly arrive at &quot;&lt;a href=&quot;mailto:someotheremail@gmail.com&quot; style=&quot;background-color: transparent; border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;someotheremail@gmail.com&lt;/a&gt;&quot; (fill in an email adress you control, obviously). If you reply to it and call&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;mail&lt;/span&gt;&amp;nbsp;again, you should see this: (it might take a minute for the mail to arrive).&lt;/div&gt;&lt;pre style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;~# mail&lt;br /&gt;Heirloom mailx version 12.5 6/20/10.  Type ? for help.&lt;br /&gt;&quot;/var/mail/root&quot;: 1 message&lt;br /&gt;&amp;gt;N  1 &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;Your Name&lt;/span&gt;          Wed Nov 13 23:45   41/1966  Re: test email from postf&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;And if you hit the Enter key, it will show the message. (then type&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;q&lt;/span&gt;&amp;nbsp;and hit&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;Enter&lt;/span&gt;&amp;nbsp;to leave the mail client)&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;The same thing will work with a local e-mail client. Set up a new system user:&lt;/div&gt;&lt;pre style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 28px; margin-left: auto; margin-right: auto; overflow: auto !important; padding: 13px 17px; width: 745px; word-wrap: normal;&quot;&gt;&lt;code style=&quot;background-color: transparent; border-radius: 3px; box-sizing: border-box; color: #3a3a3a; font-family: monospace, monospace; line-height: 22px; margin: 0px; padding: 0px;&quot;&gt;~# adduser &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;joe&lt;/span&gt;&lt;br /&gt;Adding user `joe&#39; ...&lt;br /&gt;Adding new group `joe&#39; (1001) ...&lt;br /&gt;Adding new user `joe&#39; (1001) with group `joe&#39; ...&lt;br /&gt;Creating home directory `/home/joe&#39; ...&lt;br /&gt;Copying files from `/etc/skel&#39; ...&lt;br /&gt;Enter new UNIX password: &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;Enter password here&lt;/span&gt;&lt;br /&gt;Retype new UNIX password: &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;Enter password here&lt;/span&gt;&lt;br /&gt;passwd: password updated successfully&lt;br /&gt;Changing the user information for joe&lt;br /&gt;Enter the new value, or press ENTER for the default&lt;br /&gt;        Full Name []:&lt;br /&gt;        Room Number []:&lt;br /&gt;        Work Phone []:&lt;br /&gt;        Home Phone []:&lt;br /&gt;        Other []:&lt;br /&gt;Is the information correct? [Y/n] &lt;span class=&quot;highlight&quot; style=&quot;background: 0px 0px; box-sizing: border-box; color: #e94849;&quot;&gt;Y&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;The password you entered here is the password to use for e-mail. Joe can now use the address&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;joe@yourdomain.com&lt;/code&gt;&amp;nbsp;with a local mail client like Thunderbird. In Thunderbird, just add a new Account (&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;File -&amp;gt; New -&amp;gt; Existing Mail Account&lt;/code&gt;) and enter&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;joe@yourdomain.com&lt;/code&gt;&amp;nbsp;and the password in the dialog.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;If your mail client doesn&#39;t auto-detect the necessary settings: The username for the IMAP connection is&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;joe&lt;/code&gt;, the port is 143, and the authentication method is unencrypted password via STARTTLS. For SMTP it&#39;s the same, but port 587.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;If anything isn&#39;t working, check for error messages in the system log with&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;tail -n 50 /var/log/syslog&lt;/code&gt;and in the mail log with&amp;nbsp;&lt;code style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 15px; line-height: 22px; padding: 3px;&quot;&gt;tail -n 50 /var/log/mail.log&lt;/code&gt;.&lt;/div&gt;&lt;div style=&quot;box-sizing: border-box; line-height: 28px; margin-bottom: 22px; margin-left: auto; margin-right: auto; padding: 0px; width: 745px;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;author&quot; style=&quot;box-sizing: border-box; float: right; margin-left: auto; margin-right: auto; width: 745px;&quot;&gt;Submitted by:&amp;nbsp;&lt;a href=&quot;https://twitter.com/learlyman&quot; style=&quot;background-color: transparent; border-bottom: 1px dotted rgb(0, 0, 0); box-sizing: border-box; color: black; text-decoration-line: none;&quot;&gt;Lukas Erlacher&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;tutorial-footer&quot; style=&quot;background-color: white; font-family: proxima-nova, sans-serif;&quot;&gt;&lt;div class=&quot;tutorial-footer-details&quot; style=&quot;border-bottom: 1px solid rgb(229, 229, 229); padding: 0px;&quot;&gt;&lt;div class=&quot;postable-info-bar-container&quot; style=&quot;margin-bottom: 15px;&quot;&gt;&lt;div class=&quot;postable-info-bar&quot; style=&quot;box-sizing: border-box; clear: both; color: #999999; margin: 0px auto; max-width: 745px; overflow: auto; padding-bottom: 10px; padding-top: 15px; width: 745px; z-index: 100;&quot;&gt;&lt;div class=&quot;left-section&quot; style=&quot;float: left; margin: 0px; padding: 0px;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;right-section&quot; style=&quot;float: right; text-align: right;&quot;&gt;&lt;div class=&quot;upvote-container&quot; style=&quot;float: left;&quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;false&quot; data-upvotable-id=&quot;802&quot; data-upvotable-type=&quot;Tutorial&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: none; border-width: initial; color: #999999; cursor: pointer; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 0px; overflow: visible; padding: 0px;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: inline; font-size: 1em; vertical-align: baseline;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-heart&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-heart&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-text&quot; style=&quot;padding: 0px 5px;&quot;&gt;Upvote&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;color: #cacaca; display: inline-block; font-size: 0.75em; min-width: 14px;&quot;&gt;46&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;section-item section-item-subscribe&quot; style=&quot;float: left; margin-left: 30px;&quot;&gt;&lt;span class=&quot;opt-in-switch off signed-out-subscribe&quot; style=&quot;float: right; margin-bottom: 0px;&quot;&gt;&lt;span class=&quot;subscribe-label&quot; style=&quot;border: 0px; cursor: pointer; display: inline-block; font-size: 15px; padding: 0px 1px;&quot;&gt;&lt;span class=&quot;icon icon-subscribe&quot; style=&quot;font-family: community_icons; font-size: 18px; line-height: 1; speak: none; vertical-align: -2px;&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;subscription-label subscribe&quot; style=&quot;border-radius: 0px; border: 0px; display: inline-block; font-size: 16px; padding: 0px;&quot;&gt;Subscribe&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;section-item social-sharing-item&quot; style=&quot;float: left; margin-left: 30px;&quot;&gt;&lt;div class=&quot;sharing&quot; style=&quot;text-align: center;&quot;&gt;&lt;a class=&quot;share-button&quot; data-target=&quot;#share-modal&quot; data-toggle=&quot;modal&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot#&quot; style=&quot;background-color: transparent; color: #999999; cursor: pointer; display: inline-block; font-size: 16px; left: 0px; pointer-events: auto; text-decoration-line: none;&quot;&gt;&lt;span class=&quot;icon icon-share-square&quot; style=&quot;font-family: community_icons; font-size: 20px; line-height: 14px; margin-right: 2px; position: relative; speak: none; top: 2px; vertical-align: baseline;&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;share-button-text&quot;&gt;Share&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;section-content tutorial-contributors zero&quot; style=&quot;border: 0px; margin: 0px auto; padding-top: 15px; position: relative; width: 745px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;tutorial-ctas&quot; style=&quot;background-color: #1b78f8; background-image: url(&amp;quot;https://assets.digitalocean.com/labs/btp/general.png&amp;quot;); background-position: center bottom; background-repeat: no-repeat; border-bottom: 1px solid rgba(0, 0, 0, 0.03); color: #999999; height: 323px; line-height: 25px; overflow: hidden;&quot;&gt;&lt;div class=&quot;section-content&quot; style=&quot;margin: 0px auto; position: relative; width: 745px;&quot;&gt;&lt;div class=&quot;cta-description&quot; style=&quot;box-sizing: border-box; color: #1857bf; display: inline-block; font-size: 17px; height: 323px; line-height: 20px; text-align: center; width: 745px;&quot;&gt;&lt;h2 style=&quot;color: white; font-size: 27px; font-weight: 400; letter-spacing: -0.5px; line-height: 30px; margin: 60px 0px 10px; padding: 0px;&quot;&gt;Get started on DigitalOcean with free $10 credit&lt;/h2&gt;&lt;div style=&quot;color: white; line-height: 1.3em; padding: 15px 0px;&quot;&gt;You’ve read five tutorials on DigitalOcean this week and are well on your way to managing your infrastructure. Test your newfound knowledge by trying out DigitalOcean with $10 in free credit.&lt;/div&gt;&lt;a class=&quot;cloud-tutorial-cta&quot; href=&quot;https://cloud.digitalocean.com/registrations/new?refcode=74a1c5d63dac&amp;amp;utm_medium=btp_buildmode_ft_test&quot; style=&quot;background: rgb(255, 255, 255); border-radius: 3px; color: #0069ff; display: inline-block; font-size: 15px; font-weight: 800; margin-top: 18px; opacity: 0.9; padding: 15px 30px; text-decoration-line: none; text-transform: uppercase;&quot;&gt;CREATE A FREE ACCOUNT&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;related-tutorials&quot; style=&quot;padding: 35px 0px; text-align: center;&quot;&gt;&lt;div class=&quot;section-content&quot; style=&quot;margin: 0px auto; position: relative; width: 745px;&quot;&gt;&lt;h2 style=&quot;color: #373737; font-size: 19px; font-weight: 400; letter-spacing: -0.5px; line-height: 19px; margin: 0px; padding: 0px;&quot;&gt;Related Tutorials&lt;/h2&gt;&lt;ul style=&quot;line-height: 32px; margin: 10px 0px 0px; padding: 0px;&quot;&gt;&lt;li style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a class=&quot;related-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/why-you-may-not-want-to-run-your-own-mail-server&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;Why You May Not Want To Run Your Own Mail Server&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a class=&quot;related-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-use-google-s-smtp-server&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;How To Use Google&#39;s SMTP Server&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a class=&quot;related-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-mail-relay-with-postfix-and-mailgun-on-ubuntu-16-04&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;How to Set Up a Mail Relay with Postfix and Mailgun on Ubuntu 16.04&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a class=&quot;related-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-postfix-on-ubuntu-16-04&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;How To Install and Configure Postfix on Ubuntu 16.04&lt;/a&gt;&lt;/li&gt;&lt;li style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px;&quot;&gt;&lt;a class=&quot;related-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-postfix-as-a-send-only-smtp-server-on-ubuntu-16-04&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;How to Install and Configure Postfix as a Send-Only SMTP Server on Ubuntu 16.04&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-comments&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229);&quot;&gt;&lt;div class=&quot;section-content&quot; style=&quot;margin: 0px auto; position: relative; width: 745px;&quot;&gt;&lt;div class=&quot;tutorial commentable&quot; id=&quot;tutorial_802&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments-header&quot; style=&quot;background-color: white; font-family: proxima-nova, sans-serif; overflow: hidden; padding-top: 15px;&quot;&gt;&lt;h4 class=&quot;comments-count&quot; style=&quot;color: #cecece; display: inline-block; font-size: 30px; font-weight: 400; letter-spacing: -0.5px; margin: 30px 0px 0px; padding: 0px;&quot;&gt;151 Comments&lt;/h4&gt;&lt;/div&gt;&lt;div class=&quot;response response-form no-avatar&quot; style=&quot;background-color: white; border: 0px !important; box-sizing: border-box; font-family: proxima-nova, sans-serif; list-style-type: none; margin: 0px; padding: 11px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;form accept-charset=&quot;UTF-8&quot; action=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot/comments&quot; class=&quot;content-form disabled-form&quot; data-remote=&quot;true&quot; id=&quot;new_comment&quot; method=&quot;post&quot; style=&quot;margin-bottom: 0px; padding-bottom: 15px;&quot;&gt;&lt;div class=&quot;meltdown_wrap&quot; style=&quot;border-radius: 3px; border: 1px solid rgb(229, 229, 229); height: auto; margin-bottom: 20px; padding: 0px;&quot;&gt;&lt;div class=&quot;meltdown_topmargin&quot;&gt;&lt;/div&gt;&lt;div class=&quot;meltdown_bar&quot; style=&quot;border-bottom: 1px solid rgb(229, 229, 229); clear: both; margin-bottom: 1px; opacity: 0.4; overflow: auto; padding: 12px; transition: all 0.2s; user-select: none; width: auto;&quot;&gt;&lt;ul class=&quot;meltdown_controls meltdown_controls_preview&quot; style=&quot;float: right; margin: 0px; padding: 0px;&quot;&gt;&lt;li class=&quot;meltdown_control-preview meltdown_control meltdown_controlbutton disabled&quot; data-original-title=&quot;Toggle Preview&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: url(&amp;quot;/assets/community/meltdown/icons-2cc887b5b0f833d3dc541895d7f6ba04.png&amp;quot;); background-origin: initial; background-position: -374px 5px; background-repeat: no-repeat; background-size: initial; border-radius: 3px; box-sizing: border-box; display: block; float: left; height: 30px; list-style: none; margin: 0px 4px 0px 0px; padding: 0px; width: 30px;&quot; title=&quot;&quot;&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&quot;meltdown_controls meltdown_controls_main&quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;li class=&quot;meltdown_control-bold meltdown_control meltdown_controlbutton disabled&quot; data-original-title=&quot;Bold&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: url(&amp;quot;/assets/community/meltdown/icons-2cc887b5b0f833d3dc541895d7f6ba04.png&amp;quot;); background-origin: initial; background-position: 10px 7px; background-repeat: no-repeat; background-size: initial; border-radius: 3px; box-sizing: border-box; display: block; float: left; height: 30px; list-style: none; margin: 0px 4px 0px 0px; padding: 0px; width: 30px;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;opacity: 0;&quot; unselectable=&quot;on&quot;&gt;B&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;meltdown_control-italics meltdown_control meltdown_controlbutton disabled&quot; data-original-title=&quot;Italics&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: url(&amp;quot;/assets/community/meltdown/icons-2cc887b5b0f833d3dc541895d7f6ba04.png&amp;quot;); background-origin: initial; background-position: -25px 7px; background-repeat: no-repeat; background-size: initial; border-radius: 3px; box-sizing: border-box; display: block; float: left; height: 30px; list-style: none; margin: 0px 4px 0px 0px; padding: 0px; width: 30px;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;opacity: 0;&quot; unselectable=&quot;on&quot;&gt;I&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;meltdown_control-ul meltdown_control meltdown_controlbutton disabled&quot; data-original-title=&quot;Unordered List&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: url(&amp;quot;/assets/community/meltdown/icons-2cc887b5b0f833d3dc541895d7f6ba04.png&amp;quot;); background-origin: initial; background-position: -165px 7px; background-repeat: no-repeat; background-size: initial; border-radius: 3px; box-sizing: border-box; display: block; float: left; height: 30px; list-style: none; margin: 0px 4px 0px 0px; padding: 0px; width: 30px;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;opacity: 0;&quot; unselectable=&quot;on&quot;&gt;UL&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;meltdown_control-ol meltdown_control meltdown_controlbutton disabled&quot; data-original-title=&quot;Ordered List&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: url(&amp;quot;/assets/community/meltdown/icons-2cc887b5b0f833d3dc541895d7f6ba04.png&amp;quot;); background-origin: initial; background-position: -200px 7px; background-repeat: no-repeat; background-size: initial; border-radius: 3px; box-sizing: border-box; display: block; float: left; height: 30px; list-style: none; margin: 0px 4px 0px 0px; padding: 0px; width: 30px;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;opacity: 0;&quot; unselectable=&quot;on&quot;&gt;OL&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;meltdown_control-link meltdown_control meltdown_controlbutton disabled&quot; data-original-title=&quot;Link&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: url(&amp;quot;/assets/community/meltdown/icons-2cc887b5b0f833d3dc541895d7f6ba04.png&amp;quot;); background-origin: initial; background-position: -235px 7px; background-repeat: no-repeat; background-size: initial; border-radius: 3px; box-sizing: border-box; display: block; float: left; height: 30px; list-style: none; margin: 0px 4px 0px 0px; padding: 0px; width: 30px;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;opacity: 0;&quot; unselectable=&quot;on&quot;&gt;Link&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;meltdown_control-code meltdown_control meltdown_controlbutton disabled&quot; data-original-title=&quot;Code&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: url(&amp;quot;/assets/community/meltdown/icons-2cc887b5b0f833d3dc541895d7f6ba04.png&amp;quot;); background-origin: initial; background-position: -270px 6px; background-repeat: no-repeat; background-size: initial; border-radius: 3px; box-sizing: border-box; display: block; float: left; height: 30px; list-style: none; margin: 0px 4px 0px 0px; padding: 0px; width: 30px;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;opacity: 0;&quot; unselectable=&quot;on&quot;&gt;Code&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;meltdown_control-highlight meltdown_control meltdown_controlbutton disabled&quot; data-original-title=&quot;Highlight&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: url(&amp;quot;/assets/community/meltdown/icons-2cc887b5b0f833d3dc541895d7f6ba04.png&amp;quot;); background-origin: initial; background-position: -305px 7px; background-repeat: no-repeat; background-size: initial; border-radius: 3px; box-sizing: border-box; display: block; float: left; height: 30px; list-style: none; margin: 0px 4px 0px 0px; padding: 0px; width: 30px;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;opacity: 0;&quot; unselectable=&quot;on&quot;&gt;Highlight&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;meltdown_control-table meltdown_control meltdown_controlbutton disabled&quot; data-original-title=&quot;Table&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: url(&amp;quot;/assets/community/meltdown/icons-2cc887b5b0f833d3dc541895d7f6ba04.png&amp;quot;); background-origin: initial; background-position: -339px 6px; background-repeat: no-repeat; background-size: initial; border-radius: 3px; box-sizing: border-box; display: block; float: left; height: 30px; list-style: none; margin: 0px 4px 0px 0px; padding: 0px; width: 30px;&quot; title=&quot;&quot;&gt;&lt;span style=&quot;opacity: 0;&quot; unselectable=&quot;on&quot;&gt;Table&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;meltdown_editor-wrap&quot; style=&quot;transition: all 0.2s;&quot;&gt;&lt;div class=&quot;meltdown_editor-deco&quot;&gt;&lt;textarea class=&quot;js-comment-content tutorial-comment-field meltdown_editor&quot; data-markdown=&quot;true&quot; disabled=&quot;disabled&quot; id=&quot;comment_content&quot; name=&quot;comment[content]&quot; placeholder=&quot;Leave a comment...&quot; style=&quot;border-color: initial !important; border-radius: 3px; border-style: initial !important; border-width: 0px !important; color: inherit; display: block; font-family: proxima-nova, sans-serif; font-size: 16px; font-stretch: inherit; font-style: inherit; font-variant: inherit; height: 120px; line-height: inherit; margin: 0px; min-height: 175px; opacity: 0.4; overflow: hidden; padding: 15px; resize: none; transition: all 0.2s; width: 743px;&quot;&gt;&lt;/textarea&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;meltdown_bottommargin&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;log-in-notice &quot; style=&quot;width: 745px;&quot;&gt;&lt;a href=&quot;https://www.digitalocean.com/community/auth/digitalocean&quot; style=&quot;background-color: #0069ff; border-radius: 3px; border: 0px; color: white; display: block; font-size: 16px; height: 44px; line-height: 46px; margin-bottom: 20px; padding: 0px 50px; text-align: center; text-decoration-line: none;&quot;&gt;Log In to Comment&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;clearfix&quot; style=&quot;clear: both; overflow: auto; width: 745px;&quot;&gt;&lt;/div&gt;&lt;/form&gt;&lt;/div&gt;&lt;div class=&quot;comments&quot; style=&quot;background-color: white; box-sizing: border-box; clear: left; font-family: proxima-nova, sans-serif; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 745px;&quot;&gt;&lt;li class=&quot;comment-container&quot; data-level=&quot;0&quot; id=&quot;comment_6598&quot; style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;div class=&quot;response comment-body-container    &quot; data-highlight=&quot;&quot; style=&quot;border-top: 0px; box-sizing: border-box; list-style-type: none; margin: 0px; overflow-x: auto; padding: 10px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;div class=&quot;comment-upvote-container &quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;6598&quot; data-upvotable-type=&quot;Comment&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: initial; border-width: 0px; color: #cacaca; cursor: pointer; float: left; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 8px 13px 0px 0px; overflow: visible; padding: 0px; width: auto;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 1.25em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;0&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ox-auto&quot; style=&quot;overflow-x: auto;&quot;&gt;&lt;div class=&quot;comment-header&quot; style=&quot;position: relative;&quot;&gt;&lt;span class=&quot;response-name&quot; style=&quot;font-size: 16px; font-weight: 600;&quot;&gt;&lt;a class=&quot;username&quot; href=&quot;https://www.digitalocean.com/community/users/ethno-urban&quot; style=&quot;background-color: transparent; color: #0080ff; font-size: 13px; font-weight: 400; text-decoration-line: none;&quot;&gt;ethno-urban&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;response-time&quot; style=&quot;color: #999999; font-size: 13px; font-style: italic; margin-left: 4px;&quot;&gt;&lt;a class=&quot;post-time-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot?comment=6598&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;November 16, 2013&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;response-body content-body&quot; style=&quot;color: #3a3a3a; font-size: 16px; margin: 5px 0px 8px; overflow-x: auto;&quot;&gt;&lt;div class=&quot;legacy&quot; style=&quot;white-space: pre-line;&quot;&gt;I have to put:  mail_location = mbox:~/mail:INBOX=/var/mail/%u  at the end of &quot;dovecot.conf&quot;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-actions&quot;&gt;&lt;div class=&quot;comment-actions&quot; style=&quot;display: inline-block; min-height: 32px;&quot;&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;comment-moderation-actions&quot; style=&quot;display: inline-block; min-height: 32px; vertical-align: top;&quot;&gt;&lt;ul class=&quot;comment-moderation-actions-list &quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;clear&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;response-comments&quot; style=&quot;padding-left: 25px;&quot;&gt;&lt;div class=&quot;response_comment commentable comment&quot; id=&quot;response_comment_6598&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments&quot; style=&quot;box-sizing: border-box; clear: left; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 720px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;reply_anchor_comment_6598&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;comment-container&quot; data-level=&quot;0&quot; id=&quot;comment_6606&quot; style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;div class=&quot;response comment-body-container    &quot; data-highlight=&quot;&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229); box-sizing: border-box; list-style-type: none; margin: 0px; overflow-x: auto; padding: 10px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;div class=&quot;comment-upvote-container &quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;6606&quot; data-upvotable-type=&quot;Comment&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: initial; border-width: 0px; color: #cacaca; cursor: pointer; float: left; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 8px 13px 0px 0px; overflow: visible; padding: 0px; width: auto;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 1.25em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;0&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ox-auto&quot; style=&quot;overflow-x: auto;&quot;&gt;&lt;div class=&quot;comment-header&quot; style=&quot;position: relative;&quot;&gt;&lt;span class=&quot;response-name&quot; style=&quot;font-size: 16px; font-weight: 600;&quot;&gt;&lt;a class=&quot;username&quot; href=&quot;https://www.digitalocean.com/community/users/l-erlacher-do&quot; style=&quot;background-color: transparent; color: #0080ff; font-size: 13px; font-weight: 400; text-decoration-line: none;&quot;&gt;l.erlacher+do&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;response-time&quot; style=&quot;color: #999999; font-size: 13px; font-style: italic; margin-left: 4px;&quot;&gt;&lt;a class=&quot;post-time-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot?comment=6606&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;November 17, 2013&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;response-body content-body&quot; style=&quot;color: #3a3a3a; font-size: 16px; margin: 5px 0px 8px; overflow-x: auto;&quot;&gt;&lt;div class=&quot;legacy&quot; style=&quot;white-space: pre-line;&quot;&gt;Thanks for the note. I don&#39;t have that set, that&#39;s weird - I&#39;ll do some testing and check it out!&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-actions&quot;&gt;&lt;div class=&quot;comment-actions&quot; style=&quot;display: inline-block; min-height: 32px;&quot;&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;comment-moderation-actions&quot; style=&quot;display: inline-block; min-height: 32px; vertical-align: top;&quot;&gt;&lt;ul class=&quot;comment-moderation-actions-list &quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;clear&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;response-comments&quot; style=&quot;padding-left: 25px;&quot;&gt;&lt;div class=&quot;response_comment commentable comment&quot; id=&quot;response_comment_6606&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments&quot; style=&quot;box-sizing: border-box; clear: left; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 720px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;reply_anchor_comment_6606&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;comment-container&quot; data-level=&quot;0&quot; id=&quot;comment_6607&quot; style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;div class=&quot;response comment-body-container    &quot; data-highlight=&quot;&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229); box-sizing: border-box; list-style-type: none; margin: 0px; overflow-x: auto; padding: 10px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;div class=&quot;comment-upvote-container &quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;6607&quot; data-upvotable-type=&quot;Comment&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: initial; border-width: 0px; color: #cacaca; cursor: pointer; float: left; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 8px 13px 0px 0px; overflow: visible; padding: 0px; width: auto;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 1.25em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;0&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ox-auto&quot; style=&quot;overflow-x: auto;&quot;&gt;&lt;div class=&quot;comment-header&quot; style=&quot;position: relative;&quot;&gt;&lt;span class=&quot;response-name&quot; style=&quot;font-size: 16px; font-weight: 600;&quot;&gt;&lt;a class=&quot;username&quot; href=&quot;https://www.digitalocean.com/community/users/l-erlacher-do&quot; style=&quot;background-color: transparent; color: #0080ff; font-size: 13px; font-weight: 400; text-decoration-line: none;&quot;&gt;l.erlacher+do&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;response-time&quot; style=&quot;color: #999999; font-size: 13px; font-style: italic; margin-left: 4px;&quot;&gt;&lt;a class=&quot;post-time-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot?comment=6607&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;November 17, 2013&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;response-body content-body&quot; style=&quot;color: #3a3a3a; font-size: 16px; margin: 5px 0px 8px; overflow-x: auto;&quot;&gt;&lt;div class=&quot;legacy&quot; style=&quot;white-space: pre-line;&quot;&gt;It appears you are correct - I&#39;ll try to get that fixed in the article!&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-actions&quot;&gt;&lt;div class=&quot;comment-actions&quot; style=&quot;display: inline-block; min-height: 32px;&quot;&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;comment-moderation-actions&quot; style=&quot;display: inline-block; min-height: 32px; vertical-align: top;&quot;&gt;&lt;ul class=&quot;comment-moderation-actions-list &quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;clear&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;response-comments&quot; style=&quot;padding-left: 25px;&quot;&gt;&lt;div class=&quot;response_comment commentable comment&quot; id=&quot;response_comment_6607&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments&quot; style=&quot;box-sizing: border-box; clear: left; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 720px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;reply_anchor_comment_6607&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;comment-container&quot; data-level=&quot;0&quot; id=&quot;comment_6621&quot; style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;div class=&quot;response comment-body-container    &quot; data-highlight=&quot;&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229); box-sizing: border-box; list-style-type: none; margin: 0px; overflow-x: auto; padding: 10px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;div class=&quot;comment-upvote-container &quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;6621&quot; data-upvotable-type=&quot;Comment&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: initial; border-width: 0px; color: #cacaca; cursor: pointer; float: left; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 8px 13px 0px 0px; overflow: visible; padding: 0px; width: auto;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 1.25em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;0&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ox-auto&quot; style=&quot;overflow-x: auto;&quot;&gt;&lt;div class=&quot;comment-header&quot; style=&quot;position: relative;&quot;&gt;&lt;span class=&quot;response-name&quot; style=&quot;font-size: 16px; font-weight: 600;&quot;&gt;&lt;a class=&quot;username&quot; href=&quot;https://www.digitalocean.com/community/users/kamaln7&quot; style=&quot;background-color: transparent; color: #0080ff; font-size: 13px; font-weight: 400; text-decoration-line: none;&quot;&gt;kamaln7&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;mod-badge&quot; style=&quot;background-color: #0069ff; border-radius: 4px; color: white; font-size: 10px; font-weight: 600; margin-left: 2px; margin-right: 2px; padding: 2px 3px 1px; vertical-align: middle;&quot;&gt;MOD&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;response-time&quot; style=&quot;color: #999999; font-size: 13px; font-style: italic; margin-left: 4px;&quot;&gt;&lt;a class=&quot;post-time-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot?comment=6621&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;November 17, 2013&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;response-body content-body&quot; style=&quot;color: #3a3a3a; font-size: 16px; margin: 5px 0px 8px; overflow-x: auto;&quot;&gt;&lt;div class=&quot;legacy&quot; style=&quot;white-space: pre-line;&quot;&gt;@Lukas, ethno-urban: Thanks, I&#39;ve updated the article :]&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-actions&quot;&gt;&lt;div class=&quot;comment-actions&quot; style=&quot;display: inline-block; min-height: 32px;&quot;&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;comment-moderation-actions&quot; style=&quot;display: inline-block; min-height: 32px; vertical-align: top;&quot;&gt;&lt;ul class=&quot;comment-moderation-actions-list &quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;clear&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;response-comments&quot; style=&quot;padding-left: 25px;&quot;&gt;&lt;div class=&quot;response_comment commentable comment&quot; id=&quot;response_comment_6621&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments&quot; style=&quot;box-sizing: border-box; clear: left; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 720px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;reply_anchor_comment_6621&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;comment-container&quot; data-level=&quot;0&quot; id=&quot;comment_6639&quot; style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;div class=&quot;response comment-body-container    &quot; data-highlight=&quot;&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229); box-sizing: border-box; list-style-type: none; margin: 0px; overflow-x: auto; padding: 10px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;div class=&quot;comment-upvote-container &quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;6639&quot; data-upvotable-type=&quot;Comment&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: initial; border-width: 0px; color: #cacaca; cursor: pointer; float: left; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 8px 13px 0px 0px; overflow: visible; padding: 0px; width: auto;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 1.25em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;0&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ox-auto&quot; style=&quot;overflow-x: auto;&quot;&gt;&lt;div class=&quot;comment-header&quot; style=&quot;position: relative;&quot;&gt;&lt;span class=&quot;response-name&quot; style=&quot;font-size: 16px; font-weight: 600;&quot;&gt;&lt;a class=&quot;username&quot; href=&quot;https://www.digitalocean.com/community/users/pauldavidmena&quot; style=&quot;background-color: transparent; color: #0080ff; font-size: 13px; font-weight: 400; text-decoration-line: none;&quot;&gt;pauldavidmena&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;response-time&quot; style=&quot;color: #999999; font-size: 13px; font-style: italic; margin-left: 4px;&quot;&gt;&lt;a class=&quot;post-time-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot?comment=6639&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;November 17, 2013&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;response-body content-body&quot; style=&quot;color: #3a3a3a; font-size: 16px; margin: 5px 0px 8px; overflow-x: auto;&quot;&gt;&lt;div class=&quot;legacy&quot; style=&quot;white-space: pre-line;&quot;&gt;Just tested this out on my Droplet and it all worked on the first try! Thanks for the detailed instructions.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-actions&quot;&gt;&lt;div class=&quot;comment-actions&quot; style=&quot;display: inline-block; min-height: 32px;&quot;&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;comment-moderation-actions&quot; style=&quot;display: inline-block; min-height: 32px; vertical-align: top;&quot;&gt;&lt;ul class=&quot;comment-moderation-actions-list &quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;clear&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;response-comments&quot; style=&quot;padding-left: 25px;&quot;&gt;&lt;div class=&quot;response_comment commentable comment&quot; id=&quot;response_comment_6639&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments&quot; style=&quot;box-sizing: border-box; clear: left; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 720px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;reply_anchor_comment_6639&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;comment-container&quot; data-level=&quot;0&quot; id=&quot;comment_6696&quot; style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;div class=&quot;response comment-body-container    &quot; data-highlight=&quot;&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229); box-sizing: border-box; list-style-type: none; margin: 0px; overflow-x: auto; padding: 10px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;div class=&quot;comment-upvote-container &quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;6696&quot; data-upvotable-type=&quot;Comment&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: initial; border-width: 0px; color: #cacaca; cursor: pointer; float: left; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 8px 13px 0px 0px; overflow: visible; padding: 0px; width: auto;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 1.25em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;0&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ox-auto&quot; style=&quot;overflow-x: auto;&quot;&gt;&lt;div class=&quot;comment-header&quot; style=&quot;position: relative;&quot;&gt;&lt;span class=&quot;response-name&quot; style=&quot;font-size: 16px; font-weight: 600;&quot;&gt;&lt;a class=&quot;username&quot; href=&quot;https://www.digitalocean.com/community/users/haprog&quot; style=&quot;background-color: transparent; color: #0080ff; font-size: 13px; font-weight: 400; text-decoration-line: none;&quot;&gt;haprog&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;response-time&quot; style=&quot;color: #999999; font-size: 13px; font-style: italic; margin-left: 4px;&quot;&gt;&lt;a class=&quot;post-time-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot?comment=6696&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;November 19, 2013&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;response-body content-body&quot; style=&quot;color: #3a3a3a; font-size: 16px; margin: 5px 0px 8px; overflow-x: auto;&quot;&gt;&lt;div class=&quot;legacy&quot; style=&quot;white-space: pre-line;&quot;&gt;Thanks! Now I finally have a self configured mail server up. :)&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-actions&quot;&gt;&lt;div class=&quot;comment-actions&quot; style=&quot;display: inline-block; min-height: 32px;&quot;&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;comment-moderation-actions&quot; style=&quot;display: inline-block; min-height: 32px; vertical-align: top;&quot;&gt;&lt;ul class=&quot;comment-moderation-actions-list &quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;clear&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;response-comments&quot; style=&quot;padding-left: 25px;&quot;&gt;&lt;div class=&quot;response_comment commentable comment&quot; id=&quot;response_comment_6696&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments&quot; style=&quot;box-sizing: border-box; clear: left; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 720px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;reply_anchor_comment_6696&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;comment-container&quot; data-level=&quot;0&quot; id=&quot;comment_6701&quot; style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;div class=&quot;response comment-body-container    &quot; data-highlight=&quot;&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229); box-sizing: border-box; list-style-type: none; margin: 0px; overflow-x: auto; padding: 10px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;div class=&quot;comment-upvote-container &quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;6701&quot; data-upvotable-type=&quot;Comment&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: initial; border-width: 0px; color: #cacaca; cursor: pointer; float: left; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 8px 13px 0px 0px; overflow: visible; padding: 0px; width: auto;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 1.25em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;0&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ox-auto&quot; style=&quot;overflow-x: auto;&quot;&gt;&lt;div class=&quot;comment-header&quot; style=&quot;position: relative;&quot;&gt;&lt;span class=&quot;response-name&quot; style=&quot;font-size: 16px; font-weight: 600;&quot;&gt;&lt;a class=&quot;username&quot; href=&quot;https://www.digitalocean.com/community/users/dan106525&quot; style=&quot;background-color: transparent; color: #0080ff; font-size: 13px; font-weight: 400; text-decoration-line: none;&quot;&gt;dan106525&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;response-time&quot; style=&quot;color: #999999; font-size: 13px; font-style: italic; margin-left: 4px;&quot;&gt;&lt;a class=&quot;post-time-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot?comment=6701&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;November 19, 2013&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;response-body content-body&quot; style=&quot;color: #3a3a3a; font-size: 16px; margin: 5px 0px 8px; overflow-x: auto;&quot;&gt;&lt;div class=&quot;legacy&quot; style=&quot;white-space: pre-line;&quot;&gt;Is there any GUI for setting up new mail accounts so anyone don&#39;t need to enter ssh for account creation?&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-actions&quot;&gt;&lt;div class=&quot;comment-actions&quot; style=&quot;display: inline-block; min-height: 32px;&quot;&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;comment-moderation-actions&quot; style=&quot;display: inline-block; min-height: 32px; vertical-align: top;&quot;&gt;&lt;ul class=&quot;comment-moderation-actions-list &quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;clear&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;response-comments&quot; style=&quot;padding-left: 25px;&quot;&gt;&lt;div class=&quot;response_comment commentable comment&quot; id=&quot;response_comment_6701&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments&quot; style=&quot;box-sizing: border-box; clear: left; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 720px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;reply_anchor_comment_6701&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;comment-container&quot; data-level=&quot;0&quot; id=&quot;comment_6702&quot; style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;div class=&quot;response comment-body-container    &quot; data-highlight=&quot;&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229); box-sizing: border-box; list-style-type: none; margin: 0px; overflow-x: auto; padding: 10px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;div class=&quot;comment-upvote-container &quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;6702&quot; data-upvotable-type=&quot;Comment&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: initial; border-width: 0px; color: #cacaca; cursor: pointer; float: left; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 8px 13px 0px 0px; overflow: visible; padding: 0px; width: auto;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 1.25em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;0&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ox-auto&quot; style=&quot;overflow-x: auto;&quot;&gt;&lt;div class=&quot;comment-header&quot; style=&quot;position: relative;&quot;&gt;&lt;span class=&quot;response-name&quot; style=&quot;font-size: 16px; font-weight: 600;&quot;&gt;&lt;a class=&quot;username&quot; href=&quot;https://www.digitalocean.com/community/users/l-erlacher-do&quot; style=&quot;background-color: transparent; color: #0080ff; font-size: 13px; font-weight: 400; text-decoration-line: none;&quot;&gt;l.erlacher+do&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;response-time&quot; style=&quot;color: #999999; font-size: 13px; font-style: italic; margin-left: 4px;&quot;&gt;&lt;a class=&quot;post-time-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot?comment=6702&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;November 19, 2013&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;response-body content-body&quot; style=&quot;color: #3a3a3a; font-size: 16px; margin: 5px 0px 8px; overflow-x: auto;&quot;&gt;&lt;div class=&quot;legacy&quot; style=&quot;white-space: pre-line;&quot;&gt;No - in this setup, mail accounts are directly tied to system users. I am working on a follow-up article to allow adding users to a database!&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-actions&quot;&gt;&lt;div class=&quot;comment-actions&quot; style=&quot;display: inline-block; min-height: 32px;&quot;&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;comment-moderation-actions&quot; style=&quot;display: inline-block; min-height: 32px; vertical-align: top;&quot;&gt;&lt;ul class=&quot;comment-moderation-actions-list &quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;clear&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;response-comments&quot; style=&quot;padding-left: 25px;&quot;&gt;&lt;div class=&quot;response_comment commentable comment&quot; id=&quot;response_comment_6702&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments&quot; style=&quot;box-sizing: border-box; clear: left; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 720px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;reply_anchor_comment_6702&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;comment-container&quot; data-level=&quot;0&quot; id=&quot;comment_6717&quot; style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;div class=&quot;response comment-body-container    &quot; data-highlight=&quot;&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229); box-sizing: border-box; list-style-type: none; margin: 0px; overflow-x: auto; padding: 10px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;div class=&quot;comment-upvote-container &quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;6717&quot; data-upvotable-type=&quot;Comment&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: initial; border-width: 0px; color: #cacaca; cursor: pointer; float: left; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 8px 13px 0px 0px; overflow: visible; padding: 0px; width: auto;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 1.25em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;0&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ox-auto&quot; style=&quot;overflow-x: auto;&quot;&gt;&lt;div class=&quot;comment-header&quot; style=&quot;position: relative;&quot;&gt;&lt;span class=&quot;response-name&quot; style=&quot;font-size: 16px; font-weight: 600;&quot;&gt;&lt;a class=&quot;username&quot; href=&quot;https://www.digitalocean.com/community/users/cyborg101010&quot; style=&quot;background-color: transparent; color: #0080ff; font-size: 13px; font-weight: 400; text-decoration-line: none;&quot;&gt;cyborg101010&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;response-time&quot; style=&quot;color: #999999; font-size: 13px; font-style: italic; margin-left: 4px;&quot;&gt;&lt;a class=&quot;post-time-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot?comment=6717&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;November 20, 2013&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;response-body content-body&quot; style=&quot;color: #3a3a3a; font-size: 16px; margin: 5px 0px 8px; overflow-x: auto;&quot;&gt;&lt;div class=&quot;legacy&quot; style=&quot;white-space: pre-line;&quot;&gt;Hi, For SMTP, should I use smtp.yourdomain.com, or mail.yourdomain.com?  I can send mail from the server fine now, just not from a remote location.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-actions&quot;&gt;&lt;div class=&quot;comment-actions&quot; style=&quot;display: inline-block; min-height: 32px;&quot;&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;comment-moderation-actions&quot; style=&quot;display: inline-block; min-height: 32px; vertical-align: top;&quot;&gt;&lt;ul class=&quot;comment-moderation-actions-list &quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;clear&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;response-comments&quot; style=&quot;padding-left: 25px;&quot;&gt;&lt;div class=&quot;response_comment commentable comment&quot; id=&quot;response_comment_6717&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments&quot; style=&quot;box-sizing: border-box; clear: left; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 720px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;reply_anchor_comment_6717&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;comment-container&quot; data-level=&quot;0&quot; id=&quot;comment_6741&quot; style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;div class=&quot;response comment-body-container    &quot; data-highlight=&quot;&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229); box-sizing: border-box; list-style-type: none; margin: 0px; overflow-x: auto; padding: 10px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;div class=&quot;comment-upvote-container &quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;6741&quot; data-upvotable-type=&quot;Comment&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: initial; border-width: 0px; color: #cacaca; cursor: pointer; float: left; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 8px 13px 0px 0px; overflow: visible; padding: 0px; width: auto;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 1.25em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;0&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ox-auto&quot; style=&quot;overflow-x: auto;&quot;&gt;&lt;div class=&quot;comment-header&quot; style=&quot;position: relative;&quot;&gt;&lt;span class=&quot;response-name&quot; style=&quot;font-size: 16px; font-weight: 600;&quot;&gt;&lt;a class=&quot;username&quot; href=&quot;https://www.digitalocean.com/community/users/l-erlacher-do&quot; style=&quot;background-color: transparent; color: #0080ff; font-size: 13px; font-weight: 400; text-decoration-line: none;&quot;&gt;l.erlacher+do&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;response-time&quot; style=&quot;color: #999999; font-size: 13px; font-style: italic; margin-left: 4px;&quot;&gt;&lt;a class=&quot;post-time-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot?comment=6741&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;November 20, 2013&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;response-body content-body&quot; style=&quot;color: #3a3a3a; font-size: 16px; margin: 5px 0px 8px; overflow-x: auto;&quot;&gt;&lt;div class=&quot;legacy&quot; style=&quot;white-space: pre-line;&quot;&gt;Postfix is running smtp directly on the mail server you configured, so at &#39;mail.yourdomain.com&#39;. It will accept mail for delivery to **local** mail addresses via standard smtp on port 25, and it will receive mail for delivery to **any** mail addresses via authenticated, encrypted submission server (which is also smtp, postfix just calls it submission) on port 587. Make sure that your mail client uses port 587 with plain password auth and starttls.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-actions&quot;&gt;&lt;div class=&quot;comment-actions&quot; style=&quot;display: inline-block; min-height: 32px;&quot;&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;comment-moderation-actions&quot; style=&quot;display: inline-block; min-height: 32px; vertical-align: top;&quot;&gt;&lt;ul class=&quot;comment-moderation-actions-list &quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;clear&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;response-comments&quot; style=&quot;padding-left: 25px;&quot;&gt;&lt;div class=&quot;response_comment commentable comment&quot; id=&quot;response_comment_6741&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments&quot; style=&quot;box-sizing: border-box; clear: left; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 720px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;reply_anchor_comment_6741&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;comment-container&quot; data-level=&quot;0&quot; id=&quot;comment_6763&quot; style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;div class=&quot;response comment-body-container    &quot; data-highlight=&quot;&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229); box-sizing: border-box; list-style-type: none; margin: 0px; overflow-x: auto; padding: 10px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;div class=&quot;comment-upvote-container &quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;6763&quot; data-upvotable-type=&quot;Comment&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: initial; border-width: 0px; color: #cacaca; cursor: pointer; float: left; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 8px 13px 0px 0px; overflow: visible; padding: 0px; width: auto;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 1.25em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;0&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ox-auto&quot; style=&quot;overflow-x: auto;&quot;&gt;&lt;div class=&quot;comment-header&quot; style=&quot;position: relative;&quot;&gt;&lt;span class=&quot;response-name&quot; style=&quot;font-size: 16px; font-weight: 600;&quot;&gt;&lt;a class=&quot;username&quot; href=&quot;https://www.digitalocean.com/community/users/mkhitar-mikaelyan&quot; style=&quot;background-color: transparent; color: #0080ff; font-size: 13px; font-weight: 400; text-decoration-line: none;&quot;&gt;mkhitar.mikaelyan&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;response-time&quot; style=&quot;color: #999999; font-size: 13px; font-style: italic; margin-left: 4px;&quot;&gt;&lt;a class=&quot;post-time-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot?comment=6763&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;November 21, 2013&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;response-body content-body&quot; style=&quot;color: #3a3a3a; font-size: 16px; margin: 5px 0px 8px; overflow-x: auto;&quot;&gt;&lt;div class=&quot;legacy&quot; style=&quot;white-space: pre-line;&quot;&gt;Great tutorial.  I have just one issue. I can send with &#39;sendmail somebody@gmail.com&#39;, but with &#39;mail somebody@gmail.com&#39; -&amp;gt; -bash: mail: command not found. I am root user.  Could you help me with this?  &lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-actions&quot;&gt;&lt;div class=&quot;comment-actions&quot; style=&quot;display: inline-block; min-height: 32px;&quot;&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;comment-moderation-actions&quot; style=&quot;display: inline-block; min-height: 32px; vertical-align: top;&quot;&gt;&lt;ul class=&quot;comment-moderation-actions-list &quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;clear&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;response-comments&quot; style=&quot;padding-left: 25px;&quot;&gt;&lt;div class=&quot;response_comment commentable comment&quot; id=&quot;response_comment_6763&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments&quot; style=&quot;box-sizing: border-box; clear: left; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 720px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;reply_anchor_comment_6763&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;comment-container&quot; data-level=&quot;0&quot; id=&quot;comment_6770&quot; style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;div class=&quot;response comment-body-container    &quot; data-highlight=&quot;&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229); box-sizing: border-box; list-style-type: none; margin: 0px; overflow-x: auto; padding: 10px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;div class=&quot;comment-upvote-container &quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;6770&quot; data-upvotable-type=&quot;Comment&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: initial; border-width: 0px; color: #cacaca; cursor: pointer; float: left; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 8px 13px 0px 0px; overflow: visible; padding: 0px; width: auto;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 1.25em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;0&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ox-auto&quot; style=&quot;overflow-x: auto;&quot;&gt;&lt;div class=&quot;comment-header&quot; style=&quot;position: relative;&quot;&gt;&lt;span class=&quot;response-name&quot; style=&quot;font-size: 16px; font-weight: 600;&quot;&gt;&lt;a class=&quot;username&quot; href=&quot;https://www.digitalocean.com/community/users/alexandru-vladoiu&quot; style=&quot;background-color: transparent; color: #0080ff; font-size: 13px; font-weight: 400; text-decoration-line: none;&quot;&gt;alexandru.vladoiu&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;response-time&quot; style=&quot;color: #999999; font-size: 13px; font-style: italic; margin-left: 4px;&quot;&gt;&lt;a class=&quot;post-time-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot?comment=6770&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;November 22, 2013&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;response-body content-body&quot; style=&quot;color: #3a3a3a; font-size: 16px; margin: 5px 0px 8px; overflow-x: auto;&quot;&gt;&lt;div class=&quot;legacy&quot; style=&quot;white-space: pre-line;&quot;&gt;I&#39;m trying to setup a simple mail server on a debian vps with postfix and dovecot.  I can send and receive email from the server via mutt but when i try to connect to IMAP via Thunderbird for example, it does not work:  Nov 22 11:45:22 localhost dovecot: imap-login: Fatal: Can&#39;t load ssl_cert: The file contains a private key (you&#39;ve mixed ssl_cert and ssl_key settings)  Nov 22 11:45:22 localhost dovecot: master: Error: service(imap-login): command startup failed, throttling for 16 secs  Extract from main.cf postifx file:  smtpd_tls_cert_file = /etc/ssl/private/dovecot.pem  smtpd_tls_key_file = /etc/ssl/private/dovecot.key  smtpd_use_tls=yes  smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache  smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache  smtpd_tls_security_level=may  smtpd_tls_protocols = !SSLv2, !SSLv3  Extract from dovecot.conf: protocols = &quot;imap&quot;  protocol imap { mail_plugins = &quot; autocreate&quot; } plugin { autocreate = Trash autocreate2 = Sent autosubscribe = Trash autosubscribe2 = Sent } service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } } ssl=required ssl_cert =&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-actions&quot;&gt;&lt;div class=&quot;comment-actions&quot; style=&quot;display: inline-block; min-height: 32px;&quot;&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;comment-moderation-actions&quot; style=&quot;display: inline-block; min-height: 32px; vertical-align: top;&quot;&gt;&lt;ul class=&quot;comment-moderation-actions-list &quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;clear&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;response-comments&quot; style=&quot;padding-left: 25px;&quot;&gt;&lt;div class=&quot;response_comment commentable comment&quot; id=&quot;response_comment_6770&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments&quot; style=&quot;box-sizing: border-box; clear: left; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 720px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;reply_anchor_comment_6770&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;comment-container&quot; data-level=&quot;0&quot; id=&quot;comment_6775&quot; style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;div class=&quot;response comment-body-container    &quot; data-highlight=&quot;&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229); box-sizing: border-box; list-style-type: none; margin: 0px; overflow-x: auto; padding: 10px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;div class=&quot;comment-upvote-container &quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;6775&quot; data-upvotable-type=&quot;Comment&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: initial; border-width: 0px; color: #cacaca; cursor: pointer; float: left; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 8px 13px 0px 0px; overflow: visible; padding: 0px; width: auto;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 1.25em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;0&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ox-auto&quot; style=&quot;overflow-x: auto;&quot;&gt;&lt;div class=&quot;comment-header&quot; style=&quot;position: relative;&quot;&gt;&lt;span class=&quot;response-name&quot; style=&quot;font-size: 16px; font-weight: 600;&quot;&gt;&lt;a class=&quot;username&quot; href=&quot;https://www.digitalocean.com/community/users/kamaln7&quot; style=&quot;background-color: transparent; color: #0080ff; font-size: 13px; font-weight: 400; text-decoration-line: none;&quot;&gt;kamaln7&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;mod-badge&quot; style=&quot;background-color: #0069ff; border-radius: 4px; color: white; font-size: 10px; font-weight: 600; margin-left: 2px; margin-right: 2px; padding: 2px 3px 1px; vertical-align: middle;&quot;&gt;MOD&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;response-time&quot; style=&quot;color: #999999; font-size: 13px; font-style: italic; margin-left: 4px;&quot;&gt;&lt;a class=&quot;post-time-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot?comment=6775&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;November 22, 2013&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;response-body content-body&quot; style=&quot;color: #3a3a3a; font-size: 16px; margin: 5px 0px 8px; overflow-x: auto;&quot;&gt;&lt;div class=&quot;legacy&quot; style=&quot;white-space: pre-line;&quot;&gt;@mkhitar.mikaelyan: Run&lt;pre style=&quot;background-color: rgba(0, 0, 0, 0.05); border-radius: 3px; box-sizing: border-box; font-family: monospace, monospace; font-size: 14px; margin-bottom: 24px; margin-top: 28px; overflow: auto !important; padding: 13px 17px; word-wrap: normal;&quot;&gt;sudo apt-get install mailutils&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-actions&quot;&gt;&lt;div class=&quot;comment-actions&quot; style=&quot;display: inline-block; min-height: 32px;&quot;&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;comment-moderation-actions&quot; style=&quot;display: inline-block; min-height: 32px; vertical-align: top;&quot;&gt;&lt;ul class=&quot;comment-moderation-actions-list &quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;clear&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;response-comments&quot; style=&quot;padding-left: 25px;&quot;&gt;&lt;div class=&quot;response_comment commentable comment&quot; id=&quot;response_comment_6775&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments&quot; style=&quot;box-sizing: border-box; clear: left; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 720px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;reply_anchor_comment_6775&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;comment-container&quot; data-level=&quot;0&quot; id=&quot;comment_6779&quot; style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;div class=&quot;response comment-body-container    &quot; data-highlight=&quot;&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229); box-sizing: border-box; list-style-type: none; margin: 0px; overflow-x: auto; padding: 10px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;div class=&quot;comment-upvote-container &quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;6779&quot; data-upvotable-type=&quot;Comment&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: initial; border-width: 0px; color: #cacaca; cursor: pointer; float: left; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 8px 13px 0px 0px; overflow: visible; padding: 0px; width: auto;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 1.25em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;0&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ox-auto&quot; style=&quot;overflow-x: auto;&quot;&gt;&lt;div class=&quot;comment-header&quot; style=&quot;position: relative;&quot;&gt;&lt;span class=&quot;response-name&quot; style=&quot;font-size: 16px; font-weight: 600;&quot;&gt;&lt;a class=&quot;username&quot; href=&quot;https://www.digitalocean.com/community/users/kamaln7&quot; style=&quot;background-color: transparent; color: #0080ff; font-size: 13px; font-weight: 400; text-decoration-line: none;&quot;&gt;kamaln7&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;mod-badge&quot; style=&quot;background-color: #0069ff; border-radius: 4px; color: white; font-size: 10px; font-weight: 600; margin-left: 2px; margin-right: 2px; padding: 2px 3px 1px; vertical-align: middle;&quot;&gt;MOD&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;response-time&quot; style=&quot;color: #999999; font-size: 13px; font-style: italic; margin-left: 4px;&quot;&gt;&lt;a class=&quot;post-time-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot?comment=6779&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;November 22, 2013&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;response-body content-body&quot; style=&quot;color: #3a3a3a; font-size: 16px; margin: 5px 0px 8px; overflow-x: auto;&quot;&gt;&lt;div class=&quot;legacy&quot; style=&quot;white-space: pre-line;&quot;&gt;@alexandru.vladoiu:&lt;blockquote style=&quot;border-left: 4px solid rgba(0, 0, 0, 0.08); color: #666666; font-size: 18px; margin: 0px 0px 20px 28px; padding: 0px 0px 0px 33px;&quot;&gt;Nov 22 11:45:22 localhost dovecot: imap-login: Fatal: Can&#39;t load ssl_cert: The file contains a private key (you&#39;ve mixed ssl_cert and ssl_key settings)&lt;/blockquote&gt;The SSL file you configured dovecot to use is invalid.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-actions&quot;&gt;&lt;div class=&quot;comment-actions&quot; style=&quot;display: inline-block; min-height: 32px;&quot;&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;comment-moderation-actions&quot; style=&quot;display: inline-block; min-height: 32px; vertical-align: top;&quot;&gt;&lt;ul class=&quot;comment-moderation-actions-list &quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;clear&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;response-comments&quot; style=&quot;padding-left: 25px;&quot;&gt;&lt;div class=&quot;response_comment commentable comment&quot; id=&quot;response_comment_6779&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments&quot; style=&quot;box-sizing: border-box; clear: left; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 720px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;reply_anchor_comment_6779&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;comment-container&quot; data-level=&quot;0&quot; id=&quot;comment_6818&quot; style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;div class=&quot;response comment-body-container    &quot; data-highlight=&quot;&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229); box-sizing: border-box; list-style-type: none; margin: 0px; overflow-x: auto; padding: 10px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;div class=&quot;comment-upvote-container &quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;6818&quot; data-upvotable-type=&quot;Comment&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: initial; border-width: 0px; color: #cacaca; cursor: pointer; float: left; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 8px 13px 0px 0px; overflow: visible; padding: 0px; width: auto;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 1.25em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;0&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ox-auto&quot; style=&quot;overflow-x: auto;&quot;&gt;&lt;div class=&quot;comment-header&quot; style=&quot;position: relative;&quot;&gt;&lt;span class=&quot;response-name&quot; style=&quot;font-size: 16px; font-weight: 600;&quot;&gt;&lt;a class=&quot;username&quot; href=&quot;https://www.digitalocean.com/community/users/paulo&quot; style=&quot;background-color: transparent; color: #0080ff; font-size: 13px; font-weight: 400; text-decoration-line: none;&quot;&gt;paulo&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;response-time&quot; style=&quot;color: #999999; font-size: 13px; font-style: italic; margin-left: 4px;&quot;&gt;&lt;a class=&quot;post-time-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot?comment=6818&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;November 25, 2013&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;response-body content-body&quot; style=&quot;color: #3a3a3a; font-size: 16px; margin: 5px 0px 8px; overflow-x: auto;&quot;&gt;&lt;div class=&quot;legacy&quot; style=&quot;white-space: pre-line;&quot;&gt;When can we find part 2 and 3? Cheers,&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-actions&quot;&gt;&lt;div class=&quot;comment-actions&quot; style=&quot;display: inline-block; min-height: 32px;&quot;&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;comment-moderation-actions&quot; style=&quot;display: inline-block; min-height: 32px; vertical-align: top;&quot;&gt;&lt;ul class=&quot;comment-moderation-actions-list &quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;clear&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;response-comments&quot; style=&quot;padding-left: 25px;&quot;&gt;&lt;div class=&quot;response_comment commentable comment&quot; id=&quot;response_comment_6818&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments&quot; style=&quot;box-sizing: border-box; clear: left; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 720px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;reply_anchor_comment_6818&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;comment-container&quot; data-level=&quot;0&quot; id=&quot;comment_6858&quot; style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;div class=&quot;response comment-body-container    &quot; data-highlight=&quot;&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229); box-sizing: border-box; list-style-type: none; margin: 0px; overflow-x: auto; padding: 10px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;div class=&quot;comment-upvote-container &quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;6858&quot; data-upvotable-type=&quot;Comment&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: initial; border-width: 0px; color: #cacaca; cursor: pointer; float: left; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 8px 13px 0px 0px; overflow: visible; padding: 0px; width: auto;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 1.25em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;0&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ox-auto&quot; style=&quot;overflow-x: auto;&quot;&gt;&lt;div class=&quot;comment-header&quot; style=&quot;position: relative;&quot;&gt;&lt;span class=&quot;response-name&quot; style=&quot;font-size: 16px; font-weight: 600;&quot;&gt;&lt;a class=&quot;username&quot; href=&quot;https://www.digitalocean.com/community/users/alifaziz&quot; style=&quot;background-color: transparent; color: #0080ff; font-size: 13px; font-weight: 400; text-decoration-line: none;&quot;&gt;alifaziz&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;response-time&quot; style=&quot;color: #999999; font-size: 13px; font-style: italic; margin-left: 4px;&quot;&gt;&lt;a class=&quot;post-time-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot?comment=6858&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;November 26, 2013&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;response-body content-body&quot; style=&quot;color: #3a3a3a; font-size: 16px; margin: 5px 0px 8px; overflow-x: auto;&quot;&gt;&lt;div class=&quot;legacy&quot; style=&quot;white-space: pre-line;&quot;&gt;I have this error on Thunderbird setup,   dovecot: auth: Fatal: No passdbs specified in configuration file. PLAIN mechanism needs one  What probably went wrong?  Thanks!&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-actions&quot;&gt;&lt;div class=&quot;comment-actions&quot; style=&quot;display: inline-block; min-height: 32px;&quot;&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;comment-moderation-actions&quot; style=&quot;display: inline-block; min-height: 32px; vertical-align: top;&quot;&gt;&lt;ul class=&quot;comment-moderation-actions-list &quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;clear&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;response-comments&quot; style=&quot;padding-left: 25px;&quot;&gt;&lt;div class=&quot;response_comment commentable comment&quot; id=&quot;response_comment_6858&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments&quot; style=&quot;box-sizing: border-box; clear: left; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 720px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;reply_anchor_comment_6858&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;comment-container&quot; data-level=&quot;0&quot; id=&quot;comment_6934&quot; style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;div class=&quot;response comment-body-container    &quot; data-highlight=&quot;&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229); box-sizing: border-box; list-style-type: none; margin: 0px; overflow-x: auto; padding: 10px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;div class=&quot;comment-upvote-container &quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;6934&quot; data-upvotable-type=&quot;Comment&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: initial; border-width: 0px; color: #cacaca; cursor: pointer; float: left; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 8px 13px 0px 0px; overflow: visible; padding: 0px; width: auto;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 1.25em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;0&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ox-auto&quot; style=&quot;overflow-x: auto;&quot;&gt;&lt;div class=&quot;comment-header&quot; style=&quot;position: relative;&quot;&gt;&lt;span class=&quot;response-name&quot; style=&quot;font-size: 16px; font-weight: 600;&quot;&gt;&lt;a class=&quot;username&quot; href=&quot;https://www.digitalocean.com/community/users/kamaln7&quot; style=&quot;background-color: transparent; color: #0080ff; font-size: 13px; font-weight: 400; text-decoration-line: none;&quot;&gt;kamaln7&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;mod-badge&quot; style=&quot;background-color: #0069ff; border-radius: 4px; color: white; font-size: 10px; font-weight: 600; margin-left: 2px; margin-right: 2px; padding: 2px 3px 1px; vertical-align: middle;&quot;&gt;MOD&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;response-time&quot; style=&quot;color: #999999; font-size: 13px; font-style: italic; margin-left: 4px;&quot;&gt;&lt;a class=&quot;post-time-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot?comment=6934&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;November 28, 2013&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;response-body content-body&quot; style=&quot;color: #3a3a3a; font-size: 16px; margin: 5px 0px 8px; overflow-x: auto;&quot;&gt;&lt;div class=&quot;legacy&quot; style=&quot;white-space: pre-line;&quot;&gt;@alifaziz: Please pastebin dovecot&#39;s config file.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-actions&quot;&gt;&lt;div class=&quot;comment-actions&quot; style=&quot;display: inline-block; min-height: 32px;&quot;&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;comment-moderation-actions&quot; style=&quot;display: inline-block; min-height: 32px; vertical-align: top;&quot;&gt;&lt;ul class=&quot;comment-moderation-actions-list &quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;clear&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;response-comments&quot; style=&quot;padding-left: 25px;&quot;&gt;&lt;div class=&quot;response_comment commentable comment&quot; id=&quot;response_comment_6934&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments&quot; style=&quot;box-sizing: border-box; clear: left; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 720px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;reply_anchor_comment_6934&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;comment-container&quot; data-level=&quot;0&quot; id=&quot;comment_6945&quot; style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;div class=&quot;response comment-body-container    &quot; data-highlight=&quot;&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229); box-sizing: border-box; list-style-type: none; margin: 0px; overflow-x: auto; padding: 10px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;div class=&quot;comment-upvote-container &quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;6945&quot; data-upvotable-type=&quot;Comment&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: initial; border-width: 0px; color: #cacaca; cursor: pointer; float: left; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 8px 13px 0px 0px; overflow: visible; padding: 0px; width: auto;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 1.25em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;0&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ox-auto&quot; style=&quot;overflow-x: auto;&quot;&gt;&lt;div class=&quot;comment-header&quot; style=&quot;position: relative;&quot;&gt;&lt;span class=&quot;response-name&quot; style=&quot;font-size: 16px; font-weight: 600;&quot;&gt;&lt;a class=&quot;username&quot; href=&quot;https://www.digitalocean.com/community/users/roy-bottomley&quot; style=&quot;background-color: transparent; color: #0080ff; font-size: 13px; font-weight: 400; text-decoration-line: none;&quot;&gt;roy.bottomley&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;response-time&quot; style=&quot;color: #999999; font-size: 13px; font-style: italic; margin-left: 4px;&quot;&gt;&lt;a class=&quot;post-time-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot?comment=6945&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;November 29, 2013&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;response-body content-body&quot; style=&quot;color: #3a3a3a; font-size: 16px; margin: 5px 0px 8px; overflow-x: auto;&quot;&gt;&lt;div class=&quot;legacy&quot; style=&quot;white-space: pre-line;&quot;&gt;same as Alifaziz, in my logs in have dovecot: auth: Fatal: No passdbs specified in configuration file. PLAIN mechanism needs one postfix seems to be able to send and receive mails ok but can&#39;t get past this probelm with dovecot  this is my dovecot conf file  disable_plaintext_auth = no mail_privileged_group = mail mail_location = mbox:~/mail:INBOX=/var/mail/%u userdb { driver = passwd }  protocols = &quot; imap&quot; protocol imap { mail_plugins = &quot; autocreate&quot; } plugin { autocreate = Trash autocreate2 = Sent autosubscribe = Trash autosubscribe2 = Sent } service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } } ssl=required ssl_cert =&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-actions&quot;&gt;&lt;div class=&quot;comment-actions&quot; style=&quot;display: inline-block; min-height: 32px;&quot;&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;comment-moderation-actions&quot; style=&quot;display: inline-block; min-height: 32px; vertical-align: top;&quot;&gt;&lt;ul class=&quot;comment-moderation-actions-list &quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;clear&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;response-comments&quot; style=&quot;padding-left: 25px;&quot;&gt;&lt;div class=&quot;response_comment commentable comment&quot; id=&quot;response_comment_6945&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments&quot; style=&quot;box-sizing: border-box; clear: left; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 720px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;reply_anchor_comment_6945&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;comment-container&quot; data-level=&quot;0&quot; id=&quot;comment_6946&quot; style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;div class=&quot;response comment-body-container    &quot; data-highlight=&quot;&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229); box-sizing: border-box; list-style-type: none; margin: 0px; overflow-x: auto; padding: 10px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;div class=&quot;comment-upvote-container &quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;6946&quot; data-upvotable-type=&quot;Comment&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: initial; border-width: 0px; color: #cacaca; cursor: pointer; float: left; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 8px 13px 0px 0px; overflow: visible; padding: 0px; width: auto;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 1.25em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;0&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ox-auto&quot; style=&quot;overflow-x: auto;&quot;&gt;&lt;div class=&quot;comment-header&quot; style=&quot;position: relative;&quot;&gt;&lt;span class=&quot;response-name&quot; style=&quot;font-size: 16px; font-weight: 600;&quot;&gt;&lt;a class=&quot;username&quot; href=&quot;https://www.digitalocean.com/community/users/roy-bottomley&quot; style=&quot;background-color: transparent; color: #0080ff; font-size: 13px; font-weight: 400; text-decoration-line: none;&quot;&gt;roy.bottomley&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;response-time&quot; style=&quot;color: #999999; font-size: 13px; font-style: italic; margin-left: 4px;&quot;&gt;&lt;a class=&quot;post-time-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot?comment=6946&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;November 29, 2013&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;response-body content-body&quot; style=&quot;color: #3a3a3a; font-size: 16px; margin: 5px 0px 8px; overflow-x: auto;&quot;&gt;&lt;div class=&quot;legacy&quot; style=&quot;white-space: pre-line;&quot;&gt;opps last bit of fiel went wrong here it is  ssl=required ssl_cert =&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-actions&quot;&gt;&lt;div class=&quot;comment-actions&quot; style=&quot;display: inline-block; min-height: 32px;&quot;&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;comment-moderation-actions&quot; style=&quot;display: inline-block; min-height: 32px; vertical-align: top;&quot;&gt;&lt;ul class=&quot;comment-moderation-actions-list &quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;clear&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;response-comments&quot; style=&quot;padding-left: 25px;&quot;&gt;&lt;div class=&quot;response_comment commentable comment&quot; id=&quot;response_comment_6946&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments&quot; style=&quot;box-sizing: border-box; clear: left; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 720px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;reply_anchor_comment_6946&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;comment-container&quot; data-level=&quot;0&quot; id=&quot;comment_6947&quot; style=&quot;box-sizing: border-box; list-style: none; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;div class=&quot;response comment-body-container    &quot; data-highlight=&quot;&quot; style=&quot;border-top: 1px solid rgb(229, 229, 229); box-sizing: border-box; list-style-type: none; margin: 0px; overflow-x: auto; padding: 10px 0px 0px; position: relative; z-index: 0;&quot;&gt;&lt;div class=&quot;comment-upvote-container &quot;&gt;&lt;button class=&quot;new-upvote-button&quot; data-include-caret=&quot;true&quot; data-upvotable-id=&quot;6947&quot; data-upvotable-type=&quot;Comment&quot; name=&quot;button&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border-color: initial; border-style: initial; border-width: 0px; color: #cacaca; cursor: pointer; float: left; font-family: proxima-nova, sans-serif; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: 1em; margin: 8px 13px 0px 0px; overflow: visible; padding: 0px; width: auto;&quot; type=&quot;button&quot;&gt;&lt;span class=&quot;icon new-upvote-icon&quot; style=&quot;display: block; font-size: 1.25em;&quot;&gt;&lt;svg class=&quot;svg-icon svg-icon-upvote-empty&quot;&gt;&lt;use xlink:href=&quot;https://www.digitalocean.com/assets/community/icon-sprite-d76eb75d70ccf8ffb4c0b47b7dbc88ca.svg#icon-upvote-empty&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;span class=&quot;new-upvote-count&quot; style=&quot;font-size: 0.75em;&quot;&gt;0&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ox-auto&quot; style=&quot;overflow-x: auto;&quot;&gt;&lt;div class=&quot;comment-header&quot; style=&quot;position: relative;&quot;&gt;&lt;span class=&quot;response-name&quot; style=&quot;font-size: 16px; font-weight: 600;&quot;&gt;&lt;a class=&quot;username&quot; href=&quot;https://www.digitalocean.com/community/users/roy-bottomley&quot; style=&quot;background-color: transparent; color: #0080ff; font-size: 13px; font-weight: 400; text-decoration-line: none;&quot;&gt;roy.bottomley&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;response-time&quot; style=&quot;color: #999999; font-size: 13px; font-style: italic; margin-left: 4px;&quot;&gt;&lt;a class=&quot;post-time-link&quot; href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot?comment=6947&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; color: #999999; text-decoration-line: none;&quot;&gt;November 29, 2013&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;response-body content-body&quot; style=&quot;color: #3a3a3a; font-size: 16px; margin: 5px 0px 8px; overflow-x: auto;&quot;&gt;&lt;div class=&quot;legacy&quot; style=&quot;white-space: pre-line;&quot;&gt;taken the angle brackets off after ssl_cert = and ssl_key = in the hope it posts this time  ssl=required ssl_cert = /etc/ssl/certs/mailcert.pem ssl_key = /etc/ssl/private/mail.key mail_location = mbox:~/mail:INBOX=/var/mail/%u  &lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content-actions&quot;&gt;&lt;div class=&quot;comment-actions&quot; style=&quot;display: inline-block; min-height: 32px;&quot;&gt;&lt;/div&gt;&amp;nbsp;&lt;div class=&quot;comment-moderation-actions&quot; style=&quot;display: inline-block; min-height: 32px; vertical-align: top;&quot;&gt;&lt;ul class=&quot;comment-moderation-actions-list &quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;clear&quot; style=&quot;clear: both;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;response-comments&quot; style=&quot;padding-left: 25px;&quot;&gt;&lt;div class=&quot;response_comment commentable comment&quot; id=&quot;response_comment_6947&quot; style=&quot;position: relative;&quot;&gt;&lt;div class=&quot;comments&quot; style=&quot;box-sizing: border-box; clear: left; margin: 0px; padding: 0px;&quot;&gt;&lt;ul class=&quot;response-list&quot; style=&quot;margin: 0px; padding: 0px; width: 720px;&quot;&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div id=&quot;reply_anchor_comment_6947&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;load-more-container&quot; style=&quot;background-color: white; font-family: proxima-nova, sans-serif; padding: 70px 0px; text-align: center; width: 745px;&quot;&gt;&lt;a class=&quot;load-more&quot; href=&quot;https://www.blogger.com/null&quot; style=&quot;background-color: whitesmoke; border-radius: 3px; color: #666666; font-size: 15px; outline: 0px !important; padding: 15px;&quot;&gt;&lt;span class=&quot;load-more-text&quot;&gt;Load More Comments&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;load-more-container&quot; style=&quot;padding: 70px 0px; text-align: center; width: 745px;&quot;&gt;&lt;span style=&quot;color: #666666; font-family: proxima-nova, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: whitesmoke; font-size: 15px;&quot;&gt;THANKS TO:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #666666; font-family: proxima-nova, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;https://www.digitalocean.com/community/tutorials/how-to-set-up-a-postfix-e-mail-server-with-dovecot&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/648865739304693100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2017/05/digitalocean-how-to-set-up-postfix-e.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/648865739304693100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/648865739304693100'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2017/05/digitalocean-how-to-set-up-postfix-e.html' title='DIGITALOCEAN How To Set Up a Postfix E-Mail Server with Dovecot'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-7129324780765088207</id><published>2016-12-05T07:40:00.003+02:00</published><updated>2016-12-05T07:40:22.081+02:00</updated><title type='text'>how to django error allowed_hosts</title><content type='html'>nano apps/settings.py&lt;br /&gt;ALLOWED_HOSTS = [&#39;mysite.ro&#39;]&lt;br /&gt;at the bottom</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/7129324780765088207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2016/12/how-to-django-error-allowedhosts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/7129324780765088207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/7129324780765088207'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2016/12/how-to-django-error-allowedhosts.html' title='how to django error allowed_hosts'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-3222857109134762571</id><published>2016-12-02T18:28:00.001+02:00</published><updated>2016-12-11T10:55:37.825+02:00</updated><title type='text'>disable ftp update in wordpress site</title><content type='html'>Such a big bulshit in that:&lt;br /&gt;&lt;br /&gt;1. first chown www-data:www-data -R wp-content/*&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. go to http://example.com/phpmyadmin/&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3. delete content from column option_name (f&lt;span style=&quot;background-color: white; font-family: sans-serif; font-size: 13.12px;&quot;&gt;tp_credentials from wp_options table) data from option_value&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: white; font-family: sans-serif; font-size: 13.12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: white; font-family: sans-serif; font-size: 13.12px;&quot;&gt;Now the wordpress is updating normal way!!!&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/3222857109134762571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2016/12/disable-ftp-update-in-wordpress-site.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/3222857109134762571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/3222857109134762571'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2016/12/disable-ftp-update-in-wordpress-site.html' title='disable ftp update in wordpress site'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-4123650899854143122</id><published>2016-09-25T01:51:00.001+03:00</published><updated>2016-09-25T01:51:10.076+03:00</updated><title type='text'>php how to upload file and post data to mysql</title><content type='html'>in form type:&amp;nbsp;enctype=&quot;multipart/form-data&quot;</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/4123650899854143122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2016/09/php-how-to-upload-file-and-post-data-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/4123650899854143122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/4123650899854143122'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2016/09/php-how-to-upload-file-and-post-data-to.html' title='php how to upload file and post data to mysql'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-6098182779890320549</id><published>2016-09-22T22:25:00.001+03:00</published><updated>2016-09-22T22:32:47.120+03:00</updated><title type='text'>edit php.ini to upload large file </title><content type='html'>vim /etc/php5/apache2/php.ini&lt;br /&gt;&lt;br /&gt;upload_max_filesize = 20M&lt;br /&gt;&lt;div&gt;post_max_size = 20M&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/6098182779890320549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2016/09/edit-phpini-to-upload-large-file.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/6098182779890320549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/6098182779890320549'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2016/09/edit-phpini-to-upload-large-file.html' title='edit php.ini to upload large file '/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-8603844898183813658</id><published>2016-09-19T22:23:00.002+03:00</published><updated>2016-09-19T22:26:32.012+03:00</updated><title type='text'>imap(user): Error: file_dotlock_create(</title><content type='html'>insert at the last line of the /etc/dovecot/dovecot.conf :&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background-color: #f3f5f7; border: 1pt solid rgb(174, 189, 204); font-family: courier, monospace; font-size: 16px; padding: 5pt; white-space: pre-wrap; word-wrap: break-word;&quot;&gt;mail_privileged_group&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/8603844898183813658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2016/09/imapuser-error-filedotlockcreate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/8603844898183813658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/8603844898183813658'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2016/09/imapuser-error-filedotlockcreate.html' title='imap(user): Error: file_dotlock_create('/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-5439883117244986898</id><published>2016-09-18T19:31:00.002+03:00</published><updated>2016-09-18T19:44:41.241+03:00</updated><title type='text'>Error connecting to IMAP server: localhost. 111 : Connection refused - squirrelmail error</title><content type='html'>&lt;pre style=&quot;background-color: #f3f3f3; border: 1px dashed rgb(193, 180, 150); color: #333333; font-family: UbuntuMono, courier, monospace; font-size: 13px; line-height: 16px; margin-bottom: 8px; padding: 4pt; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;&quot;&gt;apt-get install dovecot-imapd dovecot-pop3d&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/5439883117244986898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2016/09/error-connecting-to-imap-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/5439883117244986898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/5439883117244986898'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2016/09/error-connecting-to-imap-server.html' title='Error connecting to IMAP server: localhost. 111 : Connection refused - squirrelmail error'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-5789034332897657070</id><published>2015-09-29T17:55:00.002+03:00</published><updated>2015-09-29T17:55:35.830+03:00</updated><title type='text'>How to configure hdd SATA Dell on server Poweredge R520</title><content type='html'>&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;How to configure hdd SATA Dell on server Poweredge R520&lt;/div&gt;&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;F2 - System Bios&lt;/div&gt;&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;System Bios Settings&lt;/div&gt;&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;Sata Settings - Embeded Sata - RAID Mode&lt;/div&gt;&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;then&lt;/div&gt;&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;Device Settings&lt;/div&gt;&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;Integrated RAID Controller Dell PERC H310 mini&lt;/div&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;mceItemTable&quot; style=&quot;border: 1px dashed rgb(187, 187, 187); cursor: default; font-family: Arial, Helvetica, sans-serif; height: 35px; width: 5px;&quot;&gt;&lt;tbody&gt;&lt;tr height=&quot;34&quot;&gt;&lt;td class=&quot;xl63&quot; height=&quot;34&quot; style=&quot;border: 1px dashed rgb(187, 187, 187); cursor: text; font-size: 12px; margin: 8px;&quot; width=&quot;246&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;Virtual Disk Management&lt;/div&gt;&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;Create Virtual Disk&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;give name to the disk, free capacity and then save all.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/5789034332897657070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2015/09/how-to-configure-hdd-sata-dell-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/5789034332897657070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/5789034332897657070'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2015/09/how-to-configure-hdd-sata-dell-on.html' title='How to configure hdd SATA Dell on server Poweredge R520'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-8066276997763213989</id><published>2015-07-19T13:10:00.002+03:00</published><updated>2015-07-19T13:17:11.693+03:00</updated><title type='text'>solved joomla error: Warning! - Failed to move file</title><content type='html'>log into your server and just simple:&lt;br /&gt;chown www-data:www-data joomla/&lt;br /&gt;chown www-data:www-data joomla/tmp/&lt;br /&gt;&lt;br /&gt;When you copy your joomla directory into your /var/www/&lt;br /&gt;&amp;nbsp;the directory permissions and owners get the user(root) permissions.&lt;br /&gt;With that command chown www-data:www-data you resolve the job!&lt;br /&gt;That&#39;s simple!&lt;br /&gt;You will not find that respons in joomla&#39;s forums!</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/8066276997763213989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2015/07/solved-joomla-error-warning-failed-to_19.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/8066276997763213989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/8066276997763213989'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2015/07/solved-joomla-error-warning-failed-to_19.html' title='solved joomla error: Warning! - Failed to move file'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-2459001421356351603</id><published>2015-07-19T13:10:00.001+03:00</published><updated>2015-07-19T13:10:04.777+03:00</updated><title type='text'>solved joomla error: Warning! - Failed to move file</title><content type='html'>log into your server and just simple:&lt;br /&gt;chown www-data:www-data joomla/&lt;br /&gt;chown www-data:www-data joomla/tmp/&lt;br /&gt;&lt;br /&gt;When you copy your joomla directory into your /var/www/&lt;br /&gt;&amp;nbsp;the directory permissions and owners get the user(root) permissions.&lt;br /&gt;With that command chown www-data:www-data you resolve the job!&lt;br /&gt;That&#39;s simple!&lt;br /&gt;You will not find that respons in joomla&#39;s forums!</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/2459001421356351603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2015/07/solved-joomla-error-warning-failed-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/2459001421356351603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/2459001421356351603'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2015/07/solved-joomla-error-warning-failed-to.html' title='solved joomla error: Warning! - Failed to move file'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-2073364927706744557</id><published>2015-07-19T13:09:00.005+03:00</published><updated>2015-07-19T13:17:12.183+03:00</updated><title type='text'>solved joomla error install template: Failed to create directory</title><content type='html'>log into your server and just simple:&lt;br /&gt;chown www-data:www-data joomla/&lt;br /&gt;chown www-data:www-data joomla/tmp/&lt;br /&gt;&lt;br /&gt;When you copy your joomla directory into your /var/www/&lt;br /&gt;&amp;nbsp;the directory permissions and owners get the user(root) permissions.&lt;br /&gt;With that command chown www-data:www-data you resolve the job!&lt;br /&gt;That&#39;s simple!&lt;br /&gt;You will not find that respons in joomla&#39;s forums!</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/2073364927706744557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2015/07/solved-joomla-error-install-template_19.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/2073364927706744557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/2073364927706744557'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2015/07/solved-joomla-error-install-template_19.html' title='solved joomla error install template: Failed to create directory'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-8202551837816908114</id><published>2015-07-19T13:09:00.004+03:00</published><updated>2015-07-19T13:17:11.946+03:00</updated><title type='text'>solved joomla eror JFolder::files: Path is not a folder</title><content type='html'>log into your server and just simple:&lt;br /&gt;chown www-data:www-data joomla/&lt;br /&gt;chown www-data:www-data joomla/tmp/&lt;br /&gt;&lt;br /&gt;When you copy your joomla directory into your /var/www/&lt;br /&gt;&amp;nbsp;the directory permissions and owners get the user(root) permissions.&lt;br /&gt;With that command chown www-data:www-data you resolve the job!&lt;br /&gt;That&#39;s simple!&lt;br /&gt;You will not find that respons in joomla&#39;s forums!</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/8202551837816908114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2015/07/solved-joomla-eror-jfolderfiles-path-is_19.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/8202551837816908114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/8202551837816908114'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2015/07/solved-joomla-eror-jfolderfiles-path-is_19.html' title='solved joomla eror JFolder::files: Path is not a folder'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-2062718802027972559</id><published>2015-07-19T13:09:00.003+03:00</published><updated>2015-07-19T13:09:48.894+03:00</updated><title type='text'>solved joomla error install template: Failed to create directory</title><content type='html'>log into your server and just simple:&lt;br /&gt;chown www-data:www-data joomla/&lt;br /&gt;chown www-data:www-data joomla/tmp/&lt;br /&gt;&lt;br /&gt;When you copy your joomla directory into your /var/www/&lt;br /&gt;&amp;nbsp;the directory permissions and owners get the user(root) permissions.&lt;br /&gt;With that command chown www-data:www-data you resolve the job!&lt;br /&gt;That&#39;s simple!&lt;br /&gt;You will not find that respons in joomla&#39;s forums!</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/2062718802027972559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2015/07/solved-joomla-error-install-template.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/2062718802027972559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/2062718802027972559'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2015/07/solved-joomla-error-install-template.html' title='solved joomla error install template: Failed to create directory'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry><entry><id>tag:blogger.com,1999:blog-6486656953905008611.post-7073363346674173695</id><published>2015-07-19T13:09:00.001+03:00</published><updated>2015-07-19T13:09:09.753+03:00</updated><title type='text'>solved joomla eror JFolder::files: Path is not a folder</title><content type='html'>log into your server and just simple:&lt;br /&gt;chown www-data:www-data joomla/&lt;br /&gt;chown www-data:www-data joomla/tmp/&lt;br /&gt;&lt;br /&gt;When you copy your joomla directory into your /var/www/&lt;br /&gt;&amp;nbsp;the directory permissions and owners get the user(root) permissions.&lt;br /&gt;With that command chown www-data:www-data you resolve the job!&lt;br /&gt;That&#39;s simple!&lt;br /&gt;You will not find that respons in joomla&#39;s forums!</content><link rel='replies' type='application/atom+xml' href='http://debianhelpro.blogspot.com/feeds/7073363346674173695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://debianhelpro.blogspot.com/2015/07/solved-joomla-eror-jfolderfiles-path-is.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/7073363346674173695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6486656953905008611/posts/default/7073363346674173695'/><link rel='alternate' type='text/html' href='http://debianhelpro.blogspot.com/2015/07/solved-joomla-eror-jfolderfiles-path-is.html' title='solved joomla eror JFolder::files: Path is not a folder'/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1"/><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD"/></entry></feed>