・nginxをソースを入手する
・WebDAV用のモジュール(ソース?)を入手する
※Windows標準のWebClientを使うため、methodを拡張(PROPFIND,OPTIONS)を扱える
ようにする
・rpmを作成する
構築する環境は、
・CentOS 6.4(64bit)
・nginx1.4.1
で試してみる。
1.nginx+WebDAV拡張モジュールインストールのためのライブラリのインストール
必要となる以下のパッケージを入れる
・nginxのため
zlib
zlib-devel
pcre
pcre-devel
perl
・nginx-dav-ext-moduleのため
expat
expat-devel
2.nginxのソースパッケージを入手
# cd /tmp
# wget http://nginx.org/packages/centos/6/SRPMS/nginx-1.4.1-1.el6.ngx.src.rpm
# rpm -ivh nginx-1.4.1-1.el6.ngx.src.rpm
インストール先は~/rpmbuildになるみたい。
3.拡張モジュールを入手るする
WebDAVの拡張モジュールのソースはgitで管理されているので、gitから入手。
# cd ~/rpmbuild/SOURCES/
# git clone https://github.com/arut/nginx-dav-ext-module.git
上記で以下のフォルダにソースファイルが展開される
~/rpmbuild/SOURCES/nginx-dav-ext-module
4.rpmパッケージの作成
今回必要なモジュールのみインストールをすることを目的に、SPECファイルを
修正する。
ポイントは以下の通り
1.ソースは1.4.1をベースとする(デフォルトはWebから最新を入手)
2.不要なライブリの依存を外す(openssl-devel)
3.不要なnginxのオプションを、ocnfigureから外す
これをspecファイルに反映する。
# vi ~/rpmbuild/SPECS/nginx.spec
>>
・
・
Source0: nginx-1.4.1.tar.gz
#BuildRequires: openssl-devel
・
・
%build
./configure \
--prefix=%{_sysconfdir}/nginx \
--sbin-path=%{_sbindir}/nginx \
--conf-path=%{_sysconfdir}/nginx/nginx.conf \
--error-log-path=%{_localstatedir}/log/nginx/error.log \
--http-log-path=%{_localstatedir}/log/nginx/access.log \
--pid-path=%{_localstatedir}/run/nginx.pid \
--lock-path=%{_localstatedir}/run/nginx.lock \
--user=%{nginx_user} \
--group=%{nginx_group} \
--with-http_dav_module \
--with-cc-opt="%{optflags} $(pcre-config --cflags)" \
--add-module=/home/chika/rpmbuild/SOURCES/nginx-dav-ext-module \
$*
make %{?_smp_mflags}
%{__mv} %{_builddir}/%{name}-%{version}/objs/nginx \
%{_builddir}/%{name}-%{version}/objs/nginx.debug
./configure \
--prefix=%{_sysconfdir}/nginx \
--sbin-path=%{_sbindir}/nginx \
--conf-path=%{_sysconfdir}/nginx/nginx.conf \
--error-log-path=%{_localstatedir}/log/nginx/error.log \
--http-log-path=%{_localstatedir}/log/nginx/access.log \
--pid-path=%{_localstatedir}/run/nginx.pid \
--lock-path=%{_localstatedir}/run/nginx.lock \
--user=%{nginx_user} \
--group=%{nginx_group} \
--with-http_dav_module \
--with-cc-opt="%{optflags} $(pcre-config --cflags)" \
--add-module=/home/chika/rpmbuild/SOURCES/nginx-dav-ext-module \
$*
make %{?_smp_mflags}
・
・
<<
上記のインストールパスの変更などを行いたい場合は、
・~/.rpmmacrosに変数を記載
・上記のspecファイルに修正を加える。
で対応する。
# rpmbuild -bb ~/rpmbuild/SPECS/nginx.spec
これで、以下にファイルが出来上がり。
~/rpmbuild/RPMS/x86_64/nginx-1.4.1-1.el6.ngx.x86_64.rpm
5.nginxをインストール
# rpm -ihv ~/rpmbuild/RPMS/x86_64/nginx-1.4.1-1.el6.ngx.x86_64.rpm
準備中... ########################################### [100%]
1:nginx ########################################### [100%]
----------------------------------------------------------------------
Thanks for using NGINX!
Check out our community web site:
* http://nginx.org/en/support.html
If you have questions about commercial support for NGINX please visit:
* http://www.nginx.com/support.html
----------------------------------------------------------------------
# /usr/sbin/nginx -V
nginx version: nginx/1.4.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --user=nginx --group=nginx --with-http_dav_module --with-cc-opt='-O2 -g -I/usr/local/include' --add-module=/home/nginx/rpmbuild/SOURCES/nginx-dav-ext-module
指定のモジュールが組み込まれているようです!次回はWebDAVの設定です。
0 件のコメント:
コメントを投稿