https://github.com/nonesubham/xampress
Xampress is a Command Line Interface (CLI) tool designed to simplify the management of local WordPress site installations on XAMPP
https://github.com/nonesubham/xampress
apache go golang mysql wordpress wordpress-development xampp
Last synced: 8 months ago
JSON representation
Xampress is a Command Line Interface (CLI) tool designed to simplify the management of local WordPress site installations on XAMPP
- Host: GitHub
- URL: https://github.com/nonesubham/xampress
- Owner: nonesubham
- Created: 2024-05-30T15:02:21.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-16T18:19:22.000Z (over 1 year ago)
- Last Synced: 2025-01-29T08:21:54.787Z (over 1 year ago)
- Topics: apache, go, golang, mysql, wordpress, wordpress-development, xampp
- Language: Go
- Homepage:
- Size: 10 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# XamPress

Xampress is a Command Line Interface (CLI) tool designed to simplify the management of local WordPress site installations on [XAMPP](https://www.apachefriends.org/) . By leveraging the power of [WP-CLI](https://github.com/wp-cli/wp-cli/) Xampress streamlines common tasks such as site setup configuration and maintenance making it easier for developers to work with local WordPress environments.
## Features
- Automated Site Installation: Quickly set up new WordPress sites on your local XAMPP server with a single command.
- Automated Site Deletion: Quickly delete WordPress sites from your local XAMPP server with a single command.
- Configuration Handling: Auto configure wp-config.php files and other essential settings.
- Cloning : Clone any existing site in one click. **(Working on)**
- Backup and Restore: Create backups of your site and restore them when needed. **(Soon)**
- Custom Domains: Instead of http://localhost/project-name use custom domain like http://project-name.local **(Soon)**
## Release Files
You can find suitable binary for your Operating System at **[Release](https://github.com/nonesubham/xampress/releases/)**.
## Build Your Own Binary
### Prerequisite
- Language : [GO](https://go.dev/doc/install)
**Clone this repo**
```
git clone github.com/nonesubham/xampress@latest
```
>Open terminal/console inside xampress
**Install all dependencies**
```
go mod tidy
```
**Check working or not**
```
go run main.go
```
If everything is fine you will get an error :
> XamPress is not inside XAMP/LAMP directory, please follow installation guide. https://github.com/nonesubham/xampress/readMe.md
**Build your own binary**
```
go build
```
After executing this command `xampress` named binary will generate in project folder, if every step followed. then just follow **Installation** Step.
## Setup
Before starting the project, ensure you have installed the XAMPP server on your local machine by downloading it from the [XAMPP website](https://www.apachefriends.org/). Once XAMPP is installed, download the xampress binary. Next, navigate to the root directory of your XAMPP installation and create a new folder named `xampress`. Move the downloaded xampress binary into this newly created `xampress` folder. Now add this path to your `PATH` environment variable.
**For example :**
if you are a **Windows** user then you should have to add this path in your `PATH` environment variable.
>C:/xamp/xampress
## Usage/Examples
**To create/delete new WordPress site/project :**
```
xampress create/delete site-name
```
**To get list of all WordPress existing site/project :**
```
xampress list
```
**To start/stop XAMPP server :**
```
xampress server start/stop
```
**To add custom WordPress's user credentials or Database credentials :**
```
xampress config
```
***Available Flags :-***
>--sql-user : Set MySQL username
>--sql-pass : Set MySQL password
>--wp-user : Set WordPress username
>--wp-pass : Set WordPress password
>--wp-email : Set WordPress email
## TODO
- [ ] Existing Project/Site Cloning.
- [ ] Backup and Restore of existing projects.
- [ ] Custom domain mapping for each site/project.
- [ ] Token based login or no credential login.
## Support
For support, contact me on [Telegram](https://t.me/nonesubham) or raise issue on this repository.