Sui miei due computer, un portatile e un fisso, ho installato LAMP (acronimo di Linux, Apache, MySQL e PHP) per poter realizzare in locale programmi PHP grazie all'utilizzo del server Apache. Effettuando alcune prove di collegamento fra due PC con Linux installato, mi sono accorto che se inserisco l'indirizzo IP di uno, nel browser dell'altro ho accesso alla cartella creata e impostata di default dal processo di installazione del server Apache dove vengono memorizzati i vari programmi/siti scritto in PHP. E' condizione fondamentale che il server Apache sia attivo nel computer al qule ci coleghiamo.
Andiamo per gradi. Ho fatto così:
Controllo server Apache
PC Fisso -
$ systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2023-04-26 06:52:01 CEST; 37min ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 792 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 922 (apache2)
Tasks: 11 (limit: 9214)
Memory: 28.5M
CGroup: /system.slice/apache2.service
├─ 922 /usr/sbin/apache2 -k start
├─ 926 /usr/sbin/apache2 -k start
├─ 927 /usr/sbin/apache2 -k start
├─ 928 /usr/sbin/apache2 -k start
├─ 929 /usr/sbin/apache2 -k start
├─ 930 /usr/sbin/apache2 -k start
├─2277 /usr/sbin/apache2 -k start
├─2300 /usr/sbin/apache2 -k start
├─2302 /usr/sbin/apache2 -k start
├─2305 /usr/sbin/apache2 -k start
└─2306 /usr/sbin/apache2 -k start
PC Portatile -
$ systemctl status apache2
â— apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2023-04-26 06:52:42 CEST; 36min ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 658 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 704 (apache2)
Tasks: 55 (limit: 4585)
Memory: 19.8M
CPU: 266ms
CGroup: /system.slice/apache2.service
├─ 704 /usr/sbin/apache2 -k start
├─ 705 /usr/sbin/apache2 -k start
└─ 706 /usr/sbin/apache2 -k start
In entrambi è attivo, se non lo fosse stato è necessario attivarlo in questo modo:
$ systemctl start apache2
Recupero indirizzo IP
Adesso è necessario conoscere l'indirizzo IP dei due computer.
PC Fisso -
$ ip addr show 1: lo:mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eno1: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:e0:4c:0a:e2:36 brd ff:ff:ff:ff:ff:ff inet 192.168.1.5/24 brd 192.168.1.255 scope global dynamic noprefixroute eno1 valid_lft 18305sec preferred_lft 18305sec inet6 fe80::d94:ac98:9784:3890/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: wlo2: mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 20:1e:88:b9:99:e8 brd ff:ff:ff:ff:ff:ff inet 192.168.1.9/24 brd 192.168.1.255 scope global dynamic noprefixroute wlo2 valid_lft 18308sec preferred_lft 18308sec inet6 fe80::919b:e772:e756:79b5/64 scope link noprefixroute valid_lft forever preferred_lft forever
PC Portatile -
$ ip addr show 1: lo:mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp2s0f0: mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether 10:9a:dd:6e:fa:b4 brd ff:ff:ff:ff:ff:ff inet 169.254.15.174/16 brd 169.254.255.255 scope link enp2s0f0:avahi valid_lft forever preferred_lft forever 3: wlp3s0b1: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether e0:f8:47:42:62:6c brd ff:ff:ff:ff:ff:ff inet 192.168.1.8/24 brd 192.168.1.255 scope global dynamic wlp3s0b1 valid_lft 18058sec preferred_lft 18058sec inet6 fe80::e2f8:47ff:fe42:626c/64 scope link valid_lft forever preferred_lft forever
Io mi sono recuperato gli indirizzi IP della rete WiFi (generalmente hanno un nome che inizia con wl...) perché questa è la tipologia di connessione che ho in casa; qualora abbiate un collegamento tramite cavo Ethernet collegato al router, (generalmente hanno un nome che inizia con eth... o en...) dovete annotarvi i rispettivi valori.
Creazione cartella per condivisione file
La cartella cui abbiamo accesso, in entrambi i computer è /var/www/html, all'interno della quale ci sono altre cartelle relative ad alcuni siti realizzati dal sottoscritto. Per tenere in ordine questa directory e non mescolare i programmi con i file da condividere, mi creo una cartella, banalmente etichettata come Condivisa, adatta allo scopo. Tale comando deve impartito su entrambi i computer.
$ sudo mkdir /var/www/html/Condivisa [sudo] password di gandalfrank:
Connessione
Da computer Fisso, aprire il browser e nella barra degli indirizzi digitare l'IP del Portatile (192.168.1.8), per effettuare una connessione.
Similmente a quanto appena fatto, aprire il browser nel Portatile e digitare l'indirizzo IP del Fisso (192.168.1.9) per effettuare una connessione.
NOTA BENE: Le due cartelle "Condivisa" non rappresentano la stessa directory, né sono sincronizzate, semplicemente ho assegnato loro lo stesso nome e possono contenere file diversi l'una dall'altra, solo che sono accessibili da entrambi i pc con il modo sopra esposto. Infatti se copio due gruppi di file diversi fra loro nelle due cartelle ottengo questo:
Fisso collegato alla cartella "Condivisa" del Portatile:
Portatile collegato alla cartella "Condivisa" del Fisso:
Come si può vedere il contenuto delle due cartelle è diverso.
Per copiare i file di una cartella nell'altro PC è sufficiente aprire un file alla volta e salvarlo dove preferiamo.
Connessione
Questo metodo forse non è dei più pratici e qualcuno storcerà il naso vedendo come lo uso, ma personalmente non amo avere troppi programmi nel computer e quando posso uso sempre le risorse che ho già a disposizione piuttosto che installarne di nuove, come ad esempio Samba.
ATTENZIONE!!! Come già anticipato all'inizio dell'articolo, questo tipo di collegamento prevede che su entrambi i PC sia installato e attivo il server Apache, se così non fosse e voleste usare questo metodo, è necessario provvedere all'installazione del server stesso e poi seguire questo articolo:
$ sudo apt install apache2 [sudo] password di gandalfrank: