Installing jenkins on CentOS 6.4
This post quick describes the Jenkins installation procedure on CentOS 6.4. This procedure is almost identical to suberbe one posted by ZAMMIT posted but I had to use openjdk instead of Java 1.5 that comes with CentOS 6.4.
Quickest option to run Jenkins…
$ cd $RUNDIR
$ wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war
$ java -jar jenkins.war
Then connect to http://localhost:8080/jenkins
Installation
In order to have Jenkins start with the system and manage updates with yum, it is better to follow this installation procedure. So here we go! Read ZAMMIT"s post for more information.
- Make sure your system is up to date
$ sudo yum update;
- Install Jenkins rpm
$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo;
$ sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key;
$ yum install jenkins;
- Install JDK, this is were the procedure differs… for more information look at Jenkins installation istructions on RedHat
$ sudo yum install java-1.7.0-openjdk
- Install Apache HTTPD
$ sudo yum install httpd
- Add rule in iptables
Your /etc/sysconfig/iptables file should look like this
1 # Firewall configuration written by system-config-firewall 2 # Manual customization of this file is not recommended. 3 *filter 4 :INPUT ACCEPT [0:0] 5 :FORWARD ACCEPT [0:0] 6 :OUTPUT ACCEPT [0:0] 7 -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 8 -A INPUT -p icmp -j ACCEPT 9 -A INPUT -i lo -j ACCEPT 10 -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 11 -A INPUT -j REJECT --reject-with icmp-host-prohibited 12 -A FORWARD -j REJECT --reject-with icmp-host-prohibited 13 COMMIT
We need to install a new rule similar to the one at line 10 but for port 80. This sequence will to the trick! Compare your file with the previous listing and adjust the line number if needed before running it.
$ sudo iptables-save > /etc/sysconfig/iptables.prejenkins-$(date '+%Y%m%d-%H%M%S')
$ sudo sed -i '11i-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT' /etc/sysconfig/iptables
$ sudo service iptables restart
In case of problem, revert to the backed-up file, here the /etc/sysconfig/iptables.prejenkins-
$ sudo iptables-restore < /etc/sysconfig/iptables.prejenkins-<timestamp>
- Make sure AJP module is enabled in HTTPD configuration file.
$ grep ajp /etc/httpd/conf/httpd.conf
It should display a line like this
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
- Create a virtual host for Jenkins
$ JENKINS_FQDN="jenkins.my.fqdn"
$ sudo cat << EOT >> /etc/httpd/conf.d/vhosts.conf
NameVirtualHost *:80
<VirtualHost *:80>
ServerName $JENKINS_FQDN
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / ajp://127.0.0.1:8009/
ProxyPassReverse / ajp://127.0.0.1:8009/
ProxyPassReverseCookiePath / /
</VirtualHost>
EOT
Yes, you must change jenkins.my.fqdn with your server name!
- Start the services!
$ sudo service httpd start
$ service jenkins start
Then connect to http://localhost:8080/jenkins and it should work
- Verify that both services will be started automatically with the server
$ chkconfig httpd --list
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
$ chkconfig jenkins --list
jenkins 0:off 1:off 2:off 3:on 4:off 5:on 6:off
httpd will is turned off! Let"s enable it with
$ chkconfig httpd on
[root@jenkins sysconfig]# chkconfig httpd --list
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Job"s done!
blog comments powered by Disqus