update the installation scripts and systemd configuration files [release 3.2.3-2mamba;Sat Feb 27 2016]
This commit is contained in:
parent
8fc42eb88c
commit
84341b88b2
@ -1,2 +1,8 @@
|
||||
# mongodb
|
||||
|
||||
MongoDB is an open-source document database that provides high performance, high availability, and automatic scaling.
|
||||
MongoDB obviates the need for an Object Relational Mapping (ORM) to facilitate development.
|
||||
MongoDB stores documents in collections. Collections are analogous to tables in relational databases.
|
||||
Unlike a table, however, a collection does not require its documents to have the same schema.
|
||||
In MongoDB, documents stored in a collection must have a unique _id field that acts as a primary key.
|
||||
|
||||
|
61
mongod.conf
Normal file
61
mongod.conf
Normal file
@ -0,0 +1,61 @@
|
||||
# for documentation of all options, see:
|
||||
# https://docs.mongodb.org/manual/reference/configuration-options/
|
||||
|
||||
# Where to write logging data
|
||||
systemLog:
|
||||
# The default log message verbosity level for components (0-5)
|
||||
verbosity: 0
|
||||
|
||||
destination: file
|
||||
path: /var/log/mongodb/mongod.log
|
||||
|
||||
logAppend: true
|
||||
logRotate: reopen
|
||||
|
||||
# Where and how to store data
|
||||
storage:
|
||||
# Directory for datafiles (defaults to /data/db/)
|
||||
dbPath: /var/lib/mongodb
|
||||
|
||||
journal:
|
||||
# Enable/Disable journaling
|
||||
enabled: true
|
||||
|
||||
# The storage engine for the mongod database (mmapv1|wiredTiger)
|
||||
# (wiredTiger by default - works for 64 bit only)
|
||||
engine: mmapv1
|
||||
|
||||
# mmapv1:
|
||||
|
||||
# wiredTiger:
|
||||
|
||||
# How the process runs
|
||||
processManagement:
|
||||
fork: true # fork and run in background
|
||||
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
|
||||
|
||||
# network interfaces
|
||||
net:
|
||||
port: 27017
|
||||
# Listen to local interface only, comment to listen on all interfaces
|
||||
bindIp: 127.0.0.1,::1
|
||||
ipv6: true
|
||||
|
||||
unixDomainSocket:
|
||||
# Enable/disable listening on the UNIX domain socket
|
||||
enabled: true
|
||||
# Alternative directory for UNIX domain sockets (defaults to /tmp)
|
||||
pathPrefix: /var/run/mongodb
|
||||
|
||||
#security:
|
||||
# Private key for cluster authentication
|
||||
#keyFile: <string>
|
||||
|
||||
# Run with/without security (enabled|disabled, disabled by default)
|
||||
#authorization
|
||||
|
||||
#operationProfiling:
|
||||
|
||||
#replication:
|
||||
|
||||
#sharding:
|
15
mongod.service
Normal file
15
mongod.service
Normal file
@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=High-performance, schema-free document-oriented database
|
||||
After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
User=mongodb
|
||||
EnvironmentFile=/etc/sysconfig/mongod
|
||||
ExecStart=/usr/bin/mongod $OPTIONS run
|
||||
PrivateTmp=true
|
||||
LimitNOFILE=64000
|
||||
TimeoutStartSec=180
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
1
mongod.sysconf
Normal file
1
mongod.sysconf
Normal file
@ -0,0 +1 @@
|
||||
OPTIONS="-f /etc/mongod.conf"
|
12
mongodb.logrotate
Normal file
12
mongodb.logrotate
Normal file
@ -0,0 +1,12 @@
|
||||
/var/log/mongodb/*.log {
|
||||
weekly
|
||||
rotate 4
|
||||
copytruncate
|
||||
delaycompress
|
||||
compress
|
||||
notifempty
|
||||
missingok
|
||||
postrotate
|
||||
/bin/kill -USR1 `cat /var/run/mongodb/mongod.pid 2>/dev/null` 2>/dev/null || true
|
||||
endscript
|
||||
}
|
179
mongodb.spec
Normal file
179
mongodb.spec
Normal file
@ -0,0 +1,179 @@
|
||||
%global mongodb_gid 65059
|
||||
%global mongodb_group mongodb
|
||||
|
||||
%global mongodb_uid 65059
|
||||
%global mongodb_user mongodb
|
||||
|
||||
Name: mongodb
|
||||
Version: 3.2.3
|
||||
Release: 2mamba
|
||||
Summary: A cross-platform, high-performance, schema-free document-oriented database
|
||||
Group: Applications/Databases
|
||||
Vendor: openmamba
|
||||
Distribution: openmamba
|
||||
Packager: Davide Madrisan <davide.madrisan@gmail.com>
|
||||
URL: https://www.mongodb.org/
|
||||
Source: http://fastdl.mongodb.org/src/mongodb-src-r%{version}.tar.gz
|
||||
Source1: mongod.service
|
||||
Source2: mongod.conf
|
||||
Source3: mongod.sysconf
|
||||
Source4: mongos.service
|
||||
Source5: mongos.conf
|
||||
Source6: mongos.sysconf
|
||||
Source7: %{name}.logrotate
|
||||
License: Affero GNU Public License, Apache License 2.0
|
||||
## AUTOBUILDREQ-BEGIN
|
||||
## note: run 'autospec -u -a6 mongodb' to get the list of build requirements.
|
||||
## AUTOBUILDREQ-END
|
||||
BuildRequires: glibc-devel
|
||||
BuildRequires: libboost-devel
|
||||
BuildRequires: libgcc
|
||||
BuildRequires: libopenssl-devel
|
||||
BuildRequires: libpcap-devel
|
||||
BuildRequires: libpcre-devel
|
||||
BuildRequires: libstdc++6-devel
|
||||
BuildRequires: libyaml-cpp-devel
|
||||
BuildRequires: libz-devel
|
||||
## AUTOBUILDREQ-END
|
||||
BuildRequires: scons
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gcc-go
|
||||
BuildRequires: libsnappy-devel
|
||||
BuildRequires: valgrind-devel
|
||||
%{?systemd_requires}
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||
|
||||
%description
|
||||
MongoDB is an open-source document database that provides high performance, high availability, and automatic scaling.
|
||||
MongoDB obviates the need for an Object Relational Mapping (ORM) to facilitate development.
|
||||
MongoDB stores documents in collections. Collections are analogous to tables in relational databases.
|
||||
Unlike a table, however, a collection does not require its documents to have the same schema.
|
||||
In MongoDB, documents stored in a collection must have a unique _id field that acts as a primary key.
|
||||
|
||||
%package server
|
||||
Group: Applications/Databases
|
||||
Summary: MongoDB server
|
||||
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
|
||||
|
||||
%description server
|
||||
This package provides the mongo server software, mongo sharding server software, default configuration files, and init scripts.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}-src-r%{version}
|
||||
|
||||
%build
|
||||
# see: https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
|
||||
# note: MongoDB uses a customized built-in version of tcmalloc to achieve
|
||||
# significant performance gains. Building with --use-system-tcmalloc
|
||||
# produces binaries that lack these performance gains.
|
||||
# note: WiredTiger is not supported on 32-bit platforms
|
||||
# Re-run scons with --wiredtiger=off to build on 32-bit platforms
|
||||
scons all \
|
||||
%ifnarch x86_64
|
||||
--wiredtiger=off \
|
||||
%endif
|
||||
%{?_smp_mflags} \
|
||||
--use-system-pcre \
|
||||
--use-system-boost \
|
||||
--use-system-valgrind \
|
||||
--use-system-zlib \
|
||||
--use-system-yaml \
|
||||
--ssl \
|
||||
--disable-warnings-as-errors
|
||||
|
||||
# --use-system-snappy
|
||||
# --use-system-stemmer
|
||||
|
||||
%install
|
||||
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||
scons install \
|
||||
%ifnarch x86_64
|
||||
--wiredtiger=off \
|
||||
%endif
|
||||
%{?_smp_mflags} \
|
||||
--use-system-pcre \
|
||||
--use-system-boost \
|
||||
--use-system-valgrind \
|
||||
--use-system-zlib \
|
||||
--use-system-yaml \
|
||||
--ssl \
|
||||
--disable-warnings-as-errors \
|
||||
--prefix=%{buildroot}%{_prefix}
|
||||
|
||||
install -p -D -m 644 "%{SOURCE1}" %{buildroot}%{_unitdir}/mongod.service
|
||||
install -p -D -m 644 "%{SOURCE2}" %{buildroot}%{_sysconfdir}/mongod.conf
|
||||
install -p -D -m 644 "%{SOURCE3}" %{buildroot}%{_sysconfdir}/sysconfig/mongod
|
||||
|
||||
install -p -D -m 644 "%{SOURCE4}" %{buildroot}%{_unitdir}/mongos.service
|
||||
install -p -D -m 644 "%{SOURCE5}" %{buildroot}%{_sysconfdir}/mongos.conf
|
||||
install -p -D -m 644 "%{SOURCE6}" %{buildroot}%{_sysconfdir}/sysconfig/mongos
|
||||
|
||||
install -p -D -m 644 "%{SOURCE7}" %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
|
||||
|
||||
install -d %{buildroot}%{_localstatedir}/lib/%{name}
|
||||
install -d %{buildroot}%{_localstatedir}/log/%{name}
|
||||
install -d %{buildroot}%{_localstatedir}/run/%{name}
|
||||
|
||||
install -d -m 755 %{buildroot}%{_mandir}/man1
|
||||
install -p -m 644 debian/mongo{,perf,sniff,d,s}.1 \
|
||||
%{buildroot}%{_mandir}/man1/
|
||||
|
||||
%clean
|
||||
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||||
|
||||
%pre server
|
||||
getent group %{mongodb_group} >/dev/null || groupadd -g %{mongodb_gid} %{mongodb_group}
|
||||
getent passwd %{mongodb_user} >/dev/null || useradd -g %{mongodb_gid} -u %{mongodb_uid} \
|
||||
-d %{_localstatedir}/lib/%{name} -s /sbin/nologin \
|
||||
-c "MongoDB Database Server" %{mongodb_user}
|
||||
exit 0
|
||||
|
||||
%post server
|
||||
%systemd_post mongod.service
|
||||
%systemd_post mongos.service
|
||||
exit 0
|
||||
|
||||
%preun server
|
||||
%systemd_preun mongod.service
|
||||
%systemd_preun mongos.service
|
||||
if [ $1 -eq 0 ]; then
|
||||
userdel %{mongodb_user} 2>/dev/null
|
||||
groupdel %{mongodb_group} 2>/dev/null
|
||||
fi
|
||||
exit 0
|
||||
|
||||
%postun server
|
||||
%systemd_postun_with_restart mongod.service
|
||||
%systemd_postun_with_restart mongos.service
|
||||
exit 0
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/mongo
|
||||
%{_bindir}/mongoperf
|
||||
%{_bindir}/mongosniff
|
||||
%{_mandir}/man1/mongo.1*
|
||||
%{_mandir}/man1/mongoperf.1*
|
||||
%{_mandir}/man1/mongosniff.1*
|
||||
|
||||
%files server
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/mongod
|
||||
%{_bindir}/mongos
|
||||
%{_unitdir}/*.service
|
||||
%config(noreplace) %{_sysconfdir}/*.conf
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/mongo*
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
||||
%dir %attr(0755, %{mongodb_user}, root) %{_localstatedir}/lib/%{name}
|
||||
%dir %attr(0755, %{mongodb_user}, root) %{_localstatedir}/log/%{name}
|
||||
%dir %attr(0755, %{mongodb_user}, root) %{_localstatedir}/run/%{name}
|
||||
%{_mandir}/man1/mongod.1*
|
||||
%{_mandir}/man1/mongos.1*
|
||||
|
||||
%changelog
|
||||
* Sat Feb 27 2016 Davide Madrisan <davide.madrisan@gmail.com> 3.2.3-2mamba
|
||||
- update the installation scripts and systemd configuration files
|
||||
|
||||
%changelog
|
||||
* Fri Feb 26 2016 Davide Madrisan <davide.madrisan@gmail.com> 3.2.3-1mamba
|
||||
- package created using the webbuild interface
|
61
mongos.conf
Normal file
61
mongos.conf
Normal file
@ -0,0 +1,61 @@
|
||||
# for documentation of all options, see:
|
||||
# https://docs.mongodb.org/manual/reference/configuration-options/
|
||||
|
||||
# Where to write logging data
|
||||
systemLog:
|
||||
# The default log message verbosity level for components (0-5)
|
||||
verbosity: 0
|
||||
|
||||
destination: file
|
||||
path: /var/log/mongodb/mongod.log
|
||||
|
||||
logAppend: true
|
||||
logRotate: reopen
|
||||
|
||||
# Where and how to store data
|
||||
storage:
|
||||
# Directory for datafiles (defaults to /data/db/)
|
||||
dbPath: /var/lib/mongodb
|
||||
|
||||
journal:
|
||||
# Enable/Disable journaling
|
||||
enabled: true
|
||||
|
||||
# The storage engine for the mongod database (mmapv1|wiredTiger)
|
||||
# (wiredTiger by default - works for 64 bit only)
|
||||
engine: mmapv1
|
||||
|
||||
# mmapv1:
|
||||
|
||||
# wiredTiger:
|
||||
|
||||
# How the process runs
|
||||
processManagement:
|
||||
fork: true # fork and run in background
|
||||
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
|
||||
|
||||
# network interfaces
|
||||
net:
|
||||
port: 27017
|
||||
# Listen to local interface only, comment to listen on all interfaces
|
||||
bindIp: 127.0.0.1,::1
|
||||
ipv6: true
|
||||
|
||||
unixDomainSocket:
|
||||
# Enable/disable listening on the UNIX domain socket
|
||||
enabled: true
|
||||
# Alternative directory for UNIX domain sockets (defaults to /tmp)
|
||||
pathPrefix: /var/run/mongodb
|
||||
|
||||
#security:
|
||||
# Private key for cluster authentication
|
||||
#keyFile: <string>
|
||||
|
||||
# Run with/without security (enabled|disabled, disabled by default)
|
||||
#authorization
|
||||
|
||||
#operationProfiling:
|
||||
|
||||
#replication:
|
||||
|
||||
#sharding:
|
15
mongos.service
Normal file
15
mongos.service
Normal file
@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=High-performance, schema-free document-oriented database
|
||||
After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
User=mongodb
|
||||
EnvironmentFile=/etc/sysconfig/mongos
|
||||
ExecStart=/usr/bin/mongos $OPTIONS
|
||||
PrivateTmp=true
|
||||
LimitNOFILE=64000
|
||||
TimeoutStartSec=180
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
1
mongos.sysconf
Normal file
1
mongos.sysconf
Normal file
@ -0,0 +1 @@
|
||||
OPTIONS="-f /etc/mongos.conf"
|
Loading…
Reference in New Issue
Block a user