Open main menu

Changes

4,148 bytes added ,  20:46, 28 August 2019
no edit summary
== Intro ==
<blockquote>
Hello, DebOps author here. I thought that I'd write an overview of the project here for new or interested users.
 
On a basic level, DebOps is a set of Ansible roles and playbooks that manage different services and applications on Debian / Ubuntu hosts. The project was originally designed to manage a data center, but it works fine with a single host as well.
 
I'm using and have been actively developing it for the last 6 years at a medical university where I'm a full time sysadmin, managing 135 virtual machines spread across 17 on-premise servers. But others who are using DebOps are using it on the cloud while hosting it on Digital Ocean, Hetzner, AWS and other cloud hosting providers. Supported operating systems include Debian, Ubuntu, Raspbian or Devuan.
 
DebOps has over 160+ Ansible roles and playbooks to set everything you need from the ground up. This ranges from lower level services such as your host's firewall to fully fledged applications like GitLab and Nextcloud.
 
You'll have all the tools you need to set up common web applications written in various runtimes such as Python, Ruby, Node, PHP, Go and many others. But DebOps isn't limited to just web applications running on a single server. You can set up an entire cluster of servers running any workload you want and it's all secured over TLS. Or if you prefer a Docker / LXC environment, there are feature-rich Docker and LXC roles to set up a server to run your containerized applications.
 
All of the above services are defined as self-contained Ansible roles that can be used as is or you can mix and match any of DebOps' roles with your own custom roles and playbooks. To help get you started in a new server environment, DebOps comes equipped with a common playbook that has a set of roles that are commonly used on all hosts managed by the project, including user management, basic services like NTP, OpenSSH, locale configuration, firewall, and so on.
 
If you want to start using it, check out the quick start[1] and getting started guides[2]. The quick start has instructions for getting up and running quickly with Docker[3] or Vagrant. The getting started guide gives you step by step instructions on how to configure your DebOps managed environment.
 
If you have any questions, write a comment here or drop by IRC on Freenode in the #debops channel.
 
[1]: https://docs.debops.org/en/master/introduction/quick-start.html <br />
[2]: https://docs.debops.org/en/master/introduction/getting-started.html <br />
[3]: docker run -it --rm debops/debops
</blockquote>
 
== Local ==
The [https://docs.debops.org/en/master/ DebOps] project is installed ([https://github.com/debops/debops/ src on GitHub]) on greg-desk as a controller using Ansible from source in ~/bin/ansible
We're developing a DebOps for MediaWiki like the [https://github.com/carlalexander/debops-wordpress DebOps for WordPress project] There are a lot of [https://docs.debops.org/en/latest/ansible/roles/index.html roles included] in the Debops DebOps project. My project is to compose a solution similar to Meza, but using MediaWikiFarm as the farm system.
== Notes ==
I created a [https://docs.debops.org/en/latest/user-guide/project-directories.html project directory] ~/src/qb3 where I also installed DebOps. The monorepo installed in the debops/ subdirectory of a given DebOps project directory will take precedence over the one installed globally in ~/.local/share/debops/debops/ or included in the Python package. <ref>https://docs.debops.org/en/latest/user-guide/install.html</ref>
To [https://docs.debops.org/en/latest/ansible/roles/debops.bootstrap /getting-started.html bootstrap] my first host, I ran <tt>debops bootstrap -u root --limit labs</tt>, but it would fail on <tt>'/usr/bin/python: not found'</tt> <ref>https://github.com/debops/debops/issues/1002</ref>. By specifying that the remote host should use python3, it succeeded.
<source lang=ini>
</source>
Next, I ran the common playbook with <tt>debops common -u root --limit labs</tt>, but that failed trying to download some secrets (error message below). Re-running the command succeeded. Common includes apt_install <ref>https://docs.debops.org/en/latest/ansible/roles/debops.apt_install/getting-started.html#example-playbook</ref>, so all my packages were installed via common.
=== Included Playbooks ===
When you initialize your DebOps project folder, you end up with debops > ansible > playbooks which contains all the DebOps playbooks. So, you can run <tt>debops service/pki -l labs</tt> from the cli to run the PKI role without even having to create your own playbook.
 
 
=== Apache ===
These are the modules enabled by default. Notice that there is no rewrite; so we'll have to set some variables.
<pre>
root@labs:~# apache2ctl -M
Loaded Modules:
core_module (static)
so_module (static)
watchdog_module (static)
http_module (static)
log_config_module (static)
logio_module (static)
version_module (static)
unixd_module (static)
access_compat_module (shared)
alias_module (shared)
auth_basic_module (shared)
authn_core_module (shared)
authn_file_module (shared)
authz_core_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
filter_module (shared)
headers_module (shared)
mime_module (shared)
mpm_event_module (shared)
negotiation_module (shared)
reqtimeout_module (shared)
setenvif_module (shared)
socache_shmcb_module (shared)
</pre>
== Resources ==
* [https://github.com/debops/debops-playbooks/blob/master/playbooks/common.yml The Common playbook]
* [https://lists.debops.org/pipermail/debops-users/2018-November/thread.html Mailing List]
* [https://github.com/debops/debops/issues issue queue]
{{References}}
[[Category:QualityBox]]