nginx build form source on Fedora23 Server (OSX VirtualBox)
OSX VirtualBox上のまっさらなFedora23Serverにnginxをsourceからビルド
最短距離
$ sudo dnf install git gcc pcre-devel zlib-devel openssl-devel $ git clone https://github.com/nginx/nginx.git $ cd nginx $ ./auto/configure --with-openssl=/usr/lib64/openssl $ make $ sudo make install $ sudo chmod +x /usr/local/nginx/sbin/nginx $ sudo /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.9.10 built by gcc 5.3.1 20151207 (Red Hat 5.3.1-2) (GCC) configure arguments: --with-openssl=/usr/lib64/openssl $ sudo firewall-cmd --permanent --add-service=http success $ sudo firewall-cmd --permanent --add-port=80/tcp success $ sudo systemctl restart firewalld $ sudo firewall-cmd --list-all FedoraServer (default, active) interfaces: enp0s3 sources: services: cockpit dhcpv6-client http https ssh ports: 80/tcp masquerade: no forward-ports: icmp-blocks: rich rules:
以下、遭遇したエラー
gccがない
$ ./auto/configure checking for OS + Linux 4.2.3-300.fc23.x86_64 x86_64 checking for C compiler ... not found ./auto/configure: error: C compiler cc is not found
gccを入れる
$ sudo dnf install gcc
pcreがない
$ ./auto/configure ~ 省略 checking for PCRE library ... not found checking for PCRE library in /usr/local/ ... not found checking for PCRE library in /usr/include/pcre/ ... not found checking for PCRE library in /usr/pkg/ ... not found checking for PCRE library in /opt/local/ ... not found ./auto/configure: error: the HTTP rewrite module requires the PCRE library. You can either disable the module by using --without-http_rewrite_module option, or install the PCRE library into the system, or build the PCRE library statically from the source with nginx by using --with-pcre=<path> option.
pcreを入れる
$ sudo dnf install pcre-develop
zlibがない
$ ./auto/configure ~ 省略 checking for zlib library ... not found ./auto/configure: error: the HTTP gzip module requires the zlib library. You can either disable the module by using --without-http_gzip_module option, or install the zlib library into the system, or build the zlib library statically from the source with nginx by using --with-zlib=<path> option.
zilbを入れる
$ sudo dnf install zlib-devel
opensslがない
$ ./auto/configure
~ 省略
Configuration summary
+ using system PCRE library
+ OpenSSL library is not used
+ using builtin md5 code
+ sha1 library is not found
+ using system zlib library
opensslを入れる、オプション指定する
$ sudo dnf install openssl-devel $ ./auto/configure --with-openssl=/usr/lib64/openssl
port 80に接続できない
firewalldで許可する
$ sudo firewall-cmd --permanent --add-service=http success $ sudo firewall-cmd --permanent --add-port=80/tcp success $ sudo systemctl restart firewalld $ sudo firewall-cmd --list-all FedoraServer (default, active) interfaces: enp0s3 sources: services: cockpit dhcpv6-client http https ssh ports: 80/tcp masquerade: no forward-ports: icmp-blocks: rich rules: