====== DokuWiki op CentOS7 ====== Begin met een [[werkinstructies:clone_de_minimale_centos7_template|Clone van de CentOS7 minimal]] ===== Tools ===== Installeer de tools die tijdens de install nodig hebt. Na de install is het zinnig om ze weer te verwijderen. ''yum install wget'' ===== Pre-requisites===== ==== Apache webserver ==== In het geval je deze nog niet hebt, installeer een [[installatie_handleidingen:apache|Apache server met virtual hosts]] ==== SSL Certificaten ==== ga naar de directory waar je de certificaten wilt opslaan\\ ''cd /etc/ssl/certs'' maak de server key:\\ ''openssl genrsa -des3 -out wiki.domein.nl.key 2048'' Er zit verplicht een passphrase op de key. Die moet er af anders moet je die elke keer opgeven als apache start, dit betekent dat de server niet autonoom kan opstarten. haal je hem er als volgt af:\\ ''openssl rsa -in wiki.domein.nl.key -out wiki.domein.nl.key\\ chmod 600 wiki.domein.nl.key'' maak een certificate signing request:\\ ''openssl req -new -key wiki.domein.nl.key -out wiki.domein.nl.csr'' en vul alles in 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]:NL State or Province Name (full name) []:Zuid Holland Locality Name (eg, city) [Default City]:Den Haag Organization Name (eg, company) [Default Company Ltd]:Boerema CI&ND Organizational Unit Name (eg, section) []:IT Dept. Common Name (eg, your name or your server's hostname) []:wiki.domein.nl Email Address []:webmaster@domein.nl Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: maak het self-signed certificaat aan:\\ ''openssl x509 -req -days 3650 -in wiki.domein.nl.csr -signkey wiki.domein.nl.key -out wiki.domein.nl.crt'' ==== PHP ==== installeer php en de nodige module: ''yum install php php-gd'' ''vi /etc/php.ini'' en voeg toe: date.timezone = Europe/Amsterdam ;Harden de PHP install expose_php = Off cgi.fix_pathinfo = 0 max_input_vars = 10000 ===== docuwiki installatie===== ==== Apache Vhost ==== Maak een vhost configuratie file aan: ''vi /etc/httpd/sites-available/wiki.domein.nl-ssl.conf'' en zet hierin: ServerAdmin webmaster@domein.nl ServerName wiki.domein.nl Redirect / https://wiki.domein.nl SSLEngine on SSLCertificateFile /etc/ssl/certs/wiki.domein.nl.crt SSLCertificateKeyFile /etc/ssl/certs/wiki.domein.nl.key SSLProtocol All -SSLv2 -SSLv3 BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 ServerName wiki.domein.nl ServerAlias www.wiki.domein.nl ServerAdmin webmaster@domein.nl DocumentRoot "/var/www/html/dokuwiki" ErrorLog "/var/log/httpd/wiki.domein.nl-error_log" CustomLog "/var/log/httpd/wiki.domein.nl-access_log" combined DirectoryIndex index.php Options FollowSymLinks AllowOverride All Require all granted Zet vervolgens een link in de sites-enabled: ''ln -s /etc/httpd/sites-available/wiki.domein.nl-ssl.conf /etc/httpd/sites-enabled/wiki.domein.nl-ssl.conf'' zorg dat de DNS (router) de hostname kent, door in de hosts op te nemen: 192.168.1.202 wiki.domein.nl en herstart apache: ''systemctl restart httpd.service'' ==== installeren ==== Ga naar de documet root: ''cd /var/www/html/'' haal de laatste versie van docuwiki op en pak daar uit: ''wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz\\ tar -xvzf dokuwiki-stable.tgz'' zet vervolgens de permissies goed: ''chown apache: -R /var/www/html/dokuwiki'' De SeLinux settings staan default op read, maar sommige directories moeten read/write zijn. Fix dit door: ''semanage fcontext -a -t httpd_sys_rw_content_t %%"/var/www/html/dokuwiki/conf(/.*)?"%%\\ semanage fcontext -a -t httpd_sys_rw_content_t %%"/var/www/html/dokuwiki/data(/.*)?"%%\\ semanage fcontext -a -t httpd_sys_rw_content_t %%"/var/www/html/dokuwiki/lib/plugins(/.*)?"%%\\ semanage fcontext -a -t httpd_sys_rw_content_t %%"/var/www/html/dokuwiki/lib/tpl(/.*)?"%%\\ restorecon -R -v /var/www/html/dokuwiki'' ===== Dokuwiki configuratie ===== Start de webinstaller door met de browser de volgende link te openen: http:/wiki.domein.nl/install.php . Vul als volgt in: {{:installatie_handleidingen:dokuwiki-1.png?&750|}} ga vervolgens naar de wiki: {{:installatie_handleidingen:dokuwiki-2.png?&750|}} Verwijder de playground namespace door in de webinterface de playground pagina te bewerken, leeg te maken, en op te slaan. Log uit en in, en de playground is verdwenen. ==== Plugins ==== De note plugin is prettig. ==== Niet publieke namespaces verbergen ==== Om namespaces die je prive wilt houden niet in de index te laten verschijnen moet je de volgende aanpassing doen in de file \\ ''/var/www/html/dokuwiki/conf/dokuwiki.php'' verander: $conf['sneaky_index']= 0; in: $conf['sneaky_index']= 1; ===== Authenticatie via FreeIPA/LDAP ===== LET OP deze plugin kan GEEN SSL Usermanagement wordt steeds vaker centraal gedaan. Hier de handleiding om te koppelen aan de LDAP interface van FreeIPA /Redhat IdM. De LDAP zal de authenticatie verzorgen (user password check en groepen toewijzing) terwijl de ingebouwde ACL functionaliteit van docuwiki de authorisatie regelt (welke groep mag wat). ==== nodige systeem software ==== Installeer de nodige php pligin: ''yum install php-ldap'' Pas de php initialisatiefile aan : ''vi /etc/php.ini'' en voeg bij het kop je ''[ldap]'' toe: extension = ldap.so en herstart apache ''systemctl restart httpd'' ==== docuwiki plugin ==== De nodige plugin "LDAP Auth Plugin" door Andreas Gohr is al geïnstalleerd , enable die door op enable te drukken in de Extention Manager in de webinterface. Configureer de interface door eerst in de ACL een groep wiki-admins toe te voegen voor de [root] van de wiki. vervolgens maak je een protected php config file ''vi /var/www/html/dokuwiki/conf/local.protected.php''\\ en zet hier in: bij problemen kan je aan het eind nog een debug invoegen om meer LDAP info in de webinterface te zien: $conf['plugin']['authldap']['debug'] = 1; ===== Cleanup ===== Nog even opruimen door: ''rm /var/www/html/dokuwiki-stable.tgz'' ''rm -f /var/www/html/dokuwiki/install.php'' ''yum remove wget''