Configuration Management tool: Ansible

Been learning and playing with Ansible this week as a CM tool.

What do we use it for?

After you spin up an EC2 instance you can use a Ansible to add users/groups, ssh keys, install packages all from a Ansible playbook (script). It’s similar to chef / puppet.

If you have to provision multiple instances this can be a time saver. Also say a new member has joined. How can add this new member to all your instances without doing it manually. Ansible solves this issue because you can create a playbook that adds the user to all hosts easily.

I bricked an instance by corrupting a /etc/sudoers file. That was bad but learned there is a way to validate any changes to that file.

Better practice is to not edit the /etc/sudoers file but to create new files at /etc/sudoers.d/ at least on Ubuntu

Advertisements
Posted in Coding | Leave a comment

Redmine as a Help Desk Solution

I’ve gotten decent at understanding a lot of features of Redmine.  I have been tasked with customizing and configuring Redmine to an internal IT Help Desk solution.  If you install a theme, a bunch of plugins, and change the layout it can be a usable solution.  The best part is internal users can finally use email to generate tickets.

If you need a Help Desk solution that involves external users, I’d recommend the RedmineUp Help Desk plugin.

The feedback process for the Help Desk implementation is slow going so I looked into Redmine + Docker.  I’ve never done a Docker project before so it was pretty fun.  Took a little while but figured out how to replicate the project to docker.

Posted in Web | Tagged , , | Leave a comment

Lesson Learned: O365 cloud mail nameserver change

Was a little careless today with helping someone transfer their GoDaddy domain and O365 mail to a new server (transferring their nameserver).  When I looked at the GoDaddy domain DNS log, I saw all these entries that looked related to O365.  I thought when I move the domain nameserver that those DNS entries relating to O365 would stay so I didn’t even save the info.  Boy was I wrong, after I changed the nameserver I saw all the entries disappear.

Took me a little while to figure out how to setup the DNS entries needed.  Not sure why but it took me awhile to find the instructions on GoDaddy.  But eventually, I got it going but felt pretty bad that I probably prevented emails from being received.

Definitely, a lesson learned.  Need to be more careful in the future.

 

Posted in DevOps, troubleshooting | Tagged , , | Leave a comment

CodeIgniter base project

If you are starting a CodeIgniter project, I’d recommend using

https://github.com/kenjis/codeigniter-composer-installer

as your base.  Composer makes things so much easier.  Then for User management and authentication use Ion_Auth (GitHub)

If you need LDAP, Adldap2 is really easy to use.

From the kenji github page, you can find a lot of other packages.  The other package I’ve used a lot of is the REST Server.  However, if all you need to do is a REST Server I’d recommend using NodeJS.

 

Posted in Coding, php | Tagged , , | Leave a comment

Selectize.js onInit load data for autocomplete

Selectize.js is a neat UI tool.  I got introduced to it via a coworker used it in a project.  I didn’t bother to really look into it until recently when I wanted to do autocomplete and multiple selects.

I didn’t find any example code of using the onInit option to load values via a Remote API so I decided to make an example to share with you all.

Code is here on my github, https://github.com/fangstar/selectize-oninitautoloadoption,

Example can be seen here on my DigitalOcean server.

http://107.170.206.216/examples/selectize_ac/selectize

Posted in Coding, Web | Tagged , , | Leave a comment

DigitalOcean

Finally signed up for DigitalOcean’s services.  I chose them more because I like the How To articles they have to help one get up and running.  You can get a better deal with Linode but I wanted to support DigitalOcean cause they’ve helped me.  Plus I’m not doing anything (yet) that is very server intensive.

I’ll probably move my personal websites onto there.

Referal:

https://m.do.co/c/a5df55788e19

Posted in Web | Leave a comment

CodeIgniter3 .htaccess removing index.php subdomain

Below is the general documentation for editing the .htaccess file to remove index.php from a url

The documentation examples is

example.com/index.php/news/article/my_article
will be the same as
example.com/news/article/my_article

using .htaccess file of:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

 

https://www.codeigniter.com/userguide3/general/urls.html

However, I tend to use a lot of subdomains of the format

server.com/website1

server.com/website2

To remove index.php from a subdomain is a bit different, you need to add an additional line to .htaccess

RewriteBase /website1/

or

RewriteBase /website2/

The .htaccess file should be:

RewriteEngine On
RewriteBase /SUBDOMAIN/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Another interesting Codeigniter Project I found last weekend was

https://github.com/kenjis/codeigniter-composer-installer

I was having some issues with the controller not finding the libraries i put in the third_part folder.  I had the include path correct to the library and it worked on my localhost but wouldn’t work on the server.  I couldn’t figure out the issue and instead used the above project and that worked with no issues on localhost and the server.

Posted in Coding, Web | Tagged , , , | Leave a comment

SCALE 15x

Went to the SoCal Linux Expo today.  First time attending and it was pretty neat.  I went to the Reactor8 guys talks/workshop.  Didn’t know anything they were talking about at first but eventually got an idea of their talks.  Beginning of their talks was a Puppet and CHEF. Basically configuration management for virtual instances.  Then later talk was about Docker swarm and  serverless (AMZ lambda).  My notes are on the other computer.

Posted in Linux | Tagged , , | Leave a comment

Time to relearn a new skill: Spark

I took a Spark class maybe earlier this year but can’t say I really remember any of it.  Figured I’ll just start at the beginning with an Intro to Spark class on edx.org.

https://courses.edx.org/courses/course-v1:BerkeleyX+CS105x+1T2016/info

 

These days just developing an excel like webpage using handsontable.  Not very interesting at all.

Posted in Coding, Web | Leave a comment

Clash Royale Card Calculator

I play Clash Royale and decided to make a card calculator to calculate what level troops I would have with all my cards and how much gold it would cost.  I don’t upgrade all of the troops because who has enough gold for that?

I’m debating whether I want to make a mobile app for this.  On my github page I have the project hosted there too.

Here it is:

http://www.mitchellfang.com/cr_card_calc/

cr_card_calc

Posted in App Idea | Leave a comment