giu
05

ZF :: Prepariamo un Web Server LAMP Completo di Vhost

 

Lista della spesa :

  • Ubuntu 10.04
  • Apache2
  • Php5
  • MySql
  • phpMyAdmin (o altro a scelta)

Premettendo che Ubuntu sia installata procediamo

Leggi Tutto …

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

mag
01

Aumentiamo la sicurezza di phpmyadmin: cambiamo URL

 

Tutte le installazioni di phpmyadmin sono configurate in modo da rispondere all URL:

www.nostrosito.com/phpmyadmin

Puo essere utile modificarlo in qualcos altro che sia un po meno intuitivo per i malintenzionati che possono gironzolare sul nostro server. Ad esempio

www.nostrosito.com/nonsapraimaicosacequi  :)

Per raggiungere questo risultato dobbiamo editare il file /etc/apache2/conf.d/phpmyadmin.conf
e modificare la riga:

Alias /phpmyadmin  /usr/share/phpmyadmin

in

Alias /nonsapraimaicosacequi  /usr/share/phpmyadmin

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

nov
27

Installare il web server Apache2 nella nuova Ubuntu 9.10

 

Post originale su Linux e dintorni

Il server che sorregge il web come lo conosciamo oggi installato in locale sul vostro pc

Per chi, tra di voi, sviluppa per il web non è certamente necessaria questa guida composta da poche righe di codice ma indubbiamente ci sono moltissimi utenti che avvicinandosi a GNU/Linux vorrebbero rendere il loro computer una macchina dove provare le varie piattaforme CMS le quali annoverano due tra le più importanti espressioni del blogging ovvero Joomla e WordPress.

Senza un server Apache pronto a sostenere le piattaforme non è possibile procedere allo sviluppo di portali web o di più semplici blog personali.

Ecco quindi il motivo della guida ovvero fornire un ambiente di facile installazione e gestione configurabile in pochi passi ma perfettamente in grado di rispondere alle esigenze di chi vuole tentare la via dello sviluppo per il web.

Per prima cosa iniziamo con l’acquisizione dei diritti di amministrazione, per far ciò apriamo il classico terminale e digitiamo:

sudo -s

premiamo invio ed inseriamo la password quando richiesta.

Installazione MySQL

Il mysql è un database open fondamentale per il funzionamento di un server web sul quale andranno poi installate piattaforme come wordpress, joomla o altri gestori di contenuti.

Nel terminale che avete precedentemente aperto digitate:

sudo apt-get install mysql-server mysql-client

una volta scaricati i pacchetti il terminale chiederà di inserire una password che andrà inserita anche nella fase successiva, è molto importante inserire una credenziale sicura ma nello stesso tempo facile da ricordare visto che essa sarà la password di root per il vostro database.

Finita la sua installazione potete semplicemente verificare il suo corretto funzionamento digitando dal terminale:

mysql -p

alla richiesta della password inserita quella precedentemente scelta, se myqsl sarà correttamente installato e funzionante avrete come risposta:

myqsl>

questo, in semplici termini, significa che il database ha permesso il vostro accesso ed attende i vostri ordini, digitate:

quit

per ritornare alla console.

Installazione Apche2

Se non avete avuto avuto particolare problemi con il database ne incontrerete sicuramente ancora meno con il web server Apache2.

Sempre dal terminale digitate:

apt-get install apache2

in pochissimo tempo il sistema scaricherà i pacchetti necessari e provvederà alla loro installazione.

Anche in questo caso verificare il corretto funzionamento del server è questione di pochissimi passaggi, dopo aver aperto il vostro browser digitate nella barra degli indirizzi “http://localhost/”.

Il corretto funzionamento del server sarà garantito dalla dicitura “It Works!” che apparirà all’interno della finestra del software di navigazione.

Molte sono le cartelle che coinvolgono le attività del server ma per brevità citerò solo le più importanti sicuro che, per una prima necessità, siano sufficienti:

/var/www: è la vostra cartella che conterrà il vostro sito o progetto, in parole povere la cartella al quale il browser punta quando nella barra degli indirizzi inserite http://localhost

