Print this page
Domenica, 18 Gennaio 2015 22:41

Website in locale: guida facile

Rate this item
(1 Vote)

Ecco come fare per avere un sito sul proprio PC con una macchina LAMP (Linux, Apache, Mysql, PHP). Mi scuso per l'eventuale inesattezza di definizioni e per la scrittura sintetica. I comandi si danno dal terminale.

Aggiornamento 2021. Con Linux Mint 20.1 ho avuto un problema con la configurazione dell'utente root in MySQL 8. L'articolo aggiornato si trova qui (link lo metto appena scrivo l'articolo :))

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.

Read 3054 times Last modified on Martedì, 19 Gennaio 2021 13:06