Tips en Trucs 2015

Lokale Virtuele webserver

Als je een website maakt, ontwerp je die best lokaal. Velen grijpen dan standaard naar een webserver distributie zoals LAMP. Met een paar opdrachten kan je zelf uw eigen lokale webserver opzetten. Dit heeft als voordeel dat je zelf bepaald welke onderdelen je nodig hebt, hoe je ze configureert, enz. Je kunt uw lokale webserver dus beter afstemmen op de uiteindelijk gebruikte webserver bij uw webhoster. Voor deze site gebruik ik enkel statische webpagina's en PHP. Een apache webserver met PHP ondersteuning is dus ruim voldoende.

Daarnaast gebruik ik systeem op een laptop die ik gebruik als het internet op school uitvalt. De lokale webserver neemt de internetverbinding dan gedeeltelijk over en zorgt ten minste dat de elektronische leeromgeving bereikbaar blijft.

Vorig jaar heb ik reeds een lokale webserver voor testdoeleinden gepubliceerd. De vandaag beschreven lokale webserver is gebaseerd op een Virtuele webserver die werkt met bestanden met rechten van de gebruiker. Dit is handig om na het aanpassen van uw webpagina's met bijvoorbeeld Bluefish de aanpassingen direct zonder publiceren te testen. Deze hier beschreven methode heb ik getest en gebruik ik op openSUSE 13.2. Jawel, ik ben in de Kerstvakantie met succes overgestapt naar openSUSE 13.2. Later meer daarover.

De installatie

De Apache webserver met PHP ondersteuning installeer je met de volgende opdracht:

dany@linux-oj7m:~> sudo zypper install apache2 apache2-mod_fcgid php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-mysql php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-fastcgi php5-pear php5-sysvmsg php5-sysvshm apache2-mod_php5
root's password:
Gegevens van installatiebron laden...
Lezen van geïnstalleerde pakketten...
Afhankelijkheden tussen pakketten oplossen...

De volgende 53 NIEUWE pakketten zullen worden geïnstalleerd:
  apache2 apache2-mod_fcgid apache2-mod_php5 apache2-prefork apache2-utils 
  libapr1 libapr-util1 libc-client2007e_suse libmcrypt libpq5 php5 php5-bcmath 
  php5-bz2 php5-calendar php5-ctype php5-curl php5-dom php5-exif php5-fastcgi 
  php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-json 
  php5-ldap php5-mbstring php5-mcrypt php5-mysql php5-odbc php5-openssl 
  php5-pcntl php5-pdo php5-pear php5-pgsql php5-posix php5-shmop php5-snmp 
  php5-soap php5-sockets php5-sqlite php5-sysvmsg php5-sysvsem php5-sysvshm 
  php5-tokenizer php5-wddx php5-xmlreader php5-xmlrpc php5-xmlwriter php5-xsl 
  php5-zlib unixODBC 
                                                                                
De volgende 9 aanbevolen pakketten zijn automatisch geselecteerd:               
  apache2-prefork php5-ctype php5-dom php5-iconv php5-json php5-sqlite          
  php5-tokenizer php5-xmlreader php5-xmlwriter                                  

53 nieuw te installeren pakketten.
Totale downloadgrootte: 9,9 MiB. Reeds in de cache: 0 B  Na de operatie zal 
aanvullend 43,3 MiB worden gebruikt.
Doorgaan? [j/n/? alle opties tonen] (j): 
pakket libapr1-1.5.1-4.1.3.x86_64 wordt opgehaald
                                         (1/53), 100,1 KiB (232,8 KiB uitgepakt)
Ophalen: libapr1-1.5.1-4.1.3.x86_64.rpm .................................[klaar]
pakket libc-client2007e_suse-2007e_suse-19.1.2.x86_64 wordt opgehaald
                                         (2/53), 406,7 KiB (  1,1 MiB uitgepakt)
Ophalen: libc-client2007e_suse-2007e_suse-19.1.2.x86_64.rpm .............[klaar]
pakket libmcrypt-2.5.8-116.1.2.x86_64 wordt opgehaald
                                         (3/53),  68,5 KiB (199,7 KiB uitgepakt)
Ophalen: libmcrypt-2.5.8-116.1.2.x86_64.rpm .............................[klaar]
pakket libpq5-9.3.5-2.1.14.x86_64 wordt opgehaald
                                         (4/53), 152,5 KiB (466,0 KiB uitgepakt)