/etc/apache2/apache2.conf: è il file di configurazione del server dove sarete in grado di regolare le vostre impostazioni preferite come ad esempio la server root, il tempo di timeout ed altre utili impostazioni; non vi preoccupare della difficoltà di impostazione dello stesso, il file presenta al suo interno dei commenti descrittivi di tutte le voci che potrete modificare.

/etc/apache2/mods-enabled: cartella che contiene i mods del server ed i loro file di configurazione

/etc/apache2/sites-enabled: cartella nella quale potete configurare degli hosts virtuali

Certamente queste non sono tutte le cartelle nelle quali trovare tutti i file di configurazione possibili ma ritengo che, per un utente alle prima armi con molta voglia di sperimentare e documentarsi, siano una buona base di partenza.

Installazione PHP5

Parafrasando una nota pubblicità potremmo dire “che web server sarebbe senza PHP?”, il php è un linguaggio di programmazione lato server molto utilizzato nei moderni servizi ma per funzionare esso deve essere interpretato quindi è necessario installare il componente che si prende in carico questa operazione.

Sempre dal terminale:

apt-get install php5 libapache2-mod-php5

completate le operazione di installazione dovere riavviare Apache2 al fine di permettere allo stesso la rilevazione del rinnovato supporto al linguaggio, quindi inserite nel terminale:

/etc/init.d/apache2 restart

è finalmente arrivato il momento di testare il supporto al PHP e per far questo inserite all’interno della cartella /var/www un file di testo dove all’interno avrete copiato il seguente testo:

<?php
phpinfo();
?>

il file fa rinominato come info.php.

Una volta copiato nella vostra cartella www digitate localhost all’interno della barra degli indirizzi del vostro browser, la corretta esecuzioni delle operazioni sarà presto evidente.

Supporto MySql per il PHP5

Php è in grado di operare in modo completo ed ottimale con il vostro database Mysql fa il supporto a questa funzione va installato, per far questo sempre dal terminale:

apt-get install install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-json

una volta terminata l’installazione dovete riavviare il server Apache con il classico comando da terminale:

/etc/init.d/apache2 restart

se ora ricaricate la pagina localhost del vostro browser sarte in grado di vedere tutti i nuovi moduli installati compreso quello per il supporto al database MySql.

Installazione phpMyAdmin

Per coloro che hanno qualche periodo di esperienza alla spalle governare un database attraverso un terminale non sarà sicuramente un problema, si tratta in fin dei conti di riuscire a memorizzare la sintassi con la quale si opera all’interno delle varie tabelle.

Per tutti quelli che invece desiderano un supporto visivo semplice che sia in grado di mostrare in modo semplice ed organico il proprio database e contemporaneamente permetta all’utente di operare su di esso con facilità senza una conoscenza approfondita dei comandi è consigliabile l’installazione di un tool che permetta queste operazioni.

Esistono molti software in grado di svolgere tale compito ma uno dei più completi è sicuramente phpMyAdmin, per la sua installazione, sempre dal terminale, digitate:

apt-get install install phpmyadmin

durante l’installazione vi verrà quale server riconfigurare per l’uso di phpmyadmin ovviamente scegliete Apache2, successivamente vi verrà chiesto se configurare il database con dbconfig-common, rispondete no.

Finalmente avete terminato la vostra installazione e potrete divertirvi con il successivo setup di CMS o con la realizzazione di progetti in php.

P.S.: dimenticavo occhio ai permessi……..

P.S.: amate la vita comoda o non riuscite a cavare un ragno dal buco? Osservate qui: http://www.apachefriends.org/en/xampp-linux.html#377

Ciao a tutti.

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

gen
22

Installazione di WordPress su Apache

 

apache-wordpress Apache è un ottimo web server gratuito che permette di gestire egregiamente uno o più blog WordPress. Esistono web server forse più preformanti come Nginx, molto in voga in questo periodo, ma la documentazione piuttosto scarsa e non è promette molto in fatto di scalabilità.

Ovviamente se il proprio blog non ha un traffico elevato con molti utenti (ad esempio meno di 1000 visitatori unici al giorno) non conviene acquistare un server dedicato oppure un vps (virtual private server). Un piano di hosting performante può bastare anche per 2000 visitatori unici quotidiani.

