Der Perfekte Server – Fedora 15 x86_64 [ISPConfig 3]

9 Journaled Quota

(Haben Sie ein anderes Partitionsschema gewählt als ich, müssen Sie die Inhalte dieses Kapitels so anpassen, dass Quota dort tätig ist wo Sie es brauchen.)

Um Quota zu installieren, benutzen Sie folgenden Befehl:

yum install quota

Öffnen Sie /etc/fstab und fügen ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 zur / Partition (/dev/mapper/vg_server1-lv_root) hinzu:

vi /etc/fstab

#
# /etc/fstab
# Created by anaconda on Wed May 25 15:57:24 2011
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg_server1-lv_root / ext4 defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 1 1
UUID=366ba6a7-7e68-4ec9-9743-4b02dd105180 /boot ext4 defaults 1 2
/dev/mapper/vg_server1-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0

Führen Sie dann die folgenden Befehle aus um Quota zu aktivieren:

mount -o remount /

quotacheck -avugm

quotaon -avug

10 Installation von Apache, MySQL, phpMyAdmin

Diese Pakete lassen sich alle mit einer einzelnen Zeile installieren:

yum install ntp httpd mysql-server php php-mysql
php-mbstring php-mcrypt phpMyAdmin

11 Installation von Courier-IMAP, Courier-Authlib und Maildrop

Leider gibt es keine rpm Pakete für Courier-IMAP, Courier-Authlib und Maildrop, deshalb müssen wir diese selbst bauen.

Entfernen Sie zunächst Dovecot (auf Fedora 15 wird Dovecot 2.x installiert; ISPConfig 3 unterstützt leider nur Dovecot 1.2.x, nicht aber 2.x):

yum remove dovecot dovecot-mysql

Danach installieren Sie die Voraussetzungen, die Sie brauchen, um Courier rpm Pakete zu erstellen:

yum install rpm-build gcc mysql-devel openssl-devel
cyrus-sasl-devel pkgconfig zlib-devel pcre-devel openldap-devel
postgresql-devel expect libtool-ltdl-devel openldap-servers libtool
gdbm-devel pam-devel gamin-devel libidn-devel

RPM sollten nicht als root erstellt werden; courier-imap wird sich als root sogar garnicht erst kompilieren lassen. Deshalb müssen Sie zu diesem Zweck ein normales Benutzerkonto erstellen (falko in diesem Beispiel) und ihm ein Passwort zuweisen:

useradd -m -s /bin/bash falko

passwd falko

Wir werden später den sudo Befehl brauchen, sodass der Benutzer falko rpm Pakete kompilieren und installieren kann. Deshalb müssen Sie ihm zuerst erlauben, all diese Befehle mit sudo ausführen zu können:

Benutzen Sie den Befehl

visudo

In der sich öffnenden Datei gibt es dir Zeile root ALL=(ALL) ALL. Fügen Sie für falko eine ähnliche Zeile direkt darunter ein:

[...]
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
falko ALL=(ALL) ALL
[...]

Nun haben Sie alles beisammen um das rpm Paket zu erstellen. Loggen Sie sich dazu als der Benutzer falko ein:

su falko

Als nächstes erstellen Sie die Bauumgebung:

mkdir $HOME/rpm

mkdir $HOME/rpm/SOURCES

mkdir $HOME/rpm/SPECS

mkdir $HOME/rpm/BUILD

mkdir $HOME/rpm/BUILDROOT

mkdir $HOME/rpm/SRPMS

mkdir $HOME/rpm/RPMS

mkdir $HOME/rpm/RPMS/i386

mkdir $HOME/rpm/RPMS/x86_64

echo „%_topdir $HOME/rpm“ >> $HOME/.rpmmacros

Erstellen Sie nun ein downloads Verzeichnis und laden Sie die Quelldateien von http://www.courier-mta.org/download.php herunter:

mkdir $HOME/downloads

cd $HOME/downloads

wget
https://sourceforge.net/projects/courier/files/authlib/0.63.0/courier-authlib-0.63.0.tar.bz2/download

wget
https://sourceforge.net/projects/courier/files/imap/4.8.1/courier-imap-4.8.1.tar.bz2/download

wget
https://sourceforge.net/projects/courier/files/maildrop/2.5.4/maildrop-2.5.4.tar.bz2/download

(Sie könnten sich wundern warum ich nicht die neuste Version von Courier-imap herunterlade – aktuell 4.9.3 – sondern die ältere Version 4.8.1 benutze – dies ist der Fall, da Installation von 4.9.3 auf meinem System fehlgeschlagen ist, wogegen 4.8.1 gut funktioniert)

Nun (immernoch in $HOME/downloads) können wir courier-authlib erstellen:

sudo rpmbuild -ta courier-authlib-0.63.0.tar.bz2

Nach dem Prozess können die rpm Pakete in /root/rpmbuild/RPMS/x86_64 gefunden werden (/root/rpmbuild/RPMS/i686 wenn Sie auf einem i686 System arbeiten) Der Befehl