Ophalen: libpq5-9.3.5-2.1.14.x86_64.rpm ...................[klaar (802,0 KiB/s)]
pakket unixODBC-2.3.2-2.2.1.x86_64 wordt opgehaald
                                         (5/53), 331,4 KiB (  1,1 MiB uitgepakt)
Ophalen: unixODBC-2.3.2-2.2.1.x86_64.rpm ................................[klaar]
pakket libapr-util1-1.5.3-2.1.4.x86_64 wordt opgehaald
                                         (6/53),  89,3 KiB (229,8 KiB uitgepakt)
Ophalen: libapr-util1-1.5.3-2.1.4.x86_64.rpm ..............[klaar (896,7 KiB/s)]
pakket php5-5.6.1-4.1.x86_64 wordt opgehaald
                                         (7/53),   1,5 MiB ( 10,0 MiB uitgepakt)
Ophalen: php5-5.6.1-4.1.x86_64.rpm ..........................[klaar (1,2 MiB/s)]
pakket apache2-utils-2.4.10-4.1.x86_64 wordt opgehaald
                                         (8/53), 113,8 KiB (217,1 KiB uitgepakt)
Ophalen: apache2-utils-2.4.10-4.1.x86_64.rpm ............................[klaar]
pakket php5-zlib-5.6.1-4.1.x86_64 wordt opgehaald
                                         (9/53),  51,2 KiB ( 39,3 KiB uitgepakt)
Ophalen: php5-zlib-5.6.1-4.1.x86_64.rpm .................................[klaar]
pakket php5-xmlwriter-5.6.1-4.1.x86_64 wordt opgehaald
                                        (10/53),  49,7 KiB ( 55,0 KiB uitgepakt)
Ophalen: php5-xmlwriter-5.6.1-4.1.x86_64.rpm ............................[klaar]
pakket php5-xmlrpc-5.6.1-4.1.x86_64 wordt opgehaald
                                        (11/53),  75,7 KiB (103,3 KiB uitgepakt)
Ophalen: php5-xmlrpc-5.6.1-4.1.x86_64.rpm ...............................[klaar]
pakket php5-wddx-5.6.1-4.1.x86_64 wordt opgehaald
                                        (12/53),  52,5 KiB ( 38,8 KiB uitgepakt)
Ophalen: php5-wddx-5.6.1-4.1.x86_64.rpm .................................[klaar]
pakket php5-tokenizer-5.6.1-4.1.x86_64 wordt opgehaald
                                        (13/53),  43,9 KiB ( 18,5 KiB uitgepakt)
Ophalen: php5-tokenizer-5.6.1-4.1.x86_64.rpm ............................[klaar]
pakket php5-sysvshm-5.6.1-4.1.x86_64 wordt opgehaald
                                        (14/53),  43,4 KiB ( 14,5 KiB uitgepakt)
Ophalen: php5-sysvshm-5.6.1-4.1.x86_64.rpm ..............................[klaar]
pakket php5-sysvsem-5.6.1-4.1.x86_64 wordt opgehaald
                                        (15/53),  42,3 KiB ( 10,4 KiB uitgepakt)
Ophalen: php5-sysvsem-5.6.1-4.1.x86_64.rpm ..............................[klaar]
pakket php5-sysvmsg-5.6.1-4.1.x86_64 wordt opgehaald
                                        (16/53),  44,5 KiB ( 18,6 KiB uitgepakt)
Ophalen: php5-sysvmsg-5.6.1-4.1.x86_64.rpm ..............................[klaar]
pakket php5-sockets-5.6.1-4.1.x86_64 wordt opgehaald
                                        (17/53),  67,3 KiB ( 87,2 KiB uitgepakt)
Ophalen: php5-sockets-5.6.1-4.1.x86_64.rpm ..............................[klaar]
pakket php5-soap-5.6.1-4.1.x86_64 wordt opgehaald
                                        (18/53), 168,1 KiB (380,1 KiB uitgepakt)
Ophalen: php5-soap-5.6.1-4.1.x86_64.rpm .................................[klaar]
pakket php5-snmp-5.6.1-4.1.x86_64 wordt opgehaald
                                        (19/53),  59,6 KiB ( 83,5 KiB uitgepakt)
