Huiswerk Linux: Installatie PHP



Vergelijkbare documenten
Huiswerk Linux: Apache installatie

LINUX QUICKSTART... 1

Het Linux Huiswerksysteem

Linux Quickstart Cygwin via HTTP

Huiswerk Linux: Apache groepsrechten

Linux Quickstart Cygwin

Huiswerk Linux: Installatie phpmyadmin

LINUX QUICKSTART... 1

Linux Quickstart Cygwin via HTTP

Huiswerk Linux: Sendmail installatie

Huiswerk Linux: Installatie WordPress

Raspberry Pi Plex server installeren

Studietaak 4 Hoe installeer ik software? Apache Webserver

Installatie instructies

Programma's installeren in Linux (toegespitst op Kanotix; Debian/sid)

Huiswerk Linux: installatie mod_auth_pam

Huiswerk Linux: Installatie MySQL

Studietaak 5 Hoe installeer ik software? ProFTPD FTP-Server

Les 4 Installeren Apache2 Php MySQL

Standard Parts Installatie Solid Edge ST3

Een LAMP Systeem installeren

Netwerkprinter Dell 1320C installeren op Ubuntu LTS - Lucid Lynx

+XLVZHUN:LQGRZV$SDFKHLQVWDOODWLH

Shipment Centre EU Quick Print Client handleiding [NL]

Een website maken met Joomla!

1. Voor het installeren wordt geadviseerd een backup te maken van uw database en bestanden.

ISW Presents Debian Homeserver Workshop

RaspBerry Pi installatie

Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen

Huiswerk Linux: Apache SSL

Firewall van de Speedtouch 789wl volledig uitschakelen?

EM6250 Firmware update V030507

Veel gestelde vragen nieuwe webloginpagina

Werkplekbeheer en kantoorautomatisering Examennummer: Datum: 24 maart 2012 Tijd: 13:00 uur - 14:30 uur

MyDHL+ ProView activeren in MyDHL+

FAAC DRIVER. Driver install procedure for FAAC boards. Installatieprocedure voor driver voor FAAC-kaarten.

Denit Backup instellen op een Linux server

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

Hoe te verbinden met NDI Remote Office (NDIRO): Apple OS X How to connect to NDI Remote Office (NDIRO): Apple OS X

Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op

De installatie en configuratie van een webserver

Externe Toegang installeren onder Linux

eid middleware v2.6 voor GNU/Linux

Drupal lokale installatie op Linux Mint 17.1 Cinnamon.

Acht stappen voor JSF

Installatiehandleiding TiC Narrow Casting Manager

Installatiehandleiding Standard Parts Solid Edge 2019

Updatehandleiding Standard Parts Solid Edge 2019

MySQL Server Installatie Handleiding RETSOFT ARCHIEF EXPERT VERSIE Versie: v

Test Joomla op je PC 1

Updatehandleiding Standard Parts Solid Edge 2020

How to install and use dictionaries on the ICARUS Illumina HD (E652BK)

Maillijsten voor medewerkers van de Universiteit van Amsterdam

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14

Handleiding PHP en MySQL onder Windows Server 2003 met IIS 6.0

Gebruikers handleiding. Lizard Configuration Manager ToolTip. Installatie. Instellen. Initieel instellen

Xampp Web Development omgeving opzetten onder Windows.

Huiswerk Linux: Installatie WordPress

Solcon Online Backup. Aan de slag handleiding voor Linux

Webhosting Online Beginnen met Joomla v1.0

Inhoudsopgave. Hoofdstuk 1: Ant...4

XAMPP Web Development omgeving opzetten onder Windows.

ICARUS Illumina E653BK on Windows 8 (upgraded) how to install USB drivers

General info on using shopping carts with Ingenico epayments

MyDHL+ Van Non-Corporate naar Corporate

Chapter 4. eenvoudige webserver opzetten

1. Installatie netwerklock

A Quick Start Guide: AVR programmeren

Inhoudsopgave... 1 Disclaimer... 3 Voorwoord... 3 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op

EM7680 Firmware Update by OTA

1 Installatie van de server... 2

Over PHP. PHP en MySQL. 1.1 Inleiding. In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze

EM7680 Firmware Update by Micro SD card

Installatie SQL Server 2008R2

Upgrade Web Client met ESS naar 3.5.0

