{"id":646,"date":"2017-11-14T10:47:50","date_gmt":"2017-11-14T01:47:50","guid":{"rendered":"https:\/\/fsck.jp\/?p=646"},"modified":"2022-04-28T10:10:52","modified_gmt":"2022-04-28T01:10:52","slug":"nginx-rpm-%e3%81%ae%e6%a9%9f%e8%83%bd%e8%bf%bd%e5%8a%a0%e3%83%aa%e3%83%93%e3%83%ab%e3%83%89","status":"publish","type":"post","link":"https:\/\/fsck.jp\/?p=646","title":{"rendered":"nginx \u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u8ffd\u52a0\u30ea\u30d3\u30eb\u30c9 (CentOS 7 EPEL \u7248)"},"content":{"rendered":"\n<p>nginx \u516c\u5f0f\u3084 epel \u30d1\u30c3\u30b1\u30fc\u30b8\u306e nginx \u30d0\u30a4\u30ca\u30ea\u3067\u306f\u4f7f\u3044\u305f\u3044\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30b3\u30f3\u30d1\u30a4\u30eb\u3055\u308c\u3066\u3044\u306a\u3044\u3002\u7279\u306b nginx-dav-ext-module\uff08WebDAV \u3067 OPTIONS \u30e1\u30bd\u30c3\u30c9\u304c\u5229\u7528\u53ef\u80fd\u306b\u306a\u308b\uff09\u3001headers-more-nginx-module\uff08HTTP\u30d8\u30c3\u30c0\u3092\u8ffd\u52a0\u3057\u305f\u308a\u524a\u9664\u3057\u305f\u308a\uff09\u3001nginx-ct\uff08\u8a3c\u660e\u66f8\u306e\u900f\u660e\u6027\u5bfe\u5fdc\u304c\u3067\u304d\u308b\uff09\u3092\u4f7f\u3044\u305f\u3044\u306e\u3067\u3001\u30bd\u30fc\u30b9\u304b\u3089\u30d3\u30eb\u30c9\u3059\u308b\u3053\u3068\u306b\u3059\u308b\u3002<\/p>\n\n\n\n<p>\u524d\u63d0\u3068\u3057\u3066\u3001\u4f7f\u7528 OS \u306f CentOS 7 \u3067\u3042\u308b\u3002<\/p>\n\n\n\n<p>nginx \u516c\u5f0f\u306e RPM \u30d1\u30c3\u30b1\u30fc\u30b8\u3082\u3042\u308b\u304c\u3001\u3053\u306e\u8a18\u4e8b\u3067\u306f epel \u30ea\u30dd\u30b8\u30c8\u30ea\u306e nginx RPM \u3092\u30d9\u30fc\u30b9\u306b\u3001\u5fc5\u8981\u306a\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u8a18\u8ff0\u3092\u8ffd\u52a0\u3057\u3066 SRPM \u304b\u3089\u30ea\u30d3\u30eb\u30c9\u3057\u3066\u307f\u308b\u3002<\/p>\n\n\n\n<h3>1. \u30b3\u30f3\u30d1\u30a4\u30eb\u306b\u5fc5\u8981\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n\n\n\n<p><code>$ sudo yum install gperftools-devel openssl-devel pcre-devel zlib-devel GeoIP-devel gd-devel perl-devel perl-ExtUtils-Embed libxslt-devel expat-devel git<\/code><\/p>\n\n\n\n<h3>2. epel \u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u8ffd\u52a0<\/h3>\n\n\n\n<p>epel \u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u8ffd\u52a0\u3059\u308b\u3002\u8ffd\u52a0\u6e08\u307f\u3067\u3042\u308c\u3070\u4f5c\u696d\u306e\u5fc5\u8981\u306a\u3057\u3002<br><code>$ sudo yum install epel-release<\/code><\/p>\n\n\n\n<h3>3. SRPM \u306e\u5165\u624b<\/h3>\n\n\n\n<p>SRPM \u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u30fb\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u3002<br><code>$ sudo yum install -y yum-utils<\/code><br><code>$ sudo yum-config-manager --enable epel-testing<\/code><br><code>$ sudo yum install @buildsys-build<\/code><br><code>$ yumdownloader --source nginx<\/code><br><code>$ rpm -ivh nginx-1.20.1-9.el7.src.rpm<\/code><\/p>\n\n\n\n<p>\u4eca\u5f8c yum update \u3067\u52dd\u624b\u306b\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3055\u308c\u306a\u3044\u3088\u3046\u306b\u3001epel \u30ec\u30dd\u30b8\u30c8\u30ea\u3092\u7121\u52b9\u5316\u3057\u3066\u304a\u304f\u3002<br><code>$ sudo yum-config-manager --disable epel\\*<\/code><\/p>\n\n\n\n<h3>4. \u30ab\u30b9\u30bf\u30de\u30a4\u30ba<\/h3>\n\n\n\n<p>SRPM \u306e spec \u30d5\u30a1\u30a4\u30eb\u3092\u7de8\u96c6\u3059\u308b\u3002<br><code>$ vi rpmbuild\/SPECS\/nginx.spec<\/code><\/p>\n\n\n\n<p>\u4ee5\u4e0b\u3001nginx.spec \u306b\u8ffd\u52a0\u3059\u308b\u90e8\u5206\u3092 diff -u \u5f62\u5f0f\u3067\u8a18\u8ff0\u3059\u308b\u3002\u8ffd\u52a0\u3059\u308b3\u3064\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u3046\u3061\u3001nginx-ct \u306f\u5143\u3005 nginx \u306b\u542b\u307e\u308c\u3066\u3044\u3066\u52d5\u7684\u30e2\u30b8\u30e5\u30fc\u30eb\u5316\u3055\u308c\u3066\u3044\u308b mod-mail \u3068 mod-stream \u306b\u4f9d\u5b58\u3059\u308b\u305f\u3081\u3001\u3053\u308c\u3082\u52d5\u7684\u30e2\u30b8\u30e5\u30fc\u30eb\u5316\u3059\u308b\uff08\u305d\u3046\u3057\u306a\u3044\u3068\u30d3\u30eb\u30c9\u30a8\u30e9\u30fc\u306b\u306a\u308b\uff09\u3002<\/p>\n\n\n<pre>--- nginx.spec.orig 2021-10-19 08:55:50.000000000 +0900<br \/>+++ nginx.spec 2022-04-28 09:38:22.327765589 +0900<br \/>@@ -92,6 +92,8 @@<br \/>%endif<br \/>BuildRequires: pcre-devel<br \/>BuildRequires: zlib-devel<br \/>+BuildRequires: expat-devel<br \/>+BuildRequires: git<br \/><br \/>Requires: nginx-filesystem = %{epoch}:%{version}-%{release}<br \/>%if 0%{?el7}<br \/>@@ -107,6 +109,7 @@<br \/><br \/>Requires: openssl<br \/>Requires: pcre<br \/>+Requires: expat<br \/>Requires(pre): nginx-filesystem<br \/>%if 0%{?with_mailcap_mimetypes}<br \/>Requires: nginx-mimetypes<br \/>@@ -140,6 +143,7 @@<br \/>Requires: nginx-mod-http-xslt-filter = %{epoch}:%{version}-%{release}<br \/>Requires: nginx-mod-mail = %{epoch}:%{version}-%{release}<br \/>Requires: nginx-mod-stream = %{epoch}:%{version}-%{release}<br \/>+Requires: nginx-mod-ct = %{epoch}:%{version}-%{release}<br \/><br \/>%description all-modules<br \/>Meta package that installs all available nginx modules.<br \/>@@ -236,12 +240,22 @@<br \/>%description mod-devel<br \/>%{summary}.<br \/><br \/>+%package mod-ct<br \/>+Summary: Nginx ct modules<br \/>+Requires: nginx<br \/>+<br \/>+%description mod-ct<br \/>+%{summary}.<br \/>+<br \/><br \/>%prep<br \/># Combine all keys from upstream into one file<br \/>cat %{S:2} %{S:3} %{S:4} &gt; %{_builddir}\/%{name}.gpg<br \/>%{gpgverify} --keyring='%{_builddir}\/%{name}.gpg' --signature='%{SOURCE1}' --data='%{SOURCE0}'<br \/>%autosetup -p1<br \/>+git clone https:\/\/github.com\/arut\/nginx-dav-ext-module.git<br \/>+git clone https:\/\/github.com\/openresty\/headers-more-nginx-module.git<br \/>+git clone https:\/\/github.com\/grahamedgecombe\/nginx-ct.git<br \/>cp %{SOURCE200} %{SOURCE210} %{SOURCE10} %{SOURCE12} .<br \/><br \/>%if 0%{?rhel} &gt; 0 &amp;&amp; 0%{?rhel} &lt; 8<br \/>@@ -322,6 +336,9 @@<br \/>--with-stream=dynamic \\<br \/>--with-stream_ssl_module \\<br \/>--with-stream_ssl_preread_module \\<br \/>+ --add-module=.\/nginx-dav-ext-module \\<br \/>+ --add-module=.\/headers-more-nginx-module \\<br \/>+ --add-dynamic-module=.\/nginx-ct \\<br \/>--with-threads \\<br \/>--with-cc-opt=\"%{optflags} $(pcre-config --cflags)\" \\<br \/>--with-ld-opt=\"$nginx_ldopts\"; then<br \/>@@ -421,6 +438,14 @@<br \/>&gt; %{buildroot}%{nginx_moduleconfdir}\/mod-mail.conf<br \/>echo 'load_module \"%{nginx_moduledir}\/ngx_stream_module.so\";' \\<br \/>&gt; %{buildroot}%{nginx_moduleconfdir}\/mod-stream.conf<br \/>+echo 'load_module \"%{_libdir}\/nginx\/modules\/ngx_ssl_ct_module.so\";' \\<br \/>+ &gt; %{buildroot}%{_datadir}\/nginx\/modules\/mod-ct.conf<br \/>+echo 'load_module \"%{_libdir}\/nginx\/modules\/ngx_http_ssl_ct_module.so\";' \\<br \/>+ &gt; %{buildroot}%{_datadir}\/nginx\/modules\/mod-http-ct.conf<br \/>+echo 'load_module \"%{_libdir}\/nginx\/modules\/ngx_mail_ssl_ct_module.so\";' \\<br \/>+ &gt; %{buildroot}%{_datadir}\/nginx\/modules\/mod-mail_ct.conf<br \/>+echo 'load_module \"%{_libdir}\/nginx\/modules\/ngx_stream_ssl_ct_module.so\";' \\<br \/>+ &gt; %{buildroot}%{_datadir}\/nginx\/modules\/mod-stream_ct.conf<br \/><br \/># Install files for supporting nginx module builds<br \/>## Install source files<br \/>@@ -479,6 +504,11 @@<br \/>\/usr\/bin\/systemctl reload nginx.service &gt;\/dev\/null 2&gt;&amp;1 || :<br \/>fi<br \/><br \/>+%post mod-ct<br \/>+if [ $1 -eq 1 ]; then<br \/>+ \/usr\/bin\/systemctl reload nginx.service &gt;\/dev\/null 2&gt;&amp;1 || :<br \/>+fi<br \/>+<br \/>%preun<br \/>%systemd_preun nginx.service<br \/><br \/>@@ -576,6 +606,16 @@<br \/>%{_fileattrsdir}\/nginxmods.attr<br \/>%{nginx_srcdir}\/<br \/><br \/>+%files mod-ct<br \/>+%{_datadir}\/nginx\/modules\/mod-ct.conf<br \/>+%{_datadir}\/nginx\/modules\/mod-http-ct.conf<br \/>+%{_datadir}\/nginx\/modules\/mod-mail_ct.conf<br \/>+%{_datadir}\/nginx\/modules\/mod-stream_ct.conf<br \/>+%{_libdir}\/nginx\/modules\/ngx_http_ssl_ct_module.so<br \/>+%{_libdir}\/nginx\/modules\/ngx_mail_ssl_ct_module.so<br \/>+%{_libdir}\/nginx\/modules\/ngx_ssl_ct_module.so<br \/>+%{_libdir}\/nginx\/modules\/ngx_stream_ssl_ct_module.so<br \/>+<br \/><br \/>%changelog<br \/>* Mon Oct 18 2021 Felix Kaechele &lt;heffer@fedoraproject.org&gt; - 1:1.20.1-9<\/pre>\n\n\n<h3>5. \u30d3\u30eb\u30c9\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n\n\n\n<p>\u30d3\u30eb\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3002<br><code>$ rpmbuild --with geoip -ba rpmbuild\/SPECS\/nginx.spec<\/code><\/p>\n\n\n\n<p>RPM \u304c\u51fa\u6765\u4e0a\u304c\u3063\u305f\u3089\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u3002\u3059\u3067\u306b EPEL \u3084 nginx \u516c\u5f0f RPM \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3057\u307e\u3063\u3066\u3044\u308b\u5834\u5408\u306f\u3001\u5148\u306b\u524a\u9664\u3057\u3066\u304a\u304f\u3053\u3068\u3002<\/p>\n\n\n\n<p>\u65e2\u5b58\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u524a\u9664:<br><code>$ sudo yum erase `rpm -qa | grep nginx`<\/code><\/p>\n\n\n\n<p>\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3057\u305f RPM \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb:<br><code>$ sudo yum localinstall rpmbuild\/RPMS\/x86_64\/nginx-1.*.rpm rpmbuild\/RPMS\/x86_64\/nginx-mod-*.rpm rpmbuild\/RPMS\/noarch\/nginx-*.rpm<\/code><\/p>\n\n\n\n<h3>6. \u8d77\u52d5<\/h3>\n\n\n\n<p>\u30c7\u30fc\u30e2\u30f3\u3092\u8d77\u52d5\u3059\u308b\u3002<br><code>$ sudo systemctl enable nginx<br>\n$ sudo systemctl start nginx<\/code><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>nginx \u516c\u5f0f\u3084 epel \u30d1\u30c3\u30b1\u30fc\u30b8\u306e nginx \u30d0\u30a4\u30ca\u30ea\u3067\u306f\u4f7f\u3044\u305f\u3044\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30b3\u30f3\u30d1\u30a4\u30eb\u3055\u308c\u3066\u3044\u306a\u3044\u3002\u7279\u306b nginx-dav-ext-module\uff08WebDAV \u3067 OPTIONS \u30e1\u30bd\u30c3\u30c9\u304c\u5229\u7528\u53ef\u80fd\u306b\u306a\u308b\uff09 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[20,13,14],"tags":[],"_links":{"self":[{"href":"https:\/\/fsck.jp\/index.php?rest_route=\/wp\/v2\/posts\/646"}],"collection":[{"href":"https:\/\/fsck.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fsck.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fsck.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fsck.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=646"}],"version-history":[{"count":2,"href":"https:\/\/fsck.jp\/index.php?rest_route=\/wp\/v2\/posts\/646\/revisions"}],"predecessor-version":[{"id":1182,"href":"https:\/\/fsck.jp\/index.php?rest_route=\/wp\/v2\/posts\/646\/revisions\/1182"}],"wp:attachment":[{"href":"https:\/\/fsck.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=646"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fsck.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=646"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fsck.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=646"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}