sudo ls -l /root/rpmbuild/RPMS/x86_64

zeigt Ihnen die verfügbaren Pakete:

[falko@server1 downloads]$ sudo ls -l /root/rpmbuild/RPMS/x86_64

total 520

-rw-r–r– 1 root root 123448 May 25 18:06 courier-authlib-0.63.0-1.fc15.x86_64.rpm

-rw-r–r– 1 root root 265144 May 25 18:06 courier-authlib-debuginfo-0.63.0-1.fc15.x86_64.rpm

-rw-r–r– 1 root root  34876 May 25 18:06 courier-authlib-devel-0.63.0-1.fc15.x86_64.rpm

-rw-r–r– 1 root root  17448 May 25 18:06 courier-authlib-ldap-0.63.0-1.fc15.x86_64.rpm

-rw-r–r– 1 root root  13808 May 25 18:06 courier-authlib-mysql-0.63.0-1.fc15.x86_64.rpm

-rw-r–r– 1 root root  13020 May 25 18:06 courier-authlib-pgsql-0.63.0-1.fc15.x86_64.rpm

-rw-r–r– 1 root root   8276 May 25 18:06 courier-authlib-pipe-0.63.0-1.fc15.x86_64.rpm

-rw-r–r– 1 root root  34108 May 25 18:06 courier-authlib-userdb-0.63.0-1.fc15.x86_64.rpm

[falko@server1 downloads]$

Wählen Sie die jenigen aus, welche Sie installieren möchten und tun Sie dies wie folgt:

sudo rpm -ivh
/root/rpmbuild/RPMS/x86_64/courier-authlib-0.63.0-1.fc15.x86_64.rpm
/root/rpmbuild/RPMS/x86_64/courier-authlib-mysql-0.63.0-1.fc15.x86_64.rpm
/root/rpmbuild/RPMS/x86_64/courier-authlib-devel-0.63.0-1.fc15.x86_64.rpm

Nun kehren Sie ins downloads Verzeichnis zurück:

cd $HOME/downloads

Führen Sie die folgenden Befehle aus, um die benötigten Verzeichnisse zu erstellen und deren Zugriffsrechte zu ändern (sonst wird die Erstellung von Courier-Imap fehlschlagen):

sudo mkdir /var/cache/ccache/tmp

sudo chmod o+rwx /var/cache/ccache/

sudo chmod 777 /var/cache/ccache/tmp

Führen Sie nun erneut rpmbuild aus, diesmal ohne sudo, da die Kompilierung ansonsten fehlschlagen würde, weil sie als root ausgeführt wird:

rpmbuild -ta courier-imap-4.8.1.tar.bz2

Nach dem Prozess können die Pakete in $HOME/rpm/RPMS/x86_64 gefunden werden ($HOME/rpm/RPMS/i686 wenn Sie auf einem i686 System arbeiten):

cd $HOME/rpm/RPMS/x86_64

Der Befehl

ls -l

zeigt Ihnen die verfügbaren rpm Pakete:

[falko@server1 x86_64]$ ls -l

total 1708

-rw-rw-r– 1 falko falko  596432 May 25 18:33 courier-imap-4.8.1-2.15.x86_64.rpm

-rw-rw-r– 1 falko falko 1149328 May 25 18:33 courier-imap-debuginfo-4.8.1-2.15.x86_64.rpm

[falko@server1 x86_64]$

Sie können Courier-Imap wie folgt installieren:

sudo rpm -ivh courier-imap-4.8.1-2.15.x86_64.rpm

Kehren Sie nun ins downloads Verzeichnis zurück:

cd $HOME/downloads

und führen Sie erneut rpmbuild aus, diesmal um ein Maildrop Paket zu erstellen:

sudo rpmbuild -ta maildrop-2.5.4.tar.bz2

Nach dem Prozess können die rpm Pakete in /root/rpmbuild/RPMS/x86_64 gefunden werden (/root/rpmbuild/RPMS/i686 wenn Sie auf einem i686 System arbeiten). Der Befehl

sudo ls -l /root/rpmbuild/RPMS/x86_64

zeigt Ihnen die verfügbaren rpm Pakete:

[falko@server1 downloads]$ sudo ls -l /root/rpmbuild/RPMS/x86_64

total 1628

-rw-r–r– 1 root root 123448 May 25 18:06 courier-authlib-0.63.0-1.fc15.x86_64.rpm

-rw-r–r– 1 root root 265144 May 25 18:06 courier-authlib-debuginfo-0.63.0-1.fc15.x86_64.rpm

-rw-r–r– 1 root root  34876 May 25 18:06 courier-authlib-devel-0.63.0-1.fc15.x86_64.rpm

-rw-r–r– 1 root root  17448 May 25 18:06 courier-authlib-ldap-0.63.0-1.fc15.x86_64.rpm

-rw-r–r– 1 root root  13808 May 25 18:06 courier-authlib-mysql-0.63.0-1.fc15.x86_64.rpm

-rw-r–r– 1 root root  13020 May 25 18:06 courier-authlib-pgsql-0.63.0-1.fc15.x86_64.rpm

