Visualizzazione post con etichetta apache. Mostra tutti i post
Visualizzazione post con etichetta apache. Mostra tutti i post
domenica 17 maggio 2020
Come sviluppare in locale con webserver in https
C'è bisogno di generare un certificato auto firmato e di aggiungerlo al keystore di windows per fare in modo che Chrome lo riconosca come valido.
Diverse guide consigliano la strada della generazione del certificato mediante openssl e di aggiungerlo manualmente al keystore. Dopo ore di tentativi non ci
sono riuscito e ho ripiegato sull'ottima utility FiloSottile/mkcert https://github.com/FiloSottile/mkcert
In windows procedere nel seguente modo:
- Installare l'utility mediante Chocolatey come consigliato dal sito
choco install mkcert
- Eseguire il seguente comando per creare un'autorità di certificazione attendibile
mkcert -install
- Eseguire il seguente comando per creare un certificato da usare con i vari webservers
mkcert example.test "*.example.test" example.test localhost 127.0.0.1 ::1 dev.localhost.test
Con il comando di cui sopra andiamo a creare un certificato valido per tutti quei domini specificati
- Aprire come administrator il file C:\Windows\System32\drivers\etc\hosts ed inserire le mappature di nome/indirizzo ip a seconda di quello che avete scritto sopra come domini di sviluppo
Ad esempio:
127.0.0.1 example.test
127.0.0.1 dev.localhost.test
::: Configurazione di Apache
La configurazione di apache per l'ssl di solito si trova in apache\conf\extra\httpd-ssl.conf e dobbiamo specificare il certificato e la chiave appena creata
Nel mio caso le due righe sono:
SSLCertificateFile "c:/Apache24/certs/example.test+6.pem"
SSLCertificateKeyFile "c:/Apache24/certs/example.test+6-key.pem"
::: Configurazione di webpack-dev-server
Il comando start di package.json deve essere simile al seguente:
"start": "webpack-dev-server --open chrome --https --mode development --host dev.localhost.test --port 8080 --cert=ssl/example.test+6.pem --key=ssl/example.test+6-key.pem"
i certificati vanno messi all'interno di una cartella chiamata, per esempio ssl, all'interno della directory del progetto, cioè dove si trova package.json
Nota Bene: fare attenzioni a possibili conflitti di porte già in uso come la 8080
Post Scriptum:
Dopo ore di tentativi con openssl ho ripiegato su questa semplice utility mkcert. Probabilmente sbagliavo nel fatto che mediante openssl dovevo prima generare un certificato di autorità attendibile e solo successivamente generare i certificati per i domini desiderati mediante la firma degli stessi con il certificato di autorità generato prima.
(-;
Etichette:
apache,
certificati,
chrome,
https,
nodejs,
webpack-dev-server
giovedì 24 giugno 2010
Ubuntu 10.04 - LAMP php5 userdir
in ubuntu 10.04 per far funzionare gli script php nella userdir (public_html) seguire le istruzioni seguenti:
Look for the lines that look like:
and change em to look like:
then restart apache.
or
Code:
sudo nano /etc/apache2/mods-available/php5.conf
Look for the lines that look like:
Code:
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_value engine Off
</Directory>
</IfModule>
Code:
# <IfModule mod_userdir.c>
# <Directory /home/*/public_html>
# php_admin_value engine Off
# </Directory>
# </IfModule>
Code:
sudo service apache2 restart
Code:
sudo /etc/init.d/apache2 restart
mercoledì 10 settembre 2008
IIS 5.1 + Php 5.2.6 + Apache 2.2
Per installare e far coesistere sulla stessa macchina IIS 5.1, Php 5.2 e Apache seguire i seguenti passi:
1. Scaricare l'archivio zip dal sito http://www.php.net/downloads.php
2. Scompattare l'archivio nella cartella C:\php-5.2.6
3. Aprire IIS 5.1 -> Proprietà del sito web -> Home directory -> Configurazione ed aggiungere qui il seguente mapping:
4. Aprire il file C:\Programmi\Apache Software Foundation\Apache2.2\conf\httpd.conf ed aggiungere alla fine le seguenti righe:
6. Copiare il file C:\php-5.2.6\php.ini-recommended in C:\php-5.2.6\php.ini e modificarlo come segue;
8. Riavviare IIS ed Apache
1. Scaricare l'archivio zip dal sito http://www.php.net/downloads.php
2. Scompattare l'archivio nella cartella C:\php-5.2.6
3. Aprire IIS 5.1 -> Proprietà del sito web -> Home directory -> Configurazione ed aggiungere qui il seguente mapping:
- Eseguibile = C:\php-5.2.6\php5isapi.dll
- Estensione = .php
4. Aprire il file C:\Programmi\Apache Software Foundation\Apache2.2\conf\httpd.conf ed aggiungere alla fine le seguenti righe:
- PHPIniDir C:/php-5.2.6/
- LoadModule php5_module C:/php-5.2.6/php5apache2_2.dll
- AddType application/x-httpd-php .php
- DocumentRoot "C:/apache_home"
6. Copiare il file C:\php-5.2.6\php.ini-recommended in C:\php-5.2.6\php.ini e modificarlo come segue;
- doc_root = "C:\Inetpub\wwwroot"
- extension_dir = "C:\php-5.2.6\ext"
8. Riavviare IIS ed Apache
lunedì 9 giugno 2008
Attivare le GD Library in UBUNTU
Per attivare le gd library (che permettono la manipolazione di immagini) basta lanciare da terminale:
sudo apt-get install php5-gd
riavviare apache:sudo /etc/init.d/apache2 force-reload
Etichette:
apache,
GD Library,
linux,
php,
ubuntu
domenica 8 giugno 2008
giovedì 5 giugno 2008
Ubuntu, mod_rewrite e drupal
In questo tutorial spiegherò come impostare Ubuntu in modo che Drupal funzioni correttamente.
Prerequisiti
I prerequisiti per l'installazione di Drupal sono:
1. un database mysql.
2. il webserver apache.
3. php.
(Guida: Apache, MySql, PHP, PhpMyAdmin installiamo un web-server locale)
Nuova installazione di Drupal
Installare Drupal è davvero facile. Basta andare sul sito drupal.org, scaricare l'archivio drupal-x.x.x.tar.gz e seguire le istruzioni presenti nel file INSTALL.txt.
La directory standard in cui Apache va a leggere i file è
/var/www
Quindi bisogna scompattare l'archivio in questa directory:
$ cd /var/www
$ sudo cp ~/drupal-x.x.x.tar.gz .
$ sudo tar xzvf drupal-x.x.x.tar.gz
Il terzo comando potrebbe essere usato anche senza impersonare root (sudo).
In questo caso però, i file estratti avrebbero come owner l'utente che ha lanciato il comando tar e non l'utente impostato da chi rilascia Drupal.
Potrebbero quindi sorgere problemi non appena Apache tenta di leggere il contenuto della directory. Consiglio quindi di usare sudo.
Sempre il terzo comando creerà una directory chiamata drupal-x.x.x. Io sono solito rinominare tale directory in drupal:
$ cd /var/www
$ sudo mv drupal-x.x.x/ drupal
In questo modo per vedere la nostra installazione di Drupal non dovremo fare altro che far puntare il nostro browser su:
http://localhost/drupal
Clean urls
Per clean_url si intendono quelle url che non contengono caratteri del tipo '?,=,&'.
Questi caratteri mandano spesso in affanno gli spider dei motori di ricerca e quindi portano ad una scarsa indicizzazione del nostro sito.
Drupal, come molte altre applicazioni web, usa però questi caratteri per accettare parametri in input nella request http.
Ad esempio per accedere al nodo 11 del nostro sito digiteremo:
http://localhost/drupal/?q=node/11
Se però attiviamo la modalità clean_url, accederemo allo stesso nodo attraverso:
http://localhost/drupal/node/11
Drupal è in grado di mappare l'ultima url in quella precedente sfruttando una regola di Apache che si chiama RewriteRule.
Tipicamente tali regole si trovano nel file .htaccess fornito assieme a Drupal. Nel caso specifico la regola è:
# Rewrite current-style URLs of the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Le condizioni affinché Apache analizzi il file .htaccess fornito con Drupal sono due:
1. deve essere caricato il modulo mod_rewrite;
2. deve essere abilitato l'override per la directory /var/www
Caricare mod_rewrite
L'installazione di Apache in Ubuntu non carica di default il mod_rewrite, ma è molto semplice farglielo fare:
$ sudo a2enmod rewrite #abilita il modulo
$ sudo /etc/init.d/apache2 restart #fa ripartire apache
Abilitare l'override
Apache inizierà a considerare le regole presenti nei nostri file .htaccess solo quando gli daremo il permesso di farlo.
Andiamo dunque nella directory sites-available:
$ cd /etc/apache2/sites-available/
ed editiamo il file 'default'. Andiamo in cerca della directory /var/www e cambiamola aggiungendo 'AllowOverride All'.
Dopo la modifica, nel file si dovrebbe leggere:
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
# Uncomment this directive is you want to see apache2
# default start page (in /apache2-default) when you go to /
#RedirectMatch ^/$ /apache2-default/
Ora le clean url doverbbero essere correttamente interpretate. A questo punto la replica locale del nostro sito è completa!
Etichette:
apache,
clean urls,
drupal,
linux,
mod_rewrite,
ubuntu
giovedì 28 febbraio 2008
Abilitare la public_html nella nostra home con apache
Con (K)Ubuntu 7.04 Feisty Fawn, una volta installato apache, mysql e php (vedi guida Apache, MySql, PHP, PhpMyAdmin: installiamo un web-server locale), può capitare che la public_html nella nostra home non funzioni.
Questo è dovuto alla nuova versione di Apache (dalla 2.2).
Per abilitarla, basta aprire un terminale e lanciare questo comando:

Dopo di chè dobbiamo riavviare apache per rendere effettive le modifiche. Lanciamo questo comando:
A questo punto per provare le nostre pagine php, creiamo una cartella chiamata public_html nella nostra home (ad esempio in '/home/nome_utente/public_html/') e mettiamo le nostre pagine php in questa cartella (anzichè in /var/www/). Poi apriamo un browser, ed andiamo all'indirizzo http://localhost/~nome_utente/ (la tilde [cioè il carattre ~], può essere fatto con linux premendo la combinazione di tasti Alt Gr + ì).
Questo è dovuto alla nuova versione di Apache (dalla 2.2).
Per abilitarla, basta aprire un terminale e lanciare questo comando:
sudo a2enmod userdir

Dopo di chè dobbiamo riavviare apache per rendere effettive le modifiche. Lanciamo questo comando:
sudo /etc/init.d/apache2 force-reload
A questo punto per provare le nostre pagine php, creiamo una cartella chiamata public_html nella nostra home (ad esempio in '/home/nome_utente/public_html/') e mettiamo le nostre pagine php in questa cartella (anzichè in /var/www/). Poi apriamo un browser, ed andiamo all'indirizzo http://localhost/~nome_utente/ (la tilde [cioè il carattre ~], può essere fatto con linux premendo la combinazione di tasti Alt Gr + ì).
Apache, MySql, PHP, PhpMyAdmin installiamo un web-server locale
Installando Apache, MySql, PHP su Linux, avrete a disposizione il L.A.M.P. (che deriva appunto dalle loro iniziali).
Il L.A.M.P. è un web-server locale, che serve per eseguire pagine in PHP.
Se siete sviluppatori per il web, questo è molto utile, infatti le pagine PHP non possono essere eseguite su un "normale" computer, ma vengono eseguite solo lato server, oppure grazie ad un web-server che gira sulla vostra macchina.
Per installare tutto il necessario, apriamo una shell e diamo il seguente comando:
Premete Invio sulla seguente schermata:

Scegliamo Sito Internet:

Diamo il nome localhost:

Ora il web-server locale è pronto!
Tutti i file html/php che metterete nella cartella
saranno raggiungibili dall'indirizzo: http://localhost
aprite un browser (ad esempio FireFox), e andate al seguente indirizzo internet:
per vedere l'elenco dei file e delle cartelle (consiglio vivamente di organizzare il proprio lavoro in cartelle!):

Però il mio consiglio è quello di utilizzare la public_html nella vostra home (vedi guida Abilitare la public_html nella nostra home).
Per accedere a PhpMyAdmin, andate al seguente indirizzo:
ed inserite root come nome utente, e lasciate vuoto il campo password:

Note Finali:
Se andando all'indirizzo http://localhost non succede niente, o esce un avviso, assicuratevi che la scheda di loopback sia attiva:
aprite un terminale e date il seguente comando per attivare la scheda di loopback:
Potrete verificare se la scheda è stata attivata eseguendo questo comando:
Il L.A.M.P. è un web-server locale, che serve per eseguire pagine in PHP.
Se siete sviluppatori per il web, questo è molto utile, infatti le pagine PHP non possono essere eseguite su un "normale" computer, ma vengono eseguite solo lato server, oppure grazie ad un web-server che gira sulla vostra macchina.
Per installare tutto il necessario, apriamo una shell e diamo il seguente comando:
sudo apt-get install apache2.2-common apache2-utils libapache2-mod-php5 libapache2-mod-auth-mysql mysql-client-5.0 mysql-server-5.0 php5 php5-cli php5-mysql phpmyadmin apache2
Premete Invio sulla seguente schermata:

Scegliamo Sito Internet:

Diamo il nome localhost:

Ora il web-server locale è pronto!
Tutti i file html/php che metterete nella cartella
/var/www
saranno raggiungibili dall'indirizzo: http://localhost
aprite un browser (ad esempio FireFox), e andate al seguente indirizzo internet:
http://localhost

Però il mio consiglio è quello di utilizzare la public_html nella vostra home (vedi guida Abilitare la public_html nella nostra home).
Per accedere a PhpMyAdmin, andate al seguente indirizzo:
http://localhost/phpmyadmin
ed inserite root come nome utente, e lasciate vuoto il campo password:

Note Finali:
Se andando all'indirizzo http://localhost non succede niente, o esce un avviso, assicuratevi che la scheda di loopback sia attiva:
aprite un terminale e date il seguente comando per attivare la scheda di loopback:
sudo ifconfig lo up
Potrete verificare se la scheda è stata attivata eseguendo questo comando:
ifconfig
Iscriviti a:
Post (Atom)