Server Web · 8 min read · Jan 03, 2026

Server Web di Base Su Ubuntu 9.04 Con Zend Framework

Server Web di Base Su Ubuntu 9.04 Con Zend Framework

Questa è una breve descrizione dei passaggi necessari per impostare un server Web di base con il Zend Framework installato.

Come sempre, seguirò una delle eccellenti guide di Falko, poiché non ha senso reinventare la ruota, per così dire. Seguirò The Perfect Server - Ubuntu 9.04 [ISPConfig 3]. Tuttavia, poiché ho bisogno di un server per applicazioni Web per test di pre-produzione, non ho bisogno di Mail o ISPConfig, quindi seguirò la Guida ISPConfig-3 dal Passo 1 - 11 e inizierò la mia versione da lì.

Non installerò Postfix, Courier (non ho bisogno di Mail o IMAP), Saslauthd (Autenticazione), non installerò nemmeno rootkit hunter o utilità binarie, quindi li escluderò:

12 Installare MySQL

Possiamo installare MySQL utilizzando il seguente comando:

apt-get install mysql-client mysql-server

Ti verranno poste le seguenti domande:

Nuova password per l’utente MySQL “root”: <– yourrootsqlpassword
Ripeti la password per l’utente MySQL “root”: <– yourrootsqlpassword

Vogliamo che MySQL ascolti su tutte le interfacce, non solo su localhost, quindi modifichiamo /etc/mysql/my.cnf e commentiamo la riga bind-address = 127.0.0.1:

nano /etc/mysql/my.cnf
[...]  

# Invece di skip-networking, il valore predefinito è ora ascoltare solo su  

# localhost, che è più compatibile e non è meno sicuro.  

#bind-address           = 127.0.0.1  

[...]  

Poi riavviamo MySQL:

/etc/init.d/mysql restart

Ora controlla che la rete sia abilitata. Esegui

netstat -tap | grep mysql

L’output dovrebbe apparire così:

root@server1:~# netstat -tap | grep mysql  
tcp        0      0 *:mysql                 *:*                     LISTEN      8474/mysqld  
root@server1:~#

13 Installare Apache2, Java e phpMyAdmin

Non installerò PHP5 a questo punto poiché ho un paio di modi diversi per installarlo nella sezione successiva. Sappi solo che se intendi compilare dal sorgente, potresti voler leggere la sezione successiva e considerare di non installare apache a questo punto. Altrimenti, tutto sarà installato come segue:

sudo su  
apt-get install apache2 sun-java6-bin phpmyadmin

Vedrai la seguente domanda:

Server web da riconfigurare automaticamente: <– apache2
EULA di Java <– Tab per leggere l’EULA poi OK
Accetti i termini della licenza DLJ? <– Sì
Configurare il database per phpmyadmin con dbconfig-common? <– Sì
Password dell’utente amministrativo del tuo database: <– yourrootsqlpassword
Password dell’applicazione MySQL per phpmyadmin: <– [vuoto]

14 Installazioni PHP5:

Abbiamo diversi modi per installare PHP, a seconda di ciò di cui hai bisogno. Ho avuto successi variabili nell’ottenere i moduli installati di cui ho bisogno, quindi ti darò tutti i modi che ho provato per installare PHP e puoi scegliere quale ti serve.

apt-get install dal repository ubuntu

Possiamo semplicemente usare Apt per ottenere la versione di PHP dai repository ubuntu. Questo sarà il modo più semplice e porterà al successo più facile e dovrebbe essere usato se non hai requisiti specifici da PHP

apt-get install php5 php5-common php5-cli

apt-get install da una sorgente debian

Debian ha aggiornato il proprio repository all’ultima versione di PHP5 e credo che abbia inclusa la libreria PHP5 GD completa, quindi potrebbe essere un percorso più semplice per il successo rispetto alla compilazione dal sorgente, ma significa che stai usando una sorgente che non è riconosciuta da Ubuntu e dovrai decidere se va bene per te.

Detta decisione, devi aggiungere i repository debian alla tua lista di sorgenti, cosa che puoi fare modificando la tua lista di sorgenti come prima.

Possiamo semplicemente usare Apt per ottenere la versione di PHP dai repository ubuntu.

echo deb http://packages.dotdeb.org stable all >> /etc/apt/sources.list
echo deb-src http://packages.dotdeb.org stable all >> /etc/apt/sources.list

Poi esegui

apt-get update

Dopo questo puoi scegliere di aggiornare qualsiasi altra installazione che debian ha aggiornato.

apt-get upgrade  
apt-get install php5 php5-common php5-cli  
reboot

Compilare dal sorgente del repository

Sebbene sia stato un successo, ha installato la versione ubuntu di PHP5, che va bene per la maggior parte delle installazioni, questo ti permetterà di abilitare alcune cose extra che non vengono incluse nell’installazione di aptitude. Puoi usare ./configure –help per vedere cosa è disponibile per essere abilitato mentre compili.

