Page 74 - Linux Inside τ. 10

Linux Inside
74
ότι όλες οι αλλαγές που κάναμε μέχρι τώρα θα μπουν άμεσα
σε ισχύ. Όλα τώρα θα πρέπει να είναι εντάξει!
Εγκατάσταση Amavisd-new, Spamassassin και
Clamav
yast2 -i amavisd-new clamav clamav-db zoo unzip unrar
bzip2 unarj perl-DBD-mysql
Ανοίγουμε το /etc/amavisd.conf και προσθέτουμε τη γραμ-
μή $myhostname με το σωστό όνομα (το ορίσαμε στις ρυθμί-
σεις δικτύου στην αρχή), κάτω από τη γραμμή $mydomain:
[...]
$mydomain = 'example.com'; # a convenient default for
other settings
$myhostname = "server1.$mydomain";
[...]
Στη συνέχεια, δημιουργούμε έναν σύνδεσμο από το
/
var/run/clamav/clamd στο: /var/lib/clamav/clamd-socket:
mkdir -p /var/run/clamav
ln -s /var/lib/clamav/clamd-socket /var/run/clamav/clamd
Το openSUSE 12.1 έχει πλέον έναν κατάλογο /run για την
αποθήκευση δεδομένων κατά την εκτέλεση του συστήματος.
Ο κατάλογος /run είναι τύπου tmpfs, ο /var/run είναι συνδεδε-
μένος στο /run και αφού είναι τύπου tmpfs αδειάζει σε κάθε
επανεκκίνηση.
Αυτό πρακτικά σημαίνει ότι μετά από κάθε επανεκκίνηση ο
κατάλογος /var/run/clamav που μόλις φτιάξαμε θα διαγράφε-
ται και άρα ο clamd θα αποτυγχάνει να εκκινήσει. Αυτό διορ-
θώνεται δημιουργώντας το αρχείο /etc/tmpfiles.d/clamav.
conf, το οποίο θα ανακατασκευάζει αυτόν τον κατάλογο κατά
την εκκίνηση του συστήματος, και απλώς προσθέτοντας την
ακόλουθη γραμμή στο περιεχόμενό του.
D /var/run/clamav 0755 root root -
Προτού ξεκινήσουμε τον amavisd και τον clamd, πρέπει να
πειράξουμε το σενάριο εκκίνησης /etc/init.d/amavis ώστε να
μπορεί να τρέξει ο amavisd σε κάθε περίπτωση.
Απλώς σχολιάζουμε τις ακόλουθες γραμμές στο τμήμα
start και στο τμήμα stop:
[...]
start)
#
ZMI 20100428 check for stale pid file
#
if test -f $AMAVIS_PID ; then
#
checkproc -p $AMAVIS_PID amavisd
#
if test $? -ge 1 ; then
# #
pid file is stale, remove it
#
echo -n "(stale amavisd pid file
$AMAVIS_PID found, removing. Did amavisd crash?)"
#
rm -f $AMAVIS_PID
#
fi
#
fi
echo -n "Starting virus-scanner (amavisd-new): "
$AMAVISD_BIN start
#
if ! checkproc amavisd; then
#
rc_failed 7
#
fi
rc_status -v
#
if [ "$AMAVIS_SENDMAIL_MILTER" == "yes" ]; then
#
rc_reset
#
echo -n "Starting amavis-milter:"
#
startproc -u vscan $AMAVIS_MILTER_BIN -p
$AMAVIS_MILTER_SOCK > /dev/null 2>&1
#
rc_status -v
#
fi
;;
stop)
echo -n "Shutting down virus-scanner (amavisd-
new): "
#
if checkproc amavisd; then
#
rc_reset
$AMAVISD_BIN stop
#
else
#
rc_reset
#
fi
rc_status -v
#
if [ "$AMAVIS_SENDMAIL_MILTER" == "yes" ]; then
#
rc_reset
#
echo -n "Shutting down amavis-milter: "
#
killproc -TERM $AMAVIS_MILTER_BIN
#
rc_status -v
#
fi
;;
[...]
Έπειτα εκτελούμε με τη σειρά
systemctl --system daemon-reload
systemctl enable amavis.service
systemctl enable clamd.service
systemctl start amavis.service
systemctl start clamd.service
Εγκατάσταση Apache 2 Webserver με υποστήριξη
PHP5, Ruby, Python, WebDAV
yast2 -i apache2 apache2-mod_fcgid
yast2 -i php5-bcmath php5-bz2 php5-calendar php5-
ctype php5-curl php5-dom php5-ftp php5-gd php5-
gettext php5-gmp php5-iconv php5-imap php5-ldap
php5-mbstring php5-mcrypt php5-mysql php5-odbc
php5-openssl php5-pcntl php5-pgsql php5-posix php5-
shmop php5-snmp php5-soap php5-sockets php5-sqlite
php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc
php5-xsl php5-zlib php5-exif php5-fastcgi php5-pear
php5-sysvmsg php5-sysvshm ImageMagick curl apache2-
mod_php5
zypper install
openSUSE_12.1/x86_64/suphp-0.7.1-4.1.x86_64.rpm
Τρέχουμε τις ακόλουθες εντολές για την ενεργοποίηση των
αρθρωμάτων του Apache (συμπεριλαμβανομένου του
WebDAV):
a2enmod suexec
a2enmod rewrite
a2enmod ssl
a2enmod actions
a2enmod suphp
a2enmod fcgid
a2enmod dav
a2enmod dav_fs
a2enmod dav_lock
chown root:www /usr/sbin/suexec2
chmod 4755 /usr/sbin/suexec2
a2enflag SSL
Στη συνέχεια, θα κατασκευάσουμε εμείς το άρθρωμα
mod_ruby για τον Apache (δεν είναι διαθέσιμο ως πακέτο του
openSUSE 12.1):
yast2 -i apache2-devel ruby ruby-devel
Linux Labs - openSUSE Server