Ophalen: php5-snmp-5.6.1-4.1.x86_64.rpm .................................[klaar]
pakket php5-shmop-5.6.1-4.1.x86_64 wordt opgehaald
                                        (20/53),  42,7 KiB ( 14,5 KiB uitgepakt)
Ophalen: php5-shmop-5.6.1-4.1.x86_64.rpm ................................[klaar]
pakket php5-posix-5.6.1-4.1.x86_64 wordt opgehaald
                                        (21/53),  46,5 KiB ( 31,0 KiB uitgepakt)
Ophalen: php5-posix-5.6.1-4.1.x86_64.rpm ................................[klaar]
pakket php5-pdo-5.6.1-4.1.x86_64 wordt opgehaald
                                        (22/53),  79,0 KiB (135,5 KiB uitgepakt)
Ophalen: php5-pdo-5.6.1-4.1.x86_64.rpm ..................................[klaar]
pakket php5-pcntl-5.6.1-4.1.x86_64 wordt opgehaald
                                        (23/53),  48,1 KiB ( 30,8 KiB uitgepakt)
Ophalen: php5-pcntl-5.6.1-4.1.x86_64.rpm ................................[klaar]
pakket php5-openssl-5.6.1-4.1.x86_64 wordt opgehaald
                                        (24/53),  84,6 KiB (153,7 KiB uitgepakt)
Ophalen: php5-openssl-5.6.1-4.1.x86_64.rpm ..............................[klaar]
pakket php5-mcrypt-5.6.1-4.1.x86_64 wordt opgehaald
                                        (25/53),  51,0 KiB ( 47,0 KiB uitgepakt)
Ophalen: php5-mcrypt-5.6.1-4.1.x86_64.rpm ...............................[klaar]
pakket php5-mbstring-5.6.1-4.1.x86_64 wordt opgehaald
                                        (26/53), 489,6 KiB (  1,4 MiB uitgepakt)
Ophalen: php5-mbstring-5.6.1-4.1.x86_64.rpm .............................[klaar]
pakket php5-json-5.6.1-4.1.x86_64 wordt opgehaald
                                        (27/53),  53,1 KiB ( 42,7 KiB uitgepakt)
Ophalen: php5-json-5.6.1-4.1.x86_64.rpm .................................[klaar]
pakket php5-imap-5.6.1-4.1.x86_64 wordt opgehaald
                                        (28/53),  66,1 KiB ( 99,4 KiB uitgepakt)
Ophalen: php5-imap-5.6.1-4.1.x86_64.rpm .................................[klaar]
pakket php5-iconv-5.6.1-4.1.x86_64 wordt opgehaald
                                        (29/53),  53,9 KiB ( 42,9 KiB uitgepakt)
Ophalen: php5-iconv-5.6.1-4.1.x86_64.rpm ................................[klaar]
pakket php5-gmp-5.6.1-4.1.x86_64 wordt opgehaald
                                        (30/53),  57,7 KiB ( 67,2 KiB uitgepakt)
Ophalen: php5-gmp-5.6.1-4.1.x86_64.rpm ..................................[klaar]
pakket php5-gettext-5.6.1-4.1.x86_64 wordt opgehaald
                                        (31/53),  42,6 KiB ( 14,5 KiB uitgepakt)
Ophalen: php5-gettext-5.6.1-4.1.x86_64.rpm ..............................[klaar]
pakket php5-gd-5.6.1-4.1.x86_64 wordt opgehaald
                                        (32/53), 161,3 KiB (440,1 KiB uitgepakt)
Ophalen: php5-gd-5.6.1-4.1.x86_64.rpm ...................................[klaar]
pakket php5-fastcgi-5.6.1-4.1.x86_64 wordt opgehaald
                                        (33/53),   1,3 MiB (  9,3 MiB uitgepakt)
Ophalen: php5-fastcgi-5.6.1-4.1.x86_64.rpm ..................[klaar (1,4 MiB/s)]
pakket php5-dom-5.6.1-4.1.x86_64 wordt opgehaald
                                        (34/53),  88,4 KiB (184,2 KiB uitgepakt)
Ophalen: php5-dom-5.6.1-4.1.x86_64.rpm ..................................[klaar]
pakket php5-curl-5.6.1-4.1.x86_64 wordt opgehaald
                                        (35/53),  63,3 KiB ( 83,2 KiB uitgepakt)
