Archivio

Archive for the ‘Windows’ Category

IIS in windows 10 preview

giugno 12, 2015 2 commenti

Per attivare in Windows 10 Windows Internet Information Services IIS ( versione 10.xx ) accedere a Windows Features .

IIS Internet Infrmation Services è accessibile al solito via:

1) Control Panel > System and Security > Administrative Tools

W10 IIS Interne Information Services

2) Computer Management  > Services And Applications

W10 Computer Management

Finestra Windows Features.in Windows 10

W10 Windows Fetures

Per accedere a Windows Features si può procedere nel modo seguente:

  • attivare il menu con il tasto windows
  • digitare Windows Features
  • clikkare su Windows Features on off e apparirà la finestra Windows Features che consentirà di installare IIS e selezionare le varie componenti.

W10_IIS enable Windows Features

Windows 10  Amministrative Tools

W10 Amministrative Tools

Risorse:

WordPress password dimenticata

wordpress.org Se si è dimenticata la password di amministratore di wordpress e il servizio di posta non è disponibile, per  recuperare l’accesso e l’installazione è possibile:

1) accedere al file wp-config.php
2) generare una nuova password inserendola direttamente nel database mysql.

1 ) accedere al file wp-config.php nella directory principale di wordpress. Il file wp-config contiene le informazioni di accesso al database grazie alle quali è possibile accedere alla tabella  _users con i dati e le password degli utenti

// ** MySQL settings - You can get this info from your web host ** //
 /** The name of the database for WordPress */
 define('DB_NAME', 'wpblog');
/** MySQL database username */
 define('DB_USER', 'wpdbadmin');
/** MySQL database password */
 define('DB_PASSWORD', 'miapassword');
/** MySQL hostname */
 # define('DB_HOST', 'localhost');
 define('DB_HOST', '192.168.1.100:3306');

WordPress passwords basate sul php password hashing.

Le password in word press sono memorizzate nella tabella xx_users

wp_passwd_adminer_1

2) Se si dispone dell’accesso al database mysql via phpMyAdmin o Adminer è possibile recuperare l’accesso a wordpress sostituendo la vecchia password ( dimenticata ) con una nuova password. Per la “crittografia” delle password wordpress utilizza il Portable PHP password hashing framework  ( le prime versioni utilizzavano invece MD5 ).

Il formato di una password che utilizza il php password hashing è facilmente distinguibile dal formato MD5.

php password hashing:   $P$BEMeAQICR602UR9RGRYtzzGz9SNKVA.
MD5 :  551583c11e1e3c9d8e6aeea9a84fe143

La classe con l’algoritmo per la gestione delle password è contenuta nel file ./wp-includes/class-phpass.php. Quindi per generare ad esempio la password di “MyPassword” è sufficiente disporre del file class-phpass.php e includerlo ad esempio nel file passwd_wp.php contenente uno script del tipo:

<!–?php

/** We want to hash password using the current DEFAULT algorithm. */
require(‘./class-phpass.php’);

/** Simple  instruction to generate password and/or to check password. */
$wp_hasher = new PasswordHash( 8, TRUE );
$password = ‘MyPassword‘;
$hashed_password = $wp_hasher->HashPassword( $password );

$checkpass = $wp_hasher->CheckPassword($password, $hashed_password) ;

echo “check result = “ . $checkpass ;
echo “\n”;
echo “password = “ . $password . “\n” ;
echo “hashed_password = “ . $hashed_password ;
echo “\n”;

?>

ll file può essere eseguito da terminale con

$ php passwd_wp.php

oppure può essere reso disponibile via webserver .

La password dimenticata può essere sostituita da una nuova password generata utilizzando lo script soprariportato e adminer o phpMyAdmin

wp_passwd_adminer_2

 

Risorse:

Ridimensionare una macchina virtuale

Virsh è un tool da linea di comando che consente di gestire le macchine virtuali nell’ambiente di emulazione kvm.

Per ridimesionare il disco di una VM  ubuntu 12.02 visualizzare dapprima le informazioni del disco da ridimensionare con virsh vol-info

:~$ virsh vol-info /media/VM/libvirt/images/Ubuntu12s.img
 Name: Ubuntu12s.img
 Type: file
 Capacity: 10.00 GiB
 Allocation: 10.00 GiB

Quindi ridimensioniamo con

:~$ virsh vol-resize /media/VM/libvirt/images/W7-64b-ETH.img 14G --allocate
 Size of volume 'Ubuntu12s.img' successfully changed to 14G

La VM può essere avviata con il comando virsh start  oppure si può utilizzare il tool grafico virt-manager

