Server LAMP · 5 min read · Oct 25, 2025

Avere il tuo server LAMP Debian (Chrooted) mentre esegui il perfetto desktop Ubuntu

Avere il tuo server LAMP Debian (Chrooted) mentre esegui il perfetto desktop Ubuntu

Questa è una breve descrizione dei passaggi da seguire per impostare un server web basato su Debian (Debian Sarge alias Debian 3.1) che verrà eseguito chrooted sotto Ubuntu 7.04.

Ho seguito l’eccellente guida di Falko su come impostare il perfetto desktop ubuntu 7.04:

https://www.howtoforge.com/the_perfect_desktop_ubuntu7.04

Tuttavia, per rendere il desktop perfetto per me, devo aggiungere una o due cose. Innanzitutto, aggiungerò AVG poiché potrei trasferire file e dati su altri PC e quindi voglio assicurarmi di non trasmettere virus. Per fare questo, seguirò un’altra delle eccellenti guide di Falko:

https://www.howtoforge.com/avg_antivirus_ubuntu_feisty

Poi devo installare un server web che somigli a quello del mio ISP in modo da poter testare prima di caricarli nel loro luogo finale. Non sto eseguendo il mio server web perché mi connetto a Internet tramite ADSL, potrebbe arrivare fino a 8M in download, ma ha solo 256K in upload, che è ciò che i visitatori dei miei siti riceveranno e dipenderà dal traffico al mio scambio locale.

Voglio che le mie pagine web ottengano il massimo beneficio dalla larghezza di banda disponibile per la connessione T1 del mio ISP, quindi tengo le mie pagine web ospitate in remoto.

Questo non significa che non possa testare tutto accuratamente prima che vada lì e quindi ho bisogno che il mio server LAMP includa:

  • Apache 1.3.33 (Debian GNU/Linux)
  • PHP/4.3.10-19
  • mysql 4.0.24.
  • phpmyadmin

Queste versioni più vecchie di Apache, PHP e mysql non sono più disponibili per l’installazione sotto Ubuntu e possono essere installate solo su debian Sarge, quindi invece di eseguirlo come piattaforma di base, lo installerò come sistema minimale sopra il mio desktop Ubuntu e eseguirò i programmi Debian tramite chroot.

Se lo stai facendo anche tu e hai già installato apache o mysql, dovrai assicurarti che non siano in esecuzione mentre installi o esegui il tuo apache/mysql sarge. Questo perché l’apache e il mysql di sarge non riusciranno a collegarsi alle rispettive porte di ascolto se le versioni di ubuntu sono già in ascolto su di esse.

Prima dobbiamo installare debootstrap poiché lo useremo per creare il sistema minimale. Poi possiamo scaricare e installare Debian Sarge.

Apri una finestra del Terminale:

sudo bash  
apt-get install debootstrap  
mkdir sarge-dir

Ora dovresti trovare il tuo mirror debian più vicino e usarlo per scaricare e installare il sistema debian. Vai su http://www.debian.org/mirror/list/ e trova l’indirizzo del mirror appropriato, poi:

debootstrap sarge sarge-dir http://ftp.uk.debian.org/debian

Sto usando il mirror del Regno Unito, ma puoi cambiare la parte uk con quello di cui hai bisogno. Dopo alcuni minuti, il download e l’installazione dovrebbero essere completati, devi:

mount -o bind /proc sarge-dir/proc

Questo renderà disponibile il filesystem proc in chroot. Il filesystem pseudo proc è un filesystem residente in memoria in tempo reale che tiene traccia dei processi in esecuzione sulla tua macchina e dello stato del tuo sistema.

E da ora in poi, utilizzare il nuovo sistema è semplice come digitare:

chroot sarge-dir

Questo comando ti mette in chroot e puoi modificare i file all’interno del nuovo sistema sarge installato.

A questo punto, se desideri, puoi seguire un’altra delle eccellenti guide di Falko:

https://www.howtoforge.com/perfect_setup_debian_sarge

Inizia semplicemente il tutorial dopo la sezione di rete. Anche se sarà necessario un lavoro extra per installare correttamente il server di posta, poiché in quel tutorial viene installato durante l’avvio, ma questo è per qualcun altro fornire dettagli.