Ophalen: php5-curl-5.6.1-4.1.x86_64.rpm .................................[klaar]
pakket php5-ctype-5.6.1-4.1.x86_64 wordt opgehaald
                                        (36/53),  42,2 KiB ( 14,4 KiB uitgepakt)
Ophalen: php5-ctype-5.6.1-4.1.x86_64.rpm ................................[klaar]
pakket php5-calendar-5.6.1-4.1.x86_64 wordt opgehaald
                                        (37/53),  49,2 KiB ( 31,8 KiB uitgepakt)
Ophalen: php5-calendar-5.6.1-4.1.x86_64.rpm ................[klaar (21,1 KiB/s)]
pakket php5-bz2-5.6.1-4.1.x86_64 wordt opgehaald
                                        (38/53),  46,9 KiB ( 27,2 KiB uitgepakt)
Ophalen: php5-bz2-5.6.1-4.1.x86_64.rpm ..................................[klaar]
pakket php5-bcmath-5.6.1-4.1.x86_64 wordt opgehaald
                                        (39/53),  52,5 KiB ( 34,5 KiB uitgepakt)
Ophalen: php5-bcmath-5.6.1-4.1.x86_64.rpm ...............................[klaar]
pakket apache2-2.4.10-4.1.x86_64 wordt opgehaald
                                       (40/53), 1023,5 KiB (  3,6 MiB uitgepakt)
Ophalen: apache2-2.4.10-4.1.x86_64.rpm ......................[klaar (1,3 MiB/s)]
pakket php5-pear-5.6.1-4.1.noarch wordt opgehaald
                                        (41/53), 336,0 KiB (  2,1 MiB uitgepakt)
Ophalen: php5-pear-5.6.1-4.1.noarch.rpm .....................[klaar (1,1 MiB/s)]
pakket php5-sqlite-5.6.1-4.1.x86_64 wordt opgehaald
                                        (42/53),  61,8 KiB ( 83,9 KiB uitgepakt)
Ophalen: php5-sqlite-5.6.1-4.1.x86_64.rpm ...............................[klaar]
pakket php5-pgsql-5.6.1-4.1.x86_64 wordt opgehaald
                                        (43/53),  94,7 KiB (191,5 KiB uitgepakt)
Ophalen: php5-pgsql-5.6.1-4.1.x86_64.rpm ................................[klaar]
pakket php5-odbc-5.6.1-4.1.x86_64 wordt opgehaald
                                        (44/53),  67,6 KiB ( 98,3 KiB uitgepakt)
Ophalen: php5-odbc-5.6.1-4.1.x86_64.rpm .................................[klaar]
pakket php5-mysql-5.6.1-4.1.x86_64 wordt opgehaald
                                        (45/53),  93,5 KiB (221,1 KiB uitgepakt)
Ophalen: php5-mysql-5.6.1-4.1.x86_64.rpm ................................[klaar]
pakket php5-ldap-5.6.1-4.1.x86_64 wordt opgehaald
                                        (46/53),  57,5 KiB ( 63,2 KiB uitgepakt)
Ophalen: php5-ldap-5.6.1-4.1.x86_64.rpm .................................[klaar]
pakket php5-ftp-5.6.1-4.1.x86_64 wordt opgehaald
                                        (47/53),  55,6 KiB ( 54,9 KiB uitgepakt)
Ophalen: php5-ftp-5.6.1-4.1.x86_64.rpm ..................................[klaar]
pakket php5-exif-5.6.1-4.1.x86_64 wordt opgehaald
                                        (48/53),  64,3 KiB ( 74,8 KiB uitgepakt)
Ophalen: php5-exif-5.6.1-4.1.x86_64.rpm .................................[klaar]
pakket php5-xsl-5.6.1-4.1.x86_64 wordt opgehaald
                                        (49/53),  50,8 KiB ( 35,2 KiB uitgepakt)
Ophalen: php5-xsl-5.6.1-4.1.x86_64.rpm ..................................[klaar]
pakket php5-xmlreader-5.6.1-4.1.x86_64 wordt opgehaald
                                        (50/53),  48,6 KiB ( 35,0 KiB uitgepakt)
Ophalen: php5-xmlreader-5.6.1-4.1.x86_64.rpm ............................[klaar]
pakket apache2-prefork-2.4.10-4.1.x86_64 wordt opgehaald
                                        (51/53), 240,5 KiB (595,9 KiB uitgepakt)
