Vai al contenuto

Creare e gestire un sito web in locale con Linux OpenSuse 15.4 Leap


ThunderBlue

Messaggi raccomandati

Tutto questo è denominato anche LAMP che sta per Linux - Apache - MariaDB - Php - PhpMyAdmin

 

Si andrà ad installare i seguenti servizi, Apache2 (in OpenSuse dovrebbe essere già installato come impostazione predefinita), il Php8, versione utilizzata in questo momento, MariaDB , phpMyAdmin e altri due o tre moduli necessari . Quando posso evito i comandi da console perchè fatico nel ricordarli, quindi per installare questi servizi ho utilizzato Yast/Gestione pacchetti, ma per fare più bella figura ho cercato anche i comandi per chi vuole divertirsi con la console.

Bene! Ho iniziato installando Apache2, ma in realtà OpenSuse lo ha già installato di suo.

Il comando per installarlo da console è il seguente

sudo zypper install apache2

 

Iniziamo con la configurazione aprendo la console come amministratore tramite il comando SU/Password di root, e da li digitare il comando per attivare Apache2

systemctl start apache2

 

questo comando serve anche per farlo partire all'avvio del pc

systemctl enable apache2

 

per vedere se tutto è ok si utilizza il comando

systemctl status apache2

 

e dovrebbe comparire una finestra simile

7ZuAmKu.png

 

per sbloccare la console bisogna premere la lettera Q.

Si può anche verificare con il comando netstat

netstat -tlpn | grep httpd

 

aPzkazX.png

 

Adesso che è stato installato vediamo se può gestire le pagine web, ne creiamo una che faremo andare nello stesso percorso nel quale si andrà poi ad inserire tutto il necessario per creare il proprio sito, ovvero srv/www/htdocs/index.html 

per farlo utilizziamo il comando

echo "<h1>Apache2 in esecuzione su  OpenSuse 15.4 Leap</h1>" | sudo tee /srv/www/htdocs/index.html

 

Dimenticavo! Se è in esecuzione il Firewall si devono liberare le seguenti porte con il comando

Generica
firewall-cmd --permanent --add-port=80/tcp

Per la protezione SSL
firewall-cmd --permanent --add-port=443/tcp

Per la comunicazione con il DataBase
firewall-cmd --permanent --add-port=3306/tcp

Per riavviare il Firewalld una volta liberate le porte
firewall-cmd --reload

 

Adesso si può verificare la gestione delle pagine con il Browser inserendo questi indirizzi http://localhost/index.html oppure http://server-ip/index.html. Se tutto è andato bene si vedrà questa scritta

EjxhLEz.png

 

Adesso si può installare MariaDB, da Yast/Gestione paccheti, oppure da console con il comando

zypper install mariadb mariadb-client

 

una volta installato, come è stato fatto per Apache2, si deve attivare con questi comandi

systemctl start mariadb 
systemctl enable mariadb 

 

per verificarne lo stato con il comando

systemctl status mariadb

 

xXKBl9o.png

 

Nel mio caso ho già tutto configurato, quindi gli screen potrebbero risultare leggermente diversi.

Adesso che è stato avviato anche il servizio MariaDB è necessario proteggere la sua installazione con il comando

mysql_secure_installation

 

Una volta che lo script è stato invocato, leggi attentamente la descrizione ad ogni passaggio. È necessario impostare una password utente root, rimuovere utenti anonimi, disabilitare l'accesso root remoto, rimuovere il database di test ed infine ricaricare la tabella dei privilegi.

 

  1. alla richiesta: Enter current password for root (enter for none): premere Invio
  2. alla richiesta: Switch to unix_socket authentication [Y/n] premere Y
  3. alla richiesta: Change the root password? [Y/n] premere Y ed inserire la Password
  4. alla richiesta: Remove anonymous users? [Y/n] premere Y
  5. alla richiesta: Disallow root login remotely? [Y/n] premere Y
  6. alla richiesta: Remove test database and access to it? [Y/n] premere Y
  7. e all'ultima richiesta: Reload privilege tables now? [Y/n] premere Y

 

Ecco come dovrebbe apparire nella console se sono stati eseguiti i passaggi qui sopra indicati

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!

 