Om een ander voorbeeld aan te halen waar er wel een opsplitsing van toepassing is:

Intermax backup exclusion files

Installatie Handleiding - Multispectraal V.W1.0

Nieuwe Installatie/Factuur2King bijwerken

Installatie SQL: Server 2008R2

Website plaatsen op het Parallels-platform van InterNLnet / Tele2.

Linux Server Installatie

Installatie en gebruikershandleiding Cyso Hosted Exchange MacOS X Uw gegevens:

MULTIFUNCTIONELE DIGITALE SYSTEMEN. Windows Server 2003, Server 2008 & Scan-to-file

ETS 4.1 Beveiliging & ETS app concept

Installatie Handleiding voor Modelit Applicatieprogrammatuur

ClockWise 3.0 installatie handleiding

Installeren van het programma:

EM7680 Firmware Auto-Update for Kodi 17.2

Gegevens. Cliënt met browser Server met Apache/IIS Databaseserver En PHP

myphp Guestbook v Copyright Claudio Pose myphp Guestbook was an Open Source project from <Networkarea.ch>, Claudio Pose.

Handleiding beheer lijst.hva.nl. See page 11 for Instruction in English

Friesland College Leeuwarden

Handleiding experimentele software/firmware flashen op een TYTERA MD380 Manual to install experimental firmware on a TYTERA MD380

