Welcome to LinuxDevKickstart! This repository contains a comprehensive script to quickly set up a development environment on a Linux (Ubuntu/Debian) system.
- Web Server Setup: Choose between Nginx and Apache2.
- Database Server Setup: Choose between MySQL and MariaDB.
- PHP Setup: Install PHP with default version 8.1, with an option to choose 8.2.
- Node.js and NPM Setup: Install using Node Version Manager (NVM) for flexibility.
- Yarn and Composer: Global installation for efficient package management.
- Essential Tools: Git, Curl, Unzip.
- Customizable PHP Extensions: Easily add additional PHP extensions as needed.
- Robust Error Handling: Ensures smooth installation with clear error messages and logging.
-
Clone the Repository:
git clone https://github.com/Devvify/LinuxDevKickstart.git cd LinuxDevKickstart
-
Run the Script:
./setup.sh
-
Follow the Prompts:
- Choose your preferred web server.
- Choose your preferred database server.
- Select PHP version (default is 8.1, option to choose 8.2).
- Optionally add additional PHP extensions.
You can customize the setup process by passing the following command-line arguments to setup.sh
:
Argument | Description | Example |
---|---|---|
--web-server |
Specifies the web server to use | nginx |
--db-server |
Specifies the database server to use | mysql |
--php-version |
Specifies the PHP version to use | 8.2 |
--php-extensions |
Specifies the PHP extensions to install | curl,gd |
--install-dir |
Specifies the installation directory | /usr/local/bin |
--log-file |
Specifies the log file | setup.log |
../setup.sh --web-server apache2 --db-server mariadb --php-version 8.1 --php-extensions mbstring,xml,zip --install-dir /usr/local/bin --log-file setup.log
You can customize the setup process by choosing from the following options:
- Nginx
- Apache2
- MySQL
- MariaDB
- Default: 8.1
- Option: 8.2
- php-mysql (MySQL database support)
- php-pgsql (PostgreSQL database support)
- php-sqlite3 (SQLite database support)
- php-curl (cURL library support)
- php-gd (GD image library support)
- php-mbstring (Multibyte string support)
- php-xml (XML parsing support)
- php-zip (ZIP archive support)
- php-intl (Internationalization support)
Feel free to open issues and submit pull requests for improvements or bug fixes. Contributions are always welcome!
This project is licensed under the MIT License. See the LICENSE file for details.