:~$ virsh vol-info /media/VM/libvirt/images/Ubuntu12s.img
 Name: Ubuntu12s.img
 Type: file
 Capacity: 14.00 GiB
 Allocation: 14.00 GiB

 

E’ possibile utilizzare anche il terminale virsh è digitare successivamente il comando

:~$ virsh
Welcome to virsh, the virtualization interactive terminal.

Type: 'help' for help with commands
 'quit' to quit

Per ridimesionare il disco di una VM windows 7 visualizzare dapprima le informazioni del disco da ridimensionare con virsh vol-info

virsh # vol-info /media/VM/libvirt/images/W7-64b-ETH.img
 Name: W7-64b-ETH.img
 Type: file
 Capacity: 48.00 GiB
 Allocation: 48.00 GiB

Quindi ridimensioniamo con

virsh # vol-resize /media/VM/libvirt/images/W7-64b-ETH.img 55G --allocate
 Size of volume 'W7-64b-ETH.img' successfully changed to 55G

se siamo dentro virsh possiamo controllare le nuove dimensioni con  vol-info:

virsh # vol-info /media/VM/libvirt/images/W7-64b-ETH.img
 Name: W7-64b-ETH.img
 Type: file
 Capacity: 55.00 GiB
 Allocation: 55.00 GiB

Possiamo visualizzare tutte le VM con

virsh # list --all

Avviamo la macchina virtuale W7-64b-ETH.img con  virsh start
virsh # start win7
 Domain win7 started

Adesso è necessario estendere la partizione utilizzando Disk Management di Windows

wirsh resize disk win7 CM1

Extend Volume per estendere il volume della partizione C di Windows 7

resize disk win7 CM2-virsh

Apparirà il Wizard

resize disk win7 CM3-virsh

resize disk win7 CM4-virsh

Partizione disponibile di 55 GB

resize disk win7 CM-f-virsh

Risorse:

 

 

 

 

IIS 8.0 There is a duplicate ‘system.web.extensions/scripting/scriptResourceHandler’ section defined

Trasferendo una web application ASP.NET da Windows 2008 server con IIS 7.5  a Windows Server 2012 con  IIS 8.0 può capitare di riscontrare il seguente messaggio di errore

There is a duplicate 'system.web.extensions/scripting/scriptResourceHandler' 
section defined

Due soluzioni possibili:

1) L’applicazione è assegnata ad un’ Application Pools non appropriato:
I progetti sviluppati con i frameworks dalla versione  2.0 alla verione 3.5 vanno assegnati ad un Application Pools con .NET FRAMEWORK VERSION v2.0.xxxx

I progetti sviluppati con in 4.0 e seguenti vanno assegnati ad un Application pools con .NET FRAMEWORK VERSION v4.0.xxxxx

Application Pools in Windows 2012 server con IIS 8.0

Application Pools

Applications Pools

2) Disabilitare commentando con <!–   –> le righe della sezione <sectionGroup name=”system.web.extensions”…> per le quali viene presentato il messaggio. Valutare adirittura di estendere il commento a tutta la sezione system.web.extension presente all’inizio ovviamente del file di configurazione web.config.

Esempio di commento

<!–section name=”scriptResourceHandler” type=”System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35″ requirePermission=”false” allowDefinition=”MachineToApplication” /–>

Una volta commentate le righe ho sperimentato il funzionamento di applicazioni ASP.NET versione 3.5 anche una volta associate ad Application Pools 4.0

...
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
   <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
      <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
         <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" />
         <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
         <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
         <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
      </sectionGroup>
    </sectionGroup>
</sectionGroup>
...

Risorse:

Windows 2012R2 Gestione semplice dei dischi

Per gestire i dischi associati ad un server Windows 2012R2 si può utilizzare File and Storage Services in Server Manager:

File and Storage Services

File and Storage Services

Volumes Disks

Windows 2012 Volumes Disks

L’inizializzazione di un nuovo disco prevede come modalità di default il partizionamento GPT:

Windows 2012 Initialize Disk

Windows 2012 Initialize Disk

Per utilizzare il partizionamento MBR utilizzare la power shell con un comando del tipo:

Initialize-Disk -Number 2 -PartitionStyle MBR

Initialize-Disk Power Shell 

Una volta inizializzato il disco procedere con le impostazioni del Volume:

>  New Volume
>  Size  
>  Drive Letter or Folder
>  File System Setting  ( I file system disponibili sono NTFS e ReFs ) 

In > Confirmation è possibile vedere riepilogate le impostazioni e procedere con il [create]:

Disk new volume Comfirm selctions

