De perfecte server CentOS 8 met Apache, PHP, Postfix, Dovecot, Pure-FTPD, BIND en ISPConfig 3.2.
Deze tutorial toont de installatie van ISPConfig 3.2 op een CentOS 8 (64Bit) server. ISPConfig is een webhosting controlepaneel waarmee je via een webbrowser de volgende diensten kunt configureren: Apache webserver, PHP, Postfix mailserver, MySQL, BIND nameserver, PureFTPd, SpamAssassin, ClamAV, Mailman, en nog veel meer.
1 Vereisten
Om zo’n systeem te installeren heb je het volgende nodig:
- Een Centos 8 minimaal server systeem. Dit kan een vanaf nul geïnstalleerde server zijn zoals beschreven in onze Centos 8 minimal server tutorial of een virtual-server of root-server van een hostingbedrijf waarop een minimale Centos 8 setup is geïnstalleerd.
- Een snelle internetverbinding.
2 Inleidende opmerking
In deze tutorial gebruik ik de hostnaam server1.example.com met het IP adres 192.168.0.100 en de gateway 192.168.0.1. Deze instellingen kunnen voor jou anders zijn, dus je moet ze waar nodig vervangen.
3 Bereid de server voor
Stel de toetsenbordindeling in
In het geval dat de toetsenbordindeling van de server niet overeenkomt met je toetsenbord, kun je met het commando localectl overschakelen naar het juiste toetsenbord (in mijn geval “de” voor een Duitse toetsenbordindeling:
localectl set-keymap de
Om een lijst van alle beschikbare keymaps te krijgen, voer je uit:
localectl list-keymaps
Aan het eind van deze tutorial wil ik ISPConfig installeren, ISPConfig wordt geleverd met het Bastille firewall script dat ik als firewall zal gebruiken, daarom schakel ik nu de standaard CentOS firewall uit. Natuurlijk staat het je vrij om de CentOS firewall aan te laten staan en hem naar wens te configureren (maar dan moet je later geen andere firewall gebruiken, omdat die hoogstwaarschijnlijk de CentOS firewall zal verstoren).
Uitvoeren…
dnf -y install net-tools wget rsyslog curl systemctl stop firewalld.service systemctl disable firewalld.service
om de CentOS firewall te stoppen en uit te schakelen. Het is niet erg als je hier fouten krijgt, dit geeft alleen maar aan dat de firewall niet geïnstalleerd is.
Vervolgens moet je controleren of de firewall echt is uitgeschakeld. Voer daarvoor het commando uit:
iptables -L
De uitvoer zou er zo uit moeten zien:
[root@server1 ~]# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination
Chain FORWARD (policy ACCEPT) target prot opt source destination
Chain OUTPUT (policy ACCEPT) target prot opt source destination
Of gebruik het commando firewall-cmd:
firewall-cmd --state
[root@server1 ~]# firewall-cmd --state not running [root@server1 ~]#
Nu installeer ik de netwerkconfiguratie editor en de op de shell gebaseerde editor “nano” die ik in de volgende stappen zal gebruiken om de config-bestanden te bewerken:
dnf -y install nano wget NetworkManager-tui yum-utils
Als je tijdens de installatie je netwerkkaart niet hebt geconfigureerd, kun je dat nu doen. Start …
nmtui
… en ga naar Bewerk een verbinding:
Selecteer je netwerkinterface:
Vul dan je netwerkgegevens in – schakel DHCP uit en vul een statisch IP adres in, een netmasker, je gateway en een of twee nameservers, druk dan op Ok:
Kies vervolgens OK om de wijzigingen die je in de netwerkinstellingen hebt aangebracht te bevestigen
en Quit om het nmtui network configuration tool te sluiten.
Je moet nu
ifconfig
om te controleren of het installatieprogramma je IP adres goed heeft:
[root@server1 ~]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::20c:29ff:feee:b665 prefixlen 64 scopeid 0x20<link> inet6 2003:e1:bf22:1b00:20c:29ff:feee:b665 prefixlen 64 scopeid 0x0<global> ether 00:0c:29:ee:b6:65 txqueuelen 1000 (Ethernet) RX packets 2874 bytes 1369892 (1.3 MiB) RX errors 0 dropped 546 overruns 0 frame 0 TX packets 968 bytes 160901 (157.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Als je netwerkkaart daar niet verschijnt, dan is hij niet ingeschakeld bij het opstarten, Open in dat geval het bestand /etc/sysconfig/network-scripts/ifcfg-eth0
nano /etc/sysconfig/network-scripts/ifcfg-ens33
en zet ONBOOT op ja:
[...] ONBOOT=yes [...]
en herstart de server.
Controleer je /etc/resolv.conf of daarin alle nameservers staan die je eerder hebt geconfigureerd:
cat /etc/resolv.conf
Als er nameservers ontbreken, voer dan
nmtui
en voeg de ontbrekende nameservers opnieuw toe.
Nu verder met de configuratie…
Aanpassen van /etc/hosts en /etc/hostname
Vervolgens gaan we /etc/hosts bewerken. Laat het er zo uitzien:
nano /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 192.168.0.100 server1.example.com server1
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Stel de hostnaam in het bestand /etc/hostname in. Het bestand moet de volledig gekwalificeerde domeinnaam bevatten (bijvoorbeeld server1.example.com in mijn geval) en niet alleen de korte naam zoals “server1”. Open het bestand met de editor nano:
nano /etc/hostname
En stel de hostnaam in het bestand in.
server1.example.com
Sla het bestand op en sluit nano af.
Zet SELinux op permissief
SELinux is een beveiligingsuitbreiding van CentOS die uitgebreide beveiliging moet bieden. ISPConfig wordt niet geleverd met een SELinux regelset, daarom heb ik hem op permissief gezet (dit is een must als je later ISPConfig wilt installeren).
Bewerk /etc/selinux/config en stel SELINUX=permissive in:
nano /etc/selinux/config
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=permissive # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
Daarna moeten we het systeem opnieuw opstarten:
reboot
4 Extra repositories inschakelen en wat software installeren
Eerst importeren we de GPG-sleutels voor softwarepakketten:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
Vervolgens schakelen we de EPEL repository in op ons CentOS systeem, omdat veel van de pakketten die we in de loop van deze tutorial gaan installeren niet beschikbaar zijn in de officiële CentOS 8 repository:
dnf -y install epel-release
Power Tools activeren:
dnf config-manager --set-enabled powertools
Dan werken we onze bestaande pakketten op het systeem bij:
dnf -y update
Nu installeren we enkele softwarepakketten die later nodig zijn:
dnf -y groupinstall 'Development Tools'
5 Quota
(Als je een ander partitieschema hebt gekozen dan ik, moet je dit hoofdstuk aanpassen zodat quota van toepassing is op de partities waar je het nodig hebt).
Om quota te installeren voeren we dit commando uit:
dnf -y install quota
Nu controleren we of quota al is ingeschakeld voor het bestandssysteem waar de website (/var/www) en Maildir gegevens (var/vmail) zijn opgeslagen. In deze voorbeeldopstelling heb ik één grote rootpartitie, dus zoek ik naar ‘ / ‘:
mount | grep ' / '
[root@server1 ~]# mount | grep ' / ' /dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota) [root@server1 ~]#
Als je een aparte /var partitie hebt, gebruik dan :
mount | grep ' /var '
in plaats daarvan. Als de regel het woord“noquota” bevat, ga dan verder met de volgende stappen om quota in te schakelen.
Quota inschakelen op de / (root) partitie
Normaal gesproken zou je quota inschakelen in het /etc/fstab bestand, maar als het bestandssysteem het root bestandssysteem “/” is, dan moet quota worden ingeschakeld door een opstartparameter van de Linux Kernel.
Bewerk het grub configuratiebestand:
nano /etc/default/grub
Zoek naar de regel die begint met GRUB_CMDLINE_LINUX en voeg rootflags=uquota,gquota toe aan de commandline parameters zodat de resulterende regel er zo uitziet:
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rootflags=uquota,gquota"
en pas de wijzigingen toe door het volgende commando uit te voeren.
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg_bak grub2-mkconfig -o /boot/grub2/grub.cfg
en herstart de server.
reboot
Controleer nu of quota is ingeschakeld:
mount | grep ' / '
[root@server1 ~]# mount | grep ' / ' /dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,usrquota,grpquota) [root@server1 ~]#
Als quota actief is, zien we“usrquota,grpquota” in de lijst met mount-opties.
Quota inschakelen op een aparte /var partitie
Als je een aparte /var partitie hebt, bewerk dan /etc/fstab en voeg ,uquota,gquota toe aan de / partitie(/dev/mapper/centos-var):
nano /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sun Sep 21 16:33:45 2014
#
# 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/centos-root / xfs defaults 1 1
/dev/mapper/centos-var /var xfs defaults,uquota,gquota 1 2
UUID=9ac06939-7e43-4efd-957a-486775edd7b4 /boot xfs defaults 1 3
/dev/mapper/centos-swap swap swap defaults 0 0
Voer dan
mount -o remount /var
quotacheck -avugm quotaon -avug
om quota in te schakelen. Als je een foutmelding krijgt dat er geen partitie is met quota ingeschakeld, herstart dan de server voordat je verder gaat.
6 Installeer Apache, PHP, MySQL en phpMyAdmin
Schakel de Remi repository in om nieuwere PHP versies te krijgen (momenteel PHP 7.4):
dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm dnf -y install yum-utils dnf -y module reset php dnf -y module install php:remi-7.4 dnf update
We kunnen de benodigde pakketten met een enkel commando installeren:
dnf -y install httpd mod_ssl mariadb-server php php-mysqlnd php-mbstring
Om ervoor te zorgen dat de server niet kan worden aangevallen via de HTTPOXY kwetsbaarheid, zullen we de HTTP_PROXY header in apache globaal uitschakelen.
Voeg de apache header regel toe aan het einde van het bestand httpd.conf:
echo "RequestHeader unset Proxy early" >> /etc/httpd/conf/httpd.conf
En herstart httpd om de configuratiewijziging toe te passen.
service httpd restart
Installeer phpMyAdmin:
cd /tmp wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.tar.gz tar xzvf phpMyAdmin-5.0.2-all-languages.tar.gz mkdir /usr/share/phpmyadmin mv phpMyAdmin-5.0.2-all-languages/* /usr/share/phpmyadmin/ mkdir /usr/share/phpmyadmin/tmp chown -R apache:apache /usr/share/phpmyadmin chmod 777 /usr/share/phpmyadmin/tmp
Optioneel: Verander de Apache MPM Module
CentOS 8 gebruikt standaard de Apache MPM Event module, dit is aan de ene kant goed, omdat je daarmee het HTTP/2 protocol kunt gebruiken. Aan de andere kant staat het je niet toe om de apache mod_php module te gebruiken. In het algemeen moet je tegenwoordig standaard PHP-FPM gebruiken en ISPConfig ondersteunt dat. Als je de oude mod_php modus nodig hebt om compatibiliteitsredenen, dan kun je de Apache MPM als volgt omschakelen:
nano /etc/httpd/conf.modules.d/00-mpm.conf
Voeg een # toe voor de MPM event regel zodat het er zo uitziet:
# LoadModule mpm_event_module modules/mod_mpm_event.so
Verwijder dan de # voor de MPM Prefork regel, zodat het er zo uitziet:
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
Herstart vervolgens httpd om de configuratiewijziging toe te passen.
service httpd restart
7 Dovecot installeren
Dovecot kan als volgt worden geïnstalleerd:
dnf -y install dovecot dovecot-mysql dovecot-pigeonhole
Maak een leeg dovecot-sql.conf bestand en maak symlinks aan:
touch /etc/dovecot/dovecot-sql.conf ln -s /etc/dovecot/dovecot-sql.conf /etc/dovecot-sql.conf ln -s /etc/dovecot/dovecot.conf /etc/dovecot.conf
Maak nu de systeemstartkoppelingen aan en start Dovecot:
systemctl enable dovecot systemctl start dovecot
8 Installeer Postfix
Postfix kan als volgt worden geïnstalleerd:
dnf -y install postfix postfix-mysql
Open vervolgens de poorten TLS/SSL en submission in Postfix:
nano /etc/postfix/master.cf
Haal het commentaar weg bij deindieningensmtpssecties als volgt uit en voeg waar nodig regels toe zodat deze sectie van het master.cf bestand er precies zo uitziet als hieronder.BELANGRIJK:Verwijder de # voor de regels die beginnen met smtps en submission ook en niet alleen van de -o regels na deze regels!
[...] submission inet n - n - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING smtps inet n - n - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING [...]
Schakel dan Sendmail uit en start Postfix en MariaDB (MySQL):
systemctl enable mariadb.service systemctl start mariadb.service
systemctl enable postfix.service systemctl restart postfix.service
We schakelen sendmail uit om ervoor te zorgen dat het niet gestart wordt, mocht het op je server geïnstalleerd zijn. Dus de foutmelding “Failed to issue method call: Unit sendmail.service not loaded.” kan worden genegeerd.
Om ondersteuning voor oude/verouderde apparaten in te schakelen, voer je dit commando uit (optioneel, alleen gebruiken als je wilt dat oude mailapparaten verbinding maken, omdat het de SSL/TLS setup verzwakt door minder veilige cijfers toe te staan):
update-crypto-policies --set LEGACY
9 Installeer Getmail
Getmail kan als volgt geïnstalleerd worden:
dnf install python2 cd /tmp wget http://pyropus.ca/software/getmail/old-versions/getmail-5.14.tar.gz tar xvfz getmail-5.14.tar.gz cd getmail-5.14 python2 setup.py build python2 setup.py install
10 Stel MySQL wachtwoorden in en configureer phpMyAdmin
Stel wachtwoorden in voor de MySQL root account:
mysql_secure_installation
[root@server1 tmp]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, 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): OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation.
Set root password? [Y/n]
<-- ENTER New password: <-- yourrootsqlpassword Re-enter new password: <-- yourrootsqlpassword Password updated successfully! Reloading privilege tables.. ... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB 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, MariaDB 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 MariaDB
installation should now be secure.
Thanks for using MariaDB!
[root@server1 tmp]#
Nu configureren we phpMyAdmin. Maak dit phpMyAdmin configuratiebestand:
nano /etc/httpd/conf.d/phpmyadmin.conf
Voeg deze inhoud toe aan het bestand:
# 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/>
<IfModule mod_authz_core.c>
# Apache 2.4
# <RequireAny>
# Require ip 127.0.0.1
# Require ip ::1
# </RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
Vervolgens veranderen we de authenticatie in phpMyAdmin van cookie naar http:
cp -pf /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php nano /usr/share/phpmyadmin/config.inc.php
[...] /* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'http'; [...]
Dan maken we de systeemopstartlinks voor Apache en starten die:
systemctl enable httpd systemctl restart httpd
Nu kun je je browser leiden naar http://server1.example.com/phpmyadmin/ of http://192.168.0.100/phpmyadmin/ en inloggen met de gebruikersnaam root en je nieuwe root MySQL wachtwoord.
11 Installeer Amavisd-new, SpamAssassin, ClamAV en Postgrey
Voer het volgende commando uit om amavisd-new, SpamAssassin en ClamAV te installeren:
dnf -y install amavisd-new spamassassin clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd unzip bzip2 perl-DBD-mysql postgrey re2c
Vervolgens starten we freshclam, amavisd, en clamd.amavisd:
sa-update freshclam systemctl enable amavisd.service systemctl start amavisd.service systemctl start [email protected] systemctl enable postgrey.service systemctl start postgrey.service
In de volgende stap configureren we postgrey. Open het bestand /etc/sysconfig/postgrey in een editor:
nano /etc/sysconfig/postgrey
en verander de regel:
POSTGREY_TYPE="--unix=/var/spool/postfix/postgrey/socket"
in
POSTGREY_TYPE="--inet=10023"
Sla het bestand op en herstart postgrey:
service postgrey restart
Om amavisd te configureren, bewerk je het bestand /etc/clamd.d/amavisd.conf:
nano /etc/clamd.d/amavisd.conf
en verander de regel:
LocalSocket /run/clamd.amavisd/clamd.sock
in
LocalSocket /var/spool/amavisd/clamd.sock
Sla het gewijzigde configuratiebestand op en herstart ClamAV:
systemctl restart [email protected]
Nu moeten we een systeemeenheid aanmaken voor de dienst freshclam. Maak een nieuw bestand /usr/lib/system/system/freshclam.service:
nano /usr/lib/systemd/system/freshclam.service
en voer in dat bestand de volgende inhoud in:
[Unit] Description = ClamAV Scanner After = network.target [Service] Type = forking # if you want to scan more than one in a day change the number 1 with your desired number in below line. ExecStart = /usr/bin/freshclam -d -c 1 Restart = on-failure PrivateTmp =true [Install] WantedBy=multi-user.target
Sla het bestand op en schakel vervolgens de dienst in en start hem.
systemctl enable freshclam.service systemctl start freshclam.service systemctl status freshclam.service
12 Apache installeren met mod_php, mod_fcgi/PHP, PHP-FPM
Met ISPConfig 3 kun je mod_php, mod_fcgi/PHP, cgi/PHP en PHP-FPM per website gebruiken.
We kunnen Apache2 met mod_php, mod_fcgid, en PHP als volgt installeren:
dnf -y install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-mbstring php-mcrypt php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel php-fpm php-intl php-imagick php-pspell wget
Vervolgens openen we /etc/php.ini…
nano /etc/php.ini
… en veranderen de foutmelding (zodat meldingen niet meer getoond worden), stellen de tijdzone in en zetten cgi.fix_pathinfo=1 uit:
[...] ;error_reporting = E_ALL & ~E_DEPRECATED error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT [...] ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok ; what PATH_INFO is. For more information on PAppp.tldTH_INFO, see the cgi specs. Setting ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. ; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo cgi.fix_pathinfo=1 [...] date.timezone = 'Europe/Berlin' [...]
Schakel httpd en PHP-FPM in om op te starten bij het opstarten en start de PHP-FPM dienst.
systemctl start php-fpm.service systemctl enable php-fpm.service systemctl enable httpd.service
Tenslotte starten we Apache opnieuw op:
systemctl restart httpd.service
Nu gaan we ondersteuning voor Let’s encrypt toevoegen. ISPConfig gebruikt nu acme.sh als Let’s Encrypt client. Installeer acme.sh met het volgende commando:
curl https://get.acme.sh | sh -s
13 Installatie van mod_python
De Apache module mod_python is niet beschikbaar als RPM pakket, daarom zullen we hem vanaf de broncode compileren. De eerste stap is het installeren van de python ontwikkelingsbestanden en het downloaden van de huidige mod_python versie als .tar.gz bestand
dnf -y install python3-devel
cd /usr/local/src/ wget http://dist.modpython.org/dist/mod_python-3.5.0.tgz tar xfz mod_python-3.5.0.tgz cd mod_python-3.5.0
en dan de module configureren en compileren.
./configure --with-python=/usr/bin/python3 make
Er zit een fout in de gecompileerde module waardoor de installatie mislukt met de fout“version = “fatal: Not a git repository (or any of the parent directories): .git“. Om dat op te lossen, voer je dit sed-commando uit (het commando is één regel!).
sed -e 's/(git describe --always)/(git describe --always 2>\/dev\/null)/g' -e 's/`git describe --always`/`git describe --always 2>\/dev\/null`/g' -i $( find . -type f -name Makefile\* -o -name version.sh )
Installeer dan de module met dit commando.
make install
en schakel de module in Apache in:
echo 'LoadModule python_module modules/mod_python.so' > /etc/httpd/conf.modules.d/10-python.conf systemctl restart httpd.service
14 PureFTPd installeren
PureFTPd kan worden geïnstalleerd met het volgende commando:
dnf -y install pure-ftpd
Maak vervolgens de systeemstartkoppelingen en start PureFTPd:
systemctl enable pure-ftpd.service systemctl start pure-ftpd.service
Nu configureren we PureFTPd om FTP en TLS sessies toe te staan. FTP is een zeer onveilig protocol omdat alle wachtwoorden en alle gegevens in duidelijke tekst worden overgebracht. Door TLS te gebruiken kan de hele communicatie versleuteld worden, waardoor FTP veel veiliger wordt.
Voor TLS is OpenSSL nodig; om OpenSSL te installeren draaien we eenvoudigweg:
dnf install openssl
Open /etc/pure-ftpd/pure-ftpd.conf…
nano /etc/pure-ftpd/pure-ftpd.conf
Als je FTP en TLS sessies wilt toestaan, zet dan TLS op 1 door de # voor de TLS regel te verwijderen. Het wordt ten zeerste aanbevolen om TLS in te schakelen.
[...] # This option can accept three values : # 0 : disable SSL/TLS encryption layer (default). # 1 : accept both traditional and encrypted sessions. # 2 : refuse connections that don't use SSL/TLS security mechanisms, # including anonymous sessions. # Do _not_ uncomment this blindly. Be sure that : # 1) Your server has been compiled with SSL/TLS support (--with-tls), # 2) A valid certificate is in place, # 3) Only compatible clients will log in. TLS 1 [...]
Om TLS te gebruiken, moeten we een SSL-certificaat aanmaken. Ik maak het aan in /etc/ssl/private/, daarom maak ik die map eerst aan:
mkdir -p /etc/ssl/private/
Daarna kunnen we het SSL-certificaat als volgt genereren:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Landnaam (code van 2 letters) [XX]: <– Voer je landnaam in (bijvoorbeeld “DE”).
Staat of Provincie Naam (volledige naam) []:<– Voer je Staat of Provincie Naam in.
Plaatsnaam (bijv. stad) [Standaardstad]:<– Voer je woonplaats in.
Organisatie Naam (bijv. bedrijf) [Default Company Ltd]:<– Voer je Organisatienaam in (bijv. de naam van je bedrijf).
Naam organisatie-eenheid (bijv. sectie) []:<– Voer je Organisatorische Eenheidsnaam in (bijv. “IT-afdeling”).
Common Name (bijv. je naam of de hostnaam van je server) []:<– Voer de Fully Qualified Domain Name van het systeem in (bijv. “server1.example.com”).
E-mailadres []:<– Voer je E-mailadres in.
Wijzig de rechten van het SSL-certificaat:
chmod 600 /etc/ssl/private/pure-ftpd.pem
Maak een DHParam bestand aan:
openssl dhparam -out /etc/ssl/private/pure-ftpd-dhparams.pem 2048
Start tot slot PureFTPd opnieuw op:
systemctl restart pure-ftpd.service
Dat was het. Je kunt nu proberen verbinding te maken met je FTP-cliënt; je moet je FTP-cliënt echter configureren om TLS te gebruiken.
15 BIND installeren
We kunnen BIND als volgt installeren:
dnf -y install bind bind-utils haveged
Maak een back-up van het bestaande bestand /etc/named.conf en maak als volgt een nieuwe aan:
cp /etc/named.conf /etc/named.conf_bak cat /dev/null > /etc/named.conf nano /etc/named.conf
// // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // options { listen-on port 53 { any; }; listen-on-v6 port 53 { any; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; allow-recursion {"none";}; recursion no; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.conf.local";
Maak het bestand /etc/named.conf.local dat aan het eind van /etc/named.conf staat(/etc/named.conf.local wordt later door ISPConfig gevuld als je DNS-zones in ISPConfig aanmaakt):
touch /etc/named.conf.local
Daarna maken we de opstartkoppelingen en starten we BIND:
systemctl enable named.service systemctl start named.service systemctl enable haveged.service systemctl start haveged.service
16 AWStats installeren
AWStats kan als volgt worden geïnstalleerd:
dnf -y install awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder
De alternatieve webstatistieken applicatie ‘webalizer’ is niet meer beschikbaar voor CentOS 8, dus kun je alleen AWStats gebruiken.
17 Installeer Jailkit
Jailkit wordt gebruikt om SSH-gebruikers en cronjobs te chrooten. Het kan als volgt worden geïnstalleerd:
ln -s /usr/bin/python2 /usr/bin/python cd /tmp wget http://olivier.sessink.nl/jailkit/jailkit-2.21.tar.gz tar xvfz jailkit-2.21.tar.gz cd jailkit-2.21 ./configure make make install cd .. rm -rf jailkit-2.21*
18 Installeer Fail2Ban
Dit is optioneel maar aanbevolen, omdat de ISPConfig monitor het logboek probeert te tonen.
dnf -y install iptables-services fail2ban fail2ban-systemd systemctl stop firewalld.service systemctl mask firewalld.service systemctl disable firewalld.service
Vervolgens maken we het bestand /etc/fail2ban/jail.local aan en schakelen monitoring in voor ssh, e-mail en ftp dienst.
nano /etc/fail2ban/jail.local
Voeg de volgende inhoud toe aan het jail.local bestand:
[sshd] enabled = true action = iptables[name=sshd, port=ssh, protocol=tcp]
[pure-ftpd]
enabled = true
action = iptables[name=FTP, port=ftp, protocol=tcp]
maxretry = 3
[dovecot]
enabled = true
action = iptables-multiport[name=dovecot, port=”pop3,pop3s,imap,imaps”, protocol=tcp]
maxretry = 5
[postfix-sasl]
enabled = true
action = iptables-multiport[name=postfix-sasl, port=”smtp,smtps,submission”, protocol=tcp]
maxretry = 3
Maak dan de systeemstartkoppelingen voor fail2ban en start het:
systemctl enable fail2ban.service systemctl start fail2ban.service
19 Installeer rkhunter
rkhunter kan als volgt geïnstalleerd worden:
dnf -y install rkhunter
20 Installeer Mailman
Als je graag mailinglijsten beheert met Mailman op je server, installeer dan nu mailman. Mailman wordt ondersteund door ISPConfig, zodat je later via ISPConfig nieuwe mailinglijsten kunt aanmaken.
dnf -y install mailman
Voordat we Mailman kunnen starten, moet een eerste mailinglijst met de naam mailman worden aangemaakt:
touch /var/lib/mailman/data/aliases postmap /var/lib/mailman/data/aliases /usr/lib/mailman/bin/newlist mailman ln -s /usr/lib/mailman/mail/mailman /usr/bin/mailman
[root@server1 tmp]# /usr/lib/mailman/bin/newlist mailman
Voer het e-mailadres in van degene die de lijst beheert: <– admin e-mailadres, bijv.[email protected]
Initieel mailman wachtwoord: <– admin wachtwoord voor de mailman lijst
Om het maken van je mailinglijst af te ronden, moet je jeje /etc/aliases (of
equivalent) bestand bewerken door de volgende regels toe te voegen, en eventueel het programma
`newaliases’ te draaien:
## mailman mailinglijst
mailman: “|/usr/lib/mailman/mailman post mailman”
mailman-admin:”|/usr/lib/mailman/mailman admin mailman”
mailman-bounces:”|/usr/lib/mailman/mailman bounces mailman”
mailman-confirm:”|/usr/lib/mailman/mailman bevestigt mailman”
mailman-join:”|/usr/lib/mailman/mailman join mailman”
mailman-leave:”|/usr/lib/mailman/mailman leave mailman”
mailman-owner:”|/usr/lib/mailman/mailman owner mailman”
mailman-request:”|/usr/lib/mailman/mailman request mailman”
mailman-subscribe:”|/usr/lib/mailman/mailman subscribe mailman”
mailman-unsubscribe:”|/usr/lib/mailman/mailman unsubscribe mailman”
Druk op enter om de eigenaar van mailman op de hoogte te stellen… <– ENTER
[root@server1 tmp]#
Open daarna /etc/aliases…
nano /etc/aliases
… en voeg de volgende regels toe:
[...] mailman: "|/usr/lib/mailman/mail/mailman post mailman" mailman-admin: "|/usr/lib/mailman/mail/mailman admin mailman" mailman-bounces: "|/usr/lib/mailman/mail/mailman bounces mailman" mailman-confirm: "|/usr/lib/mailman/mail/mailman confirm mailman" mailman-join: "|/usr/lib/mailman/mail/mailman join mailman" mailman-leave: "|/usr/lib/mailman/mail/mailman leave mailman" mailman-owner: "|/usr/lib/mailman/mail/mailman owner mailman" mailman-request: "|/usr/lib/mailman/mail/mailman request mailman" mailman-subscribe: "|/usr/lib/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe mailman"
Voer
newaliases
daarna en herstart Postfix:
systemctl restart postfix.service
Open nu het Mailman Apache configuratiebestand /etc/httpd/conf.d/mailman.conf…
nano /etc/httpd/conf.d/mailman.conf
… en voeg de regel ScriptAlias /cgi-bin/mailman/ /usr/lib/mailman/cgi-bin/ toe. Commentarieer Alias /pipermail/ /var/lib/mailman/archives/public/ uit en voeg de regel Alias /pipermail /var/lib/mailman/archives/public/ toe:
# # httpd configuration settings for use with mailman. # ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/ ScriptAlias /cgi-bin/mailman/ /usr/lib/mailman/cgi-bin/ <Directory /usr/lib/mailman/cgi-bin/> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory> #Alias /pipermail/ /var/lib/mailman/archives/public/ Alias /pipermail /var/lib/mailman/archives/public/ <Directory /var/lib/mailman/archives/public> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all AddDefaultCharset Off </Directory> # Uncomment the following line, to redirect queries to /mailman to the # listinfo page (recommended). # RedirectMatch ^/mailman[/]*$ /mailman/listinfo
Herstart Apache:
systemctl restart httpd.service
Maak de systeemstartkoppelingen voor Mailman en start het:
systemctl enable mailman.service systemctl start mailman.service
Nadat je ISPConfig 3 hebt geïnstalleerd, kun je Mailman als volgt benaderen:
Je kunt de alias /cgi-bin/mailman gebruiken voor alle Apache vhosts (let op dat suExec en CGI uitgeschakeld moeten zijn voor alle vhosts van waaruit je Mailman wilt benaderen!), wat betekent dat je de Mailman admin-interface voor een lijst kunt benaderen op http://<vhost>/cgi-bin/mailman/admin/<listname>, en dat de webpagina voor gebruikers van een mailinglijst te vinden is op http://<vhost>/cgi-bin/mailman/listinfo/<listname>.
Onder http://<vhost>/pipermail/<listname> kun je de archieven van de mailinglijsten vinden.
21 Roundcube webmail installeren
Om de RoundCube webmail client te installeren, download je de laatste versie met wget naar de /tmp map:
cd /tmp wget https://github.com/roundcube/roundcubemail/releases/download/1.4.3/roundcubemail-1.4.3-complete.tar.gz
Pak het tar.gz archief uit en verplaats de RoundCube broncode naar /usr/share/roundcubemail
tar xfz roundcubemail-1.4.3-complete.tar.gz mkdir /usr/share/roundcubemail mv /tmp/roundcubemail-1.4.3/* /usr/share/roundcubemail/ chown -R root:root /usr/share/roundcubemail chown apache /usr/share/roundcubemail/temp chown apache /usr/share/roundcubemail/logs
Maak een roundcubemail.conf configuratiebestand aan met nano editor:
nano /etc/httpd/conf.d/roundcubemail.conf
En voeg de volgende inhoud toe aan dat bestand:
# # Round Cube Webmail is a browser-based multilingual IMAP client # Alias /roundcubemail /usr/share/roundcubemail Alias /webmail /usr/share/roundcubemail # Define who can access the Webmail # You can enlarge permissions once configured <Directory /usr/share/roundcubemail/> Options none AllowOverride Limit Require all granted </Directory> # Define who can access the installer # keep this secured once configured <Directory /usr/share/roundcubemail/installer> Options none AllowOverride Limit Require all granted </Directory> # Those directories should not be viewed by Web clients. <Directory /usr/share/roundcubemail/bin/> Order Allow,Deny Deny from all </Directory> <Directory /usr/share/roundcubemail/plugins/enigma/home/> Order Allow,Deny Deny from all </Directory>
Start Apache opnieuw op:
systemctl restart httpd.service
Nu hebben we een database nodig voor RoundCube mail, die gaan we als volgt initialiseren:
mysql -u root -p
Gebruik bij MariaDB prompt:
CREATE DATABASE roundcubedb; CREATE USER roundcubeuser@localhost IDENTIFIED BY 'roundcubepassword'; GRANT ALL PRIVILEGES on roundcubedb.* to roundcubeuser@localhost ; FLUSH PRIVILEGES; exit
Ik gebruik de gegevens voor de RoundCube database als voorbeeld, vervang de waarden naar eigen keuze om veiligheidsredenen.
Nu installeren we RoundCube in de browser op http://192.168.0.100/roundcubemail/installer
Maak nu het bestand config.inc.php:
nano /usr/share/roundcubemail/config/config.inc.php
<?php
/* Local configuration for Roundcube Webmail */
// ———————————-
// SQL DATABASE
// ———————————-
// Database connection string (DSN) for read+write operations
// Format (compatible with PEAR MDB2): db_provider://user:password@host/database
// Currently supported db_providers: mysql, pgsql, sqlite, mssql, sqlsrv, oracle
// For examples see http://pear.php.net/manual/en/package.database.mdb2.intro-dsn.php
// NOTE: for SQLite use absolute path (Linux): ‘sqlite:////full/path/to/sqlite.db?mode=0646’
// or (Windows): ‘sqlite:///C:/full/path/to/sqlite.db’
$config[‘db_dsnw’] = ‘mysql://roundcubeuser:roundcubepassword@localhost/roundcubedb’;
// ———————————-
// IMAP
// ———————————-
// The IMAP host chosen to perform the log-in.
// Leave blank to show a textbox at login, give a list of hosts
// to display a pulldown menu or set one host as string.
// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
// Supported replacement variables:
// %n – hostname ($_SERVER[‘SERVER_NAME’])
// %t – hostname without the first part
// %d – domain (http hostname $_SERVER[‘HTTP_HOST’] without the first part)
// %s – domain name after the ‘@’ from e-mail address provided at login screen
// For example %n = mail.domain.tld, %t = domain.tld
// WARNING: After hostname change update of mail_host column in users table is
// required to match old user data records with the new host.
$config[‘default_host’] = ‘localhost’;
$config[‘smtp_server’] = ‘localhost’;
$config[‘smtp_port’] = 25;
// provide an URL where a user can get support for this Roundcube installation
// PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE!
$config[‘support_url’] = ”;
// This key is used for encrypting purposes, like storing of imap password
// in the session. For historical reasons it’s called DES_key, but it’s used
// with any configured cipher_method (see below).
$config[‘des_key’] = ‘pb0UucO0eqjgvhrqYlFTBVjE’;
// ———————————-
// PLUGINS
// ———————————-
// List of active plugins (in plugins/ directory)
$config[‘plugins’] = array();
// Set the spell checking engine. Possible values:
// – ‘googie’ – the default (also used for connecting to Nox Spell Server, see ‘spellcheck_uri’ setting)
// – ‘pspell’ – requires the PHP Pspell module and aspell installed
// – ‘enchant’ – requires the PHP Enchant module
// – ‘atd’ – install your own After the Deadline server or check with the people at http://www.afterthedeadline.com before using their API
// Since Google shut down their public spell checking service, the default settings
// connect to http://spell.roundcube.net which is a hosted service provided by Roundcube.
// You can connect to any other googie-compliant service by setting ‘spellcheck_uri’ accordingly.
$config[‘spellcheck_engine’] = ‘pspell’;
$config[‘enable_installer’] = true;
Druk dan op “doorgaan” in het web-installatieprogramma. Druk op de volgende pagina op de knop “Initialize database”.
Schakel tenslotte de Roundecubemail installer uit. Wijzig het configuratiebestand RoundCube config.inc.php
nano /usr/share/roundcubemail/config/config.inc.php
en verander de regel:
$config['enable_installer'] = true;
in:
$config['enable_installer'] = false;
Roundcube is nu beschikbaar onder de aliassen /webmail en /roundcubemail op je server:
http://192.168.0.100/webmail
De RoundCube login is het e-mailadres en wachtwoord van een e-mailaccount dat je later in ISPConfig aanmaakt.
22 Installeer ISPConfig 3.2
Het installatieprogramma van ISPConfig zal alle diensten zoals Postfix, Dovecot, enz. voor je configureren.
Je hebt nu ook de mogelijkheid om het installatieprogramma een SSL vhost te laten maken voor het ISPConfig controlepaneel, zodat ISPConfig kan worden benaderd met https:// in plaats van http://. Om dit te bereiken druk je gewoon op ENTER als je deze vraag ziet: Wil je een beveiligde (SSL) verbinding met de ISPConfig webinterface (y,n) [y]:.
Om ISPConfig 3.2 nightly build te installeren, doe je dit:
cd /tmp wget -O ispconfig.tar.gz https://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz tar xfz ispconfig.tar.gz cd ispconfig3*/install/
De volgende stap is het uitvoeren van:
php -q install.php
Hiermee start je het ISPConfig 3 installatieprogramma. Het installatieprogramma zal alle diensten zoals Postfix, Dovecot, enz. voor je configureren.
[root@server1 install]# php install.php
-------------------------------------------------------------------------------- _____ ___________ _____ __ _ ____ |_ _/ ___| ___ \ / __ \ / _(_) /__ \ | | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ / | | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ | _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \ \___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/ __/ | |___/ --------------------------------------------------------------------------------
>> Initial configuration
Operating System: CentOS 8.2
Following will be a few questions for primary configuration so be careful. Default values are in [brackets] and can be accepted with <ENTER>. Tap in "quit" (without the quotes) to stop the installer.
Select language (en,de) [en]: <-- Hit Enter
Installation mode (standard,expert) [standard]: <-- Hit Enter
Full qualified hostname (FQDN) of the server, eg server1.domain.tld [server1.example.com]: <-- Hit Enter
MySQL server hostname [localhost]: <-- Hit Enter
MySQL server port [3306]: <-- Hit Enter
MySQL root username [root]: <-- Hit Enter
MySQL root password []: <-- Ente the MySQL root password here
MySQL database to create [dbispconfig]: <-- Hit Enter
MySQL charset [utf8]: <-- Hit Enter
Configuring Postgrey Configuring Postfix Generating a 4096 bit RSA private key ................................++ .....................................................................................................................................................................................................................................................................................................................................................++ writing new private key to 'smtpd.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]: <-- Enter 2 Letter country code, e.g. US State or Province Name (full name) []: <-- Enter anme of State or Province Locality Name (eg, city) [Default City]: <-- Name of city Organization Name (eg, company) [Default Company Ltd]: <-- Company name Organizational Unit Name (eg, section) []: <-- Hit Enter Common Name (eg, your name or your server's hostname) []: <-- Enter server hostname here, in my case: server1.example.com Email Address []: <-- Enter Email address Configuring mailman Configuring Dovecot Configuring Spamassassin Configuring Amavisd Configuring Getmail Configuring Jailkit Configuring Pureftpd Configuring BIND Configuring Apache Configuring vlogger [INFO] service OpenVZ not detected Configuring Bastille Firewall [INFO] service Metronome XMPP Server not detected Configuring Fail2ban Configuring Apps vhost Installing ISPConfig ISPConfig Port [8080]: <-- Hit Enter
Admin password [fad579a6]: <-- Enter new password for ISPConfig admin user
Re-enter admin password []: <-- Repeat the password
Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]: <-- Hit Enter
Generating RSA private key, 4096 bit long modulus .................................................................................++ .....++ e is 65537 (0x10001) You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]: <-- Enter 2 Letter country code, e.g. US State or Province Name (full name) []: <-- Enter anme of State or Province Locality Name (eg, city) [Default City]: <-- Name of city Organization Name (eg, company) [Default Company Ltd]: <-- Company name Organizational Unit Name (eg, section) []: <-- Hit Enter Common Name (eg, your name or your server's hostname) []: <-- Enter server hostname here, in my case: server1.example.com Email Address []: <-- Enter Email address
Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: <-- Hit Enter An optional company name []: <-- Hit Enter writing RSA key
Configuring DBServer Installing ISPConfig crontab Installing ISPConfig crontab no crontab for root no crontab for getmail Detect IP addresses Restarting services ... Installation completed.
Het installatieprogramma configureert automatisch alle onderliggende diensten, dus er is geen handmatige configuratie nodig.
23 Eerste ISPConfig login
Daarna kun je ISPConfig 3 benaderen onder http(s)://server1.example.com:8080/ of http(s)://192.168.0.100:8080/(http of https hangt af van wat je tijdens de installatie hebt gekozen).
Log in met de gebruikersnaam admin en het wachtwoord admin (je moet het standaard wachtwoord wijzigen na de eerste keer inloggen):
23.1 De ISPConfig 3 handleiding
Om te leren hoe je ISPConfig 3 gebruikt, raad ik je aan de ISPConfig 3 Handleiding te downloaden.
Op meer dan 300 pagina’s behandelt het het concept achter ISPConfig (admin, resellers, clients), legt uit hoe je ISPConfig 3 installeert en bijwerkt, bevat een referentie voor alle formulieren en formuliervelden in ISPConfig samen met voorbeelden van geldige invoer, en geeft tutorials voor de meest voorkomende taken in ISPConfig 3. Het geeft ook aan hoe je je server veiliger kunt maken en bevat aan het eind een sectie over het oplossen van problemen.
24 Downloaden als virtuele machine
Deze setup is beschikbaar als virtuele machine download in ova/ovf formaat (compatibel met VMWare en Virtualbox) voor howtoforge abonnees.
Inloggegevens voor de VM
- Het root wachtwoord is: howtoforge
- Het wachtwoord van de ISPConfig “admin” gebruiker is: howtoforge
- Er is nog een shell gebruiker met de naam “howtoforge” en wachtwoord: howtoforge
Verander beide wachtwoorden bij de eerste keer inloggen.
- Het IP adres van de VM is 192.168.0.100
25 Links
- CentOS: http://www.centos.org/
- ISPConfig: http://www.ispconfig.org/