|
1 |
| -## Script I use to configure new Ubuntu systems |
| 1 | +# Handy Ubuntu System Setup Script |
2 | 2 |
|
3 | 3 | [](https://github.com/Decaded/install-script)
|
4 | 4 | [](https://github.com/Decaded/install-script/issues)
|
5 | 5 | [](https://github.com/Decaded/install-script/pulls)
|
6 | 6 | [](https://github.com/Decaded/install-script/commits)
|
7 | 7 |
|
| 8 | +Welcome to this nifty Ubuntu System Setup Script! This script is your go-to tool for setting up and supercharging your Ubuntu system in a jiffy. It's all about making your system |
| 9 | +cooler, more secure, and tuned to your liking. |
8 | 10 |
|
9 |
| -### Functions |
10 |
| - |
11 |
| -- Install essentials: |
12 |
| - - [htop](https://htop.dev/) - Interactive process viewer |
13 |
| - - [screen](https://www.gnu.org/software/screen/) - Terminal multiplexer |
14 |
| - - [nload](https://github.com/rolandriegel/nload) - Network traffic monitor |
15 |
| - - [nano](https://www.nano-editor.org/) - Text editor |
16 |
| - - [firewalld](https://firewalld.org/) - Firewall management |
17 |
| - - After installation will open provided SSH port |
18 |
| - - [fail2ban](https://github.com/fail2ban/fail2ban) - Intrusion prevention system |
19 |
| - - After installation will ask for configuration file; |
20 |
| - - default one |
21 |
| - - custom one (downloadable via url) |
22 |
| - - [modified by me](https://gist.github.com/Decaded/4a2b37853afb82ecd91da2971726234a) |
23 |
| - - [git](https://git-scm.com/) - Version control system |
24 |
| - - After installation prompts for first-time configuration |
25 |
| - - [unattended-upgrades](https://help.ubuntu.com/community/AutomaticSecurityUpdates) - Automatic updates |
26 |
| - |
27 |
| -- Option to disable password authentication and leave key-based only (as requested in [issue #1](https://github.com/Decaded/install-script/issues/1)) |
28 |
| - - Asks for a public key that will be inserted into `$HOME/.ssh/authorized_keys` |
29 |
| - - if the key already exist in the file, new entry will not be made |
30 |
| - - `sshd_config` will be backed up to `/etc/ssh/sshd_config_decoscript.backup` |
31 |
| - - this will enable option `6` in the menu: `Restore SSH Configuration` |
32 |
| -- Option to enable passwordless sudo access for the user running this script |
33 |
| - - Won't do anything if the user already has this enabled |
34 |
| -- Option to install a basic web server ([nginx](https://www.nginx.com/) & [php8.1](https://www.php.net/releases/8_1_0.php)-fpm) |
35 |
| - - Opens ports 80 and 443 TCP/UDP in the firewall |
36 |
| - - Removes [Apache2](https://httpd.apache.org/) if it exists |
37 |
| -- Option to install [Node Version Manager](https://github.com/nvm-sh/nvm) |
38 |
| - |
39 |
| -___ |
40 |
| -### Usage |
41 |
| - |
42 |
| -Download: |
43 |
| -```bash |
44 |
| -wget https://raw.githubusercontent.com/Decaded/install-script/main/install.sh |
45 |
| -``` |
46 |
| -Add permissions to run: |
47 |
| -```bash |
48 |
| -sudo chmod +x install.sh |
49 |
| -``` |
50 |
| -Run script: |
51 |
| -```bash |
52 |
| -./install.sh |
53 |
| -``` |
54 |
| -And just pick what you need from the menu: |
| 11 | +--- |
| 12 | + |
| 13 | +## Cool Stuff You Can Do |
| 14 | + |
| 15 | +### Get Must-Have Tools |
| 16 | + |
| 17 | +1. **[htop](https://htop.dev/)** - Check out what's going on with your system processes in a flash. |
| 18 | +2. **[screen](https://www.gnu.org/software/screen/)** - Split your terminal like a pro. |
| 19 | +3. **[nload](https://github.com/rolandriegel/nload)** - Keep an eye on your network traffic. |
| 20 | +4. **[nano](https://www.nano-editor.org/)** - A simple and friendly text editor. |
| 21 | +5. **[firewalld](https://firewalld.org/)** - Manage your firewall settings with ease: |
| 22 | + - Automatically opens your SSH port (with options for customization). |
| 23 | +6. **[fail2ban](https://github.com/fail2ban/fail2ban)** - Ward off intruders with this handy tool: |
| 24 | + - Configure it with default settings or go custom. |
| 25 | +7. **[git](https://git-scm.com/)** - The go-to tool for version control: |
| 26 | + - We'll help you set it up if it's your first time. |
| 27 | +8. **[unattended-upgrades](https://help.ubuntu.com/community/AutomaticSecurityUpdates)** - Stay safe with automatic security updates. |
| 28 | + |
| 29 | +### Customize Your Setup |
| 30 | + |
| 31 | +- **SSH Authentication**: |
| 32 | + |
| 33 | + - Switch to key-based authentication for enhanced security (as requested in [issue #1](https://github.com/Decaded/install-script/issues/1)). |
| 34 | + - You can later revert to password authentication using option `6` in the menu: `Restore SSH Configuration`. |
| 35 | + - The script automatically creates a backup of your SSH configuration (`sshd_config`) before making changes, located at `/etc/ssh/sshd_config_decoscript.backup`. |
| 36 | + |
| 37 | +- **Passwordless Sudo Access**: |
| 38 | + |
| 39 | + - Elevate your powers without the hassle of password prompts. |
| 40 | + - Don't worry; we won't mess with it if you're already in the passwordless sudo club. |
| 41 | + |
| 42 | +### Web Server Delight |
| 43 | + |
| 44 | +- Want to host a website? We've got you covered with [Nginx](https://www.nginx.com/) & [PHP 8.1 (php-fpm)](https://www.php.net/releases/8_1_0.php). |
| 45 | +- We'll even open up ports 80 and 443 TCP/UDP in the firewall (if you have `firewalld` installed). |
| 46 | +- And if you're still hanging out with [Apache2](https://httpd.apache.org/), we'll give it a polite send-off. |
| 47 | + |
| 48 | +### Node.js Goodness |
| 49 | + |
| 50 | +- Ready to explore the world of Node.js? We've got you covered with [Node Version Manager (NVM)](https://github.com/nvm-sh/nvm). |
| 51 | +- With NVM, you can: |
| 52 | + - Seamlessly switch between different Node.js versions. |
| 53 | + - Easily manage Node.js installations. |
| 54 | + - Keep your Node.js environment up-to-date with the latest releases. |
| 55 | + |
| 56 | +--- |
| 57 | + |
| 58 | +## How to Make Magic Happen |
| 59 | + |
| 60 | +1. **Download** this _awesome_ script |
| 61 | + |
| 62 | + ```bash |
| 63 | + wget https://raw.githubusercontent.com/Decaded/install-script/main/install.sh |
| 64 | + ``` |
| 65 | + |
| 66 | +2. **Give it Permission to Run**: |
| 67 | + |
| 68 | + ```bash |
| 69 | + sudo chmod +x install.sh |
| 70 | + ``` |
| 71 | + |
| 72 | +3. **Run the Script**: |
| 73 | + |
| 74 | + ```bash |
| 75 | + ./install.sh |
| 76 | + ``` |
| 77 | + |
| 78 | +And then, just pick the goodies you want from our cool menu: |
55 | 79 |
|
56 | 80 | 
|
57 | 81 |
|
58 |
| -___ |
59 |
| -### Contributing |
60 |
| -Contributions are welcome! If you find any issues or have suggestions for improvements, feel free to submit a [issue](https://github.com/Decaded/install-script/issues). |
| 82 | +--- |
| 83 | + |
| 84 | +## Join the Fun |
| 85 | + |
| 86 | +We're all ears! If you spot something funky or have ideas for making this script even cooler, share it with us via [issues](https://github.com/Decaded/install-script/issues). |
| 87 | + |
| 88 | +## License |
| 89 | + |
| 90 | +This project is licensed under the [MIT License](LICENSE). |
61 | 91 |
|
62 |
| -___ |
63 |
| -### Disclaimer |
| 92 | +--- |
64 | 93 |
|
65 |
| -> I am by no means an expert in this field. You use this script at your own risk. |
| 94 | +## Quick Word of Caution |
66 | 95 |
|
67 |
| -___ |
| 96 | +> This script comes as is, without any guarantees. It's your adventure, so be mindful. The author isn't a super-tech guru, so use it with a touch of caution. |
0 commit comments