in Linux / Pc / Tech / Web on Centos, Cms, Jekyll, Linux, Nethserver, Ruby
Per chi non lo sapesse Jekyll è un “compilatore” di pagine HTML statiche che consente di creare siti “effetto blog” di grande impatto grafico e che non necessitano di alcun database.
Certo è uno strumento più tecnico e meno fruibile ai più rispetto, ad esempio, a WordPress, ma si sta ritagliando una sua nicchia.
In questo articolo vedremo come installare un piccolo server (nel mio caso una macchina virtuale) che ci consente di approcciare Jekyll.
Per prima cosa installiamo NethServer 7 con le opzioni che preferiamo: io ho usato la Unattended Installation per ridurre al minimo i tempi di configurazione.
Una volta installato, colleghiamoci con un browser all’interfaccia di configurazione server all’indirizzo:
https://<indirizzoip>:980
L’utente è root mentre la password di default è Nethesis,1234: al primo accesso saremo obbligati a cambiare la password e a fornire pochi parametri basilari (fuso orario, ecc.). Inoltre, se vogliamo, possiamo impostare un IP statico per la scheda di rete principale.
Terminate le operazioni di base entriamo nel Software Center e selezioniamo la linguetta Updates e poi il bottone Download and install.
Finito l’aggiornamento, sempre in Software Center selezioniamo la linguetta Available, poi spuntiamo la casella di controllo File server e premiamo il bottone Add.
Ora creiamo una cartella condivisa (sarà accessibile a tutti in rete, perché la configurazione dei permessi esula dagli intenti di questo articolo: nel pannello di sinistra scegliamo Shared folders, bottone Create new, inseriamo sia come nome che descrizione jekyll e assicuriamoci che rimanga spuntata la casella browseable.
La cartella sarà ora disponibile all’indirizzo (Windows style) \<indirizzoip>jekyll .
Installare RVM, Ruby e Jekyll
Per funzionare Jekyll ha bisogno di Ruby, quindi per prima cosa installiamo RVM, che è il modo più veloce di installare Ruby e successivamente Ruby stesso. Da qui in poi lavoreremo da console: io, ad esempio, solitamente mi collego in SSH con Putty.
Quasi sempre per rendere operativo Ruby occorre disconnettersi, riconnettersi e fare tutta una serie di operazione che in realtà vendono eseguite automaticamente al primo riavvio, quindi trovo molto più pratico lanciare un bel reboot e riprendere da lì.
Dopo il riavvio ricolleghiamoci e installiamo Ruby:
rvm install ruby
rvm --default use ruby
Se tutto è andato bene, digitando questo comando dovremmo vedere la versione di Ruby installata:
ruby -v
Ed infine possiamo installare Jekyll:
gem install jekyll bundler
Il nostro primo sito con Jekyll
Siamo pronti per il nostro primo sito! Posizioniamoci nella cartella precedentemente creata (ovviamente questo è il percorso all’interno del file system Linux):
cd /var/lib/nethserver/ibay/jekyll/
Creiamo ora un sito con il tema di default:
jekyll new .
E compilamolo nella root di Apache (ATTENZIONE! Questo cancellerà ogni volta che lanciamo il comando tutto il contenuto della cartella /var/www/html e lo sostituirà con il nostro sito Jekyll!)
jekyll build -d /var/www/html/
Ora collegandoci al nostro server con qualsiasi browser NethServer vedremo…
http://<indirizzoip>/
…il nostro primo sito Jekyll!
Ora basterà editare i file nella cartella condivisa (anche da Windows) e lanciare il comando:
jekyll build -d /var/www/html/
per continuare a sperimentare e vedere gli effetti delle modifiche.
Tradotto e adattato da: HostPresto “How to Install Jekyll on CentOS 7”, 2nd February 2017 – https://hostpresto.com/community/tutorials/how-to-install-jekyll-on-centos-7/
in Linux / Pc / Tech / Web on 42.3, Apache2, Lamp, Leap, Linux, Mariadb, Mysql, Opensuse, Pc, Phpmyadmin, Web
Ho di recente iniziato a sperimentare una nuova (per me) distribuzione Linux: openSUSE 42.3 Leap. E’ basata su RedHat, quindi pacchetti .rpm e non .deb e soprattutto un certo orientamento all’area business. Me l’ha consigliata un professionista di Linux e devo dire che il feeling è quello di un sistema più “rifinito” di Kubuntu e Xubuntu. Il centro di controllo YaST consente di fare graficamente molte impostazioni che su Ubuntu sono riservate alla linea di comando (che io amo moltissimo, ma non essendo un guru mi lascia spesso in panne perché non ricordo a memoria i comandi che mi servono).
Comunque in questo articolo userò in larga parte comandi da console, che trovo molto più veloci per eseguire operazioni di installazione e prima configurazione.
Una delle prime cose che ho avuto necessità di fare è configurare un server web per i miei test e quindi… ecco la mia prima guida di openSUSE.
NOTA BENE: Tutti i comandi di questa guida sono pensati per fare copia e incolla in una shell (io uso Putty) solitamente, ma riflettete un attimo prima di dare conferma!
Apriamo Konsole o la nostra shell preferita e cominciamo con installare Apache2:
sudo zypper install apache2
Per avviare Apache2 digitiamo:
sudo systemctl start apache2
Se, per qualunque motivo, dobbiamo riavviarlo lo possiamo fare con il comando:
sudo systemctl restart apache2
E per farlo partire automaticamente all’avvio, cosa altamente consigliata, digitiamo una volta sola il comando:
sudo systemctl enable apache2
Ora creiamo un file di test per controllare che tutto funzioni:
sudo sh -c 'cat > /srv/www/htdocs/index.html <<EOF
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>Welcome to Apache2 on openSUSE</title>
</head>
<body>
<h1>Welcome to <i>Apache2</i> on <i>openSUSE</i>.</h1>
</body>
</html>
EOF'
E verifichiamo andando con il nostro browser preferito all’indirizzo http://localhost/.
Il server è pronto per l’utilizzo come test, ma non aperto “al mondo”: se vogliamo renderlo visibile occorre aprire il firewall per il servizio http. Ci sono molti modi per farlo, la il più veloce è da YaST
Ora, sempre con il browser che preferiamo, colleghiamoci a http://localhost/phpinfo.php.
MariaDB (MySQL)
openSUSE usa un pacchetto alternativo a MySQL di nome MariaDB, più completo, che comunque viene chiamato dal sistema mysql (e così lo chiameremo anche noi). Nelle ultime release il pacchetto base è installato per default, ma c’è da installare un pacchetto di utilità aggiuntive per l’amministrazione.
Quindi procediamo:
sudo zypper install mariadb mariadb-tools
Avviamo il server:
sudo systemctl start mysql
E assicuriamoci che sia in avvio automatico:
sudo systemctl enable mysql
Anche in questo caso, se per qualunque motivo fosse necessario un riavvio del servizio, basterà digitare:
sudo systemctl restart mysql
Messa in sicurezza Prima di utilizzare mysql in una ambiente di produzione sono necessarie alcune modifiche per la sicurezza, che fortunatamente in openSUSE sono raggruppate da uno script. Lo andremo ad eseguire e confermeremo con y (yes) TUTTE LE RICHIESTE.
sudo mysql_secure_installation
Verrà anche richiesto di inserire una password di root: è ovviamente indispensabile appuntarsela per usi futuri.
Ecco la lista delle richieste, per confronto:
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
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set 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!
phpMyAdmin
phpMyAdmin (a volte abbreviato in pma) è uno strumento che consente di amministrare il database tramite una interfaccia web.
ATTENZIONE! in tutti i comandi successivi la grafìa corretta è “phpMyAdmin” che in openSUSE è CASE SENSITIVE: se lo scriviamo minuscolo, otterremo messaggi di errore.
sudo zypper install phpMyAdmin
Nel mio caso è stato necessario abilitare una delle estensione che erano state installate automaticamente:
sudo a2enmod php7-mbscript
e riavviare il server web:
sudo systemctl restart apache2
Ora per accedere all’interfaccia colleghiamoci, sempre con il browser preferito, all’indirizzo http://localhost/phpMyAdmin/ da locale oppure a http://_indirizzo_ip_/phpMyAdmin/ da remoto.
C:\mysql\bin>mysqld --install
C:\mysql\bin>net start mysql
C:\mysql\bin>mysql -u root
` Da console MySQL: `
USE mysql;
UPDATE user SET password = PASSWORD('123') WHERE user = 'root';
SELECT user, host FROM user;
DELETE FROM user WHERE user = '';
SELECT user, host FROM user;
FLUSH PRIVILEGES;
SHOW DATABASES;
DROP DATABASE test;
SHOW DATABASES;
QUIT
` Da prompt di MS-DOS come amministratore: `
C:\mysql\bin>mysql -u root -p
` Da console MySQL: `
CREATE DATABASE invoicex_db DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE USER 'invoicex_user'@'%' IDENTIFIED BY '123';
GRANT ALL ON invoicex_db.* TO 'invoicex_user'@'%';
QUIT
` Da prompt di MS-DOS come amministratore: `
C:\mysql\bin>mysql -u invoicex_user -p
` Da console MySQL: `
USE invoicex_db;
` ``
CREATE TABLE `test` (
`field` varchar(255)
);
`` `
SHOW TABLES;
DROP TABLE test;
SHOW TABLES;
QUIT
` Ricorsarsi di creare eccezione per il firewall in ingresso e in uscita per la porta 3306. ### Parte 2: Invoicex _(operazioni da eseguire su tutti PC che fungeranno da client)_ Scaricare **Invoicex versione base** da: <http://www.invoicex.it/> Effettuare l’installazione standard Al primo accesso, quando viene chiesto se utilizzare in locale o in rete, scegliere **in rete** e indicare l’indirizzo IP del PC su cui si è installato MySQL, nome del database (nell’esempio `invoicex_db`), username e password del database (nell’esempio `invoicex_user` e `123`). ### FINITO.
Aggiornamento 07/05/2018: ho fatto un piccolo video su questa installazione. Lo trovate a questo indirizzo https://youtu.be/fd6HUHJBfuY.
in Linux / Pc / Tech on Nethserver, Raid, Rebuild, Sostituzione disco
Ho di recente iniziato a sperimentare con una distribuzione Linux molto interessante che si chiama NethServer. E’ una distribuzione italiana basata su CentOS 6 che si propone di realizzare alcuni task tipici in una azienda medio/piccola con semplicità e con l’utilizzo di una interfaccia web molto completa.
in Pc / Tech on 5.5, Add, Driver, Esxi, Marvell, Network card, Nic, Realtek, Unsupported, Update 2, Vmware
Chi, come il sottoscritto, si cimenta per le prime volte con VMWare, si renderà conto presto o tardi che non sempre l’equazione più nuovo uguale migliore è corretta.
in Linux / Pc / Tech / Windows on Active direvtory, Linux, Pdc, Primary domain controller, Ubuntu, Ubuntu 14.04
Ho cercato a lungo di mettere in piedi un primary domain controller con Linux e Samba. Senza risultato. Al punto che avevo del tutto rinunciato a favore di una soluzione “chiavi in mano”: Turnkey Domain Controller. Poi, un po’ la scarsità degli aggiornamenti, un po’ la mia proverbiale cocciutaggine (dovevo farlo io, non trovarlo già fatto!)