Ophalen: apache2-prefork-2.4.10-4.1.x86_64.rpm ..........................[klaar]
pakket apache2-mod_php5-5.6.1-4.1.x86_64 wordt opgehaald
                                        (52/53),   1,3 MiB (  9,4 MiB uitgepakt)
Ophalen: apache2-mod_php5-5.6.1-4.1.x86_64.rpm ..............[klaar (1,4 MiB/s)]
pakket apache2-mod_fcgid-2.3.9-2.1.4.x86_64 wordt opgehaald
                                        (53/53),  66,2 KiB (268,7 KiB uitgepakt)
Ophalen: apache2-mod_fcgid-2.3.9-2.1.4.x86_64.rpm .......................[klaar]
Controleren op conflicten tussen bestanden: .............................[klaar]
( 1/53) Installeert: libapr1-1.5.1-4.1.3 ................................[klaar]
( 2/53) Installeert: libc-client2007e_suse-2007e_suse-19.1.2 ............[klaar]
( 3/53) Installeert: libmcrypt-2.5.8-116.1.2 ............................[klaar]
( 4/53) Installeert: libpq5-9.3.5-2.1.14 ................................[klaar]
( 5/53) Installeert: unixODBC-2.3.2-2.2.1 ...............................[klaar]
( 6/53) Installeert: libapr-util1-1.5.3-2.1.4 ...........................[klaar]
( 7/53) Installeert: php5-5.6.1-4.1 .....................................[klaar]
( 8/53) Installeert: apache2-utils-2.4.10-4.1 ...........................[klaar]
( 9/53) Installeert: php5-zlib-5.6.1-4.1 ................................[klaar]
(10/53) Installeert: php5-xmlwriter-5.6.1-4.1 ...........................[klaar]
(11/53) Installeert: php5-xmlrpc-5.6.1-4.1 ..............................[klaar]
(12/53) Installeert: php5-wddx-5.6.1-4.1 ................................[klaar]
(13/53) Installeert: php5-tokenizer-5.6.1-4.1 ...........................[klaar]
(14/53) Installeert: php5-sysvshm-5.6.1-4.1 .............................[klaar]
(15/53) Installeert: php5-sysvsem-5.6.1-4.1 .............................[klaar]
(16/53) Installeert: php5-sysvmsg-5.6.1-4.1 .............................[klaar]
(17/53) Installeert: php5-sockets-5.6.1-4.1 .............................[klaar]
(18/53) Installeert: php5-soap-5.6.1-4.1 ................................[klaar]
(19/53) Installeert: php5-snmp-5.6.1-4.1 ................................[klaar]
(20/53) Installeert: php5-shmop-5.6.1-4.1 ...............................[klaar]
(21/53) Installeert: php5-posix-5.6.1-4.1 ...............................[klaar]
(22/53) Installeert: php5-pdo-5.6.1-4.1 .................................[klaar]
(23/53) Installeert: php5-pcntl-5.6.1-4.1 ...............................[klaar]
(24/53) Installeert: php5-openssl-5.6.1-4.1 .............................[klaar]
(25/53) Installeert: php5-mcrypt-5.6.1-4.1 ..............................[klaar]
(26/53) Installeert: php5-mbstring-5.6.1-4.1 ............................[klaar]
(27/53) Installeert: php5-json-5.6.1-4.1 ................................[klaar]
(28/53) Installeert: php5-imap-5.6.1-4.1 ................................[klaar]
(29/53) Installeert: php5-iconv-5.6.1-4.1 ...............................[klaar]
(30/53) Installeert: php5-gmp-5.6.1-4.1 .................................[klaar]
(31/53) Installeert: php5-gettext-5.6.1-4.1 .............................[klaar]
(32/53) Installeert: php5-gd-5.6.1-4.1 ..................................[klaar]
(33/53) Installeert: php5-fastcgi-5.6.1-4.1 .............................[klaar]
(34/53) Installeert: php5-dom-5.6.1-4.1 .................................[klaar]
(35/53) Installeert: php5-curl-5.6.1-4.1 ................................[klaar]
(36/53) Installeert: php5-ctype-5.6.1-4.1 ...............................[klaar]
(37/53) Installeert: php5-calendar-5.6.1-4.1 ............................[klaar]
(38/53) Installeert: php5-bz2-5.6.1-4.1 .................................[klaar]
(39/53) Installeert: php5-bcmath-5.6.1-4.1 ..............................[klaar]
(40/53) Installeert: apache2-2.4.10-4.1 .................................[klaar]
Aanvullende rpm-uitvoer:
/usr/sbin/suexec2: cannot verify root:root 0755 - not listed in /etc/permissions
Updating /etc/sysconfig/apache2...
looking for old 2.0 modules to be renamed...
!!ATTENTION! authz_default was removed from apache version 2.4 or later, CHECK YOUR CONFIGURATION!!!
Done.


(41/53) Installeert: php5-pear-5.6.1-4.1 ................................[klaar]
(42/53) Installeert: php5-sqlite-5.6.1-4.1 ..............................[klaar]
(43/53) Installeert: php5-pgsql-5.6.1-4.1 ...............................[klaar]
(44/53) Installeert: php5-odbc-5.6.1-4.1 ................................[klaar]
(45/53) Installeert: php5-mysql-5.6.1-4.1 ...............................[klaar]
(46/53) Installeert: php5-ldap-5.6.1-4.1 ................................[klaar]
(47/53) Installeert: php5-ftp-5.6.1-4.1 .................................[klaar]
(48/53) Installeert: php5-exif-5.6.1-4.1 ................................[klaar]
(49/53) Installeert: php5-xsl-5.6.1-4.1 .................................[klaar]
(50/53) Installeert: php5-xmlreader-5.6.1-4.1 ...........................[klaar]
(51/53) Installeert: apache2-prefork-2.4.10-4.1 .........................[klaar]
(52/53) Installeert: apache2-mod_php5-5.6.1-4.1 .........................[klaar]
(53/53) Installeert: apache2-mod_fcgid-2.3.9-2.1.4 ......................[klaar]

Daarnaast heb je de mpm-itk module nodig om de Virtuele webserver met bestanden met rechten van een andere gebruiker te laten werken. Dus niet met bestanden van de standaard webserver gebruiker wwwrun die behoort tot de groep www. Deze module wordt niet door openSUSE zelf aangeboden en halen we uit een zelf toe te voegen extra softwarebron.

dany@linux-oj7m:~> sudo zypper addrepo "http://download.opensuse.org/repositories/home:/nixda:/apache24-php/openSUSE_13.2" mpm-itk
Bron 'mpm-itk' toevoegen ................................................[klaar]
Installatiebron 'mpm-itk' is met succes toegevoegd:
Ingeschakeld: Ja
Autovernieuwen: Nee
GPG-controle: Ja
URI: http://download.opensuse.org/repositories/home:/nixda:/apache24-php/openSUSE_13.2
dany@linux-oj7m:~> sudo zypper modifyrepo --refresh mpm-itk
Autoverversing is geactiveerd voor installatiebron 'mpm-itk'.
dany@linux-oj7m:~> sudo zypper refresh
Ophalen van metadata uit installatiebron 'mpm-itk' --------------------------[\]

Een nieuwe handtekening voor een installatiebron of pakket is ontvangen:

  Installatiebron:           mpm-itk                                               
  Sleutelnaam:               home:nixda OBS Project 
  Vingerafdruk van sleutel:  98DAFEC8 FB97EBF2 91268DB1 63512BB9 D2E0715B          
  Sleutel aangemaakt:        do 30 jan 2014 01:55:10 CET                           
  Sleutel verloopt op:       za 09 apr 2016 02:55:10 CEST                          
  Rpm-naam:                  gpg-pubkey-d2e0715b-52e9a2ee                          


Wilt u de sleutel verwerpen, tijdelijk vertrouwen of altijd vertrouwen? [v/t/a/? alle opties tonen] (v): a
Ophalen van metadata uit installatiebron 'mpm-itk' ......................[klaar]
Cache van bron 'mpm-itk' bouwen .........................................[klaar]
Installatiebron 'openSUSE-13.2-Non-Oss' is actueel.
Installatiebron 'openSUSE-13.2-Oss' is actueel.
Installatiebron 'openSUSE-13.2-Update' is actueel.
Installatiebron 'openSUSE-13.2-Update-Non-Oss' is actueel.
Installatiebron 'vlc' is actueel.
Alle installatiebronnen zijn vernieuwd.
Ophalen van metadata uit installatiebron 'mpm-itk' --------------------------[\]

