phpIPAM è un’applicazione di gestione degli indirizzi IP Web open source (IPAM).
Il suo obiettivo è fornire una gestione degli indirizzi IP leggera, moderna e utile.
È un’applicazione basata su php con backend database MySQL, che utilizza librerie jQuery, funzionalità ajax e HTML5/CSS3.
In questo tutorial vedremo come installare phpIPAM 1.7 su server Ubuntu 22.04 utilizzando il PHP 8.1, Apache e MariaDB
PREREQUISTI
Server Ubuntu 22.04
Utenza condiritti di sudo
AGGIORNAMENTO DEL SISTEMA
0 1 |
sudo apt update sudo apt upgrade |
INSTALLAZIONE DI MARIADB SERVER
Iniziare con l’installazione di MariaDB eseguendo il comando:
0 |
sudo apt install mariadb-server mariadb-client |
Verificare che il servizio mariadb sia avviato e impostato per l’avvio all’avvio con i comandi:
0 1 |
sudo systemctl enable mariadb sudo systemctl start mariadb |
Proteggere il server del database impostando la password di root con il comando:
0 |
sudo mysql_secure_installation |
Quindi rispondere alle domande come di seguito:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and haven't set the root password yet, you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password or using the unix_socket ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have your root account protected, so you can safely answer 'n'. Switch to unix_socket authentication [Y/n] y Enabled successfully! Reloading privilege tables.. ... Success! You already have your root account protected, so you can safely answer 'n'. Change the root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB! |
CREAZIONE DEL DATABASE PER PHPIPAM
Accedere al Database Server con il comando:
0 |
sudo mysql -u root -p |
Quindi inserire la password di root creata poco fa
Procedere con la creazione del database di phpipam e del relativo utente con i seguenti comandi:
0 1 2 3 |
CREATE DATABASE phpipam; GRANT ALL ON phpipam.* TO phpipam@localhost IDENTIFIED BY 'PASSWORD'; FLUSH PRIVILEGES; QUIT; |
NOTA BENE: al posto di PASSWORD inserire la password desiderata a piacimento
INSTALLAZIONE DI PHP E DEI MODULI RICHIESTI
La fase successiva è l’installazione di php e dei moduli richiesti. Eseguire i seguenti comandi:
0 |
sudo apt update |
quindi
0 |
sudo apt -y install php php-{mysql,curl,gd,intl,pear,imap,memcache,pspell,tidy,xmlrpc,mbstring,gmp,json,xml,fpm} |
Modificare le impostazioni del timezone all’interno dei file php.ini con i seguenti comandi:
0 1 2 |
sudo nano /etc/php/8.1/apache2/php.ini sudo nano /etc/php/8.1/cli/php.ini |
Cercare in entrambe i file l’opzione ;date.timezone quindi impostare:
0 |
date.timezone = Europe/Rome |
Salvare e chiudere i files
INSTALLAZIONE DI PHPIPAM
Dato che scaricheremo phpIPAM da Github installare prima git con il comando:
0 |
sudo apt -y install git |
Clonare il codice phpIPAM da github con il comando:
0 |
sudo git clone --recursive https://github.com/phpipam/phpipam.git /var/www/html/phpipam |
Cambiare la Clone directory con il comando:
0 |
cd /var/www/html/phpipam |
CONFIGURAZIONE DI PHPIPAM
Spostarsi nella directory /var/www/html/phpipam con il comando:
0 |
cd /var/www/html/phpipam |
quindi copiare il file config.dist.php in config.php con il comando:
0 |
sudo cp config.dist.php config.php |
Modificare il file config.php con il comando:
0 |
sudo nano config.php |
Quindi inserire tutti i dati relativi al Database creato precedentemente nella sezione CREAZIONE DEL DATABASE PER PHPIPAM
Inserire tutti i paramentri come mostrato nell’immagine sovrastante quindi salvare e chiudere il file di configurazione.
INSTALLAZIONE DEL WEB SERVER APACHE
In questo tutorial come web server utilizzerò Apache.
Procedere con l’installazione di Apache con il comando:
0 |
sudo apt -y install apache2 |
Quindi eseguire in sequenza i comandi:
0 1 2 |
sudo a2dissite 000-default.conf sudo a2enmod rewrite sudo systemctl restart apache2 |
Procedere con l’installazione dei moduli PHP con il comando:
0 |
sudo apt -y install libapache2-mod-php php-curl php-xmlrpc php-intl php-gd |
Creare il file di configurazione di Apache per phpIPAM con il comando:
0 |
sudo nano /etc/apache2/sites-available/phpipam.conf |
Quindi inserire il seguente listato:
0 1 2 3 4 5 6 7 8 9 10 11 12 |
<VirtualHost *:80> ServerAdmin admin@test.com DocumentRoot "/var/www/html/phpipam" ServerName ipam.test.com ServerAlias www.ipam.test.com <Directory "/var/www/html/phpipam"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog "/var/log/apache2/phpipam-error_log" CustomLog "/var/log/apache2/phpipam-access_log" combined </VirtualHost> |
NOTA BENE: modificare le variabili ServerAdmin, ServerName e ServerAlias inserendo i propri parametri
Salvare e chiudere il file di configurazione
Settare i permessi della directory con il comando:
0 |
sudo chown -R www-data:www-data /var/www/html |
Abilitare il sito con il comando:
0 |
sudo a2ensite phpipam |
Riavviare Apache con il comando:
0 |
sudo systemctl restart apache2 |
INSTALLAZIONE DI PHPIPAM DA INTERFACCIA WEB
Avviare il processo di installazione richiamando da un qualsiasi browser il link http://ipam.test.com, (sostituire ipam.test.com con il nome di dominio valido).
L’URL potrebbe anche essere http://domain.com/phpipam o l’indirizzo IP invece del nome DNS a seconda della configurazione.
Cliccare su New phpipam installation
Dato che in questo tutorial abbiamo creato il Database in precedenza selezionare l’opzione 2 MySQL/MariaDB import instructions
In questa schermata possiamo visualizzare il comando per importare il file SQL
Dalla console SSH eseguire il comando:
0 |
mysql -u root -p phpipam < /var/www/html/phpipam/db/SCHEMA.sql |
Quindi inserire la password di root del database
Ritornare all’interfaccia web e cliccare su Login
Se è andato tutto a buon fine dovremmo la schermata di Login di phpIPAM
Inserire le credenziali di default:
Username: admin
Password: ipamadmin
Quindi cliccare Login
Inserire la vecchia password quindi la nuova e cliccare su Save password
Cliccare su Dashboard
A questo punto dovremmo visualizzare la Dashboard di phpIPAM
AUTOMAZIONE DEI TASK
Creare i processi cron che eseguono il rilevamento automatico del ping e il controllo del ping con il comando:
0 |
sudo crontab -e |
Selezionare l’opzione 1
Quindi al fondo del file di configurazione inserire le seguenti righe:
0 1 |
*/15 * * * * /usr/bin/php /var/www/html/phpipam/functions/scripts/pingCheck.php */15 * * * * /usr/bin/php /var/www/html/phpipam/functions/scripts/discoveryCheck.php |
Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi.
Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare.
Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.
0 Comments