Qualora il traffico aumenti e le possibilità economiche lo permettano si può passare a un server virtuale oppure a una soluzione dedicata o semi-dedicata.

In tale caso si può usare Apache come web server.

Apache da il meglio di se con sistemi operativi GNU/Linux o FreeBSD, ma è possibile utilizzarlo pure con Windows.

Una delle distribuzioni GNU/Linux più usate è Debian.

Debian mette a disposizione tutti gli strumenti necessari per l’installazione e la configurazione del web server.

Durante la fase di installazione di Debian è consigliabile installare solamente i pacchetti minimi e aggiungere dopo Apache, MySQL e PHP.

Ovvio che ogni tanto è necessario aggiornare i pacchetti per risolvere dei bachi di progettazione:

#apt-get update

#apt-get upgrade

Per installare Apache, MySQL e PHP:

#apt-get install apache

#apt-get install mysql-server

#apt-get install php5

Scegliendo le impostazioni indicate si otterranno Apache 2, MySQL 5 e PHP 5.

Per predisporre tutto il necessario per WordPress si può installare il pacchetto:

#apt-get install wordpress

In più è consigliabile disporre anche di un server ssh così ci si potrà connettere in modo sicuro al proprio web server:

#apt-get install openssh-server

Debian crea una cartella /var/www dove sono posti tutte le cartelle che conterranno i siti web che verranno alloggiati sul server.

Creiamo una cartella col nome wordpress dove verranno messi i file di installazione.

#mkdir /var/www/wordpress

Ora entriamo nella cartella col comando cd

#cd /var/www/wordpress

Nella directory scarichiamo l’ultima versione di WordPress e scompattiamo l’archivio che poi può essere rimosso.

# wget http://wordpress.org/latest.tar.gz

# tar -vfjx latest.tar.gz

E’ necessario creare un file di configurazione che consenta il caricamento del sito tra i siti abilitati di Apache.

Spostiamoci all’interno della directory sites-available:

#cd /etc/apache2/sites-available

Creiamo un file:

# nano wordpress

Ecco il codice da inserire:

<Directory /var/www/wordpress>
Options FollowSymLinks
AllowOverride Limit Options FileInfo
DirectoryIndex index.php
</Directory>

Per salvare le modifiche fatte, in Nano, premere CRTL+O. Per uscire dall’editor di testi, premere CRTL+X.

Attiviamo il sito usando il comando:

# a2ensite wordpress

Se non ci sono errori di sintassi Apache ha caricato il sito e questo è visualizzabile da un web browser della rete digitando l’indirizzo:

http://ip-server-virtuale/wordpress/

Tra gli strumenti utili che si possono installare per gestire meglio il proprio sito c’è phpmyadmin.

phpMyAdmin

PhpMyAdmin è un’interfaccia web per la gestione di MySQL, mediante phpmyadmin si possono creare database, visualizzare il contenuto delle tabelle, importare e esportare per creare dei backup di ogni DB e monitorare eventuali problemi di MySQL.

Per installare phpmyadmin:

#apt-get install phpmyadmin

Lo strumento è attivo all’indirizzo:

http://ip-server-virtuale/phpmyadmin/

La password e il nome utente sono quelli dell’utente root oppure di un altro utente che si è creato per operare con più sicurezza in MySQL.

Colleghiamoci a phpmyadmin e creiamo un database di nome wordpress, che servirà per memorizzare le tabelle del blog.

Ora apriamo il file di configurazione di wordpress:

# nano /var/www/wordpress/wp-config-sample.php

Solo alcune parti del file vanno modificate:

define(’DB_NAME’, ‘putyourdbnamehere’);

define(’DB_USER’, ‘usernamehere’);

define(’DB_PASSWORD’, ‘yourpasswordhere’);

define(’SECRET_KEY’, ‘put your unique phrase here’);

define (’WPLANG’, ”);

La linea define(’DB_NAME’, ‘putyourdbnamehere’) va modificata mettendo wordpress al posto di putyourdbnamehere. Così la riga diventa (’DB_NAME’, ‘wordpress’).

Allo stesso modo la linea successiva, DB_USER, va cambiata mettendo il nome dell’utente che ha l’autorizzazione ad accedere a MYSQL.

