Update README for current dependencies and install steps #10
@@ -1,5 +1,5 @@
|
||||
# freenginx-custom
|
||||
Iamdoubz custom freenginx config for Ubuntu 22.04. I was tired of forgetting what I used to compile [freenginx](https://freenginx.org/en/docs/) so I made my own repo.
|
||||
Iamdoubz custom freenginx config, tested with Ubuntu 22.04 and 24.04. I was tired of forgetting what I used to compile [freenginx](https://freenginx.org/en/docs/) so I made my own repo.
|
||||
|
||||
# Enhancements
|
||||
- Support for H3/QUIC
|
||||
@@ -7,24 +7,27 @@ Iamdoubz custom freenginx config for Ubuntu 22.04. I was tired of forgetting wha
|
||||
- [Zstandard compression](https://github.com/HanadaLee/ngx_http_zstd_module)
|
||||
- [GeoIP2](https://github.com/leev/ngx_http_geoip2_module)
|
||||
- [Headers-More](https://github.com/openresty/headers-more-nginx-module)
|
||||
- Quantum cryptography
|
||||
- KTLS
|
||||
- Post-quantum TLS key exchange (via OpenSSL)
|
||||
- KTLS (requires kernel 5.10+)
|
||||
- debug
|
||||
|
||||
Everything except H3 and post-quantum can be turned off with a `--no-*` flag.
|
||||
|
||||
# Dependencies
|
||||
There are quite a few dependencies to install. The main ones being:
|
||||
- build-essential
|
||||
- git
|
||||
- curl
|
||||
- wget
|
||||
- cmake
|
||||
- [libmaxminddb](https://github.com/maxmind/libmaxminddb)
|
||||
- And probably others...
|
||||
You need `sudo` and these packages:
|
||||
|
||||
```
|
||||
sudo apt install build-essential git curl unzip cmake pkg-config libzstd-dev
|
||||
```
|
||||
|
||||
`libzstd-dev` isn't needed if you build with `--no-zstd`.
|
||||
|
||||
# Additional Packages
|
||||
The script downloads these itself:
|
||||
- [PCRE2](https://github.com/PCRE2Project/pcre2/)
|
||||
- [zlib](https://www.zlib.net/)
|
||||
- [openssl](https://github.com/openssl/openssl/)
|
||||
- [libmaxminddb](https://github.com/maxmind/libmaxminddb), installed system-wide unless the pinned version is already installed. It isn't needed if you build with `--no-geoip2`.
|
||||
|
||||
# How to download
|
||||
Please use the provided script `freenginx.sh`. Make sure to make it executable first `sudo chmod +x freenginx.sh`. Then run it with `./freenginx.sh`.
|
||||
@@ -43,9 +46,9 @@ If a step fails, the script stops and prints the end of the log.
|
||||
Type `which nginx` and make a copy i.e. `sudo cp /usr/sbin/nginx /usr/sbin/nginx_apt`. **NOTE**: if you have *not* installed nginx, you do not have to do this step. **NOTE**: this script for freenginx is built as a drop in replacement for nginx.
|
||||
|
||||
# Install newly compiled binary
|
||||
1. `cd /path/to/buildroot/nginx-release-1.29.4`
|
||||
1. `cd /path/to/buildroot/nginx-release-<version>`
|
||||
2. `sudo make install`
|
||||
3. Check nginx `sudo nginx -t`
|
||||
4. Reload nginx `sudo nginx -s reload`
|
||||
5. Verify new version `sudo nginx -v` should output `nginx version: freenginx/1.29.4 (w/GeoIP2,Brotli,H3,Headers-More,Quantum,debug,KTLS)`
|
||||
5. Verify new version `sudo nginx -v` should output `nginx version: freenginx/<version> (w/GeoIP2,Brotli,Zstd,H3,Headers-More,Quantum,debug,KTLS)`
|
||||
6. Optionally free up disk space with `./freenginx.sh --purge` (same `-r` and versions as the build). It refuses to run if the built binary doesn't match `/usr/sbin/nginx`.
|
||||
Reference in new issue
Block a user