TransIP FreeBSD Installatiehandleiding
http://www.transip.nl/support/freebsd/
Install versie 7A (20 maart 2008)
Inleiding De distributie is gebaseerd op een netwerkinstallatie waarin u slechts opstart vanaf meegeleverde floppy images. De laatste versie van het besturingssysteem wordt daarna via Internet gedownload. De distributie is geschikt voor de amd64 (64bit) architectuur. De TransIP installatie versie 7 is gebaseerd op de FreeBSD 7.xRELEASE tak. Deze distributie is beschikbaar onder de BSD licentie. Commercieel gebruik, verspreiding en aanpassing is toegestaan onder de voorwaarden van deze licentie. Wij hebben deze handleiding samengesteld om iedereen in staat te stellen de TransIP FreeBSD distributie zelf te installeren.
Meer informatie Achter in deze handleiding vindt u tips die specifiek zijn voor de TransIP FreeBSD distributie. Wij bieden deze distributie kosteloos en als extra service aan. Onze helpdesk kan u daarom geen ondersteuning geven op het werken met FreeBSD. Wanneer een ernstig beveiligingsprobleem bekend wordt in de gebruikte software plaatsen wij instructies op onze website voor een update zodat u uw systeem eenvoudig kunt updaten. N.B.: Wij behandelen slechts ernstige beveiligingsproblemen die een remote exploit op uw installatie mogelijk maken. Wij raden u dan ook aan om uzelf te subscriben op de FreeBSD Security announcements mailinglist om ook op de hoogte te blijven van kleinere gevaren. Kennis van FreeBSD of een ander unixachtig besturingssysteem komt zeer van pas bij het configureren en beheren van een server. Wij raden u aan enige tijd te testen en experimenteren voor u een server coloceert. Tenslotte wensen wij u veel succes met uw FreeBSD server! Wanneer u FreeBSD waardeert en de verdere ontwikkeling van dit besturingssysteem wil steunen, vindt u de mogelijkheden tot het doen van een donatie aan het FreeBSD Project op http://www.freebsd.org/donations/. Met vriendelijke groet, Transip BV
[email protected]
Belangrijke URLs TransIP FreeBSD FreeBSD Handbook FreeBSD Security FreeBSD Hardware Support
http://www.transip.nl/support/freebsd/ http://www.freebsd.org/doc/en/books/handbook/ http://www.freebsd.org/security/ http://www.freebsd.org/releases/7.0R/hardware.html#PROC-AMD64
TransIP FreeBSD Handleiding – Install versie 7A –
Pagina 1 / 7
FreeBSD bootdisks maken en opstarten U gaat nu de bootdisks aanmaken en uw server opstarten in FreeBSD. Wij gaan er hier vanuit dat 3.5” floppies worden gebruikt en dat u deze aanmaakt op een Windowsmachine. U kunt ook de FreeBSD LiveCD gebruiken in plaats van floppies. In dat geval dient u van een FreeBSD FTP mirror het bestand 7.0-RELEASE-amd64-livefs.iso te branden. U heeft alleen de livefs disk nodig. De instructies zijn verder hetzelfde.
1. U heeft vier lege 3.5 inch diskettes nodig. Daarop komen de volgende drie images te staan: BOOT, KERN1, KERN2 en FIXIT. U kunt standaard FreeBSD 7.x bootfloppies gebruiken, maar wij hebben deze voor het gemak voor u neergezet in een eenvoudig installatiebestand: http://www.transip.nl/support/freebsd/files/7A/install.zip Pak het bestand uit op uw Windowsdesktop. Daarna start u het programma createdisks.bat om de images naar de drie diskettes te schrijven. In UNIX doet u dit met het commando dd. 2. Open een DOSvenster op uw Windowsmachine en toets ipconfig. Schrijf de waarden op; dit zijn uw netwerkgegevens. Deze kunt u later tijdens de installatie van FreeBSD weer invoeren. Tijdens de netwerkinstallatie wordt de laatste versie van de distributie door FTP opgehaald. 3. Stop de diskette getiteld BOOT in de drive van de server en start op. U zou moeten zien dat de server opstart van floppy en de FreeBSD loader wordt uitgevoerd. Na verloop van tijd vraagt de loader om de volgende diskettes. Wanneer hier fouten optreden duidt dit meestal op een kapotte floppy. Probeer in dat geval eerst opnieuw met een nieuwe floppy. Na enige tijd start de kernel op. Sla de kernelconfiguratie over door op Enter (Skip configuration) te drukken. Hierna komt u in het sysinstall hoofdmenu.
Harde schijfindeling In deze stap delen we de harde schijf van de server in.
4. Kies in het sysinstall hoofdmenu voor (S)tandard installation. Nu wordt FDISK uitgevoerd om de harde schijf voor te bereiden voor de installatie. Wanneer u alleen FreeBSD op deze schijf wilt zetten kiest u (A)uto: Use Entire Disk. Kies daarna (Q)uit om FDISK te verlaten. 5. Kies voor BootMgr (Install the FreeBSD Boot Manager). 6. U komt nu in het scherm waar u de schijfindeling kunt kiezen. Als u voor (A)uto kiest, gaat dit vanzelf goed. Kies vervolgens (W)rite om de indeling weg te schrijven en daarna (Q)uit om dit scherm te verlaten. 7. De installer vraagt nu om een installatietype en medium. Wij gaan in plaats hiervan onze eigen installatiescript uitvoeren, dus kies tweemaal Cancel om terug te gaan naar het hoofdmenu.
TransIP FreeBSD Handleiding – Install versie 7A –
Pagina 2 / 7
Installatie van FreeBSD In deze stap configureren we het netwerk en starten de FreeBSD installatie over het netwerk.
8. In het hoofdmenu kiest u achtereenvolgens (C)onfigure, (N)etworking, en vervolgens (I)nterfaces. Kies hier uw Ethernetkaart uit (meestal fxp0, xl0, em0 of rl0). Vul vervolgens een willekeurige servernaam in en de netwerkgegevens die u bij punt 2 heeft opgeschreven. Ga na het instellen weer terug naar het hoofdmenu door twee keer Exit te kiezen. 9. Kies vervolgens in het hoofdmenu (F)ixit en daarna Floppy om naar de shell prompt te gaan (of Live CD/DVD wanneer u van CDROM werkt). Voer de FIXIT floppy in en toets Alt+F4. 10. Download en start nu het installatiescript. Als u de netwerkinstellingen goed heeft ingevoerd, kan de machine contact maken met Internet om het script te downloaden. Zo niet, dan zult u deze met ifconfig moeten verbeteren. U start de installatie met de volgende twee commando’s: # ftp ftp://freebsd:
[email protected]/install.sh # sh install.sh De TransIP FreeBSDinstallatie wordt nu gedownload, uitgepakt en klaargemaakt voor gebruik. Afhankelijk van het systeem en de snelheid van de Internetverbinding kan dit enige tijd duren.
Serverconfiguratie In deze stap stellen we de configuratie van de server in. Hiervoor heeft u de netwerkgegevens van de server nodig zoals deze zullen worden; deze gegevens zijn reeds ter beschikking gesteld. Wanneer uw de server bij TransIP installeert vindt u deze netwerkgegevens na het insturen van uw offerte in uw controlepaneel op www.transip.nl onder de kop “Netwerkinformatie & IPadressen”.
11. Als het plaatsen van de FreeBSDinstallatie is geslaagd, wordt u gevraagd om de netwerkgegevens. Voer deze één voor één in. 12. Hierna krijgt u de gelegenheid om het hoofdconfiguratiebestand te wijzigen. Leest u dit bestand aandachtig door; een aantal opties wijken af van een standaard FreeBSDinstallatie. Toets Ctrl+X gevolgd door (Y)es om verder te gaan. N.B. Dit bestand kan ook na installatie nog worden aangepast door /etc/rc.conf aan te passen; er is dus ruimte voor experimenteren. Veranderingen in dit bestand worden actief na een reboot.
De server opstarten 13. Uw server is nu klaar voor gebruik. De machine zal u vragen de floppy te verwijderen. Door twee maal Exit te kiezen zal de geïnstalleerde server opnieuw opstarten in FreeBSD. 14. Na het opstarten kunt u bij op de console inloggen als admin (geen password nodig). Hierna inloggen als root met su (geen password nodig). Vergeet niet om allereerst passwords in te stellen met passwd admin en passwd root. Om in te loggen met SSH is een password vereist, dus u dient dit in te stellen voor u uw server plaatst!
TransIP FreeBSD Handleiding – Install versie 7A –
Pagina 3 / 7
Veel voorkomende taken Hieronder beschrijven wij enige veelvoorkomende taken. Tenzij anders aangegeven dient u de commando’s uit te voeren als root. Lees ook nog even kort de “Geavanceerde onderwerpen” verder in dit document.
Inloggen op de server met SSH Om de veiligheid te verhogen, is remote login voor het rootaccount uitgeschakeld. Logt u dus altijd in met uw eigen accountnaam, en gebruik daarna su om naar root over te schakelen. De systeemconfiguratie wijzigen De systeeminstellingen en programma’s kunt u instellen door het bestand /etc/rc.conf aan te passen met uw favoriete editor. Dit bestand wordt geheel opnieuw ingelezen bij een reboot. Gebruikersaccounts toevoegen aan uw server Met het commando adduser kunt u shell, mailen FTPaccounts toevoegen. De werking van dit commando is gelijk aan het commando onder FreeBSD. De shells mailonly, scponly en ftponly kunt u gebruiken om een loginaccount beperkingen te geven. Sites toevoegen aan uw server Wanneer u een website wil aanmaken, maakt u eerst d.m.v. adduser een FTPaccount. U kunt als homedirectory van de FTPgebruiker opgeven: /sites/domain.nl waarbij u uiteraard domain.nl vervangt door het gekozen domein. Typ hierna addsite om een domein toe te voegen aan de server. Wanneer u het commando zonder opties start krijgt u een overzicht van de nodige parameters. Hierna kunt u mailaccounts aanmaken. Eventueel kunt u later d.m.v. addsubdomain extra websubdomeinen toe te voegen aan domeinen op uw server.
Mailaccounts toevoegen aan uw sites U heeft met addsite een domein op de server toegevoegd. Nu kunt u met adduser een aantal mailaccounts aanmaken. Na het aanmaken gebruikt u editmail domain.nl om emailadressen toe te wijzen aan mailaccounts. Mailaccounts wijzigen De standaardemailaliassen kunt u aanpassen met editaliases. De virtual hosting emailadressen op toegevoegde domeinen kunt u aanpassen met editmail domain.nl. Deze commando’s voeren automatisch het commando reloadmail uit dat de databases van de mailserver bijwerkt. Wanneer u zelf de configuratie van de mailserver direct aanpast, kunt u dit commando zelf uitvoeren. De configuratie van Postfix vindt u in /usr/local/etc/postfix. De standaardwebpagina wijzigen Wanneer u naar uw IPadres of een nog niet toegevoegd domein op uw server surft, ziet u een standaardpagina. Deze kunt u vervangen door uw eigen inhoud door uw eigen pagina bestanden in /sites/default/www te zetten. Een databaseserver draaien met MySQL Standaard is MySQL 4 geïnstalleerd en actief. Bekijkt u de MySQL opties in /etc/rc.conf voor extra opties. Hier kunt u kiezen om MySQL remote beschikbaar te maken via TCP; standaard is dit op onze distributie uitgeschakeld. U kunt op de gebruikelijke wijze het MySQL rootwachtwoord instellen (dit is leeggelaten).
TransIP FreeBSD Handleiding – Install versie 7A –
Pagina 4 / 7
Applicaties installeren Een op het moment van release recente kopie van de FreeBSD ports collectie is voor u klaargezet in /usr/ports. De ports collectie omvat vrijwel alle gangbare unixsoftware. Zoekt u een bepaald pakket, dan kunt u dit opzoeken met whereis en locate. Belangrijk: Wilt u een port toevoegen in de Apache chrootomgeving, installeer deze port dan met de juiste PREFIX. Dit doet u met het commando: make install PREFIX=/opt/httpd Applicaties updaten Gebruik het shellscript upgrade.sh in directory /root/portupgrade om automatisch een cvsup en een portupgrade uit te voeren. Het wordt aangeraden om regelmatig d.m.v. dit script te controleren of er updates beschikbaar zijn aan de applicaties die u draait. Belangrijk: Wanneer u Apache in chrootsetup gebruikt (zie Geavanceerde Onderwerpen hieronder), kunt u door een probleem met FreeBSD portupgrade uw webserversoftware (Apache) momenteel niet upgraden met portupgrade. U kunt zelf handmatig de Apache port upgraden op de volgende manier: # cd /usr/ports/www/apache13 # make build deinstall install PREFIX=/opt/httpd # apachectl restart Als u libraries update die gebruikt worden door Apache, kunt u met een eenvoudig commando de libraries kopiëren naar de Apachechroot omgeving. Dit doet u door uit te voeren: # /usr/local/adm/bin/chrootupdatehttpd PHP en PHPextensies kunnen op gebruikelijke wijze via de FreeBSD ports en portupgrade worden geïnstalleerd en bijgewerkt. Deze werken zowel binnen als buiten de chroot. De opmerking over PHP en PHPextensies in install versie 3.3 t/m 5A is niet meer van toepassing. Gebruik maken van Webmail De webmailapplicatie Squirrelmail is standaard geïnstalleerd op uw server. U kunt webmail bereiken door naar een domein of IPadres op uw server te surfen en .webmail/ toe te voegen aan de URL, bijvoorbeeld: http://www.domain.nl/.webmail/. Voor meer informatie over het gebruikte webmailpakket bezoekt u http://www.squirrelmail.org/. Stelt u geen prijs op deze functionaliteit, dan kunt u met het volgende commando Squirrelmail onbereikbaar maken: chmod orx /sites/webmail/www/ Gebruik maken van Portsentry, de portscandetector De portscandetector Portsentry is voor u geïnstalleerd, maar standaard niet aangeschakeld. Om dit te wijzigen zet u in /etc/rc.conf de parameter: portsentry_enable=”YES”. Hiermee worden alle systemen die een portscan op uw server uitvoeren 60 minuten geblokkeerd. Gebruik maken van Linux compatibiliteit U kunt standaard gebruik maken van Linux binaries. Het Red Hat 8.0 base systeem is geïnstalleerd in /usr/compat/linux. Als u binaries gebruikt zonder een ELF brand, kunt u deze binaries markeren als Linuxbinaries d.m.v. het commando brandelf –t Linux filename. Daarna kunt u deze uitvoeren zoals u onder Linux gewend bent. De firewall gebruiken De configuratie van de firewall vindt u in /etc/ipfw.conf. Een standaardinstallatie van TransIP FreeBSD stelt slechts een klein aantal bekende hostingdiensten beschikbaar voor het TransIP FreeBSD Handleiding – Install versie 7A –
Pagina 5 / 7
Internet. De standaardfirewallconfiguratie is hieraan aangepast. U kunt extra firewallregels toevoegen door het ipfw.conf bestand aan te passen. Dit heeft u nodig wanneer u verdere TCPpoorten wilt openzetten. Belangrijk: De firewall was in eerdere versies het “open” type. Nu is slechts een beperkt aantal TCPpoorten geopend. Raadpleegt u het bestand /etc/ipfw.conf voor de actuele firewallregels. DirectAdmin installeren Belangrijk: Op moment van schrijven werkt DirectAdmin niet op FreeBSD 64bit DirectAdmin gaat ervanuit dat op een "kaal" systeem geïnstalleerd wordt. Als u gebruik maakt van TransIP's FreeBSD distributie, bijvoorbeeld omdat u gebruik maakt van een voorgeïnstalleerde FreeBSD dedicated server, dan dient u uw server eerst aan te passen voordat u DirectAdmin installeert. Hiervoor hebben wij een eenvoudig script gemaakt. De reden hiervoor is dat TransIP een aantal diensten als webserver, mailserver, FTPserver, nameserver etc. reeds heeft geïnstalleerd. DirectAdmin installeert echter zijn eigen versies van deze pakketten. Daarom is het nodig om deze pakketten te deïnstalleren en enkele basale voorbereidingen te doen. De installatieprocedure kunt u als volgt uitvoeren als root op uw machine: • Om het systeem te prepareren voor DirectAdmin: fetch http://www.transip.nl/support/freebsd/directadmin_preinstall.sh sh directadmin_preinstall.sh • Installeer DirectAdmin: fetch http://www.directadmin.com/setup.sh sh setup.sh • Schrijf het adminpassword en de URL op dat door DirectAdmin automatisch wordt gegenereerd. Dit zijn de gegevens waarmee u op de DirectAdmin webinterface kunt inloggen.
Zie ook de DirectAdmin install guide: http://www.directadmin.com/installguide.html N.B.: Wanneer u DirectAdmin gebruikt zijn enkele delen van deze handleiding, zoals de beschrijvingen van Apache chroot en BIND 9, niet van toepassing. Het bestand /etc/rc.conf wordt automatisch aangepast zodat de relevante TransIP diensten niet langer worden gestart.
Geavanceerde onderwerpen Een nameserver draaien De nameserver BIND 9 is voor u geïnstalleerd in een chrootomgeving in /opt/named. BIND is standaard uitgeschakeld. Voordat u de nameserver in gebruik neemt dient u het standaard zonefile template aan te passen naar uw situatie. U vindt dit template in /usr/local/adm/etc/defaults/zone. Edit hiervoor (als root) dit bestand en vul uw eigen nameservers en eventueel andere standaardinstallingen in. Het zone template wordt gekopieerd en opgenomen in uw BIND configuratie bij het uitvoeren van addsite. Door de optie named_wrapper_enable=”YES” in te voeren in /etc/rc.conf wordt BIND bij het opstarten van de server uitgevoerd. U kunt later met editzone uwdomein.nl een bestaande zonefile aanpassen. Vergeet niet het serieel nummer te verhogen bij elke update; dit is extra belangrijk wanneer u andere (TransIP’s) nameservers als secondary nameservers gebruikt. De slave (secondary) nameservers zullen alleen de nieuwe zone ophalen wanneer het serieel nummer verhoogd is. U kunt de nameserver beheren als root met het rndc commando. Een rndc key wordt voor u aangemaakt bij de eerste uitvoering van named_wrapper.
TransIP FreeBSD Handleiding – Install versie 7A –
Pagina 6 / 7
Apache chroot De Apache webserver draait op de TransIP distributie standaard in een beveiligde omgeving (chroot). Dit houdt in dat het webserverproces op een afgeschermd deel van het filesysteem draait. Deze aanpak levert een extra bijdrage aan de veiligheid van het systeem wanneer er via Apache, CGIof PHPscripts exploits worden uitgevoerd. Een nadeel van de chroot setup is dat sommige CGIscripts hiermee niet compatible zijn en dat het onderhoud van de Apachesoftware en modules lastiger kan zijn. U kunt chroot uitschakelen door Apache af te sluiten (apachectl stop), in /etc/rc.conf de optie apache_chroot=“NO” te zetten en Apache opnieuw op te starten (apachectl start). In de Apache chroot is mini_sendmail geïnstalleerd. Dit is een eenvoudig programma dat binnenkomende mails via SMTP doorgeeft aan Postfix. De broncode van mini_sendmail vindt u in /root/install. Als u zelf mail stuurt vanuit de webomgeving via scripts en hier problemen mee ondervindt, kunt u proberen om sendmail aan te roepen met de –t parameter: /usr/sbin/sendmail –t. PHP is hierop standaard voorbereid zodat de PHP mail() functie correct werkt. Kernel compileren U kunt zelf een eigen kernel of zelfs het gehele systeem opnieuw compileren op basis van de FreeBSD source versie waarop deze distributie is gebaseerd; deze is te vinden in /usr/src. De standaardkernelconfiguratie die wij gebruikt hebben kunt u vinden in /sys/i386/conf/transip. De standaardkernel ondersteunt nu zowel uniprocessorals multiprocessorsystemen. U hoeft geen actie te ondernemen om SMPondersteuning aan te zetten. Zie het FreeBSD Handbook voor uitgebreide informatie over het configureren van de kernel en het compileren van het basissysteem. U kunt met cvsup /usr/local/etc/release7supfile uw FreeBSD source tree updaten naar het laatste patchlevel van FreeBSD 7.0RELEASE. N.B.: Als u FreeBSD’s securelevel voorziening gebruikt en het securelevel op 1 of hoger heeft staan, is een reboot nodig voor het installeren van een nieuwe kernel. U kunt securelevel tijdelijk verlagen door de securelevel parameter in /etc/rc.conf tijdelijk uit te zetten, te rebooten, en na het installeren van de kernel het securelevel weer terug te zetten naar de oude waarde d.m.v. sysctl en een aanpassing van /etc/rc.conf naar de oude situatie.
TransIP FreeBSD Handleiding – Install versie 7A –
Pagina 7 / 7