本文档介绍了如何在 Linux(或类似的类 Unix 操作系统)上构建一个完全自包含的、静态链接的“althttpd”二进制文件。
你需要什么
- 本网站提供的
althttpd.c
源代码文件。 - 最新OpenSSL版本的tarball。
- 常用的 Unix 构建工具,“make”,“gcc”等。
- OpenSSL 构建需要 Perl。
构建步骤
- 编译静态 OpenSSL 库.
- 解压 OpenSSL tarball。将顶级目录重命名为“openssl”。
- 进入 openssl 目录。
- 运行以下命令
./config no-ssl3 no-weak-ssl-ciphers no-shared no-threads --openssldir=/usr/lib/ssl CFLAGS=-Os make -e
- 在 OpenSSL 构建期间泡一杯茶……
- 编译
althttpd
- 返回到包含
althttpd.c
源文件的顶级目录。 - 运行
gcc -I./openssl/include -Os -Wall -Wextra -DENABLE_TLS \ -o althttpd althttpd.c -L./openssl -lssl -lcrypto -ldl
- 上一条命令构建的二进制文件会静态链接到 OpenSSL,但仍然动态链接到系统库。要使二进制文件完全静态,请添加
-static
选项。 - 在上面的
gcc
命令中,您可以选择添加-DALTHTTPD_VERSION='...'
,其中引号内的文本是将向 CGI 脚本报告的 althttpd 版本号。
- 返回到包含
使用二进制文件
以上是您需要做的所有操作。编译后,只需将生成的二进制文件移动到服务器的 /usr/bin 目录即可。