**** studente ARMANDO PESHTANI a.a. 2013-14 ***** Come installare un web server in Ubuntu 12.04 (Apache, PHP, MySQL, phpMyAdmin) 1. Installare Apache2 Aprire un terminale e digitare: sudo apt-get install apache2 Quando l'installazione è finita aprire il browser e digitare : http://localhost/ Se funziona dovrebbe comparire una Pagina con IT WORKS La DocumentRoot di Apache2 è la directory dove sono contenuti i file html che costituiscono il sito offerto dal server . In Apache2 di default si trova a : /var/www mentre Il file di Configurazione : /etc/apache2/apache2.conf Altre configurazioni si possono trovare nelle subdirectories come : /etc/apache2/mods-enabled (moduli Apache) /etc/apache2/sites-enabled (virtual hosts) /etc/apache2/conf.d Per controllare se Apache è in funzione : Da terminale : ps -A | grep apache Per fare che Apache non si avvia con l'accensione del PC sudo update-rc.d -f apache2 remove Per ripristinarlo nella lista di avvio : sudo update-rc.d apache2 defaults Apache conserva i log degli errori in : /var/log/apache2/error.log Comandi utili : sudo /etc/init.d/apache2 start -> avvia Apache sudo /etc/init.d/apache2 stop -> chiude Apache sudo /etc/init.d/apache2 restart -> riavvia Apache 2. Istallare PHP5 e supporto Apache2 Da terminale: sudo apt-get install php5 libapache2-mod-php5 poi si deve riavviare Apache: /etc/init.d/apache2 restart (RICORDATEVELO!) 3. Test Apache come impostazione base per il server ha : /var/www Visto che si trova nei fileSystem non potete creare o modificare file in queste cartelle. ci sono dei modi per aggirare ciò : a) dovete cambiare i privilegi della cartella sudo chown user( user è il vostro nome utente) /var/www b) per non modificare i privilegi: da terminale : gksudo nautilus poi andate nella cartella /var/www dove potete creare, modificare, cancellare file. Nella cartella /var/www create un file info.php e scrivete dentro : salvate, chiudete poi andate sul browser e scrivete http://localhost/info.php vedrete le informazioni sui moduli php e apache istallati. 4. Installare MySQL Da terminale : sudo apt-get install mysql-server Durante l'installazione vi chiedera di creare una password per il root (RICORDATEVELO!). Per avere il MySql support in php Da terminale : sudo-apt install php5-mysql Riavviare apache : sudo /etc/init.d/apache2 restart Aprire il browser : http://localhost/info.php controllate che ci sia mysql tra i moduli elencati 5. phpMyAdmin Da terminale : sudo apt-get install phpmyadmin Durante l'installazione vi chiederà di configurare il web server : Scegliete Apache poi vi chiederà la phpmyadmin configuration selezionare NO Da terminale : sudo cp /etc/phpmyadmin/apache.conf /etc/apache2/conf.d Riavviare apache : sudo /etc/init.d/apache2 restart Aprire il browser : http://localhost/phpmyadmin/ Dovrebe uscire una schermata : se inserite la password di root di MySQL (quello di prima) potete entrare nel database. Dovrebbe funzionare tutto . se fate http://localhost/info.php Controllate che MySql, PhpMyadmin, etc sono nella lista. Avete il Server !!! 6. Cambiare la DocumentRoot. Come ho detto prima la cartella base di Apache si trova in /var/www Sarebbe meglio cambiarla in modo da evitare in caso di problemi del file system di perdere i dati presenti nella cartella. Andate nella Home e create una cartella public_html questa sarà la nuova webroot Apriamo il file che si occupa di configurare la DocumentRoot di Apache Da terminale : sudo gedit /etc/apache2/sites-available/default Trovate la riga : DocumentRoot /var/www/ cambiatela in : DocumentRoot /home/username(il vostro)/public_html un po piu giù troverete : cambiatela in : Salva il file. Riavviare Apache : Da terminale : sudo /etc/init.d/apache2 restart Aprire il browser su http://localhost/ sarete indirizzati sul contenuto di /public_html Spostate il contenuto di /var/www/ nella nuova DocumentRoot 7. Abilitare la userdir Da terminale : cd /etc/apache2/mods-enabled per abilitare mod_userdir : sudo ln -s ../mods-available/userdir.load sudo ln -s ../mods-available/userdir.conf Riavviare Apache : sudo apache2ctl restart P.S. Facendo il passo 7 il browser non riesce più ad interpretare i file .php ma invece le scarica. Questo perchè il PHP è esplicitamente settato OFF nel userdir.Per cambiarlo dovete modificare il file di configurazione di PHP. Da terminale : sudo gedit /etc/apache2/mods-enabled/php5.conf Trovate questo blocco : php_admin_value engine Off Dovete commentarlo (inserendo # davanti ad ogni linea). Salvate il file. poi riavviate Apache : sudo /etc/init.d/apache2 restart Aprite il browser : http://localhost/ e provate ad aprire il file info.php creato prima dovrebbe visualizzare le info normalmente.