{"id":20896412,"url":"https://github.com/blacksaildivision/lamponsteroids","last_synced_at":"2025-05-13T00:31:46.672Z","repository":{"id":45165823,"uuid":"60003244","full_name":"blacksaildivision/lamponsteroids","owner":"blacksaildivision","description":"Pack of Ansible roles for CentOS to set up a robust and secure web server","archived":false,"fork":false,"pushed_at":"2023-09-01T08:19:28.000Z","size":460,"stargazers_count":25,"open_issues_count":11,"forks_count":14,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-11T20:56:15.406Z","etag":null,"topics":["ansible","ansible-playbooks","awscli","centos","centos8","datadog","git","httpd","lamp","letsencrypt","mongodb","mysql","nginx","nodejs","ntp","openssl","php","redis","yum"],"latest_commit_sha":null,"homepage":"","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blacksaildivision.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-05-30T10:57:39.000Z","updated_at":"2023-07-05T00:02:24.000Z","dependencies_parsed_at":"2022-09-24T20:00:28.642Z","dependency_job_id":null,"html_url":"https://github.com/blacksaildivision/lamponsteroids","commit_stats":null,"previous_names":[],"tags_count":56,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blacksaildivision%2Flamponsteroids","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blacksaildivision%2Flamponsteroids/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blacksaildivision%2Flamponsteroids/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blacksaildivision%2Flamponsteroids/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blacksaildivision","download_url":"https://codeload.github.com/blacksaildivision/lamponsteroids/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225159980,"owners_count":17430227,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","ansible-playbooks","awscli","centos","centos8","datadog","git","httpd","lamp","letsencrypt","mongodb","mysql","nginx","nodejs","ntp","openssl","php","redis","yum"],"created_at":"2024-11-18T10:35:30.142Z","updated_at":"2025-05-13T00:31:46.661Z","avatar_url":"https://github.com/blacksaildivision.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"LAMP on Steroids\n================\n\n**LAMP On Steroids** contains a set of Ansible roles that help set up a modern RHEL web server. We test it out mainly on\nthe `RockyLinux 9` system, but it should also work on `CentOS Stream 9` and other RHEL-based systems.\nThe primary purpose is to set up a working and secure web server for PHP/Node.js applications.\n\nPrerequisites\n-------------\n\nYou must have the Ansible installed in your system. If you don't have it, please follow this\nguide - [Installing Ansible](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html).\n\nIt is best to use the latest version of Ansible. We tested the roles in this repository on Ansible **9.13.0** (core\nversion **2.16.14**, Python version **3.12.15**). If you are running an older version, we recommend updating to the\nnewer version of Ansible.\n\nHow to use?\n-----------\n\nClone the repository:\n\n```shell\ngit clone git@github.com:blacksaildivision/lamponsteroids.git\n```\n\nFirst create your Inventory file. You can work entirely in this repository. Name your Inventory file `hosts` (this file is in .gitignore) and setup all required connections there.\n\nExample Inventory file:\n```\n[example-host]\n192.168.87.87   ansible_ssh_user=vagrant    ansible_ssh_private_key_file=\"~/.ssh/id_rsa\"\n```\n\nNext setup your playbook. The easiest way is to copy `playbooks/example-playbook.yml` file and comment out the roles you don't need. All `.yml` files are ignored in `playbooks` directory.\n\nOptionally you can add variable files that will override defaults in roles. All `.yml` files in `vars` directory are in .gitignore\n\nRun following command to execute this playbook:\n```\nansible-playbook -i hosts playbooks/YOUR_PLAYBOOK_FILE.yml\n```\n\nSome tasks are marked with `healthcheck` tag. They will do some basic checks to see if system is up and running. All tasks should be green. If there are tasks marked as changed, something is not OK.\n```\nansible-playbook -i hosts playbooks/YOUR_PLAYBOOK_FILE.yml --tags=\"healthcheck\" \n``` \n\nPlease take a look at `vars/example-vars.yml` file and make sure that you override default developer account password and path to your public key. \nPublic key is required for logging in via SSH with RSA keys. Logging with password will be turned off.\nPassword is required for sudo, if you will set `centos_groups_wheel_password_required` to `yes` (this is default value). Once sudo with password will be available, you must execute playbooks with `-K` argument and pass sudo password:\n\n```\nansible-playbook -i hosts playbooks/YOUR_PLAYBOOK_FILE.yml -K\n```\n\nIncluded roles\n--------------\n**dnf** - Handle [RockyLinux](https://rockylinux.org/news/) package management, security features, and package installation optimizations.\n\n**users** - Handle users/groups management and enables sudo.\n\n**ssh** - SSHD hardening.\n\n**ntp** - Take care of system timezone and NTP server. It uses Chrony for using NTP.\n\n**openssl** - Compile [OpenSSL](https://github.com/openssl/openssl/tags) from source (3.0.1).\n\n**git** - Compile and install [Git](https://github.com/git/git/tags) from source (2.47.1).\n\n**nginx** - Compile, install and configure [nginx](https://nginx.org/en/download.html) from source (1.27.3).\n\n**php** - Compile, install and configure [PHP](https://github.com/php/php-src/tags) and tools (8.4.2).\n\n**firewalld** - Setup firewalld as base firewall.\n\n**mysql** - Install and configure [MySQL](https://dev.mysql.com/downloads/mysql/) community server (8.4.3). Create databases and users. Install MySQLTuner and set up backups.\n\n**awscli** - Install and configure [AWS CLI](https://github.com/aws/aws-cli/tags) command line tool (2.22.33).\n\n**redis** - Install and configure [Redis](https://redis.io/download) with TLS support (7.4.0).\n\n**nodejs** - Install [NodeJs](https://nodejs.org/en/) and NPM (22.12.0).\n\n**httpd** - Compile and configure Apache httpd from source with OpenSSL (2.4.33).\n\n**mongodb** - Install and configure MongoDB (8.0.4) with authentication, TLS support, backups and users management.\n\n**letsencrypt** - Install Certbot and obtain certificates from Let's Encrypt.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblacksaildivision%2Flamponsteroids","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblacksaildivision%2Flamponsteroids","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblacksaildivision%2Flamponsteroids/lists"}