In DB_PASSWORD mettere la password dell’utente del database.

Il valore alfanumerico di SECRET_KEY deve essere sostituito con una stringa che può essere rapidamente generata collegandosi alla pagina http://api.wordpress.org/secret-key/1.0/

In ultimo opzionalmente si può indicare quale è la lingua del blog mettendo it in WPLANG.

Attenzione: è sconsigliato l’uso della coppia di login e password di default per MYSQL; è conveniente almeno scegliere una password di root diversa da quella nulla già attribuita. Meglio sarebbe creare un nuovo utente al quale venga assegnato il privilegio di operare solo sul database wordpress.

Per creare un nuovo utente con una sua password personale e concedere i privilegi di operare liberamente nel database wordpress, eseguire questa query:

GRANT ALL PRIVILEGES ON wordpress.* TO ‘dbuser’@'localhost’
IDENTIFIED BY ‘passwordprivata’ WITH GRANT OPTION;

dbuser è il nome dell’utente (da cambiare naturalmente), wordpress è il nome del database mentre passwordprivata è la password di accesso dell’utente.

Cambiare il nome del file di configurazione di wordpress:

#mv wp-config-sample.php wp-config.php

Ora con un web browser digitare nella barra degli indirizzi:

http://ip-server-virtuale/wordpress/wp-admin/install.php

Seguire la procedura di installazione via web.

In un prossimo articolo, si troveranno consigli utili per migliorare le prestazioni e ottimizzare la piattaforma.

Segnala presso:
Aggiungi 'Installazione di WordPress su Apache' a Del.icio.usAggiungi 'Installazione di WordPress su Apache' a diggAggiungi 'Installazione di WordPress su Apache' a Yahoo My WebAggiungi 'Installazione di WordPress su Apache' a Stumble UponAggiungi 'Installazione di WordPress su Apache' a Google BookmarksAggiungi 'Installazione di WordPress su Apache' a SegnaloAggiungi 'Installazione di WordPress su Apache' a Bookmark.itAggiungi 'Installazione di WordPress su Apache' a Live-MSNAggiungi 'Installazione di WordPress su Apache' a SphinnAggiungi 'Installazione di WordPress su Apache' a DiggitaAggiungi 'Installazione di WordPress su Apache' a SeotribuAggiungi 'Installazione di WordPress su Apache' a FaceBookAggiungi 'Installazione di WordPress su Apache' a WikioAggiungi 'Installazione di WordPress su Apache' a MixxAggiungi 'Installazione di WordPress su Apache' a MySpaceAggiungi 'Installazione di WordPress su Apache' a Technotizie

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

gen
07

Abilitare connessioni remote su mysql

 

Può capitare a volte che sia necessario connettersi a mysql da remoto, pensiamo ad esempio a un sistema in cui il webserver e il server risiedano su due macchine differenti.

Dobbiamo quindi permettere al webserver di connettersi in remoto (o anche all’interno della stessa LAN), al server di mysql, per far questo dobbiamo editare il file my.cnf di mysql.

Il sistema che ho utilizzato è server 8.04. Ipotizziamo di dover abilitare le connessioni per il nostro server, la macchina che hosta il servizio di mysql avrà indirizzo ip 172.16.46.251.

Editiamo il file

nano /etc/mysql/my.cnf

a questo punto cerchiamo la riga contentente

bind-address            = 127.0.0.1

e sostiuiamola con

bind-address            = 172.16.46.251

ed il gioco è fatto, non abbiamo fatto altro che cambiare il bind del servizio in modo che si mettesse in ascolto sull’ip pubblico invece che solo sul localhost.

Ricordate che dovete anche modificare i permessi di accesso sui database, in quanto sui database già creati l’accesso è consentito solamente da 127.0.0.1.

Se per ipotesi volete permettere connessioni remote dall’ip 172.16.46.250 sul database ‘mysql’ con l’utente root, dovrete eseguire i seguenti comandi

root@localhost #  mysql

mysql > use mysql;

mysql> update db set Host='172.16.46.250' where Db='mysql';

mysql> update user set Host='172.16.46.250' where user='root';

mysql> flush privileges;

