SME Server:Documentation:Technical Manual:Chapter6

From SME Server
Revision as of 18:09, 23 March 2007 by Snoble (talk | contribs) (sorry cactus, i misunderstood the fixme code, i thought it was a misconfiguration error)
Jump to navigation Jump to search

Chapter 6. Adding new software

New software can be either any Red Hat EL4 rpm available in enabled repositories or SME specific software called contribs or historical reasons that can be a standalone package or provides support code or a generic EL4 package.

Packages available

Current rpms in the [SME Contribs] section

Installing software

SME Server has an option to install software using the Software Installer option in the server-manager, after enabling 'Manage Individual Packages' you can install rpms from enabled repositories and if you know exactly what you are doing, you can also remove rpms.

SME Server uses yum to install software, this is a newer and improved version of the well-known rpm command. Yum makes use of so-called repositories in which a lot of pacakges (RPMs) are stored. The big advantage of yum over rpm is that it can not only determine it's own dependencies, but if can also download required dependencies from enabled repositories. With everyone having yum repositories set up the same way, Howto authors can now use instructions like:

yum --enablerepo=dag install dansguardian

Yum Repositories

Yum repositories on SME Server are to be configured by the internal configuration database. Repositories are stored in the yum_repositories database. The yum configuration file, located at /etc/yum.conf holds the actual configuration and is generated using the data in the yum_repositories database.

Installing or modifying a repository

For the syntax of modifying or adding see the examples below in the 3rd-Party Yum Repositories setup section. For more details on the configuration database and how to work with it you can have a look at the [Developers Guide]. After adding or modifying the yum_repositories database you will have to make sure you regenerate the configuration file using the following command:

Options for the yum_repositories database

The repositories for SME Server are configured using the internal yum-repositories configuration database. There are several options that can be set for every repository:

Visible yes|no - yes displays in server manager status enabled|disabled - disabled are ignored unless specified with --enablerepo= Exclude - don't fetch these rpms IncludePkgs - only fetch these rpms

3rd-Party Yum Repositories setup

This is an abbreviated list see http://no.longer.valid/phpwiki/index.php/3rdPartyYumRepositories

If you use the commands below to add 3rd party yum repositories, they will be added to the yum-repositories database, but not enabled by default, so this will not affect automatic yum upgrades. It only adds options for running yum manually. They are also set up to block you from installing RPMs that exist already in SME Server 7.0.

To reflect the changes in the database you will have to regenerate the yum.conf file:

 expand-template /etc/yum.conf
  • Warning

Be sure to never set the status of one of these repositories to enabled as this imposes the risk of installing newer versions SME Server core packages which might brake your server. If you want to install software from them you can enable them using the SME Server shell and the yum option --enablerepo=reponame.


Below are a few repositories, for which the configuration can be copied to the SME Server shell to install them on your server. The lines are long, but it it so you can cut and paste into your ssh client. Also note you shouldn't enable these repositories, they should just be used at the command line with "yum install", and not with "yum upgrade".

If a site has a RPM-GPG-KEY you have to install it first with a line such as.

rpm --import http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt


db yum_repositories set dag repository \
Name 'Dag - EL4' \
BaseURL 'http://apt.sw.be/redhat/el4/en/$basearch/dag' \
EnableGroups no \
GPGCheck yes \
GPGKey http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt \
Visible no \
Exclude freetype,htop,iptraf,rsync,syslinux \
status disabled
db yum_repositories set atrpms repository \
Name 'atrpms - EL4' \
BaseURL 'http://dl.atrpms.net/el4-$basearch/atrpms/stable' \
EnableGroups no \
GPGCheck yes \
GPGKey http://ATrpms.net/RPM-GPG-KEY.atrpms \
Visible no \
Exclude clamav,spamassassin,libselinux,perl-HTML-Parser,lm_sensors, \
perl-IO-stringy,perl-XML-Parser,razor-agents,libgcrypt,rpm-python, \
libxml2,zlib,gnupg,libxml2-python,yum,module-init-tools,rpm,gettext, \
librpm4,glib2,perl-libwww-perl,perl-Convert-ASN1,beecrypt,fetchmail, \
libacl,libtool-ltdl,popt,libgpg-error,freetype,perl-MIME-tools,mutt, \
gd,perl-TimeDate,librpm4.4 \
status disabled
db yum_repositories set dries repository \
Name 'dries - EL4' \
BaseURL 'http://ftp.belnet.be/packages/dries.ulyssis.org/redhat/el4/en/i386/dries/RPMS' \
EnableGroups no \
GPGCheck yes \
GPGKey http://dries.studentenweb.org/rpm/RPM-GPG-KEY.dries.txt \
Visible no \
Exclude iptraf,iptstate,perl-Convert-ASN1,perl-Digest-SHA1,perl-XML-NamespaceSupport,perl-XML-SAX, \
python-elementtree,spamassassin,perl-Authen-PAM,perl-IO-stringy,perl-MIME-tools,perl-Net-Server,perl-Quota \
status disabled
db yum_repositories set dungog repository \
Name 'SME Server 7 - dungog' \
BaseURL 'http://sme.dungog.net/packages/smeserver/7.0/i386/dungog/' \
EnableGroups yes \
GPGCheck no \
Visible no \
status disabled

Using RPMs

Since SME Server is based on CentOS, the preferred way to install software is with yum, a lot of you might be familiar with its predecessor rpm. To install an RPM already on your system you can also use yum to install:

yum localinstall /path/to/filename.rpm

To satisfy dependencies you can enable or disable other repositories using the --enablerepo or the --disablerepo option.

Using yum will run other actions such as updating server-manager menus, that rpm -Uvh will not.

From .tgz archives

Template:FixMe

From Source

Template:FixMe