Skip to main content

Deploy and set up LAMP stacks with Ansible

Project description

Lampsible

About

Lampsible - LAMP stacks with Ansible and a super simple CLI. This tool can automate anything from a production ready WordPress site on your VPS to a custom Apache setup on a virtual machine in your local network. .

Requirements

  • Local: Unix system with Python 3.8 or newer. Tested on Ubuntu and Gentoo Linux. Might work on macOS, but I haven't tested that. Won't work on Windows.
  • Remote: Ubuntu 20 or newer. Might work on older versions, but I doubt it. Support for other distros is planned in a future version.

Installing

Install with Pip: python3 -m pip install lampsible

Alternatively, install from wheel file...: python3 -m pip install /path/to/local/lampsible-SOME_VERSION-py3-none-any.whl

... or from source:

git clone https://github.com/saint-hilaire/lampsible
cd lampsible
python3 -m pip install .

Sample usage

Lampsible is designed to be very simple to use. If you forget some important parameter, Lampsible will prompt you for it, or pick some sensible defaults.

Install Apache on your server:

lampsible someuser@somehost.com apache

Install a production ready WordPress site:

lampsible someuser@somehost.com wordpress \
    --ssl-certbot \
    --email-for-ssl you@yourdomain.com

Install a production ready Joomla site:

lampsible someuser@somehost.com joomla \
    --ssl-certbot \
    --email-for-ssl you@yourdomain.com

Install a Laravel app on a test server:

lampsible someuser@somehost.com laravel \
    --ssl-certbot \
    --test-cert \
    --apache-server-admin you@yourdomain.com \
    --app-name cool-laravel-app \
    --app-build-path /path/to/your/local/cool-laravel-app-0.7rc.tar.gz \
    --laravel-artisan-commands key:generate,migrate

Set up a LAMP stack with various custom configuration and a self signed SSL certificate on some local VM:

lampsible someuser@192.168.123.123 lamp-stack \
    --ask-remote-sudo \
    --ssl-selfsigned \
    --database-username dbuser \
    --database-name testdb \
    --php-version 8.1 \
    --apache-vhost-name some-legacy-app \
    --apache-document-root /var/www/html/some-legacy-app/some-dir/public \
    --php-extensions mysql,xml,mbstring,xdebug,gd

Run lampsible --help for a full list of options.

Contributing

Please do! I'd be more than happy to see Issues, Pull Requests and any other kind of feedback ;-)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lampsible-1.3.6.tar.gz (60.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lampsible-1.3.6-py3-none-any.whl (70.6 kB view details)

Uploaded Python 3

File details

Details for the file lampsible-1.3.6.tar.gz.

File metadata

  • Download URL: lampsible-1.3.6.tar.gz
  • Upload date:
  • Size: 60.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for lampsible-1.3.6.tar.gz
Algorithm Hash digest
SHA256 97ef1866589edd4f34883175cb53b82acb52e1a66da2c92267c461652e4eaab0
MD5 2763f3cab46e48a2dc8f32bfbbba81a8
BLAKE2b-256 049bb467ef596344d883e838f9d30a85aafa0df8390ce17bbbf0af3acb4940ce

See more details on using hashes here.

File details

Details for the file lampsible-1.3.6-py3-none-any.whl.

File metadata

  • Download URL: lampsible-1.3.6-py3-none-any.whl
  • Upload date:
  • Size: 70.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for lampsible-1.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 3331c33fa562a682e26af2448218d78fd233b358d0c69acefb905a7c0b826b3a
MD5 b32b2ea43a9109992a33c8cc037bdbfc
BLAKE2b-256 205286e3aa16e32086c809b6d836da82e01428be214afe83fb2a3755acbd5ec9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page