aptitude install libmysqlclient15-dev libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev sendmail libmcrypt-dev libmhash-dev

Questo ti permetterà di installare la versione sicura di ubuntu con extra che potrebbero non essere inclusi nella versione standard.

cd /usr/src  
apt-get install build-essential debhelper fakeroot  
apt-get source php5  
apt-get install build-dep php5  
cd php5-5.2.6.dfsg.1/  
nano debian/rules

Trova e sostituisci

[...]  
--with-gd=shared,/usr --enable-gd-native-ttf \  
[...]  

con

[...]  
--with-gd=shared, --enable-gd-native-ttf \  
[...]  
dpkg-buildpackage -rfakeroot  
cd ..  
# Installa il nuovo pacchetto php5-gd  
dpkg -i php5-gd_5.2.6-1ubuntu6.3_i386.deb

Compilazione completa da sorgente esterna

Quando ho eseguito questo ultimo passaggio, ho dovuto ricompilare apache2 anche per far riconoscere la mia nuova versione di php5. Non sono sicuro del perché o se fosse solo un problema mio, quindi testerò un paio di volte in più e modificherò questo post per aggiornare i metodi se riesco a ottenere successo senza installare apache2.

aptitude install php5-dev libmysqlclient15-dev libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev sendmail libmcrypt-dev libmhash-dev bzip2 libcurl3 curl libpng12-dev libfreetype6-dev libmcrypt4 libmcrypt-dev libmhash2 libxslt1-dev apache2-prefork-dev libjpeg62-dev freetype2 libxft libxft-dev libcurl4-gnutls-dev
cd /usr/src  
wget http://apache.mirror.anlx.net/httpd/httpd-2.0.63.tar.gz  
tar -zxvf httpd-2.0.63.tar.gz  
cd httpd-2.0.63  
./configure --help  
./configure --prefix=/etc --enable-rewrite --enable-so --enable-ssl  
make  
make install  
/etc/bin/apachectl start  
/etc/bin/apachectl stop
cd /usr/src  
wget http://uk.php.net/get/php-5.2.9.tar.gz/from/this/mirror  
tar xzvf php-5.2.9.tar.gz  
cd php-5.2.9  
./configure --help  
./configure --prefix=/etc/php5/apache2 --with-apxs2=/usr/bin/apxs2 --with-config-file-path=/etc/php5/apache2 --enable-zip --enable-calendar --enable-mbstring --with-mysql --with-mysqli --with-curl --with-curlwrappers --with-zlib --with-gd --with-jpeg-dir --with-png-dir --with-mcrypt --with-mhash --with-pdo-mysql  
make  
make install  
./configure --prefix=/etc/php5/cli --with-apxs2=/usr/bin/apxs2 --with-config-file-path=/etc/php5/cli --enable-zip --enable-calendar --enable-mbstring --with-mysql --with-mysqli --with-curl --with-curlwrappers --with-zlib --with-gd --with-jpeg-dir --with-png-dir --with-mcrypt --with-mhash --with-pdo-mysql  
make  
make install-cli

Ho ricevuto alcuni avvisi riguardo alla necessità di dichiarazioni LoadModule in apache2.conf e httpd.conf, se trovi anche tu questo, puoi aggiungere dichiarazioni fittizie commentate e fare di nuovo install.

nano /etc/apache2/apache2.conf
[...]  
    # Includi la configurazione del modulo:  
    Include /etc/apache2/mods-enabled/*.load  
    Include /etc/apache2/mods-enabled/*.conf

    # Direttiva LoadModule fittizia per facilitare le installazioni di moduli  
    #LoadModule dummy_module /usr/lib/apache2/modules/mod_dummy.so
[...]  

15 Testare PHP e la Libreria GD / Ottenere Dettagli Sulla Tua Installazione PHP5

Poiché abbiamo PHP-CLI installato, possiamo testare l’installazione della Libreria GD con:

php -r "var_dump(function_exists('imagecreatefromjpeg'));" <-- restituirà true se la Libreria GD è installata  
php -r "var_dump(function_exists('imagerotate'));" <-- sarà false se è installata la libreria limitata

La radice del documento del sito web predefinito è /var/www. Ora creeremo un piccolo file PHP (phpinfo.php) in quella directory e lo chiameremo in un browser. Il file mostrerà molti dettagli utili sulla nostra installazione di PHP, come la versione di PHP installata.

nano /var/www/phpinfo.php

Ora chiamiamo quel file in un browser (ad esempio, http://192.168.0.100/phpinfo.php):

Ora dovresti vedere, PHP5 sta funzionando, scorrendo verso il basso, vedrai tutti i moduli che sono già abilitati in PHP5. Dovresti anche vedere MySQL elencato lì.

16 Configurare le installazioni

Dobbiamo assicurarci che rewrite_module sia abilitato in apache2 affinché il Zend Framework funzioni correttamente, quindi controlliamo:

a2dismod

Speriamo che tu possa vedere rewrite elencato nell’elenco dei moduli attualmente abilitati. Se non lo è, premi invio per non disabilitare nulla e poi emetti:

a2enmod rewrite

Poi dobbiamo abilitare AllowOverride All nel file del sito predefinito

nano /etc/apache2/sites-available/default
[...]  
  DocumentRoot /var/www/  
          
                Options FollowSymLinks  
                AllowOverride All  
          
        <directory var="" www="">  
                Options FollowSymLinks   
                AllowOverride All  
                Order allow,deny  
                allow from all  
          
[...]  

Dopo questo dobbiamo proteggere phpMyAdmin eliminando il file /etc/phpmyadmin/htpasswd.setup…

rm -f /etc/phpmyadmin/htpasswd.setup

… e rimuovere o commentare la seguente sezione in /etc/phpmyadmin/apache.conf:

nano /etc/phpmyadmin/apache.conf
[...]  
## Autorizza per la configurazione  
#  
#      
#    AuthType Basic  
#    AuthName "phpMyAdmin Setup"  
#    AuthUserFile /etc/phpmyadmin/htpasswd.setup  
#      
#    Require valid-user  
#  
[...]  

Riavvia Apache successivamente:

/etc/init.d/apache2 restart

17 Installare Zend Framework

Sebbene Zend Framework sia disponibile nei repository di Ubuntu 9.04, è la versione 1.7.5 e voglio avere l’ultima versione, quindi la scaricherò tramite SVN, ma prima dobbiamo installarla:

aptitude install subversion

Ora possiamo ottenere l’ultima versione del Zend Framework

cd /opt  
mkdir ZendFramework  
cd /ZendFramework  
svn co http://framework.zend.com/svn/framework/standard/tags/release-1.8.3/

Successivamente, ciò che faremo è creare un collegamento simbolico chiamato “current” a quella cartella di rilascio, in modo che se cambiamo la versione del Zend Framework, possiamo farlo senza riavviare Apache:

ln -s release-1.8.3 current

In modo che non dobbiamo aggiungere manualmente il percorso di inclusione nei tuoi script PHP utilizzando set_include_path. Voglio che il Zend Framework corrente sia incluso automaticamente, aggiungendo il percorso a /etc/php5/apache2/php.ini.

nano /etc/php5/apache2/php.ini

Cambia:

include_path = ".:/usr/share/php5:/usr/share/pear"

in:

include_path = ".:/opt/ZendFramework/current/library:/usr/share/php5:/usr/share/pear"

Riavvia Apache di nuovo:

/etc/init.d/apache2 restart

Quando viene rilasciata una nuova versione del Zend Framework, tutto ciò che dobbiamo fare è controllare la directory SVN e cambiare il collegamento simbolico.

cd /opt/ZendFramework  
svn co http://framework.zend.com/svn/framework/standard/tags/release-1.8.4/  
rm current  
ln -s release-1.8.4 current

18 Configurare lo Strumento Zend

Ora dobbiamo impostare i percorsi per la riga di comando, quindi faremo le stesse modifiche che abbiamo appena fatto sopra al PHP CLI.

nano /etc/php5/cli/php.ini
include_path = ".:/opt/ZendFramework/current/library:/usr/share/php5:/usr/share/pear"

Prima di uscire dall’utente Super, abbiamo un’ultima cosa da fare affinché tu possa utilizzare lo strumento sotto il tuo nome utente piuttosto che come superutente, dovrai impostare i permessi sulla cartella /var/www

chown username:usergroup /var/www

Ora a questo punto dovrai uscire dall’utente super:

exit
nano ~/.bashrc

e aggiungere la riga

[...]  
PATH=/opt/ZendFramework/current/bin:"${PATH}"
[...]  

Quasi finito, testeremo solo l’installazione, ma prima probabilmente dovremmo riavviare.

sudo reboot

Quando accedi di nuovo, non usare sudo su, ma invece:

zf.sh show version

E dovresti ottenere

Zend Framework Version: 1.8.3

19 Utilizzare lo Strumento

Naviga nella directory in cui vuoi il tuo nuovo progetto:

cd /var/www  
zf.sh create project yourProject

E dovresti scoprire che lo strumento creerà la tua struttura di base del sito, inclusi i tuoi controller e viste iniziali.

Infine, probabilmente vorrai copiare la cartella Zend nel tuo nuovo progetto

cp -r /opt/ZendFramework/current/library/Zend /var/www/yourProject/library/Zend

E puoi testare l’installazione di Zend andando su: http://192.168.0.100/yourProject/public/

Divertiti!

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.