12 May 2022
10 May 2022
How To Create a Self-Signed SSL Certificate for Nginx in Ubuntu 22.04
10 May 2022
How To Serve Flask Applications with Gunicorn and Nginx on Ubuntu 22.04
5 May 2022
How To Install R on Ubuntu 22.04
4 May 2022
How To Install PHP 8.1 and Set Up a Local Development Environment on Ubuntu 22.04
29 April 2022
How To Install and Configure Neo4j on Ubuntu 22.04
26 April 2022
How To Configure Jenkins with SSL Using an Nginx Reverse Proxy on Ubuntu 22.04
26 April 2022
How To Create A New Sudo Enabled User on Ubuntu 22.04 [Quickstart]
26 April 2022
How To Create a Self-Signed SSL Certificate for Apache in Ubuntu 22.04
26 April 2022
How To Install and Configure Ansible on Ubuntu 22.04
26 April 2022
How To Install and Configure Laravel with Nginx on Ubuntu 22.04 (LEMP)
26 April 2022
How To Install and Configure Postfix on Ubuntu 22.04
26 April 2022
How to Install and Configure VNC on Ubuntu 22.04
26 April 2022
How To Install and Secure Memcached on Ubuntu 22.04
26 April 2022
How To Install and Set Up Laravel with Docker Compose on Ubuntu 22.04
26 April 2022
How To Install and Use Composer on Ubuntu 22.04
26 April 2022
How To Install Composer on Ubuntu 22.04 [Quickstart]
26 April 2022
How To Install Elasticsearch, Logstash, and Kibana (Elastic Stack) on Ubuntu 22.04
26 April 2022
How To Install Jenkins on Ubuntu 22.04
26 April 2022
How To Set Up a Firewall with UFW on Ubuntu 22.04
26 April 2022
How to Set Up an IKEv2 VPN Server with StrongSwan on Ubuntu 22.04
26 April 2022
How To Set Up and Configure a Certificate Authority On Ubuntu 22.04
26 April 2022
How To Set Up and Configure an OpenVPN Server on Ubuntu 22.04
26 April 2022
How To Set Up Django with Postgres, Nginx, and Gunicorn on Ubuntu 22.04
26 April 2022
How To Set Up WireGuard on Ubuntu 22.04
26 April 2022
Initial Server Setup with Ubuntu 22.04
18 March 2022
How To Install MariaDB on Rocky Linux 8
18 March 2022
How To Install MySQL on Rocky Linux 8
16 March 2022
How To Install Metabase on Ubuntu 20.04 with Docker
11 March 2022
How to Add and Delete Users on Ubuntu 20.04
11 March 2022
How To Install Odoo on Ubuntu 20.04 with Docker
28 February 2022
How To Create Rules, Timelines, and Cases from Suricata Events Using Kibana's SIEM Apps
25 January 2022
How To Build A SIEM with Suricata and Elastic Stack on CentOS 8 Stream
25 January 2022
How To Build A SIEM with Suricata and Elastic Stack on Debian 11
25 January 2022
How To Build A SIEM with Suricata and Elastic Stack on Rocky Linux 8
25 January 2022
How To Install Suricata on CentOS 8 Stream
22 January 2022
And We're Back
14 January 2022
How To Build A SIEM with Suricata and Elastic Stack on Ubuntu 20.04
24 November 2021
Understanding Suricata Signatures
15 November 2021
How To Install Suricata on Rocky Linux 8
8 November 2021
How To Configure HAProxy Logging with Rsyslog on Rocky Linux 8 [Quickstart]
8 November 2021
How To Harden OpenSSH Client on Ubuntu 20.04
8 November 2021
How To Harden OpenSSH on Ubuntu 20.04
29 October 2021
How To Install Suricata on Debian 11
29 October 2021
How to Set Up SSH Keys on Debian 11
25 October 2021
How To Install Suricata on Ubuntu 20.04
28 September 2021
How To Set Up WireGuard on Rocky Linux 8
27 September 2021
How To Install and Secure Memcached on Ubuntu 18.04
27 September 2021
How To Install and Secure Memcached on Ubuntu 20.04
17 September 2021
How To Set Up SSH Keys on Rocky Linux 8
17 September 2021
Initial Server Setup with Rocky Linux 8
26 August 2021
How To Set Up WireGuard on Ubuntu 20.04
30 June 2021
What is a Socket?
3 March 2021
Understanding Sockets
22 December 2020
What is SELinux?
22 December 2020
What is systemd?
18 December 2020
How To Migrate a Docker Compose Workflow for Rails Development to Kubernetes
6 November 2020
HAproxy SSL/TLS Warning: Setting tune.ssl.default-dh-param to 1024 by default
4 November 2020
HAProxy Network Error: cannot bind socket
4 November 2020
How To Troubleshoot Common HAProxy Errors
22 September 2020
How To Configure HAProxy Logging with Rsyslog on CentOS 8 [Quickstart]
15 September 2020
How To Install and Configure Neo4j on Ubuntu 20.04
6 August 2020
Apache Configuration Error AH00526: Syntax error
6 August 2020
Apache Configuration Error AH00558: Could not reliably determine the server's fully qualified domain name
6 August 2020
Apache Configuration Error AH02572: Failed to configure at least one certificate and key
6 August 2020
Apache Network Error AH00072: make_sock: could not bind to address
6 August 2020
How To Troubleshoot Common Apache Errors
22 June 2020
How to Set Up an IKEv2 VPN Server with StrongSwan on Ubuntu 20.04
11 June 2020
How To Code in Go eBook
20 May 2020
How To Serve Flask Applications with Gunicorn and Nginx on Ubuntu 20.04
6 May 2020
How To Set Up and Configure an OpenVPN Server on Ubuntu 20.04
28 April 2020
How To Set Up and Configure a Certificate Authority (CA) On Ubuntu 20.04
14 April 2020
How To Set Up and Configure an OpenVPN Server on CentOS 8
2 April 2020
How To Set Up and Configure a Certificate Authority (CA) On CentOS 8
2 April 2020
How To Set Up and Configure a Certificate Authority (CA) On Debian 10
26 March 2020
Sysadmin eBook: Making Servers Work
4 February 2020
DigitalOcean eBook: Kubernetes for Full-Stack Developers
12 September 2019
How to Add and Delete Users on Ubuntu 18.04
15 July 2019
How To Install Go on Debian 10
15 July 2019
How To Install MariaDB on Debian 10
2 October 2018
How To Back Up and Restore a Kubernetes Cluster on DigitalOcean Using Velero
26 March 2016
Make your hubot coffee scripts into reusable standalone programs
In part 1 of this 2 part series on making your module.exports reusable as standalone programs in JavaScript/CoffeeScript, I explained that this pattern allows for flexible reuse of a function like main:
var main = function(args) {
console.log(args)
}
module.exports = main
if (module.parent === null) {
main(process.argv)
}
In this article, I’ll show how to make a hubot script that wraps the dig command into a reusable standalone program. Assuming you’re using Linux, OSX, or another BSD and you have dig installed, let’s get started.
19 March 2016
Make your Node.js module.exports more reusable as a standalone program
Likely we’ve all written something that is structurally like this when writing helper functions in JavaScript & CoffeeScript (I’ll be using JavaScript syntax in this article, but the principle is the same in CoffeeScript):
module.exports = function(args) {
//something something here
}
And you’re all set to reuse your something something here anonymous functionalty elsewhere in your application’s codebase.
1 July 2014
How To Configure Bind as an Authoritative-Only DNS Server on Ubuntu 14.04
11 February 2014