Ora dovreste potervi connettere in remoto da mysql, vi ricordo inoltre che se volete usare dovrete ricordarvi di modificare l’indirizzo ip del server direttametne dal file di , cambiando quindi l’ip anche li da 127.0.0.1 all’ip che vi interessa, nello specifico del nostro esempio 172.16.46.251.

Saluti

Matteo

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

ott
26

phpMyAdmin versione 3 breve introduzione

 

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

ott
01

PhpMyAdmin 3.0 amplia il supporto a MySQL

 

PhpMyAdmin

Il nostro lettore shaitan ci segnala la disponibilità di PhpMyAdmin 3.0, uno degli strumenti più popolari per la gestione via web di MySQL.

Spulciando il changelog notiamo l’aggiunta del supporto al motore Maria ed alle partizioni, maggiori opzioni per i motori MyISAM, InnoDB e PBXT, una maggiore velocità nell’importazione dei DB ed il supporto sperimentale a Mozilla Prism.

Potete scaricare PhpMyAdmin 3.0 da questa pagina.

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

ago
29

phpMinAdmin: alternativa leggera a phpMyAdmin

 

MySQLSe avete mai lavorato e manipolato i database MySQL è probabile che abbiate utilizzato phpMyAdmin per gestire il vostro database da un’interfaccia web. Nel caso in cui siate alla ricerca di un’alternativa più leggera dovreste però provare phpMinAdmin: l’installazione è estremamente veloce (si tratta di un singolo script PHP) e possiede un’interfaccia grafica semplice ma completa, che permette di accedere alle funzioni più importanti di MySQL. Per utilizzarlo è sufficiente caricare il file PHP nella root directory del web server e loggarsi dopo aver impostato le credenziali di accesso al database.

Queste caratteristiche lo rendono uno strumento ideale per coloro che necessitino di un’interfaccia grafica per la gestione di MySQL ma non abbiano il tempo (o la voglia) di installare phpMyAdmin. Per i più curiosi è disponibile anche una demo.

via | Linux.com

Popularity: 1% [?]



Puoi visualizzare il post originale qui.

lug
25

Sourceforge Community Choice Awards 2008; ecco i vincitori

 

Ieri all’OSCON sono stati proclamati i vincitori del’Sourceforge Community Choice Awards 2008. Eccoli:
Miglior progetto: OpenOffice.org
Miglior progetto per l’azienda:…

[[ This is a content summary only. Visit my website for full links, other content, and more! ]]

Popularity: 3% [?]



Puoi visualizzare il post originale qui.

mag
04

Phpmyadmin su Centos 5

 

Dopo aver scaricato e spacchettato il tar.gz ed aver creato il file di configurazione config.inc.php seguendo le istruzioni che si trovano nel file LEGGIMI metendoci dentro giusto poche righe tipo queste:

<?php
$cfg['blowfish_secret'] = ‘rps8gj78s8pjstjh8p”‘; // usare una password a caso, non verra’ mai chiesta
$i=0;
$i++;
$cfg['Servers'][$i]['auth_type'] = ‘cookie’;
?>

il pacchetto, di primo acchito sembra funzionare, ma dice che gli manca il modulo mcrypt.

Si risolve installando:

yum install php-mcrypt-5.1.6-15.el5.centos.1.i386

Notare che stò usando una distribuzione RPM-based, che oltretutto non e’ affatto male.

Dio abbia pietà della mia anima. :-)

Share This

Popularity: 2% [?]



Puoi visualizzare il post originale qui.

mar
16

VertrigoServ: Webserver completo in 5 minuti

 

Per i vostri lavori o per l’università avete bisogno di un ambiente web completo di server web,DB etc .. per testare le pagine o le applicazioni che create ? Se volete avere uno strumento pronto che include Apache (HTTP web server), PHP (reflective programming language), MySQL (multithreaded, multi-utente, SQL Database Management System), SQLite (ACID-compliant relational database management system), SQLiteManager (tool multilingua con interfaccia web per amministrare gli SQLite database), PhpMyAdmin (tool scritto in PHP utile per l’amministrazione di MySQL) e Zend Optimizer (aumenta le performance di runtime fino al 40%) basta che scaricate un nuovo software che include tutto questo : VertrigoServ è semplicissimo da installare basta scaricarlo e lanciare l’installer all-in-one (tutto in uno), tutti i componenti sono installati in un unica directory e possono essere usati immediatamente dopo il processo di installazione.

