# Install h2o with Homebrew, MacPorts, Nix, apt

HTTP server with support for HTTP/1.x and HTTP/2. Version 2.2.6 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:h2o
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install h2o
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install h2o
```

  Evidence: MacPorts ports tree: www/h2o/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#h2o
```

  Evidence: nixpkgs package indexes: pkgs/by-name/h2/h2o/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- Ubuntu apt (92%):

```sh
sudo apt install h2o
```

  Evidence: Ubuntu 24.04 LTS package indexes: h2o from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz

## Package facts

- **Package key:** brew:h2o
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/h2o>
- **Version:** 2.2.6
- **Source summary:** HTTP server with support for HTTP/1.x and HTTP/2
- **Homepage:** <https://github.com/h2o/h2o/>
- **Repository:** <https://github.com/h2o/h2o>
- **Upstream docs:** <https://github.com/h2o/h2o#readme>
- **License:** MIT
- **Source archive:** <https://github.com/h2o/h2o/archive/refs/tags/v2.2.6.tar.gz>
- **Last updated:** 2026-06-22T14:03:41-07:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- h2o (cli)
- h2o (alias)

## Dependencies

- openssl@3

## Build dependencies

- cmake
- pkgconf

## Install behavior

- Post-install hook: not defined
- Service: declared
- Caveats: A basic example configuration file has been placed in $HOMEBREW_PREFIX/etc/h2o. You can find fuller, unmodified examples in $HOMEBREW_PREFIX/opt/h2o/share/h2o/examples.
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.2.6
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://github.com/h2o/h2o
- Upstream latest detected: v2.2.6 (current)
## Project history and usage

H2O is an MIT-licensed C HTTP server and library created in the HTTP/2 transition era. It became notable among web-server and package-manager users for treating HTTP/2 prioritization, server push, TLS behavior, and later HTTP/3/QUIC support as core design concerns rather than bolt-on features.

### Project history

The H2O repository was created in August 2014. The README credits DeNA, Kazuho Oku, Tatsuhiko Kubo, and later contributors including Fastly, and describes H2O as an optimized HTTP server with HTTP/1.x, HTTP/2, and experimental HTTP/3 support.

H2O 1.0 arrived around the finalization of HTTP/2, and the Changes file records early work to support the finalized HTTP/2 version and fix issues reported by h2spec. The project subsequently added or refined TLS, OCSP, mruby scripting, FastCGI, reverse proxying, HTTP/2 priority behavior, server push, early hints, and libh2o APIs.

The release history shows a mature 2.x line through 2019, including security fixes for HTTP/2 denial-of-service vectors and other parser or logging issues. A 2026 repository release note records that maintainers had decided in 2019 to stop tagging regular versions, steering users toward the master branch instead of a backported stable-branch model.

### Adoption history

H2O emerged as HTTP/2 moved from draft work into production deployment, so its adoption history is tied to operators and developers who wanted a server that handled HTTP/2 semantics deeply. The official site emphasizes lower CPU and memory-bandwidth use than older HTTP servers and highlights prioritization schemes, server push, and 103 Early Hints.

Fastly's public author page for Kazuho Oku identifies him as the author of H2O, quicly, and picoTLS, linking the server to a broader ecosystem of transport-layer and TLS work. Package-manager adoption through Homebrew, MacPorts, Nix, and Ubuntu made H2O available to developers experimenting with modern HTTP stacks without building from source.

### How it is used

H2O can run as a standalone HTTP server or be used as libh2o. Its documentation covers command options, YAML-style configuration, virtual hosts, paths, static files, FastCGI, proxying, access logs, compression, mruby, HTTP/2, HTTP/3, and operational features such as graceful restart.

For CLI/package users, H2O is commonly installed to test or operate a compact web server with HTTP/2 and HTTP/3 behavior, to compare prioritization and push behavior, or to embed HTTP serving behavior through the library.

### Why package nerds care

H2O is significant because it is not just another packaged web server: it captured a particular period when HTTP/2 implementers were validating new protocol semantics with h2spec, HPACK, prioritization trees, TLS choices, and server push. It also connected package ecosystems to related low-level projects such as picohttpparser, quicly, and picoTLS.

For people who follow formulae and ports, H2O is a useful example of a high-performance network daemon whose packaging surface spans daemon deployment, local protocol testing, and C library reuse.

### Timeline

- 2014: H2O repository created.
- 2015: 1.0-era development aligned with finalized HTTP/2 support and h2spec fixes.
- 2017: 2.2.0 series added a broad set of server, proxy, mruby, and logging features.
- 2018: 2.3.0 beta added HTTP/2, proxy, mruby, TLS, and server-timing work.
- 2019: 2.2.6 and 2.3.0-beta2 included fixes for HTTP/2 denial-of-service CVEs.
- 2026: Release note documented the earlier decision to stop tagging versions and use master-branch commits.

