• About Me
  • Skills
  • Education
  • Employment
  • Blog
  • Contact
  • Open Source
    • WordPress
      • 3B Meteo Plugin
      • Facebook Like and Send
      • Google Monthly XML Sitemap
      • Google News Sitemap
      • Google Plus Comments
      • Google Plus One Button
      • I don’t endorse Google
      • I don’t endorse Wikipedia
      • I don’t endorse WIkipedia
      • Ottimizzare WordPress per renderlo più veloce
      • Rich Category Editor
      • Save To Google Drive
      • Sociable Italia
      • Third Party Cookie Eraser
      • Twitter Follow Button
      • WP instantempo
      • WP Super Secure and Fast htaccess
    • Plone SEO – collective.perseo
  • Creations
    • Web Marketing
    • SEO
    • WPO
    • SEO Stupidity
    • Webmaster Superhero
    • Il Vero SEO

Attivare php come modulo CGI su un virtualhost (Abilitare phpSuExec Apache)

30 Dicembre 2008 / By Andrea Pernici
  • Home
  • Attivare php come modulo CGI su un virtualhost (Abilitare phpSuExec Apache)

Dato che spesso con molti Cms opensource questa caratteristica è consigliata (se non obbligatoria, anche se non esplicitamente richiesta) vi mostro in pochi passi come abilitare phpSuExec sul vostro virtualhost nel caso abbiate accesso alla Shell del vostro server Linux.

Questa piccola guida è riferita ad una Debian Linux e Apache Web Server.

ATTENZIONE – PREMESSA: Se sul server è installato php4 sostituire php4 a php5.

Individuare il file di configurazione del Virtualhost per il quale si vuole effettuare la modifica. (Solitamente si trova in /etc/apache2/sites-available/ ma ad ognuno il suo.)

Una volta trovato il file del Virtualhost che vi interessa aggiungere a quest’ultimo le seguenti direttive:
SuexecUserGroup "#1001" "#1002"
sostituendo i corretti valori di Uid e Gid (in forma numerica) con il quale si vuol fare girare gli script PHP (generalmente questi coincidono con Uid e Gid dell’utente FTP).

Nota:
Si possono ricavare gli Uid e Gid numerici di un utente di cui si conosce il nome-utente di login con il
comando:
id nome-utente
uid=1001(nome-utente) gid=1002(nome-utente) groups=1000(nome-utente), 20(dialout),24(cdrom),25(floppy),29(audio),44(video),46(plugdev)

Fine Nota

Una volta ricavato l’uid e inserita nel virtualhost la direttiva con gli id corretti, aggiungere allo stesso file le seguenti righe:
AddHandler php-script .php
Action php-script /cgi-bin/php5

e verificare che nel Virtualhost sia presente la direttiva “ScriptAlias” simile a quanto riportato sotto:
ScriptAlias /cgi-bin/ /home/sito-web/cgi-bin/
<Directory /home/sito-web/cgi-bin>
allow from all
</Directory>

Successivamente è necessario copiare dentro la directory cgi-bin del Virtualhost i file php5 ed il link simbolico php -> php5 utilizzando il seguente comando:
cp -a /usr/lib/cgi-bin/php* /home/sito-web/cgi-bin/

Impostare i permessi sui file copiati dentro la cgi-bin dell’utente in modo che l’utente ed il gruppo specificato in “SuexecUserGroup” ne siano i proprietari:
chown -R 1001:1002 /home/sito-web/cgi-bin/php*

Verificare la configurazione di Apache per assicurarsi che le modifiche effettuate siano corrette usando il comando:

apache2ctl configtest
che deve restituire “Syntax OK”

Riavviare Apache con il seguente comando:
/etc/init.d/apache2 restart

Verificare il risultato tramite questo script di test:
<?php
// Test per verificare se PHP sta girando come modulo CGI
echo "Utente con il quale sta girando lo script PHP ed il processo di Apache:";
echo "<br><br>";
echo "Risultato whoami:";
echo "<br>";
echo exec('whoami');
echo "<br><br>";
echo "Risulato id:";
echo "<br>";
echo exec('id');
echo "<br><br>";
echo "Verificare le Server API per determinare in che modalità sta girando PHP";
// Se PHP gira come CGI sarà riportato: "Server API GI/FastCGI"
// Altrimenti il risultato sarà: "Server API Apache 2.0 Handler"
echo "<br><br>";
phpinfo();
?>

e il gioco è fatto 🙂

Tags
Abilitare SuExec, apache, Debian, Linux, Modificare Virtualhost, Phpsuexec, Ricavare id utente, Virtualhost, Web Server Apache
About Me
about-me
Andrea Pernici

Chief Technology Officer at Search On Media Group and 3BMeteo.com

Categories
  • Apache 2.2
  • Blog e Social
  • CSS
  • Featured Articles
  • Google
  • Grafica
  • Linux
  • Marketing
  • Politica
  • Programmazione
  • Seo
  • Sicurezza
  • Sport
  • Varie
  • Viaggi
  • Video
  • WebServer
Popular Post
  • Corso HTML per SEOlunedì - Dicembre 05, 2022
  • Antonio Jelich e Pallamano 85. La terza di campionato.lunedì - Marzo 15, 2021
  • How to Dominate “Google In-The News” Box (aka “Top Stories”)…lunedì - Maggio 08, 2017
  • WordPress Brute Force Attacks: lock your wp-login.php with ModSecuritymercoledì - Ottobre 28, 2015
  • All the small things that make a great productmartedì - Ottobre 27, 2015
Tags
Andrea Pernici apache Bug Google Convegno gt Convegno SEO Design Errori Google Eventi SEO Facebook Facebook Like Google Google Maps Google News Sitemap Google Plus Google profile gtConference gt study days instantempo Instant Previews Joomla Linkedin Linux Loghi Marketing Matt Cutts Meteo migliori tweet Open Source Ottimizzare Wordpress Page Speed Rich Snippet script Seo SERP shell Significati Nascosti Sociable italia Social Network Twitter Usabilità Web Performance WebProNews Web Server Apache Wordpress Wordpress plugin
Recent Comment
  • Come fare Redirect 301 di una pagina web giovedì - Maggio 06, 2021 08:44 am
  • Come fare Redirect 301 di una pagina web martedì - Maggio 04, 2021 02:03 pm
  • Come fare Redirect 301 di una pagina web sabato - Aprile 10, 2021 02:05 pm
  • Come fare Redirect 301 di una pagina web venerdì - Aprile 09, 2021 11:02 pm
  • Come fare Redirect 301 di una pagina web giovedì - Aprile 01, 2021 10:08 am
© 2017 Andrea Pernici - SEO, Design & Technology as attitudes - Me on freebase - Privacy Policy