Skip to content

A CLI tool for Effortless Local Laravel Development with Automatic SSL for Linux.

Notifications You must be signed in to change notification settings

YemenOpenSource/laraserve

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laraserve

License: MIT npm version PRs Welcome

A CLI tool for Effortless Local Laravel Development with Automatic SSL for Linux.

Features

  • 🚀 Interactive Mode - Run without arguments and answer guided questions
  • 🔧 Command Line Mode - Pass arguments directly for scripting
  • 🖥️ Multi-Server Support - Works with both Apache and Nginx
  • 🔒 Automatic SSL - Self-signed certificates trusted by your browser via mkcert
  • 🔐 Smart Permissions - Sets proper permissions using ACL

🛠 Installation

⚠️ Warning: Only Debian based distributions (Ubuntu, Debian, Mint, etc.) are supported for now.

Prerequisites

  • Node.js 18 or higher
  • sudo privileges
  • Apache or Nginx installed

Quick Install

sudo npm install -g laraserve

Development Install

# Clone the repository
git clone https://github.com/omer73364/laraserve.git
cd laraserve

# Install dependencies
npm install

# Link for local development
sudo npm link

💻 Usage

Interactive Mode

Just run:

sudo laraserve

You'll be guided through:

  1. Domain name (e.g., myapp.test)
  2. Document root path (e.g., /var/www/myapp)
  3. Web server selection (Nginx/Apache)
  4. SSL certificate setup

Command Line Mode

sudo laraserve --domain <domain> --path <path> --server <apache|nginx> [--ssl]

Options

Flag Alias Description Required
--domain -d Domain name (e.g., example.test) Yes
--path -p Document root path (e.g., /var/www/example) Yes
--server -s Server type: apache or nginx Yes
--ssl - Enable SSL with mkcert No
--help -h Show help message No

🚀 Examples

Apache without SSL

sudo laraserve --domain myapp.test --path /var/www/myapp --server apache

Nginx with SSL

sudo laraserve --domain myapp.test --path /var/www/myapp --server nginx --ssl

Using short flags

sudo laraserve -d myapp.test -p /var/www/myapp -s nginx --ssl

🔍 How It Works

Laraserve streamlines local development by automating:

  1. Server Configuration

    • Creates optimized virtual host configs
    • Handles both HTTP and HTTPS
    • Sets proper permissions using ACL
  2. SSL Setup

    • Auto-installs mkcert if needed
    • Generates and trusts local certificates
    • Configures secure HTTPS by default
  3. System Integration

    • Updates /etc/hosts automatically
    • Manages server modules and configurations
    • Handles service restarts

🤝 Contributing

Contributions are welcome! Please open issues or pull requests.

📄 License

This project is licensed under the MIT License.

❓ Support

Report issues at: https://github.com/omer73364/laraserve/issues

About

A CLI tool for Effortless Local Laravel Development with Automatic SSL for Linux.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%