- Maven Integration
- Red Hat Enterprise Linux 5 / i386:
- Red Hat Enterprise Linux 5 / x86_64:
- Red Hat Enterprise Linux 4 / i386:
- Red Hat Enterprise Linux 4 / x86_64:
- Red Hat Enterprise Linux 3 / i386:
- Red Hat Enterprise Linux 3 / x86_64:
- Red Hat Enterprise Linux 2 / i386:
- Red Hat Linux 9 / i386:
- Red Hat Linux 7.3 / i386:
Assuming you are now logged in as root.
- Add repository
- For CentOS 5,
rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm
- For CentOS 6,
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
- For CentOS 5,
yum install hddtemp
- Change hostname to whatever you’d like.
- Change /etc/hosts to replace any old host names by the new one.
Ctrl + Shift + L – shows the current shortcut keys
Ctrl + Shift + L again – shows the preference for configuring shortcut keys
Creating a local mirror of maven repository often saves your developers a lot of time waiting for getting everything from a repository. Just by modifying the
settings.xml can do, e.g.:
See the links for more details:
Configuration file for
# see "man logrotate" for details
# rotate log files weekly
# keep 4 weeks worth of backlogs
# create new (empty) log files after rotating old ones
# uncomment this if you want your log files compressed
# RPM packages drop log rotation information into this directory
# no packages own wtmp -- we'll rotate them here
create 0664 root utmp
# system-specific logs may be also be configured here.
logrotate application-specific configurations:
A quick and good sample –
/sbin/service httpd reload > /dev/null 2>/dev/null || true
If you are having enough background, this article is a shortcut for you to set up a group of SVN servers with one master and one slave (you should be able to generalize it to multiple slaves with some minor touches). This group of SVN servers could be synchronized (or replicated) to allow multi-site deployment for network efficiency. However, you could always refer to this article for details on setting up svnsync and this article for setting up ssh login without password.
Assumed you are given:
- A master SVN server ([Master]) access via HTTP with a proper repository setup at /var/svn/repos. (You could refer to this article for setting up an SVN server.)
- A slave SVN server ([Slave]) accessed via HTTP (with an empty repository /var/svn/repos created as in this article).
- The credentials for accessing the master and slave SVN servers are identical.
- The master and slave SVN servers can access each other.
To set this up, follow the recipe:
- [Slave] cd /etc/apache2/mods-enabled; sudo ln -s ../mods-available/proxy.load; sudo ln -s ../mods-available/proxy_http.load
- [Slave] Add a SVNMasterURI directive under the <Location> directive in /etc/apache2/mods-available/dav_svn.conf (details)
- [Slave] sudo adduser svnsync
- [Slave] sudo adduser svnsync svn
- [Slave] sudo chown -R svnsync:svn /var/svn/repos
- [Slave] Create a script /var/svn/repos/hooks/pre-revprop-change (details)
- [Slave] sudo chmod +x /var/svn/repos/hooks/pre-revprop-change
- [Slave] sudo svnsync init –username svnsync file:///var/svn/repos http://<master hostname>/svn/repos
- [Slave] Download the script svn-sync-slave.sh and put under /var
- [Slave] Modify the first line of /var/svn-sync-slave.sh from #!/bin/sh to #!/bin/bash
- [Slave] sudo chown svnsync:svn /var/svn-sync-slave.sh; sudo chmod +x /var/svn-sync-slave.sh
- [Master] Create a script /var/svn/repos/hooks/post-commit (details)
- [Master] sudo chown www-data:svn /var/svn/repos/hooks/post-commit; sudo chmod g+rws /var/svn/repos/hooks/post-commit
- [Master] sudo -i
- [Master] su – www-data
- [Master] ssh-keygen -t rsa (give empty passphrase)
- [Master] ssh svnsync@<slave hostname> mkdir -p .ssh
- [Master] cat .ssh/id_rsa.pub | ssh svnsync@<slave hostname> ‘cat >> .ssh/authorized_keys’
To test this setup:
- Find another computer with svn client installed. ([Client])
- [Client] svn import –username <user> <path to local folder> http://<slave hostname>/svn/repos
- Check whether the imported folders and files are in both master and slave SVN servers’ repositories.
- [Client] Pick any one file imported. Modify it and commit it to http://<slave hostname>/svn/repos.
- Check whether the modified file is in both master and slave SVN servers’ repositories.
Update on 2011-07-28:
There is something subtle that needs special consideration.
In fact, when I try to apply this procedures to an old and big svn repository, there is a problem. I tried to start synchronizing with a new repository (you have to start from scratch anyway!) over the network. I then tried to do a rough gauging and calculation exercise. It needs to take 3 months to sync them all (yes, days and nights, continuously).
Luckily, we resolved it by using the file-based nature of svn. We first make a sync in the same machine. But note that you should use the target url as the master url, i.e. you should use IP / hostname to sync instead of localhost as svnsync remembers the url you used to init the sync process.
Then, after the sync process is done (which is much much much faster), zip the whole repository and upload to the target slave machine. In the slave machine, you could expand and rename the repository as you like. At this point, the svnsync becomes incremental. So it would not take you much time to do a few revisions’ synchronization.
SVNMasterURI http://<master hostname>/svn/repos
#!/bin/sh USER="$3" if [ "$USER" != "svnsync" ]; then echo >&2 "Only the svnsync user can change revprops" exit 1 fi exit 0
#!/bin/sh ssh -l svnsync <slave hostname> "/var/svn-sync-slave.sh -r /var/svn/repos"
If you are having enough background, this article is a shortcut for you to set up a subversion server. You could always refer to this article for more details.
Assumed you are given:
- An installation of Ubuntu Linux with access to APT repositories via network.
- Installed Apache2 web server.
To install subversion, follow this recipe:
- sudo apt-get install subversion
- sudo adduser svn
- sudo adduser www-data svn
- sudo mkdir /var/svn
- sudo svnadmin create /var/svn/repos
- sudo chown -R www-data:svn /var/svn/repos
- sudo chmod g+rws /var/svn/repos
- sudo apt-get install libapache2-svn
- Add a <Location> to /etc/apache2/mods-available/dav_svn.conf (details)
- (Optional) cd /etc/apache2/mods-enabled; sudo ln -s ../mods-available/dav_svn.load; sudo ln -s ../mods-available/dav_svn.conf
- sudo /etc/init.d/apache2 restart
- sudo htpasswd -c /etc/htpasswd.svn <1st user>
- sudo htpasswd /etc/htpasswd.svn <2nd user>
To test the installation and setup:
- cat /etc/htpasswd.svn
- svn co http://<hostname>/svn/repos mycopy –username <user>
<Location /svn/repos> DAV svn SVNPath /var/svn/repos AuthType Basic AuthName "SVN repository" AuthUserFile /etc/htpasswd.svn AuthzSVNAccessFile /var/svn/repos/conf/authz <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location>