<!DOCTYPE html><html><head><title></title><style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><div>Hey William!<br></div><div><br></div><div>Those steps are all easily Ansible, except for one that I have to think a little more.<br></div><div><br></div><div>Instead of dumping a huge answer -- or one with the recipe and no explanation -- right here, I'll blurp it as steps during the day. I might be slow-ish as $dayjob is murder these days. :-)<br></div><div><br></div><div>So, very first thing: documentation!<br></div><div><br></div><div>Ansible actually comes with a cli command `ansible-doc` that is just as awesome as perldoc. It provides the manpages of the modules installed locally. And they come with examples and stuff. It's really nice.<br></div><div><br></div><div><br></div><div>And then there is the main website: <a href="https://docs.ansible.com/ansible-core/devel/index.html">https://docs.ansible.com/ansible-core/devel/index.html</a><br></div><div><br></div><div>And for those who like books, I have "Ansible: Up and Running" and recommend it. It's short and to the point, and served me well. <br></div><div><br></div><div>Next step coming up shortly!<br></div><div>`/anick<br></div><div><br></div><div>On Thu, 26 Aug 2021, at 7:17 AM, William McKee wrote:<br></div><blockquote type="cite" id="qt" style=""><div dir="ltr"><div class="qt-gmail_default" style="font-family:verdana, sans-serif;">Hey Perl Mongers,<br></div><div class="qt-gmail_default" style="font-family:verdana, sans-serif;"><br></div><div class="qt-gmail_default" style="font-family:verdana, sans-serif;">Thanks for your input on helping me solve my deployment problem to a multi-tenant Dancer app. Here are the steps that I shared in the Zoom call last night:<br></div><div class="qt-gmail_default" style="font-family:verdana, sans-serif;"><br></div><div class="qt-gmail_default" style=""><blockquote style="font-family:verdana, sans-serif;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:40px;border-top-color:currentcolor;border-top-style:none;border-top-width:medium;border-right-color:currentcolor;border-right-style:none;border-right-width:medium;border-bottom-color:currentcolor;border-bottom-style:none;border-bottom-width:medium;border-left-color:currentcolor;border-left-style:none;border-left-width:medium;border-image-outset:0;border-image-repeat:stretch;border-image-slice:100%;border-image-source:none;border-image-width:1;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;"><div class="qt-gmail_default" style="font-family:verdana, sans-serif;"><div>5. Login to server as a user with sudo privs and cd to the sites directory (e.g., `cd /home/dancer/cv/sites/SITEURL`)<br></div><div>6. Setup the service to start/stop the service<br></div><div>  1. `sudo cp bin/cv-SITENAME.service /etc/systemd/system/`<br></div><div>  2. `sudo chmod 644 /etc/systemd/system/cv-SITENAME.service`<br></div><div>  3. `sudo systemctl enable cv-SITENAME.service --now`<br></div><div>  4. `sudo systemctl status cv-SITENAME.service`<br></div><div>7. Setup nginx<br></div><div>  1. Copy the nginx.conf config file `sudo cp environments/SITENAME-nginx.conf /etc/nginx/sites-enabled` directory<br></div><div>  2. Restart nginx (`sudo service nginx reload`)<br></div><div>8. Setup SSL<br></div><div>  1. Run `sudo certbot --nginx` and choose the new domain to setup (use the non www domain)<br></div><div>  2. Choose to redirect the HTTP traffic to HTTPS<br></div><div>  3. *Do* run the configuration test at <a href="http://ssllabs.com">ssllabs.com</a> (look for link in output from command)<br></div></div><div class="qt-gmail_default" style="font-family:verdana, sans-serif;"><br></div></blockquote><div><span class="font" style="font-family:verdana, sans-serif;">Is this an easy problem for Ansible? The `sudo` and certbot parts are where I see the challenges.</span><br></div></div><div class="qt-gmail_default" style=""><span class="font" style="font-family:verdana, sans-serif;"></span><br></div><div class="qt-gmail_default" style=""><span class="font" style="font-family:verdana, sans-serif;">For certbot, I've been using the "wizard" configurator in certbot and imagine there's a way to pass in all the settings that are needed on the command line.</span><br></div><div class="qt-gmail_default" style=""><span class="font" style="font-family:verdana, sans-serif;">Running the test on <a href="http://ssllabs.com">ssllabs.com</a> is something that I can do manually so long as I get back the link from Ansible output.</span><br></div><div class="qt-gmail_default" style=""><span class="font" style="font-family:verdana, sans-serif;"></span><br></div><div class="qt-gmail_default" style=""><span class="font" style="font-family:verdana, sans-serif;"></span><br></div><div class="qt-gmail_default" style=""><span class="font" style="font-family:verdana, sans-serif;">Thanks for your suggestions!</span><br></div><div class="qt-gmail_default" style=""><span class="font" style="font-family:verdana, sans-serif;">William</span><br></div><div><br></div><div>-- <br></div><div dir="ltr" class="qt-gmail_signature"><div><table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td style="font-size:0px;height:10px;" height="10"><br></td></tr><tr><td><table style="width:510px;" width="510" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td><br></td></tr><tr><td style="padding-top:0px;"><div><div><table style="width:510px;" width="510" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td style="vertical-align:top;padding-right:12px;border-right-color:rgb(212, 212, 212);border-right-style:solid;border-right-width:5px;width:166px;" width="166.0" valign="top"><table cellspacing="0" cellpadding="0" border="0" align="center"><tbody><tr><td style="width:166px;" width="166.0"><img src="https://d4d8xd20er8lg.cloudfront.net/50335d37-4f7c-4bce-85d0-9adcced56230/70jZ7LSoYHabsNngRInWnWvuwybK0GqY.jpeg" style="width:166px;height:100px;" width="166.0" height="100.0"><br></td></tr></tbody></table></td><td style="vertical-align:top;padding-right:7px;padding-left:12px;" valign="top"><table style="width:100%;" width="100%" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td style="padding-bottom:12px;"><table style="padding-left:2px;font-weight:normal;width:100%;" width="100%" cellspacing="0" cellpadding="0" border="0"><tbody><tr><td style="font-size:14px;line-height:21px;color:rgb(78, 75, 76);"><div><span style="color:rgb(69, 102, 142);padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;"><b><span class="font" style="font-family:Arial;"><span class="size" style="font-size:16px;">William McKee</span></span></b></span><br></div><div> <span style=""><span class="font" style="font-family:Arial;"><span class="size" style="font-size:14px;">Managing Partner</span></span></span> <span style=""><span class="font" style="font-family:Arial;"><span class="size" style="font-size:14px;">at </span></span></span><span style="color:rgb(69, 102, 142);"><span class="font" style="font-family:Arial;"><span class="size" style="font-size:14px;">Knowmad Digital Marketing</span></span></span><br></div><div><br></div><div><span style="color:rgb(69, 102, 142);"><b><span class="font" style="font-family:Arial;">P </span></b></span><a href="tel:704.343.9330" style="text-decoration-line:none;text-decoration-style:solid;text-decoration-color:currentcolor;text-decoration-thickness:auto;color:rgb(78, 75, 76);font-family:Arial;" target="_blank">704.343.9330 Ext. 803</a><i style="color:rgb(255, 255, 255);"> ­</i><span style="color:rgb(69, 102, 142);"><b><span class="font" style="font-family:Arial;">M </span></b></span><a href="tel:(704)+737-6596‬" style="text-decoration-line:none;text-decoration-style:solid;text-decoration-color:currentcolor;text-decoration-thickness:auto;color:rgb(78, 75, 76);font-family:Arial;" target="_blank">(704) 737-6596‬</a><i style="color:rgb(255, 255, 255);"> ­</i><span style="color:rgb(69, 102, 142);"><b><span class="font" style="font-family:Arial;">E </span></b></span><a href="mailto:william@knowmad.com" style="text-decoration-line:none;text-decoration-style:solid;text-decoration-color:currentcolor;text-decoration-thickness:auto;color:rgb(78, 75, 76);font-family:Arial;" target="_blank">william@knowmad.com</a><i style="color:rgb(255, 255, 255);"> ­</i><span style="color:rgb(69, 102, 142);"><b><span class="font" style="font-family:Arial;">W </span></b></span><a href="http://www.knowmad.com/?utm_source=WiseStamp&utm_medium=email&utm_term=&utm_content=&utm_campaign=signature" style="text-decoration-line:none;text-decoration-style:solid;text-decoration-color:currentcolor;text-decoration-thickness:auto;color:rgb(78, 75, 76);font-family:Arial;" target="_blank">http://www.knowmad.com/</a><i style="color:rgb(255, 255, 255);"> ­</i><br></div></td></tr></tbody></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td style="padding-right:4px;"><a href="https://www.facebook.com/knowmadclt/?utm_source=WiseStamp&utm_medium=email&utm_term=&utm_content=&utm_campaign=signature" style="text-decoration-line:none;text-decoration-style:solid;text-decoration-color:currentcolor;text-decoration-thickness:auto;" target="_blank"><img src="https://cdn.gifo.wisestamp.com/social/facebook/3b5998/64/0.png" alt="facebook" style="height:24px;width:24px;" width="24" height="24"></a><br></td><td style="padding-right:4px;"><a href="https://www.linkedin.com/company/knowmad?utm_source=WiseStamp&utm_medium=email&utm_term=&utm_content=&utm_campaign=signature" style="text-decoration-line:none;text-decoration-style:solid;text-decoration-color:currentcolor;text-decoration-thickness:auto;" target="_blank"><img src="https://cdn.gifo.wisestamp.com/social/linkedin/0077b5/64/0.png" alt="linkedin" style="height:24px;width:24px;" width="24" height="24"></a><br></td><td style="padding-right:4px;"><a href="https://twitter.com/KnowmadCLT?utm_source=WiseStamp&utm_medium=email&utm_term=&utm_content=&utm_campaign=signature" style="text-decoration-line:none;text-decoration-style:solid;text-decoration-color:currentcolor;text-decoration-thickness:auto;" target="_blank"><img src="https://cdn.gifo.wisestamp.com/social/twitter/55acee/64/0.png" alt="twitter" style="height:24px;width:24px;" width="24" height="24"></a><br></td><td style="padding-right:4px;"><a href="https://www.instagram.com/knowmadclt/?utm_source=WiseStamp&utm_medium=email&utm_term=&utm_content=&utm_campaign=signature" style="text-decoration-line:none;text-decoration-style:solid;text-decoration-color:currentcolor;text-decoration-thickness:auto;" target="_blank"><img src="https://cdn.gifo.wisestamp.com/social/instagram/E4405F/64/0.png" alt="instagram" style="height:24px;width:24px;" width="24" height="24"></a><br></td></tr></tbody></table></td></tr><tr><td style="padding-top:6px;"><br></td></tr></tbody></table></td></tr></tbody></table><table style="display:inline-table;border-collapse:initial;"><tbody><tr><td style="vertical-align:middle;"><a href="https://www.knowmad.com/meetings/william?utm_source=WiseStamp&utm_medium=email&utm_term=&utm_content=&utm_campaign=signature" target="_blank"><img src="https://d1n2mpfyq0bf3x.cloudfront.net/2e7f3498666a3be8b05fb120501ccc8e/diona2.png" style="display:block;margin-bottom:auto;margin-right:4px;"></a><br></td><td style="vertical-align:middle;padding-top:0px;padding-right:5px;padding-bottom:0px;padding-left:5px;font-size:14px;color:rgb(78, 75, 76);text-align:left;"><a href="https://www.knowmad.com/meetings/william?utm_source=WiseStamp&utm_medium=email&utm_term=&utm_content=&utm_campaign=signature" style="margin-top:0px;margin-right:4px;margin-bottom:0px;margin-left:4px;color:rgb(78, 75, 76);font-size:14px;" target="_blank">Should we talk? Schedule a meeting with me.</a><br></td></tr></tbody></table></div></div></td></tr><tr><td><br></td></tr></tbody></table></td></tr></tbody></table></div><div><img style="display:none;" src="https://tracy.srv.wisestamp.com/px/teams/eyJkb21haW4iOiAia25vd21hZC5jb20iLCAiZGF0ZV9zaWdudXAiOiAiMjAyMS0wNC0xNiAyMTo1MTo0MSIsICJlbWJlZGRlZF9tZXRob2QiOiAidGVhbXMiLCAicGxhbiI6ICJCcm9uemUiLCAic2lnbmF0dXJlX2lkIjogNDgxOTI5NjU1ODUxNDE3NiwgInRlbXBsYXRlX2lkIjogNTkyMzgwMTg1NzUyMzcxMiwgInVzZXJfZW1haWwiOiAid2lsbGlhbUBrbm93bWFkLmNvbSJ9.png" alt=""><br></div></div></div><div>-- <br></div><div>Charlotte-pm mailing list<br></div><div><a href="mailto:Charlotte-pm@pm.org">Charlotte-pm@pm.org</a><br></div><div><a href="https://mail.pm.org/mailman/listinfo/charlotte-pm">https://mail.pm.org/mailman/listinfo/charlotte-pm</a><br></div><div><br></div></blockquote><div><br></div></body></html>