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.