-rw-r–r– 1 root root   8276 May 25 18:06 courier-authlib-pipe-0.63.0-1.fc15.x86_64.rpm

-rw-r–r– 1 root root  34108 May 25 18:06 courier-authlib-userdb-0.63.0-1.fc15.x86_64.rpm

-rw-r–r– 1 root root 278520 May 25 18:50 maildrop-2.5.4-1.15.x86_64.rpm

-rw-r–r– 1 root root 685672 May 25 18:50 maildrop-debuginfo-2.5.4-1.15.x86_64.rpm

-rw-r–r– 1 root root  99924 May 25 18:50 maildrop-devel-2.5.4-1.15.x86_64.rpm

-rw-r–r– 1 root root  63968 May 25 18:50 maildrop-man-2.5.4-1.15.x86_64.rpm

[falko@server1 downloads]$

Sie können Maildrop nun wie folgt installieren:

sudo rpm -ivh
/root/rpmbuild/RPMS/x86_64/maildrop-2.5.4-1.15.x86_64.rpm

Nachdem Sie alle benötigten Pakete kompiliert und installiert haben, können Sie durch Eingabe von exit wieder root werden:

exit

12 Installation von Postfix

Postfix kann folgendermaßen installiert werden:

yum install postfix

Deaktivieren Sie dann Sendmail und starten Sie Postfix und MySQL:

chkconfig –levels 235 mysqld on

/etc/init.d/mysqld start

chkconfig sendmail off

chkconfig –levels 235 postfix on

/etc/init.d/sendmail stop

/etc/init.d/postfix start

13 Installation von Getmail

Sie können Getmail wie folgt installieren:

yum install getmail

14 Festlegen des MySQL Passworts und Konfiguration von phpMyAdmin

Legen Sie ein Passwort für den MySQL root Account an:

mysql_secure_installation

[root@server1 ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL

SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we’ll need the current

password for the root user.  If you’ve just installed MySQL, and

you haven’t set the root password yet, the password will be blank,

so you should just press enter here.

Enter current password for root (enter for none): <– ENTER

OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MySQL

root user without the proper authorisation.

Set root password? [Y/n] <– ENTER

New password: <– IhrrootsqlPasswort

Re-enter new password: <– IhrrootsqlPasswort

Password updated successfully!

Reloading privilege tables..

… Success!

By default, a MySQL installation has an anonymous user, allowing anyone

to log into MySQL without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.

Remove anonymous users? [Y/n] <– ENTER

… Success!

Normally, root should only be allowed to connect from ‚localhost‘.  This

ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] <– ENTER

… Success!

By default, MySQL comes with a database named ‚test‘ that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.

Remove test database and access to it? [Y/n] <– ENTER

– Dropping test database…

… Success!

– Removing privileges on test database…

… Success!

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

Reload privilege tables now? [Y/n] <– ENTER

… Success!

Cleaning up…

All done!  If you’ve completed all of the above steps, your MySQL

installation should now be secure.

Thanks for using MySQL!

[root@server1 ~]#

Nun konfigurieren Sie phpMyAdmin. Sie müssen die Apache Konfiguration so ändern, dass phpMyAdmin Verbindungen von überall her, nicht nur von localhost, erlaubt (durch Auskommentieren des Blocks beginnend mit <Directory /usr/share/phpMyAdmin/>):

vi /etc/httpd/conf.d/phpMyAdmin.conf

# phpMyAdmin - Web based MySQL browser written in php
#
# Allows only localhost by default
#
# But allowing phpMyAdmin to anyone other than localhost should be considered
# dangerous unless properly secured by SSL

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

#<Directory /usr/share/phpMyAdmin/>
# Order Deny,Allow
# Deny from All
# Allow from 127.0.0.1
# Allow from ::1
#</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
 Order Deny,Allow
 Deny from All
 Allow from 127.0.0.1
 Allow from ::1
</Directory>

# These directories do not require access over HTTP - taken from the original
# phpMyAdmin upstream tarball
#
<Directory /usr/share/phpMyAdmin/libraries/>
 Order Deny,Allow
 Deny from All
 Allow from None
</Directory>

<Directory /usr/share/phpMyAdmin/setup/lib/>
 Order Deny,Allow
 Deny from All
 Allow from None
</Directory>

# This configuration prevents mod_security at phpMyAdmin directories from
# filtering SQL etc. This may break your mod_security implementation.
#
#<IfModule mod_security.c>
# <Directory /usr/share/phpMyAdmin/>
# SecRuleInheritance Off
# </Directory>
#</IfModule>

Dann können Sie die Systemstartlinks für Apache erstellen und dieses starten:

chkconfig –levels 235 httpd on

/etc/init.d/httpd start

Sie können nun mit Ihrem Browser auf http://server1.example.com/phpmyadmin/ oder http://192.168.0.100/phpmyadmin/
gehen und sich mit dem Benutzernamne root und Ihrem MySQL Passwort einloggen.

Das könnte dich auch interessieren …