Een nieuwe handtekening voor een installatiebron of pakket is ontvangen:

  Installatiebron:           mpm-itk                                               
  Sleutelnaam:               home:nixda OBS Project 
  Vingerafdruk van sleutel:  98DAFEC8 FB97EBF2 91268DB1 63512BB9 D2E0715B          
  Sleutel aangemaakt:        do 30 jan 2014 01:55:10 CET                           
  Sleutel verloopt op:       za 09 apr 2016 02:55:10 CEST                          
  Rpm-naam:                  gpg-pubkey-d2e0715b-52e9a2ee                          


Wilt u de sleutel verwerpen, tijdelijk vertrouwen of altijd vertrouwen? [v/t/a/? alle opties tonen] (v): a
Ophalen van metadata uit installatiebron 'mpm-itk' ......................[klaar]
Cache van bron 'mpm-itk' bouwen .........................................[klaar]
Installatiebron 'openSUSE-13.2-Non-Oss' is actueel.
Installatiebron 'openSUSE-13.2-Oss' is actueel.
Installatiebron 'openSUSE-13.2-Update' is actueel.
Installatiebron 'openSUSE-13.2-Update-Non-Oss' is actueel.
Installatiebron 'vlc' is actueel.
Alle installatiebronnen zijn vernieuwd.
dany@linux-oj7m:~> sudo zypper install --from mpm-itk mpm-itk
Gegevens van installatiebron laden...
Lezen van geïnstalleerde pakketten...
Afhankelijkheden tussen pakketten oplossen...

Het volgende NIEUWE pakket zal worden geïnstalleerd:
  mpm-itk 

1 nieuw te installeren pakket.
Totale downloadgrootte: 11,3 KiB. Reeds in de cache: 0 B  Na de operatie zal 
aanvullend 24,3 KiB worden gebruikt.
Doorgaan? [j/n/? alle opties tonen] (j): 
pakket mpm-itk-2.4.7-8.2.x86_64 wordt opgehaald
                                          (1/1),  11,3 KiB ( 24,3 KiB uitgepakt)
Ophalen: mpm-itk-2.4.7-8.2.x86_64.rpm ...................................[klaar]
Controleren op conflicten tussen bestanden: .............................[klaar]
(1/1) Installeert: mpm-itk-2.4.7-8.2 ....................................[klaar]
dany@linux-oj7m:~> sudo a2enmod mpm_itk

De eerste opdracht voegt de extra softwarebron toe. Daarna zorgen we dat de toegevoegde softwarebron regelmatig wordt vernieuwd waardoor updates automatisch met de systeemupdates geïnstalleerd worden. Daarna vernieuwen we voor de zekerheid alle actieve softwarebronnen. Waarna we uiteindelijk de mpm-itk module installeren. Na de installatie brengen we met de laatste opdracht de apache webserver op de hoogte van de nieuwe module.

Normaal worden alle mappen en bestanden in de map /srv/www/htdocs door de webserver apache aanzien als website inhoud. Dit houden we zo, maar we gebruiken een Virtuele webserver (Virtual host) om de ander bestandsrechten te kunnen gebruiken. Maak daarvoor het bestand /etc/apache2/vhosts.d/pinda.conf met de volgende inhoud aan: (bijvoorbeeld met de opdracht sudo joe /etc/apache2/vhosts.d/pinda.conf):

<VirtualHost *:80>
   ServerAdmin webmaster@pindanet.be
   ServerName linux.pindanet.be
	
   DocumentRoot /srv/www/htdocs/linux
	
   HostnameLookups Off
	
   # needed for named virtual hosts
   UseCanonicalName Off
	
   # configures the footer on server-generated documents
   ServerSignature On
	
   <Directory "/srv/www/htdocs/linux">
      Options None
      AllowOverride None
      Order allow,deny
      Allow from all
   </Directory>
	
   Alias /socnet "/srv/www/htdocs/socnet/"
   <Directory "/srv/www/htdocs/socnet">
      Options None
      AllowOverride None
      Order allow,deny
      Allow from all
   </Directory>
   Alias /windows "/srv/www/htdocs/windows/"
   <Directory "/srv/www/htdocs/windows">
      Options None
      AllowOverride None
      Order allow,deny
      Allow from all
   </Directory>
   Alias /netwerk "/srv/www/htdocs/netwerk/"
   <Directory "/srv/www/htdocs/netwerk">
      Options None
      AllowOverride None
      Order allow,deny
      Allow from all
   </Directory>
   Alias /macosx "/srv/www/htdocs/macosx/"
   <Directory "/srv/www/htdocs/macosx">
      Options None
      AllowOverride None
      Order allow,deny
      Allow from all
   </Directory>
   <IfModule mpm_itk_module>
      AssignUserId dany users
   </IfModule>