### Related projects

- Related projects include h2spec for conformance testing, nghttp2 as another major HTTP/2 implementation, picohttpparser as a parser used in the H2O ecosystem, quicly for QUIC, picoTLS for TLS, and web servers such as nginx and Apache that H2O is often compared with.

### Sources

- <https://formulae.brew.sh/formula/h2o>
- <https://github.com/h2o/h2o>
- <https://h2o.examp1e.net/>
- <https://h2o.examp1e.net/configure.html>
- <https://raw.githubusercontent.com/h2o/h2o/master/Changes>
- <https://raw.githubusercontent.com/h2o/h2o/master/README.md>
- <https://www.fastly.com/blog/author/kazuho-oku>


## Security Notes

broad file, network, media, or database tool signal. formula declares a Homebrew service.

- **Geiger risk:** orange / medium
- broad file, network, media, or database tool signal
- formula declares a Homebrew service

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** h2o
- **Version Scheme:** 0
- **Revision:** 3
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** yes
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - h2o: normalized package name match | nixpkgs package indexes: pkgs/by-name/h2/h2o/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - h2o - 2.2.5+dfsg2-8.1ubuntu3: normalized package name match | Ubuntu 24.04 LTS package indexes: h2o from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | optimized HTTP/1.x, HTTP/2 server | https://h2o.examp1e.net
- Ubuntu apt - h2o-doc - 2.2.5+dfsg2-8.1ubuntu3: normalized package name match | Ubuntu 24.04 LTS package indexes: h2o-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | optimized HTTP/1.x, HTTP/2 server - documentation | https://h2o.examp1e.net
- Ubuntu apt - libh2o-dev - 2.2.5+dfsg2-8.1ubuntu3: normalized package name match | Ubuntu 24.04 LTS package indexes: libh2o-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | dev helpers of the H2O library compiled with libuv | https://h2o.examp1e.net
- Ubuntu apt - libh2o-dev-common - 2.2.5+dfsg2-8.1ubuntu3: normalized package name match | Ubuntu 24.04 LTS package indexes: libh2o-dev-common from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | H2O library headers | https://h2o.examp1e.net
- Ubuntu apt - libh2o-evloop-dev - 2.2.5+dfsg2-8.1ubuntu3: normalized package name match | Ubuntu 24.04 LTS package indexes: libh2o-evloop-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | dev helpers of the H2O library compiled with its own event loop | https://h2o.examp1e.net
- Ubuntu apt - libh2o-evloop0.13t64 - 2.2.5+dfsg2-8.1ubuntu3: normalized package name match | Ubuntu 24.04 LTS package indexes: libh2o-evloop0.13t64 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | H2O library compiled with its own event loop | https://h2o.examp1e.net
- Ubuntu apt - libh2o0.13t64 - 2.2.5+dfsg2-8.1ubuntu3: normalized package name match | Ubuntu 24.04 LTS package indexes: libh2o0.13t64 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | H2O library compiled with libuv | https://h2o.examp1e.net
- MacPorts - h2o: normalized package name match | MacPorts ports tree: www/h2o/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [openssl@3](https://www.automicvault.com/pkg/brew/openssl-3/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [algernon](https://www.automicvault.com/pkg/brew/algernon/) - Shares av.db curated category or tags: cli, http2, networking, web-server.
- [ferron](https://www.automicvault.com/pkg/brew/ferron/) - Shares av.db curated category or tags: cli, http, networking, web-server.
- [httpd](https://www.automicvault.com/pkg/brew/httpd/) - Shares av.db curated category or tags: cli, http, networking, web-server.
- [mongoose](https://www.automicvault.com/pkg/brew/mongoose/) - Shares av.db curated category or tags: c, cli, networking, web-server.
- [nginx](https://www.automicvault.com/pkg/brew/nginx/) - Shares av.db curated category or tags: cli, http, networking, web-server.
- [static-web-server](https://www.automicvault.com/pkg/brew/static-web-server/) - Shares av.db curated category or tags: cli, http, networking, web-server.
- [yaws](https://www.automicvault.com/pkg/brew/yaws/) - Shares av.db curated category or tags: cli, http, networking, web-server.
- [caddy](https://www.automicvault.com/pkg/brew/caddy/) - Shares av.db curated category or tags: cli, networking, web-server.
- [proxygen](https://www.automicvault.com/pkg/brew/proxygen/) - Local metadata places this package in an adjacent workflow. Shared terms: cli, http, http2, http3, networking.
- [davix](https://www.automicvault.com/pkg/brew/davix/) - Local package facts share a topical domain. Shared terms: cli, http, networking, openssl, openssl-3.

## Combined YAML source

View the package source record on GitHub. [combined/h2o.yml](https://github.com/automic-vault/db/blob/main/combined/h2o.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
