Dear wiki user,

You have subscribed to a wiki page "Couchdb Wiki" for change notification.

The page "Installing_on_RHEL5" has been deleted by JoanTouzet:

https://wiki.apache.org/couchdb/Installing_on_RHEL5?action=diff&rev1=19&rev2=20

Comment:
See http://docs.couchdb.org/en/stable/install/index.html

- <<Include(EditTheWiki)>>
  
- = Installing on RHEL 5 =
- These instructions also work on Red Hat Enterprise Linux compatible 
distributions like CentOS.
- 
- Note: [[https://issues.apache.org/jira/browse/COUCHDB-315|COUCHDB-315]] has 
an attached patch for the CouchDB README which adds instructions for RHEL 5.
- 
- == Installing a prepackaged CouchDB ==
- 1. Enable the  [[http://fedoraproject.org/wiki/EPEL|EPEL]] repository.
- 
- 2. Install the couchdb package from EPEL:
- 
- {{{
- # yum install couchdb
- }}}
- 3. Edit config file to suit:
- 
- {{{
- # vi /etc/couchdb/local.ini
- }}}
- 4. Start CouchDB:
- 
- {{{
- # service couchdb start
- }}}
- 5. Set it to start automatically on reboots:
- 
- {{{
- # chkconfig --level 345 couchdb on
- }}}
- == Building CouchDB from source (with EPEL packages) ==
- 1. Install prerequisites. You will need to enable the 
[[http://fedoraproject.org/wiki/EPEL|EPEL]] repository for the js-devel and 
erlang packages (or build js and erlang from source). On AWS Linux, edit 
{{{/etc/yum.repos.d/epel.repo}}} and inside the {{{[epel]}}} segment, change 
{{{enabled=1}}}.
- 
- {{{
- # yum install libicu-devel openssl-devel curl-devel make gcc erlang js-devel 
libtool which
- }}}
- 1.1 If installing CouchDB >= 0.11, you will need cURL>= 7.18. Currently 
neither [[http://fedoraproject.org/wiki/EPEL|EPEL]], nor 
[[http://iuscommunity.org/|IUS]] provide a current enough 
[[http://curl.haxx.se/libcurl/|libcurl]]. Visit the curl 
[[http://curl.haxx.se/download.html|download page]] for the most recent curl 
package.
- 
- {{{
- $ wget http://curl.haxx.se/download/curl-7.20.1.tar.gz
- $ tar -xzf curl-7.20.1.tar.gz
- $ cd curl-7.20.1
- $ ./configure --prefix=/usr/local
- $ make
- $ make test
- # make install
- }}}
- 2. Install CouchDB
- 
- The configure line below is for 64-bit, adjust for your arch (or leave out 
--with-erlang if configure can find out for itself). You can use a release 
tarball instead of a checkout, in that case skip right to the ./confgure line.
- 
- {{{
- $ svn checkout http://svn.apache.org/repos/asf/couchdb/trunk couchdb
- $ cd couchdb
- $ ./bootstrap
- $ ./configure --with-erlang=/usr/lib64/erlang/usr/include
- $ make
- # make install
- }}}
- 3. Edit config file to suit
- 
- {{{
- # vi /usr/local/etc/couchdb/local.ini
- }}}
- 4. Create user, modify ownership and permissions
- 
- Create the couchdb user:
- 
- {{{
- # adduser -r --home /usr/local/var/lib/couchdb -M --shell /bin/bash --comment 
"CouchDB Administrator" couchdb
- }}}
- See the README for additional chown and chmod commands to run.
- 
- 4.1 fix permission
- {{{
- chown -R couchdb: /usr/local/var/lib/couchdb /usr/local/var/log/couchdb
- }}}
- 
- 5. Launch!
- 
- {{{
- # sudo -u couchdb couchdb
- }}}
- Or as daemon:
- 
- {{{
- # /usr/local/etc/rc.d/couchdb start
- }}}
- 6. Run as daemon on start-up:
- 
- {{{
- # ln -s /usr/local/etc/rc.d/couchdb /etc/init.d/couchdb
- # chkconfig --add couchdb
- # chkconfig --level 345 couchdb on
- }}}
- 
- == Building CouchDB from source (with standard packages only) ==
- 
- Tested with 64-bit CentOS 5.6. Replace "/opt/couchdb" with a directory of 
your choice.
- 
- 1. Install prerequisites (standard packages only, no additional 
repositories). 
- {{{
- # yum install gcc libtool xulrunner-devel libicu-devel openssl-devel
- }}}
- 
- 2. Build Erlang from otp_src_R14B.tar.gz:
- {{{
- $ ./configure --prefix=/opt/couchdb/erlang --without-termcap --without-javac 
--enable-smp-support --disable-hipe
- $ make
- # make install
- }}}
- 
- 3. Build Curl from curl-7.21.6.tar.gz:
- {{{
- $ ./configure --prefix=/opt/couchdb/curl
- $ make
- # make install
- }}}
- 
- 4. Build CouchDB from apache-couchdb-1.0.2.tar.gz
- {{{
- $ ERL=/opt/couchdb/erlang/bin/erl ERLC=/opt/couchdb/erlang/bin/erlc 
CURL_CONFIG=/opt/couchdb/curl/bin/curl-config LDFLAGS=-L/opt/couchdb/curl/lib 
./configure --prefix=/opt/couchdb/couchdb 
--with-erlang=/opt/couchdb/erlang/lib/erlang/usr/include/ 
--with-js-include=/usr/include/xulrunner-sdk-1.9.2/ 
--with-js-lib=/usr/lib64/xulrunner-sdk-1.9.2/lib
- $ make
- # make install
- }}}
- == Tip: mind the firewall ==
- It's very likely that the default installation of a Red Hat system has the 
firewall turned on. This can be verified by issuing:
- {{{
- # service iptables status
- }}}
- If it is active then it will list the rules, otherwise you'll get an 
''unrecognized service'' error message.
- The default firewall configuration on such system resides in 
/etc/sysconfig/iptables (and if you're using ipv6 then 
/etc/sysconfig/ip6tables). 
- In this case just insert a rule for CouchDB before the REJECT rule. By 
default, the rules should look like the following (already added the CouchDB 
rule):
- {{{
- *filter
- :INPUT ACCEPT [0:0]
- :FORWARD ACCEPT [0:0]
- :OUTPUT ACCEPT [0:0]
- :RH-Firewall-1-INPUT - [0:0]
- -A INPUT -j RH-Firewall-1-INPUT
- -A FORWARD -j RH-Firewall-1-INPUT
- -A RH-Firewall-1-INPUT -i lo -j ACCEPT
- -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
- -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
- -A RH-Firewall-1-INPUT -p udp -m udp --dport 53 -j ACCEPT
- -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
- -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
- -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
- ### The following rule allows CouchDB connections from everywhere ###
- -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 5984 -j ACCEPT
- -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
- COMMIT
- }}}
- 
- Similarly, the firewall could be active also on CentOS systems. The file is 
still the same (/etc/sysconfig/iptables) but the default rules change a bit. 
- Also in this case insert the rule for CouchDB before the REJECT.
- {{{
- -A INPUT -p tcp --dport 5984 -j ACCEPT
- }}}
- 
- In both cases, don't forget to restart the iptables service
- {{{
- # service iptables restart
- }}}
- 

Reply via email to