Hoe met Windows 8 te verbinden met NDI Remote Office (NDIRO) How to connect With Windows 8 to NDI Remote Office (NDIRO

Installatie ArcGIS Desktop Basis, ArcGIS Engine en Download ArcGIS Server

2. Ga naar Prestashop Admin > Modules en zoek naar Kassa Compleet.

Nieuwe Installatie/Factuur2King bijwerken

Transcriptie:

Huiswerk Linux: Installatie PHP PHP is de meest gebruikte programmeertaal voor het maken van websites. Als je PHP met Apache gebruikt, dan wordt het mogelijk om zogenaamde Content Management Systems (CMS) te gebruiken, zoals WordPress, Joomla en Drupal. Het huiswerk voor deze week is: installeer de PHP scripting taal. Over PHP PHP is bedacht door Rasmus Lerdorf uit Groenland. De oorspronkelijke betekenis van de letters PHP is Personal Home Page, maar dat werd vrij snel veranderd in PHP Hypertext Preprocessor. Hoewel PHP zuigt (zie: Apache front-end), is het een zeer populaire scripting-taal. Dit komt voornamelijk omdat bijna alle Content Management Systems (CMS), zoals WordPress, Joomla, Drupal en Zend de taal gebruiken. PHP wordt met Apache meegecompileerd. Dat wil zeggen: we moeten eerst de PHP shared module compileren. Daarna moeten we Apache opnieuw compileren zodat Apache de nieuwe module kan gebruiken. Het sudo mechanisme Het compileren en installeren van de PHP software doen we namens de root gebruiker. Hierdoor worden automatisch de juiste toegangsrechten op de bestanden toegepast. Cygwin gebruikers Sudo voor Cygwin gebruikers: rechts-klik op het icoon van de Cygwin terminal, en kies voor Als administrator uitvoeren. PHP gaat ervan uit dat minimaal de volgende pakketten op je systeem aanwezig zijn. Deze moeten we dus eerst nog installeren. apt-get install libxml2-devel libjpeg-devel libpng-devel libmysqlclient-devel Het pakket libxml2 is een verzameling functies waarmee XML (Extended Markup Language) documenten kunnen worden gemaakt en gelezen. Met de pakketten libjpeg en libpng kunnen afbeeldingen in het PNG 1 en JPEG 2 formaat worden bewerkt. Andere Linux gebruikers Gebruikers van andere Linux distributies (Ubuntu, Debian, Suze, OSX, etc.) starten een terminal met de toetsencombinatie <Ctrl><Alt>-T. We gebruiken het commando sudo om in te loggen met het su (become Super User) commando. Daardoor blijven we ingelogd: sudo su PHP gaat ervan uit dat minimaal de volgende pakketten met shared libraries op je systeem aanwezig zijn. Deze moeten we dus eerst installeren. apt-get install libxml2-dev libjpeg-dev libpng-dev libmysqlclient-dev Raspbian-gebruikers (Raspberry PI) moeten er rekening mee houden dat hun software voor de ARM chip gecompileerd gaat worden. De loadable modules staan op een andere plek dan waar PHP ze verwacht. Daarom moeten de Raspbian gebruikers volgende symbolic links aanmaken: ln -s /usr/lib/arm-linux linux-gnueabihf/libjpeg.a /usr/lib/ ln -s /usr/lib/arm-linux linux-gnueabihf/libpng.a /usr/lib/ 1 Portable Network Graphics 2 Joint Photographic Experts Group

Broncode neerladen en uitpakken We gaan eerst de broncode voor PHP neerladen. Ga in de directory voor broncode staan. Dit doen we met het commando cd (change directory): cd /usr/local/src Nu kunnen we de broncode voor PHP neerladen. Dit doen we met het wget (www get document) programma: wget -N http://www.commandlinerevolution.nl/source/php-5.2.17.tar.gz Het programma wget maakt een kopie van het neergeladen bestand met een volgnummer als het bestand al een keer is neergeladen. Dit is niet handig. Via de optie N (newer) geven we aan dat wget het eventueel bestaande bestand vervangt als het nieuwer is. De broncode is ingepakt in het tar (tape archive, in Linux slang: tarball) formaat. Pak het bestand uit middels het tar commando: tar -xf php-5.2.17.tar.gz Let op: het zijn nogal veel bestanden, dus het duurt even voordat tar klaar is. Met de optie x (extract) geven we aan dat we het bestand willen uitpakken. Met optie f (file) geven we aan dat het om een bestand gaat. De bestanden worden uitgepakt naar de map php-5.2.17. Wacht tot dit klaar is. Broncode patchen PHP maakt gebruik van de XML library (bibliotheek met functies voor het bewerken van XML). Deze verschilt sterk in versie per Linux systeem. Om ervoor te zorgen dat de PHP code op alle systemen gecompileerd kan worden, gaan we de broncode oplappen (patchen). Ga allereerst in de zoëven aangemaakte directory staan. Dit doen we met het commando cd (change directory): cd php-5.2.17 Nu gaan we de het patch-bestand neerladen. Dit doen we ook weer met het wget programma: wget -N http://www.commandlinerevolution.nl/source/php-5.2.17 5.2.17-libxml2 libxml2-2.9.2.patch 2.9.2.patch Tot slot kunnen we de patch uitvoeren. Dit doen we met het patch programma: patch -p0 < php-5.2.17 5.2.17-libxml2 libxml2-2.9.2.patch 2.9.2.patch Middels de optie p (path) geven we aan welk deel van de in het patch-bestandje genoemde directory relatief is aan de map waarin de broncode van PHP staat. Met het omgekeerde redirection-symbool ( < ) geven we aan dat het hele bestand als input moet worden genomen. De output moet er alsvolgt uitzien: patching file configure patching file ext/dom/node.c patching file ext/dom/documenttype.c patching file ext/simplexml/simplexml.c Broncode compileren Zoals eerder besproken bestaat het uitvoeren van locale installaties uit drie stappen: configureren, compileren en installeren (zie ook: Linux Huiswerksysteem). PHP configureren Omdat PHP, net als alle Linux-software, is geschreven als platform-onafhankelijke software, moeten er extra tests op je systeem worden uitgevoerd. Het configure script is een zogenaamd shell script waarmee deze tests worden uitgevoerd. Dit script wordt in alle software-distributies meegeleverd. Je kunt het script alsvolgt starten:./configure --with with-apache=../apache_1.3.29 --without without-iconv iconv \ --with with-gd --enable enable-mbstring Zoals je ziet is het commando over meerdere regels verdeeld. Dit moest omdat de complete regel niet op de pagina paste. Je kunt gerust het hele blokje tekst copiëeren en in de terminal plakken. De afgebroken regels zijn namelijk beëindigd met een backslash ( \ ) character. Dit zorgt ervoor dat de terminal de regels ziet als één commando.

Via de optie -with-apache geven we aan waar PHP de extra broncode moet plaatsen, waarmee we straks Apache kunnen hercompileren. Met de optie - without-iconv geven we aan dat de iconv 3 bibliotheken niet gebruikt moeten worden. Met - with-gd compileren we de GD 4 broncode mee. Met de optie -enable-mbstring (multi-byte strings) geven we aan dat we unicode strings, zoals UTF-8, willen gebruiken. De output ziet er ongeveer alsvolgt uit: Generating files creating./config.status creating php5.spec creating main/build-defs.h creating scripts/phpize creating scripts/man1/phpize.1 creating scripts/php-config creating scripts/man1/php-config.1 creating sapi/apache/libphp5.module creating sapi/cli/php.1 creating main/php_config.h creating main/internal_functions.c creating main/internal_functions_cli.c +--------------------------------------------------------------------+ License: This software is subject to the PHP License, available in this distribution in the file LICENSE. By continuing this installation process, you are bound by the terms of this license agreement. If you do not agree with the terms of this license, you must abort the installation process at this point. +--------------------------------------------------------------------+ Thank you for using PHP. Remember to check the platform specific part of the reference manual for hints about installing MySQL on your platform. Also have a look at the files in the Docs directory. PHP compileren Nadat PHP de systeemvereisten heeft gecontroleerd, kan de broncode gecompileerd worden. Dit doen we met het make programma: make We kijgen nu de output van het compileer-proces te zien. Deze bestaat voornamelijk uit het herhaaldelijk uitvoeren van het GNU compiler programma gcc. De output van een succesvolle compilatie ziet er alsvolgt uit: Build complete. Don't forget to run 'make test'. Let op: voer make test niet uit. Het compileer-proces duurt toch al vrij lang. Op mijn machine (3Ghz/500Mb) duurde het drie kwartier. Op mijn Raspberry PI (500Mhz/500Mb) zelfs 1,5 uur. PHP module installeren We hebben nu een aantal zogenaamde binaries (uitvoerbare programma s) gemaakt. De binaries, inclusief help- en loadable modules, moeten nu in de juiste locaties geïnstalleerd worden: Type bestanden binaries (programma s) man pages (help-bestanden) libraries (loadable modules) includes (broncode) Apache PHP modules locatie /usr/local/bin /usr/local/man /usr/local/lib/php /usr/local/include/php /usr/local/src/apache_1.3.29/src/modules/php5/ Dit kunnen we automatisch doen via het commando install van het make programma: make install 3 De iconv software converteert van de ene teken-set naar de andere, bijvoorbeeld ASCII of UTF-8. PHP heeft een bepaalde versie nodig welke in veel Linux systemen niet ondersteund wordt. Om conflicten te voorkomen, compileren we de iconv broncode niet mee. 4 GD staat voor Graphics Draw. Een framework, bedoeld voor web-programmeurs om afbeeldingen te bewerken. Zie voor meer info: http://www.boutell.com/gd/

De bestanden worden nu gekopieerd naar de juiste locaties en voorzien van de juiste toegangsrechten. Ook dit duurt vrij lang: ongeveer 5 minuten. Wacht rustig af. De output ziet er alsvolgt uit: Installing PHP SAPI module: apache Installing PHP CLI binary: /usr/local/bin/ Installing PHP CLI man page: /usr/local/man/man1/ Installing build environment: /usr/local/lib/php/build/ Installing header files: /usr/local/include/php/ Installing helper programs: /usr/local/bin/ program: phpize program: php-config Installing man pages: /usr/local/man/man1/ page: phpize.1 page: php-config.1 Installing PEAR environment: /usr/local/lib/php/ [PEAR] Archive_Tar - installed: 1.3.7 [PEAR] Console_Getopt - installed: 1.2.3 [PEAR] Structures_Graph- installed: 1.0.3 [PEAR] XML_Util - installed: 1.2.1 [PEAR] PEAR - installed: 1.9.1 Wrote PEAR system config file at: /usr/local/etc/pear.conf You may want to add: /usr/local/lib/php to your php.ini include_path Installing PDO headers: /usr/local/include/php/ext/pdo/ Apache hercompileren In de vorige stap hebben we de PHP-module gecompileerd, zodat er extra broncode wordt toegevoegd aan de map voor de Apache broncode. Deze extra broncode moet nu worden meegecompileerd. Ga allereerst terug naar de map voor de Apache broncode. Dit doen we met het commando cd: cd../apache_1.3.29 Zoals we eerder hebben gezien (zie: Apache Installatie), installeren we Apache in drie stappen: configureren, compileren en installeren. Apache configureren Het configure-script kunnen we alsvolgt starten: bash./configure --activate activate-module=src/modules/php5/libphp5.a Normaal zou het commando./configure voldoende zijn, maar in sommige Linux versies zoals Debian, wordt standaard niet bash als commando-interpreter gebruikt maar dash, een variant op het bash programma. De Apache scripting benodigt bash. Met de optie -activate-module geven we aan dat de PHP module moet worden meegecompileerd. Configuring for Apache, Version 1.3.29 + using installation path layout: Apache (config.layout) + activated php5 module (modules/php5/libphp5.a) + Warning: no Perl interpreter detected for support scripts. + Perhaps you need to specify one with --with-perl=file. Creating Makefile Creating Configuration.apaci in src Creating Makefile in src + configured for Cygwin platform + setting C compiler to gcc + setting C pre-processor to gcc -E + using "tr [a-z] [A-Z]" to uppercase + checking for system header files + adding selected modules o php5_module uses ConfigStart/End + using builtin Expat + checking sizeof various data types + doing sanity check on compiler and options Creating Makefile in src/support Creating Makefile in src/os/cygwin Creating Makefile in src/ap Creating Makefile in src/main Creating Makefile in src/lib/expat-lite Creating Makefile in src/modules/standard Creating Makefile in src/modules/php5 Apache compileren Nu kan het hercompileren van Apache worden gestart. Dit doen we met het make programma:

make We kijgen nu de output van het compileer-proces te zien. Deze bestaat voornamelijk uit het herhaaldelijk uitvoeren van het GNU compiler programma gcc. De output van een succesvolle compilatie ziet er alsvolgt uit: gcc -c -I../os/cygwin -I../include -DCYGWIN -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite - DNO_DL_NEEDED `../apaci` checkgid.c gcc -DCYGWIN -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -DNO_DL_NEEDED `../apaci` -o checkgid - L../os/cygwin -L../ap checkgid.o -lm -lap -los -lcrypt -lgdbm make[2]: Map '/usr/local/src/apache_1.3.29/src/support' wordt verlaten <=== src/support make[1]: Map '/usr/local/src/apache_1.3.29' wordt verlaten make[1]: Map '/usr/local/src/apache_1.3.29' wordt binnengegaan make[1]: Map '/usr/local/src/apache_1.3.29' wordt verlaten <=== src Apache installeren We hebben nu een aantal zogenaamde binaries (uitvoerbare programma s) gemaakt. De binaries, inclusief help- en configuratiebestand moeten nu in de juiste locaties geïnstalleerd worden. Dit doen we opnieuw met het make programma: make install i De bestanden worden geïnstalleeerd. De output ziet er alsvolgt uit: +--------------------------------------------------------+ You now have successfully built and installed the Apache 1.3 HTTP server. To verify that Apache actually works correctly you now should first check the (initially created or preserved) configuration files /usr/local/apache/conf/httpd.conf and then you should be able to immediately fire up Apache the first time by running: /usr/local/apache/bin/apachectl start Thanks for using Apache. The Apache Group http://www.apache.org/ +--------------------------------------------------------+ Het hoera-moment We hebben de PHP module met Apache meegecompileerd. Dit betekent dat Apache nu beschikking heeft over de PHP scripting taal. Om te controleren of de PHP module aan Apache is toegevoegd kunnen we het volgende commando gebruiken: /usr/local/apache/bin/httpd -l De (ingekorte) output moet er alsvolgt uitzien. Als het goed gegaan is heb je nu de module mod_php5.c meegecompileerd: Compiled-in modules: http_core.c mod_env.c mod_log_config.c mod_mime.c mod_negotiation.c mod_status.c mod_userdir.c mod_alias.c mod_access.c mod_auth.c mod_setenvif.c mod_php5.c suexec: disabled; invalid wrapper /usr/local/apache/bin/suexec

Huiswerk opsturen Teken de opdracht af door mij jouw command history te sturen. Dit doe je met een pijpleiding tussen de commando s history en email. Zorg dat het onderwerp van de e-mail tussen aanhalingstekens staat: history email -s "PHP installatie" daniel@smtp.boland.nl Administrator uitloggen We hebben Apache opnieuw gecompileerd met de PHP module, maar we zijn nog steeds ingelogd als Administrator (root). Geef tot slot <Ctrl>-D om de Administrator uit te loggen.