</VirtualHost>

De virtuele webserver luistert naar alle inkomende aanvragen op de standaard http poort 80 (*:80). De virtuele webserver gebruikt de map /srv/www/htdocs/linux als hoofdmap, m.a.w. als je surft naar http://localhost. De Alias opties zorgen voor omleidingen naar extra websites op dezelfde webserver. Zo zorgt de Alias /socnet dat je de website met de elektronische leeromgeving van de cursus Sociale Netwerken bezoekt (surfen naar http://localhost/socnet). Daarnaast zijn er Aliassen aangemaakt voor de websites met de elektronische leeromgeving van de cursussen Windows, Thuisnetwerken en Mac OS X. Om het einde wordt met behulp van de module mpm_itk de bestandsrechten ingesteld op de gebruiker dany uit de groep users.

Nu rest ons alleen nog de mappen van de websites te vullen met inhoud. Dit kan enkel door de webservermappen eerst aan te maken:

dany@linux-oj7m:~> sudo mkdir /srv/www/htdocs/linux
dany@linux-oj7m:~> sudo mkdir /srv/www/htdocs/socnet
dany@linux-oj7m:~> sudo mkdir /srv/www/htdocs/windows
dany@linux-oj7m:~> sudo mkdir /srv/www/htdocs/netwerk
dany@linux-oj7m:~> sudo mkdir /srv/www/htdocs/macosx

Daarna worden de gebruikersmappen met de inhoud aan deze webservermappen gekoppeld. Het gebruik van symbolische links werkt hier niet omdat wegens veiligheidsredenen dit niet door uw systeem en/of de webserver wordt toegelaten. Dit wijst ook al op een beveiligingsprobleem. m.a.w. gebruik deze methode niet op een productieserver op het internet. Het koppelen van bestandssystemen gebeurt bij het opstarten met de gegevens in het bestand /etc/fstab. Voeg aan het bestand /etc/fstab de volgende regels toe (bijvoorbeeld met de opdracht sudo joe /etc/fstab):

/usr/home/Documents/SNT/Linux/Web/ /srv/www/htdocs/linux none bind 0 0
/usr/home/Documents/SNT/Sociale\040Netwerken/Web/ /srv/www/htdocs/socnet none bind 0 0
/usr/home/Documents/SNT/Windows\0408/Web/ /srv/www/htdocs/windows none bind 0 0
/usr/home/Documents/SNT/Thuisnetwerken/Web/ /srv/www/htdocs/netwerk none bind 0 0
/usr/home/Documents/SNT/Mac\040OS\040X/Web/ /srv/www/htdocs/macosx none bind 0 0

Waarbij de gebruikersmappen met de website-inhoud in submappen van /usr/home/Documents/SNT/ staan, met behulp van een bind mount ook bereikbaar worden in submappen van de webserver (/srv/www/htdocs/). Aangezien deze koppeling tijdens het opstarten van uw systeem uitgevoerd worden, mogen daar geen fouten in staan (of het systeem weigert verder op te starten), test dus na het opslaan van de aanpassingen het koppelen met de opdracht:

dany@linux-nlfy:~> sudo mount -a

Let bij het typen in joe op dat de regels op het einde niet worden afgebroken, herstel dit desnoods. Het bestand /etc/fstab moet ook steeds eindigen met een lege regel.

De webserver kan je nu starten met de opdracht:

dany@linux-nlfy:~> sudo systemctl start apache2.service

Surf naar http://localhost en uw lokale website verschijnt in de browser.

Lokale site in browser

Je kunt de webserver bij elke computerstart automatisch laten starten door de volgende opdracht uit te voeren:

dany@linux-nlfy:~> sudo systemctl enable apache2.service
root's password:
ln -s '/usr/lib/systemd/system/apache2.service' '/etc/systemd/system/multi-user.target.wants/apache2.service'

Wil je de websites ook vanaf andere computers in het netwerk bereiken, open dan de firewallpoort met de volgende opdracht:

dany@linux-nlfy:~> sudo yast2 firewall services add zone=EXT service=service:apache2