Files
Epicnabbo-Catalogus-Updated…/extra tuts/Best ubuntu start settings no hotel.md
T
2025-09-20 21:12:16 +02:00

82 lines
2.7 KiB
Markdown

Optimizing an Ubuntu server is a critical step for ensuring stability, security, and peak performance. Here is a general tutorial on how to best configure your server.
-----
### 1\. Update Your System
Always start by ensuring your system is up to date with the latest security patches and software versions.
```bash
sudo apt update
sudo apt upgrade -y
```
-----
### 2\. Security
Securing your server is a top priority to prevent unauthorized access.
* **Secure SSH:** Change the default SSH port (22) to a random, non-standard port. It's also highly recommended to disable root login and use key-based authentication instead of passwords.
```bash
sudo nano /etc/ssh/sshd_config
```
Modify these lines:
* `Port 22` to `Port <a different number>`
* `PermitRootLogin yes` to `PermitRootLogin no`
* `PasswordAuthentication yes` to `PasswordAuthentication no`
* **Set Up a Firewall (UFW):** Enable the firewall and only open the ports you need for your services.
```bash
sudo ufw allow ssh # or your new SSH port
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
```
-----
### 3\. Performance
Optimize your server's performance based on the services it will run.
#### For a Web Server (LAMP/LEMP Stack)
* **PHP OPcache:** This is one of the most important steps for PHP performance. Ensure it's enabled and configured to your site's needs.
* **Web Server Fine-Tuning:** Optimize your web server (Nginx or Apache). For Nginx, you can adjust the number of worker processes. For Apache, you can tune `MaxRequestWorkers` and other settings.
* **Database (MySQL/MariaDB):** Fine-tune database cache settings like `innodb_buffer_pool_size`. A good rule of thumb is to allocate 50-70% of your total RAM to this setting.
#### General Server Performance
* **Enable Zram:** Zram creates a compressed block device in RAM, which significantly improves the speed of swap space and reduces I/O load.
```bash
sudo apt install zram-tools
```
* **Optimize `sysctl`:** Adjust kernel parameters for better network performance. This can tune the TCP stack for higher throughput.
```bash
sudo nano /etc/sysctl.conf
```
Add the following lines for network optimization:
```ini
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_max_syn_backlog = 65536
```
-----
### 4\. Monitoring
Monitor your server to identify bottlenecks. Tools like **`top`**, **`htop`**, **`nmon`**, or **Grafana** can help you keep an eye on CPU, memory, and I/O usage, allowing you to make further optimizations where needed.