Likes Likes:  0
Resultaten 1 tot 15 van de 24
Pagina 1 van de 2 1 2 LaatsteLaatste
Geen
  1. #1
    Veilige/snelle/handige PHP Installatie
    Vivor B.V. (vivor.net)
    2.357 Berichten
    Ingeschreven
    19/07/03

    Locatie
    Nijmegen / Diemen

    Post Thanks / Like
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    57 Berichten zijn liked


    Naam: Wisselend
    Bedrijf: Vivor BV
    URL: www.vivor.net
    Registrar SIDN: ja
    KvK nummer: 32095794

    Thread Starter

    Veilige/snelle/handige PHP Installatie

    Oké, aangezien er nogal wat discussie was over hoe PHP op een shared hosting server het beste gedraaid kan worden post ik hier even kort mijn ervaringen en oplossingen en vervolgens de manier om PHP te draaien zoals ik denk dat het 't beste is. Houd er wel rekening mee dat ik absoluut geen verantwoordelijkheid neem indien je hele server vastslaat, hoewel alles zou moeten werken kan ik niets garanderen. Ik raad je dan ook aan om de installatie eerst te proberen op een test server!

    1. Verschillende manieren om PHP te draaien
    Een groot probleem op shared hosting servers met scripting is de veiligheid, altijd al zo geweest. De ene user kan met wat handigheidjes gemakkelijk de bestanden van de andere user inlezen. Hiervoor zijn vele "oplossingen", de ene beter dan de andere.

    - PHP in safe mode draaien
    - Open_basedir tweak
    - PHPsuExec
    - SuPHP

    PHP in safe mode draaien brengt de nodige bezwaren met zich mee. Het is namelijk zo dat bij safe_mode sommige commando's in PHP uitgesloten zijn, tot grote ergernis van de gebruikers. Een van de meest voorkomende klachten is dat het "system();" commando niet langer werkt.

    Open_basedir is een simpele aanvulling op PHP. Met open_basedir kun je per user instellen welke directory's hij mag uitlezen. Klinkt mooi, maar werkt niet altijd even goed. open_basedir is namelijk te omzeilen met commando's als system();.

    Voordat ik PHPsuExec kan uitleggen is enige voorkennis vereist. Het is namelijk zo dat PHP op twee manieren gedraaid kan worden. Ofwel via een apache module (mod_php) óf via de binary (/usr/bin/php). Dit laatste wordt ookwel "CGI-mode" genoemd. De apache module is de meest gebruikte manier om PHP te installeren. Het werkt snel, efficiënt, makkelijk maar daarnaast ook erg onveilig. De apache_module stuurt namelijk uiteindelijk ook gewoon /usr/bin/php aan, echter doet hij dit met de gebruikersnaam van apache. Je hebt dus als systeembeheerder zo goed als geen zicht op wie welk PHP script uitvoert. Tevens wordt alle mail die verzonden wordt via het PHP mail(); commando verzonden via de user van apache. Niet alleen krijgt een gebruiker op die manier de kans om vanaf jouw hostname mail te versturen, maar jij hebt als systeembeheerder geen zicht op het mail verkeer vanaf PHP. Iemand kan dus op die manier spam verzenden zonder dat je weet dat hij het was.

    PHPsuExec laat PHP draaien op een “derde” manier. PHPsuExec zorgt er namelijk voor dat alle PHP scripts worden uitgevoerd met /usr/bin/php (de eerder beschreven CGI mode”) maar dan wel met de username van de eigenaar van de apache virtualhost. Een klein voorbeeld ter verduidelijking: http://www.futureflex.nl/ is een virtualhost met de username “futurefl”. Als PHPsuExec op deze server zou draaien dan zou iedere PHP file op futureflex.nl uitgevoerd worden door de user “futurefl”. Dit heeft als groot voordeel dat je precies kunt nagaan welke user welk PHP script uitvoert. Het zorgt er tevens voor dat ook de mail via PHP mail(); wordt verstuurd door de betreffende username. Het komt er uiteindelijk op neer dat PHPsuExec álle PHP scripts uitvoert via de juiste username, in plaats van via de username van apache. Dit alles klinkt bijna ideaal, alleen werkt het in de praktijk wat minder goed dan verwacht. “Internal Server Error” ’s zijn aan de orde van de dag met PHPsuExec. PHPsuExec valt dus net als de bovenste drie methoden af als geschikte kandidaat voor een goede PHP compilatie.

    Als laatste methode komt dan “SuPHP”. SuPHP werkt grofweg hetzelfde als PHPsuExec, allen werkt SuPHP wél goed. Dus zonder Internal Server Errors en andere poespas. SuPHP is dan ook de beste methode om PHP in een veilige omgeving te draaien en deze zal ik dan ook verder uitwerken in de rest van de guide.

    2. SuPHP en performance
    Een veelgenoemd bezwaar van menig systeembeheerder om SuPHP te draaien is dat het de performance van de server zou drukken. Ik heb echter zelf geconcludeerd dat niets minder waar is. Het tegendeel dunkt mij zelfs: SuPHP genereert een webpagina sneller dan de standaard apache module! Hoewel ik niet zeker weet waarom heb ik een sterk vermoeden dat dit is omdat apache niet hoeft te wachten op zijn eigen PHP module tijdens het verzenden van een webpagina naar de eindgebruikerm, aangezien de standaard apache bewerkingen simultaan met de PHP code uitgevoerd kunnen worden.

    3. SuPHP Installatie
    SuPHP werkt alleen i.c.m. linux. Windows gebruikers kunnen dan ook beter hier stoppen met lezen en zich afvragen waarom ze hun portomonnaie zo wijd hebben opengetrokken voor een systeem dat ’s werelds meest gebruikte scripting taal slecht ondersteunt

    Ik heb SuPHP succesvol geïnstalleerd op Linux Redhat servers i.c.m. cPanel/WHM, maar ook op Redhat servers zonder control panel. Daarvan kan ik dus zeggen dat het mogelijk is. Of het mogelijk is i.c.m. bijv. Ensim of Plesk kan ik niet garanderen. Tevens kan de installatie guide iets afwijken indien je een andere linux distro gebruikt dan Redhat.

    3.1 Benodigdheden voor een SuPHP installatie
    - Apache
    - PHP
    - SuPHP
    - Evt. Add-ons voor de compilatie zoals GCC etc., deze zijn echter vaak al geinstalleerd.

    3.2 Voorbereidingen
    Allereerst dien je apache 1.3.x te installeren, dit ga ik verder niet uitleggen, dat moet je gewoon kunnen

    Als apache geïnstalleerd is log je in op je server met gebruikersnaam root. Maak een mapje aan in de /root directory genaamd “tempinstall” o.i.d. met het “mkdir” commando.

    Browse naar deze directory met het “cd” commando. Eenmaal in de directory aangekomen gaan we even de benodigde bestanden ophalen.

    - PHP (in dit geval versie 4.3.4) http://nl2.php.net/get/php-4.3.4.tar...om/this/mirror
    - SuPHP http://www.suphp.org/download/suphp-0.3.1.tar.gz

    Hiervoor geef je achtereenvolgens de commando’s “wget http://nl2.php.net/get/php-4.3.4.tar...om/this/mirror “ en “wget http://www.suphp.org/download/suphp-0.3.1.tar.gz”.

    3.3 PHP compileren
    Nu de vereiste bestanden binnen zijn kan het feest beginnen. Allereerst moet je php compileren. Dit kan met een hele waslijst van bijkomende module’s, deze kun je al dan niet toevoegen bij het configure commando. In deze guide geef ik een hele basic setup van PHP om compicaties te vermijden indien jullie zelf aan de slag gaan.

    Voor de ervaren gebruikers: ik heb het zelf gecompileerd met xml, bcmath, calendar, curl, ftp, gd, jpeg, png, xpm, gettext, mbstring, mbsring encriptie, mbregex, mcrypt, mhash, magic quotes, mysql, pear, socketsupport, track-vars, zlib en ttf en geen problemen ondervonden.

    Voor de basic install pakken we php-4.3.4.tar.gz uit met het commando “tar –zxvf php-4.3.4.tar.gz” en gaan we naar de extraction map. (cd php-4.3.4)

    Aldaar voer je achtereenvolgens de volgende commando’s uit:

    “./configure”
    “make”
    “make install”

    Als je hiermee klaar bent kun je checken of alles goed is geïnstalleerd met het commando “/usr/bin/php –v”. Staat er vervolgens iets in de trant van

    “PHP 4.3.4 (cgi) (built: Nov 4 2003 16:57:42)
    Copyright (c) 1997-2003 The PHP Group”

    dan is de installatie gelukt

    3.4 SuPHP compileren
    PHP is geïnstalleerd, nu SuPHP nog! Hiervoor moeten we eerst weer SuPHP uitpakken met het commando “tar –zxvf suphp-0.3.1.tar.gz”. Browse daarna naar de map waarin suphp is uitgepakt.

    Voordat we verder kunnen moet je nagaan onder welke username apache draait. Deze username moet je namelijk in de onderstaande ./configure reeks invullen. Je kunt de username vinden door in Apache’s httpd.conf te zoeken naar “User”. Uiteindelijk kom je dan uit op de plek waar apache’s username gedefinieerd staat.

    Als je weet onder welke username apache draait kun je naar de map van suphp gaan. Aldaar voer je de volgende commando’s uit:

    “chmod +x ./configure”
    “./configure –with-php=/usr/bin/php –with-apache-user=<username>”
    “make”
    “make install”

    SuPHP is dan geïnstalleerd. Nu zijn er echter nog een aantal modificaties benodigd aan apache. Open hiervoor Apache’s httpd.conf met een editor, bijvoorbeeld “vi” of “pico”.

    Als je PHP al had geïnstalleerd met apache via de standaard apache module dan dien je eerst een aantal dingen te “commentariseren”. Dit doe je door er een # voor te zetten.

    Zoek allereerst naar “AddModule” en commentariseer “AddModule mod_php4.c”.

    Zoek vervolgens naar “LoadModule” en commentariseer “LoadModule php4_module libexec/libphp4.so”.

    Het kan tevens zo zijn dat je PHP als CGI binary had draaien, dan dien je ook de volgende dingen te commentariseren:

    AddType application/x-httpd-php .php
    AddType application/x-httpd-php .php4
    AddType application/x-httpd-php .php3
    AddType application/x-httpd-php-source .phps
    AddType application/x-httpd-php .phtml


    Als je de bovenstaande dingen hebt gedaan dien je een aantal dingen toe te voegen. Dit kan in principe op iedere gewenste plek in httpd.conf.

    AddModule mod_suphp.c (kan zijn dat deze er al staat)
    LoadModule suphp_module libexec/mod_suphp.so (kan zijn dat deze er ook al staat)
    AddHandler x-httpd-php .php


    Sla de wijzigingen op en herstart apache met het commando “httpd restart”.

    Als er geen foutmeldingen omhoog kwamen tijdens het herstarten van apache dan is de installatie succesvol en heb je SuPHP geïnstalleerd.


    4. Na de installatie
    Na de installatie is het handig om het een en ander te testen. Draai een paar PHP scripts en kijk of ze netjes worden uitgevoerd. Een handig testje om te kijken of de boel veilig en wel draait is om te proberen of je de /home directory kunt listen met PHP.

    Maak een PHP script met de volgende inhoud:

    <?php system(‘ls /home/’); echo(‘Je ziet er strak uit, Sjonnie’); ?>
    Als je het script uitvoert en er staat enkel dat je er strak uit ziet dan is de boel waarschijnlijk veilig en wel geïnstalleerd

    Succes!
    Laatst gewijzigd door Cybafish; 08/11/03 om 20:07.
    Vivor B.V. - Internet voor professionals (contact)

  2. #2
    Veilige/snelle/handige PHP Installatie
    Mentally unstable
    2.586 Berichten
    Ingeschreven
    28/06/03

    Locatie
    Rivierenland

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: Ja
    KvK nummer: 11058224
    Ondernemingsnummer: nvt

    ...
    Laatst gewijzigd door The MAzTER; 13/03/04 om 14:23.

  3. #3
    Veilige/snelle/handige PHP Installatie
    Registered User
    277 Berichten
    Ingeschreven
    18/06/03

    Locatie
    Rotterdam

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Oh je had hem al gemaakt!! Cool, ik ga hem meteen even lezen

  4. #4
    Veilige/snelle/handige PHP Installatie
    Deelnemer
    1.906 Berichten
    Ingeschreven
    10/05/02

    Locatie
    Veghel

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: -
    KvK nummer: -
    Ondernemingsnummer: -

    Mooie post

    Dit soort initiatieven zien we graag

  5. #5
    Veilige/snelle/handige PHP Installatie
    geregistreerd gebruiker
    4.048 Berichten
    Ingeschreven
    24/01/03

    Locatie
    London, United Kingdom, United Kingdom

    Post Thanks / Like
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)
    9 Berichten zijn liked


    Naam: Dennis Arslan
    Bedrijf: Rackspace
    Functie: Linux Server Specialist
    URL: www.dennisarslan.com
    Registrar SIDN: ja
    KvK nummer: 04070212
    Ondernemingsnummer: nvt
    TrustCloud: DennisArslan
    View dennisarslan's profile on LinkedIn

    Superpost
    Misschien wel interessant voor een heel apart HOWTO forum, nu er members zijn die echt goed bezig zijn met het bijdragen van threads waar iedereen wat aan heeft.

  6. #6
    Veilige/snelle/handige PHP Installatie
    Deelnemer
    1.906 Berichten
    Ingeschreven
    10/05/02

    Locatie
    Veghel

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: -
    KvK nummer: -
    Ondernemingsnummer: -

    DennisCitus: in principe kunnen al deze posts nog in de desbetreffende forums. Misschien al er echt veel komen, dat het dan een goed idee is

  7. #7
    Veilige/snelle/handige PHP Installatie
    Mentally unstable
    2.586 Berichten
    Ingeschreven
    28/06/03

    Locatie
    Rivierenland

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: Ja
    KvK nummer: 11058224
    Ondernemingsnummer: nvt

    ...
    Laatst gewijzigd door The MAzTER; 13/03/04 om 14:22.

  8. #8
    Veilige/snelle/handige PHP Installatie
    geregistreerd gebruiker
    1 Berichten
    Ingeschreven
    13/11/03

    Locatie
    Dieren

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: ja
    KvK nummer: 8077161
    Ondernemingsnummer: nvt

    Even niet over suPHP (de andere threads zoek ik straks wel op) : suPHP geeft overhead, door alle fork()'s en exec'().

    mod_suid is een mod_become hack die hetzelfde doet als suPHP, alleen dan ook met de compiled-in versie :

    www.jdimedia.nl/igmar/mod_suid

    Hopelijk heeft men d'r wat aan.

  9. #9
    Veilige/snelle/handige PHP Installatie
    Hier GEEN url plaatsen!
    346 Berichten
    Ingeschreven
    28/05/03

    Locatie
    The Netherlands

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: ja
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Gaaf initiatief!

    Ik hoop dat er meer van dit soort leerzame howtos komen

  10. #10
    Veilige/snelle/handige PHP Installatie
    aktieve deelnemer
    2.782 Berichten
    Ingeschreven
    10/05/02

    Locatie
    Noordwest Holland

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: Ja
    KvK nummer: 37093085
    Ondernemingsnummer: nvt

    Origineel geplaatst door igmar
    Even niet over suPHP (de andere threads zoek ik straks wel op) : suPHP geeft overhead, door alle fork()'s en exec'().

    mod_suid is een mod_become hack die hetzelfde doet als suPHP, alleen dan ook met de compiled-in versie :

    www.jdimedia.nl/igmar/mod_suid

    Hopelijk heeft men d'r wat aan.
    Mod_suid vereist echter wel dat je apache als root moet draaien en het verleden heeft meermalen uitgewezen dat dat niet een slim idee is. Zelfde verhaal geldt voor mod_become.

  11. #11
    Veilige/snelle/handige PHP Installatie
    Ouwe rot, 52 Jaar
    1.899 Berichten
    Ingeschreven
    24/08/02

    Locatie
    Gaanderen

    Post Thanks / Like
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    2 Berichten zijn liked


    KvK nummer: 09153441

    Is een leerzaam verhaal, dank je!
    Nu mijn vraag, is suPHP ook te gebruiken op een bestaande php 4.3.4 met Apache 2.0.48 die al geinstaleerd is of moet de alles opnieuw doen?

  12. #12
    Veilige/snelle/handige PHP Installatie
    Mentally unstable
    2.586 Berichten
    Ingeschreven
    28/06/03

    Locatie
    Rivierenland

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: Ja
    KvK nummer: 11058224
    Ondernemingsnummer: nvt

    ...
    Laatst gewijzigd door The MAzTER; 13/03/04 om 14:29.

  13. #13
    Veilige/snelle/handige PHP Installatie
    moderator
    2.252 Berichten
    Ingeschreven
    20/04/03

    Locatie
    Breda

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    9 Berichten zijn liked


    Bedrijf: Ensembia
    Functie: EIgenaar
    URL: www.ensembia.com
    KvK nummer: 65826477

    Goede post!

    Ik kende PHPsuEXEC al wel (en ook niet zulke goede ervaringen mee), maar SuPHP klinkt interessant. Wat mij niet helemaal duidelijk wordt uit je posting is ofdat (naast het uitvoeren van de PHP onder eigen UID) er ook restricties voor gebruikers gelden zoals open_basedir ? Of stel je een combinatie van beiden voor?

    Daarnaast: moet je (zoals bv. met suEXEC) nog een pad opnemen naar de CGI in je script-headers ?

    Dillard

  14. #14
    Veilige/snelle/handige PHP Installatie
    geregistreerd gebruiker
    1.953 Berichten
    Ingeschreven
    16/01/03

    Locatie
    Delft

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Dit zijn de post waar een hoop mensen wat aan hebben
    ik ook dus bedankt



  15. #15
    Veilige/snelle/handige PHP Installatie
    Mentally unstable
    2.586 Berichten
    Ingeschreven
    28/06/03

    Locatie
    Rivierenland

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: Ja
    KvK nummer: 11058224
    Ondernemingsnummer: nvt

    ...
    Laatst gewijzigd door The MAzTER; 13/03/04 om 14:41.

Pagina 1 van de 2 1 2 LaatsteLaatste

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2021 Webhostingtalk.nl.
Web Statistics