Gentoo 2006.0 Asterisk Installation
This document outlines the installation of Asterisk 1.2.7 on Gentoo Linux.
It is not a definative guide but should help anyone new to Asterisk / Gentoo to get started.
Requirements
- Intel Based PC (this document was tested on a Dell Dimension 5150)
- 256M Ram or more
- 40Gig HD or higher
Boot Gentoo 2006.0 minimal
Insert the CD/DVD and start the PC.
(You may need to configure your bios to boot from the CD)
# net-setup eth0
Follow prompts
{{ # fdisk /dev/sda }} 32M sda1 2048M swap (t 82) sda2 rest sda3
mke2fs /dev/sda1 mke2fs -j -O dir_index /dev/sda3 mkswap /dev/sda2 swapon /dev/sda2
# mount /dev/hda3 /mnt/gentoo # mkdir /mnt/gentoo/boot # mount /dev/hda1 /mnt/gentoo/boot # cd /mnt/gentoo
links http://www.gentoo.org/main/en/mirrors.xml
download stage3 tarball and portage current
# tar xvjpf stage3-*.tar.bz2
# tar xvjf /mnt/gentoo/portage-<date>.tar.bz2 -C /mnt/gentoo/usr
# mirrorselect -i -o >> /mnt/gentoo/etc/make.conf Warning: Do not select any IPv6 mirrors. Our stages currently do not support IPv6. # mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf
cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf # mount -t proc none /mnt/gentoo/proc # mount -o bind /dev /mnt/gentoo/dev
# chroot /mnt/gentoo /bin/bash # env-update >> Regenerating /etc/ld.so.cache... # source /etc/profile # export PS1="(chroot) $PS1" # emerge --sync
If you are behind a firewall that blocks rsync traffic, you can use emerge-webrsync which will download and install a portage snapshot for you # nano -w /etc/make.conf USE="alsa apache2 encode gd gtk2 jabber ldap mp3 mysql ogg pdf php snmp speex ssl vorbis zaptel"
# ls /usr/share/zoneinfo (Suppose you want to use GMT) # cp /usr/share/zoneinfo/GMT /etc/localtime
# USE="-doc symlink" emerge gentoo-sources # emerge genkernel # zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6 # genkernel all # ls /boot/kernel* /boot/initramfs*
# emerge coldplug # rc-update add coldplug boot
# nano -w /etc/fstab
# nano -w /etc/conf.d/hostname
(Set the HOSTNAME variable to your hostname) HOSTNAME="tux" Second we set the domainname:
# nano -w /etc/conf.d/domainname
(Set the DNSDOMAIN variable to your domain name) DNSDOMAIN="homenetwork"
# nano -w /etc/conf.d/net
config_eth0=( "192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" ) routes_eth0=( "default gw 192.168.0.1" )
# rc-update add net.eth0 default
# nano -w /etc/hosts
Code Listing 17: Filling in the networking information 127.0.0.1 localhost 192.168.0.5 jenny.homenetwork jenny 192.168.0.6 benny.homenetwork benny 192.168.0.7 tux.homenetwork tux
# nano -w /etc/conf.d/clock
CLOCK="local"
# emerge syslog-ng # rc-update add syslog-ng default
/etc/syslog/syslog-ng.conf # /etc/syslog-ng/syslog-ng.conf # From the Gentoo Linux Security Guide # http://www.gentoo.org/doc/en/gentoo-security.xml # Creative Commons - Attribution / Share Alike License # http://creativecommons.org/licenses/by-sa/2.0
options { long_hostnames(off); sync(0); };
#source where to read log source src { unix-stream("/dev/log"); internal(); }; source kernsrc { file("/proc/kmsg"); };
#define destinations destination authlog { file("/var/log/auth.log"); }; destination syslog { file("/var/log/syslog"); }; destination cron { file("/var/log/cron.log"); }; destination daemon { file("/var/log/daemon.log"); }; destination kern { file("/var/log/kern.log"); }; destination lpr { file("/var/log/lpr.log"); }; destination user { file("/var/log/user.log"); }; destination mail { file("/var/log/mail.log"); };
destination mailinfo { file("/var/log/mail.info"); }; destination mailwarn { file("/var/log/mail.warn"); }; destination mailerr { file("/var/log/mail.err"); };
destination newscrit { file("/var/log/news/news.crit"); }; destination newserr { file("/var/log/news/news.err"); }; destination newsnotice { file("/var/log/news/news.notice"); };
destination debug { file("/var/log/debug"); }; destination messages { file("/var/log/messages"); }; destination console { usertty("root"); }; destination console_all { file("/dev/tty12"); }; destination xconsole { pipe("/dev/xconsole"); };
#create filters filter f_auth { facility(auth); }; filter f_authpriv { facility(auth, authpriv); }; filter f_syslog { not facility(authpriv, mail); }; filter f_cron { facility(cron); }; filter f_daemon { facility(daemon); }; filter f_kern { facility(kern); }; filter f_lpr { facility(lpr); }; filter f_mail { facility(mail); }; filter f_user { facility(user); }; filter f_debug { not facility(auth, authpriv, news, mail); }; filter f_messages { level(info..warn)
- and not facility(auth, authpriv, mail, news); };
filter f_emergency { level(emerg); };
filter f_info { level(info); }; filter f_notice { level(notice); }; filter f_warn { level(warn); }; filter f_crit { level(crit); }; filter f_err { level(err); }; filter f_failed { match("failed"); }; filter f_denied { match("denied"); };
#connect filter and destination log { source(src); filter(f_authpriv); destination(authlog); }; log { source(src); filter(f_syslog); destination(syslog); }; log { source(src); filter(f_cron); destination(cron); }; log { source(src); filter(f_daemon); destination(daemon); }; log { source(kernsrc); filter(f_kern); destination(kern); }; log { source(src); filter(f_lpr); destination(lpr); }; log { source(src); filter(f_mail); destination(mail); }; log { source(src); filter(f_user); destination(user); }; log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); }; log { source(src); filter(f_mail); filter(f_warn); destination(mailwarn); }; log { source(src); filter(f_mail); filter(f_err); destination(mailerr); };
log { source(src); filter(f_debug); destination(debug); }; log { source(src); filter(f_messages); destination(messages); }; log { source(src); filter(f_emergency); destination(console); };
#default log log { source(src); destination(console_all); };
# emerge vixie-cron # rc-update add vixie-cron default
# emerge slocate
# emerge logrotate
# emerge grub
# nano -w /boot/grub/grub.conf
default 0 timeout 30 splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title=Gentoo Linux 2.6.12-r10 root (hd0,0) kernel /boot/kernel-genkernel-x86-2.6.12-gentoo-r10 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda3 udev initrd /boot/initramfs-genkernel-x86-2.6.12-gentoo-r10
# grep -v rootfs /proc/mounts > /etc/mtab
# grub-install /dev/sda
# rc-update add sshd default
# passwd
# exit cdimage ~# cd cdimage ~# umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo cdimage ~# reboot
# useradd -m -G users,wheel,audio -s /bin/bash john # passwd john
emerge portage
emerge --sync
emerge ntp nano -w /etc/ntp.conf rc-update add ntpd default
rc-update add mysql default emerge --config =dev-db/mysql-4.1.19
emerge alsa-driver emerge alsa-utils # rc-update add alsasound boot alsaconf alsamixer
emerge vim
emerge --unmerge ssmtp emerge postfix rc-update add postfix default
emerge festival
echo "net-libs/libpri ~x86" >> /etc/portage/package.keywords echo "net-misc/zaptel ~x86" >> /etc/portage/package.keywords echo "net-misc/asterisk ~x86" >> /etc/portage/package.keywords echo "net-misc/asterisk-addons ~x86" >> /etc/portage/package.keywords echo "net-misc/asterisk-sounds ~x86" >> /etc/portage/package.keywords
emerge asterisk emerge asterisk-addons emerge asterisk-sounds
emerge spandsp emerge asterisk-app_rtxfax emerge tiff emerge mime-construct
rc-update add zaptel default