Risorse:

Condividere mouse e tastiera tra computers. Synergy in SUSE, Ubuntu e Mac OS X

settembre 30, 2013 Lascia un commento

Obiettivo:  condividere  tastiera e mouse tra una macchina Ubuntu 13.04 ( agirà da server),  un pc SUSE 12.3 ( agirà  da client ) e un Macbook pro OS X 10.75 (agirà da client)  utilizzando synergy e le sue due GUI quicksinergy e qsynergy.  Sinergy è un’efficace applicazione per condividere mouse e tastiera tra vari computers  anche con diversi sistemi operativi.  Sinergy consente anche il  copia e incolla.  Per semplificare la configurazione di Sinergy sono disponibili anche GUI come  QuickSinergy e QSynergy . Configuriamo dapprima il pc Ubuntu 13.04 che agirà da server, quindi il pc SUSE 12.3 e infine il macbook pro OS X 10.7

pc controllore Ubuntu

In ubuntu gli applicativi si trovano direttamente nell’Ubuntu Software Center. Quindi per installare da terminale:

sudo apt-get install quicksynergy synergy

Configurare synergy con QuickSynergy

Installare synergy e quicksyergy nel computer controllore. Synergy agirà in un computer da servercomputer che controlla e negli altri agirà da client:computers controllati.

quicksynergy server

quicksynergy server

Lanciare QuickSynergy nel computer server quello con tastiera e mouse che controllano  (anche chiamato computer host). Nel tab “Share” inserire i nomi degli Screen Name. I nomi vanno inseriti nelle quattro posizioni a disposizione. Lo Screen Name è il nome che si assegnerà al computer che verrà controllato. La posizione verrà scelta a seconda della collocazione dei monitos. Ad esempio: inseriamo Ubunu12.04 nel campo a destra. Premiamo Execute.

pc controllato SUSE

I pacchetti in questione synergy e qsynergy non sono presenti nei repository ufficiali pertanto per avere l’ultima versione disponibile scarichiamo i pacchetto rpm da  http://download.opensuse.org/repositories/home:/lnt-sysadmin:/tools/openSUSE_12.3/ e precisamente da

Index of /repositories/home:/lnt-sysadmin:/tools/openSUSE_12.3/x86_64 

I pacchetti sono synergy-1.4.12-5.1.x86_64.rpm e qsynergy-1.4.12-5.1.x86_64.rpm

installiamo da terminale con:

zypper install synergy-1.4.12-5.1.x86_64.rpm 
e
zypper install qsynergy-1.4.12-5.1.x86_64.rpm

Configurare synergy con QSynergy in SUSE

l’interfaccia è diversa da quicksynergy. Avviare synergy utilizzando il menu oppure da terminale con

synergy

oppure

qsynergy

Considerato che SUSE dovrà agire da client selezionare Client nella prima maschera che si presenta

qsynergy

qsynergy

qsynergy encryption

qsynergy encryption

Nella seconda e successiva finestra è possibile selezionare il tipo di cifratura se si è in un rete locale dove non sono necessarie precauzioni legate alla sicurezza si può optare per nessuna cifratura. In questo caso non verrà richiesta la password. Qualora si opti per un tipo di cifratura dovrà essere la stessa in entrambi i pc.

Procedere cliccando Finish.

Nella maschera successiva indicare nella sezione client, che risulterà già spuntata,  il numero ip del pc controllore denominato anche server o host:

Lo screen name suse03 in questo caso coincide con l’hostname.

qsynergy Server IP

qsynergy Server IP

pc controllato Macbook pro OS X 10.75

Scaricare il .dmg adeguato dal sito synergy pagina Synergy – Download

Installare aprendo il file .dmg.

Trascinare  in Applications.

Avviare con doppio click  e configurare analogamente a quanto indicato per suse.  Cioè selezionare modalità client. Quindi disable encription nell’ultima maschera indicare l’ip del computer controllore.

Synergy client

Synergy client

synergy encryption

synergy encryption

synergy server ip

synergy server ip

Le operazionei nel computer controllato possono anche essere svoilte utilizzano ssh -X se attivo il server ssh

quicksynergy-client-execute

IMPORTANTE:  Prima attivare il server e poi è possibile mettere sotto il suo controllo il/i client/s premendo il tasto Execute in questo/i. Ancora poichè ogni computer può agire da server o cliente il tasto Execute varia a seconda del tab selezionato. Pertanto va premuto Execute con selezionato il tab corretto. “Share” per il server “Use” per i clients  Per controllare il numero ip da terminale utilizzare in linux ifconfig in windows ipconfig.

i files synergy.conf e quicksynergy.conf nel pc ubuntu che agisce da server
.quicksynergy/synergy.conf

section: screens
	ms-lu1304:
	MacBook-Pro.local:
	suse03:
end
section: links
	ms-lu1304:
		left = MacBook-Pro.local
		right = suse03
	MacBook-Pro.local:
		right = ms-lu1304
	suse:
		left = ms-lu1304
end

.quicksynergy/quicksynergy.conf

[Share]
Left=MacBook-Pro.local
Right=grandorgue

[Use]
Hostname=
ClientName=

[Settings]
SynergyPath=/usr/bin

I progetti:
synergy
quicksynergy
– qsynergy | Free software downloads at SourceForge.net

Risorse:

Mysql contro Postgresql

postgresql

MySQL e PostgreSQL sono i due database relazionali  open source più  utilizzati e 

mysqllogo

conosciuti. Lo sviluppo iniziale dei due database ha avuto obiettivi diversi. Mysql ha privilegiato la velocità, l’essenzialità mentre Postgresql l’aderenza agli standard e la completezza rendendo disponibili  diverse funzionalità anche se al prezzo di performance inferiori. Ancora per postgresql si affermava che gli sviluppatori di postgresql erano animati dall’obiettivo di portare in ambito open-source un database con l’impostazione dei database di Oracle ( “open-source” Oracle) . Grazie alla velocità e all’essenzialità, che in alcuni ambiti diventà semplicità, Mysql storicamente è stata la prima scelta nelle applicazioni web appoggiate a database.  Non va trascurato poi che Mysql è entrato nella “scuderia” Oracle.

Nel tempo la situazione si è andata modificando ed oggi i due prodotti stanno in qualche modo convergendo nel senso che le prestazioni di Postgresql sono decisamente migliorate mentre Mysql si è aricchito di funzioni. MySQL ( oggi alla versione 5.6)  rimane comunque il più utilizzato e se una volta lo era per la velocità e la praticità ora lo è per l’ampio numero di progetti in cui è estrato a far parte. Infatti quasi tutte le web application si basano o prevedono la possibilità di scelta di MySQL come database. PostreSQL ( oggi alla versione 9.3.1)  dal canto suo offre comunque una protezione dei dati superiore grazie al rispetto degli standard cosa che non accade con MySQL. Per gli sviluppatori di postgresql affidabilità e integrità dei dati rimangono un obiettivo irrinunciabile.

Architettura

Per quanto riguarda il funzionamento MySQL dispone di un strato SQL mentre può utilizzare più engine dati. Ad esempio il motore di archiviazione myISAM  può essere scelto per situazioni con  maggiore concorrenza in lettura e che non richiedono proprietà ACID. InnoDB per avere il supporto ACID anche se non completo.  Invece Postgresql è un database server unificato con un unico  motore di archiviazione.

Al momento gli elementi distintivi che più contraddistinguono i due e che vanno valutati nella scelta di un database SQL opensource sono l’aderenza agli standard SQL, la conformità ACID e la necessità di usare una piattaforma LAMP. Come affermato in premessa l’aderenza alla normativa ISO è sempre stata un tratto distintivo di postgresql. Quindi se si ha la necessità di sviluppare un progetto che abbia questa caratteristica postgresql diventa la prima scelta.

Porting

Se si desidera la possibilità di trasferimento (porting) del progetto, perchè è cresciuto molto, su database Oracle. Postgresql, rispettando  gli standard ISO per SQL, rende il passaggio sufficentemente agevole. Con MySQL questo non sarà possibile poichè non é conforme agli standard ISO e non segue l’impostazione ACID  Atomicità, Coerenza, Isolamento e Durabilità sono le proprietà logiche che devono contraddistinguere le transazioni) . Nel caso di MySQL il trasferiemento può richiedere una pesante riscrittura del progetto. LAMP e Riutilizzo del Codice Molti progetti girano sul LAMP (Linux, Apache, MySQL, PHP/Pearl/Python) web applications come WordPress, Joomla, Mediawiki, …. si appoggiano preferibilmente su MySQL. Molte di queste applicazioni non prevedono la possibilità di utilizzare postgresql pertanto la scelta operata a questo livello condiziona la scelta del database. Per quanto riguarda la possibilità di riutilizzo di codice va evidenziato che esiste molto più materiale, codice a disposizione per MySQL che per postresql proprio per l’ampia dissusione dello stesso nelle web applicaiton. Risorse:

Per un confronto più articolato : MySQL vs PostgreSQL – WikiVS

Nel blog:

Risorse: