1) Installare una distribuzione LInux. Al momento ritengo la migliore Linux Mint con desktop MATEo XFCE: sufficientemente leggera ma con tutto quello che serve e derivata da Ubuntu. In fase di installazione VA deciso un user e pass: questa pass servirà per qualsiasi azione di installazione o configurazione - e comunque va data ogni volta che si chiama il comando sudo.
2) Installare server Apache (server gestione web), Mysql (gestione database) e PHP (linguaggio per pagine web):
~ $ sudo apt-get install apache2 php libapache2-mod-php mysql-server
~ $ sudo apt-get install phpmyadmin php-mysql
In fase di configurazione verrà chiesta la pass di root per varie cose. Non è sicuro, ma è più facile, dare a tutto la stessa password. Varrà solo per il sito in locale, quando poi lo si mette in remoto si fa diversamente.
3) Procurarsi una versione di Joomla, estrarre la cartella di installazione e copiarla in /var/www (supponiamo che la cartellasi chiamerà "site", il nome del sito sia "site" e poi la metteremo in "www.site.it")
~ $ sudo cp -rR site /var/www/
4) Occorre dare i permessi alla cartella, in modo che solo apache e il superuser possano accedervi:
~ $ sudo chown -R -v www-data /var/www
5) Creare il database relativo al sito mediante phpmyadmin (http://localhost/phpmyadmin): entrare come root, selezionare nuovo database, creare utente con privilegi di controllo totale dando tutti i privilegi in controllo utente.
A questo punto se si va sul browser e digita "localhost" viene fuori la pagina che conferma l'installazione di apache, ma non il sito che vogliamo. Per quello basterebbe andare a dire ad apache di caricare anzichè il default che si trova in /var/www/html, il nostro sito in /var/www/site. Si può sovrascrivere il default, o si può aggiungere un sito al server, ed è così che farò:
6) Aggiunta del sito ad Apache: duplica il file di configurazione di default aggiungendo il ServerName e modificando la cartella di riferimento
~ $ cd /etc/apache2/sites-available
~ $ sudo cp 000-default.conf site.conf
~ $ sudo pico site.conf
e modificare il file come segue
ServerAdmin webmaster@localhost
ServerName www.site.it
DocumentRoot /var/www/site
ctrl+X (per salvare e uscire)
~ $ sudo a2ensite site
aggiungere a /etc/hosts il sito in locale (www.site.it) sulla riga di localhost quindi riavviare il server apache
~ $ sudo pico /etc/hosts
127.0.0.1 localhost www.site.it (inserire questo come prima riga)
ctrl+X (per salvare e uscire)
~ $ sudo service apache2 restart
A questo punto andando nel browser e scrivendo "www.site.it" si entra nella pagina di Joomla per proseguire l'installazione.
Nel caso si voglia duplicare un sito remoto in locale (ad esempio come backup) si esegue quanto sopra, solo che la cartella sarà stata scaricata via FTP dal sito remoto e il database anzichè essere creato va importato da uno precedentemente esportato dal sito remoto. una buona guida per l'esportazione è questa.
Infine vanno fatti dei piccoli cambiamenti al file gonfiguration.php all'interno della cartella del sito:
$host diventa localhost
$user diventa root
$password la pass di mysql dello user (root)
$db diventa il nome del db locale
$log_path è /var/www/site/logs
$tmp_path è /var/www/site/tmp
Poi vedremo (quando lo farò) come ricaricare il sito modificato su server.