Non lo farò poiché ho bisogno di una versione diversa di apache e non ho bisogno di tutto il resto configurato. Quindi modificherò il sources.list e aggiornerò il filesystem.

echo deb http://ftp.uk.debian.org/debian/ sarge main > /etc/apt/sources.list  
echo deb http://security.debian.org/ sarge/updates main >> /etc/apt/sources.list  
apt-get update  
apt-get upgrade

Ora è il momento di installare i programmi di cui ho bisogno:

apt-get install apache php4 mysql-server phpmyadmin

Abilitare suExec? <– Sì
MySQL si installerà solo se hai un hostname NON NUMERICO … <– Ok
Quale server web desideri riconfigurare automaticamente? <— apache
Vuoi che riavvii apache ora? <– Sì

Potresti trovare alcuni messaggi di errore riguardanti le impostazioni locali non configurate:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = “en_GB.UTF-8

sono supportate e installate sul tuo sistema.
perl: warning: Falling back to the standard locale (“C”).
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

Questo potrebbe essere dovuto al fatto che il metodo di installazione debootstrap potrebbe non aver installato le impostazioni locali.

apt-get install locales localeconf

Seleziona le impostazioni locali da generare.

[] en_GB ISO-8859-1
[
] en_GB.ISO-8859-15 ISO-8859-15
[*] en_GB.UTF-8 UTF-8
<– Ok

Quale impostazione locale dovrebbe essere quella predefinita nell’ambiente di sistema? <– en_GB

Gestire i file di configurazione delle impostazioni locali con debconf? <– Sì
Se non desideri utilizzare l’impostazione locale di sistema predefinita… <– Ok
Impostazioni ambientali che dovrebbero sovrascrivere l’impostazione locale predefinita: <– Vuoto
Sostituire i file di configurazione delle impostazioni locali esistenti? <– Sì
Se non sei sicuro … sempre supportato. <– Ok
Impostazione locale di sistema predefinita: <– en_GB.UTF-8 UTF-8

Ora creerò un utente sarge che è lo stesso del mio attuale utente ubuntu. Questo significa che non dovrei avere problemi di autorizzazioni quando modifico le mie pagine web in Ubuntu.

adduser user_name_in_ubuntu

Il file di configurazione di Apache si trova ancora in: /etc/apache/httpd.conf, ma è referenziato da sarge-dir e la stessa cosa si applica alla tua cartella web /var/www. Quando modifichi le pagine web dal desktop Ubuntu, vai prima su sarge-dir e poi trova /var/www/. Quando modifichi le pagine web in Ubuntu, vai prima su sarge-dir e poi trova /var/www/

Ora controllerò le installazioni.

Le installazioni di apache e php possono essere eseguite insieme creando un file phpinfo nella tua cartella /var/www con il comando phpinfo() al suo interno. Ancora chrooted per il momento.

nano /var/www/phpinfo.php

In questo file dovresti digitare:

Punta il tuo browser su http://localhost/phpinfo.php e questo dovrebbe mostrare l’intera configurazione di apache e le impostazioni predefinite.

Il file di configurazione per mysql si trova in: /etc/mysql/my.cnf, ancora referenziato da sarge-dir. A questo punto è anche utile impostare la password di Root, quindi, ancora chrooted:

mysql -u root

Per portarti al prompt dei comandi di mysql, poi:

mysql> USE mysql;  
mysql> UPDATE user SET Password=PASSWORD('your-password') WHERE user='root';  
mysql> FLUSH PRIVILEGES;

Il file di configurazione di phpmyadmin si trova in: /etc/phpmyadmin/config.inc.php.

Potresti voler aggiungere la tua password mysql in esso per evitare di dover accedere alla console di phpmyadmin ogni volta che hai bisogno di usarla.

Se hai mai bisogno di riavviare Apache o se apache non si avvia all’avvio, allora dovrai chroot nel sarge prima e poi riavviare apache.

sudo bash  
chroot sarge-dir  
/etc/init.d/httpd restart
Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.