Utilizzando un forum in PHP, oltre al PHP8 ho installato i seguenti moduli aggiuntivi, ovviamente tramite Yast/Gestione pacchetti.

 

  1. php8 - Interpreter for the PHP scripting language version 8

    PHP is a server-side HTML embedded scripting language designed primarily for web development but also used as a general-purpose programming language.

    This package contains the base files for all subpackages and must be installed in order to use PHP. Additionally, extension modules and server modules (e.g. for Apache) may be installed.

  2. apache2-mod_php8 - PHP8 module for the Apache 2.x webserver

    PHP is a server-side, cross-platform HTML embedded scripting language. If you are completely new to PHP and want to get some idea of how it works, have a look at the Introductory tutorial. Once you get beyond that, have a look at the example archive sites and some of the other resources available in the links section.

    Please refer to /usr/share/doc/packages/php8/README.SUSE for information on how to load the module into the Apache webserver.

  3. php8-mysql - MySQL database client for PHP

    Funzioni PHP per accedere ai server database MySQL.

  4. php8-gd - GD Graphics Library extension for PHP

    PHP functions to create and manipulate image files in a variety of different image formats, including GIF, PNG, JPEG, WBMP, and XPM. Even more convenient: PHP can output image streams directly to a browser.

  5. php8-mbstring - Multibyte string functions for PHP

    mbstring provides multibyte specific string functions that help dealing with multibyte encodings in PHP. mbstring handles character encoding conversion between the possible encoding pairs. mbstring handles Unicode-based encodings such as UTF-8 and UCS-2 and many single-byte encodings for convenience.

 

Adesso si può attivare anche il PHP8 con il comando

a2enmod php8

 

si riavvia il sever Apache2 per rendere tutte le modifiche effettive con il comando

systemctl restart apache2

 

e si può verificare se tutto funziona creando una pagina in .php che verrà posizionata sempre nella cartella dove si gestiranno successivamente i siti, cioè in srv/www/htdocs/info.php con il seguente comando

echo "<?php phpinfo(); ?>" | sudo tee  /srv/www/htdocs/info.php

 

si apre il browser ed inserendo questi indirizzi, http://localhost/info.php oppure http://server-ip/info.php si potranno visualizzare tutte le info del vostro php

jpgB0uM.png

 

Siamo alla fine e manca solo il PhpMyAdmin che serve per gestire le tabelle che verranno inserite dal vostro sito nel Database, e per farlo sempre tramite Yast/Gestione Pacchetti, oppure con il comando

zypper install phpMyAdmin

 

Una volta installato basterà aprire il browser ed inserire questi indirizzi http://localhost/phpMyAdmin oppure http://server-ip/phpMyAdmin.

L'utente principale con il quale potrai accedere è root e inserirai la password che hai inserito nella configurazione della protezione di MariaDB.

 

Credo di aver detto tutto quello che serve per poter creare, gestire e modificare un sito in locale.

Non sono un esperto e riporto solo quello che faccio unendo tutte le informazioni raccolte in rete, quindi in caso di problemi scrivete pure, mal che vada si cercherà assieme una soluzione :thumbup3:

  • Mi piace 1
Link al commento
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un utente registrato per poter lasciare un commento

Creare un Account

Crea un nuovo account nella nostra comunità. È facile!

Registra un nuovo account

Accedi Subito

Hai già un account? Accedi cliccando qui.

Accedi Adesso



  • Ti piace questo Forum?

    Cliccando sul pulsante sottostante, non solo aiuterai il nostro sito, ma ne potrai creare e gestire uno tutto tuo. Grazie alla nostra traduzione in italiano, configurarlo sarà molto più semplice e veloce.

    Ottieni una licenza IPS

  • Proteggi il tuo sito con hCaptcha

    Cliccando sul pulsante sottostante, non solo aiuterai il nostro sito, ma potrai ottenere gratuitamente una chiave da inserire nel tuo forum in protezione dagli attacchi di Spam. La miglior protezione in pochissimi clic!

    Ottieni una chiave hCaptcha

  • Dillo ad un amico

    Ti piace Ibforum.it? Dillo ad un amico!

Su di Noi

Ibforum nasce per una passione verso questa board della Invision. Non ci siamo mai posti il problema di raggiungere un determinato obiettivo, ma con il tempo abbiamo iniziato a tradurre tutto il sistema cercando di fare del nostro meglio. Questo dominio è stato anche il primo nato in Italia (Gestito da ragazzi che erano veramente in gamba), per supportare le prime pubblicazioni di questo modello di Forum. Ci auguriamo che possa tornare ad essere di aiuto come un tempo. Evidenziamo anche argomentazioni trattate da altri siti che più o meno per noi possono essere di interesse comune, condividendo anche le nostre esperienze personali o passioni.

×
×
  • Crea Nuovo...

Informazione Importante

Questo sito web utilizza i Cookie e consente l'invio di cookies di terze parti. Premendo il tasto OK ACCETTO o compiendo una qualunque azione all'interno del sito web ne accetterai il loro utilizzo e la nostra Politica Sulla Riservatezza