Il software è rilasciato per SO windows ed è possibile scaricarlo da qui VertrigoServ

Via | VertigoServ

, , , , , , , , , , , , , , ,

ShareThis

Popularity: 5% [?]



Puoi visualizzare il post originale qui.

mar
12

XLMPP: XAMPP ma con lighttpd

 

Dovete sviluppare un applicazione Web basata su o e ? Ritenete che sia troppo pesante per le vostre applicazioni? Provate XLMPP!

XLMPP è un progetto basato su ma che sostituisce in quest’ultimo il Web Server con lighttpd.
E’ ancora in uno stadio di abbastanza  primario, però è già utilizzabile,  la versione attuale è basata su 1.6.0a, i programmi contenuti nella suite sono:

  • lighttpd 1.4.13
  • 5.0.33
  • 5.2.1 + 4.4.5 + PEAR
  • -Switch win32 1.0
  • 2.8.15
  • OpenSSL 0.9.8d
  • 2.9.2
  • ADOdb 4.93a
  • Mercury Mail Transport System v4.01b
  • FileZilla FTP Server 0.9.22

Etichette: , , , , , , , ,

Post correlati

Popularity: 4% [?]



Puoi visualizzare il post originale qui.

feb
20

Rilasciata XAMPP 1.6.6

 

Dopo circa un mese di beta è stata rilasciata la nuova versione della suite .

Con il rilascio di 1.6.6, disponibile per e e , i software si aggiornano alle seguenti versioni:

Link

Etichette: , , , , , , , ,

Post correlati

Popularity: 4% [?]



Puoi visualizzare il post originale qui.

gen
26

Rilasciata XAMPP 1.6.6 Beta 1

 

Prima beta per la suite che permette di installare facilmente un web server, completo di ,, e , su diverse piattaforme.

Con il rilascio di 1.6.6 Beta 1, disponibile solo per e , i software si aggiornano alle seguenti versioni:

Link

Etichette: , , , , , , , ,

Post correlati

Popularity: 4% [?]



Puoi visualizzare il post originale qui.

gen
09

Giorni di vigilia, giorni di rilasci

 

La vigilia di Natale e i due tre giorni precedenti il Natale sono da sempre utilizzati da molti sviluppatori per rilasciare le ultime versione dei loro software. Anche quest’anno moltissimi sviluppatori non si sono smentiti!

Il primo rilascio natalizio è targato LAMP o meglio XAMMP, il cui Team di ha rilasciato oggi la versione 1.6.5 che include PHP 5.2.5 e 2.11.13. Per chi non conoscesse è una distribuzione completa di , PHP, e . Molto utile per le installazioni veloci di Web Server.

La seconda notizia di rilascio arriva da Philip Van Hoof che ha annunciato il rilascio di TinyMail pre 0.0.6, il framework per lo di applicazioni mobili con funzonalità di email assume sempre una forma migliore.

Invece Daniel g. Segel annuncia il rilascio di cheese 0.3.0, il nuovo software ispirato a Photo Booth per la realizzazione di foto e video da webcam.

Nei giorni precedenti invece due rilasci importanti, dopo ben 11 anni di dalla versione 2.0, è stato rilasciato GNU 3.0, il famoso tool matematico compatibile con MATLAB aggiunge numerose funzionalità e corregge diversi problemi. Inoltre è stato rilasciato anche TCL/TK 8.5 dopo 5 anni di sviluppo, la nuova versione aumenta la velocità d esecuzione e aggiunge diverse funzionalità.

Inoltre il team di di GNOME ha rilasciato la versione di 2.21.4, rispettando come sempre la roadmap verso la versione 2.22

Infine Linus Torvalds ha rilasciato lo snapshot rc6-git2 del 2.6.24 (2.6.24-rc6-git2)

Tags: , , , , , , , , , , , , ,

Post correlati

Popularity: 4% [?]



Puoi visualizzare il post originale qui.

top