Come aggiungere una directory personalizzata, ad esempio phpmyadmin?


11

Dato che la mia conoscenza apacheè minima. Vorrei lasciarlo crescere, quindi avrei più esperienza con LAMP. La mia domanda calda per oggi è:

Come aggiungere una directory personalizzata al server web? (ad esempio phpmyadmin)?

Il mio obiettivo è essere in grado di creare indirizzi personalizzati con siti Web personalizzati all'interno. Supponiamo di avere la mia directory personalizzata su: /media/my/web/portal1e vorrei caricarla quando il client chiama

http://localhost/myportal1 at webbrowser. 

Potresti darmi un elenco di passaggi con poche parole di spiegazione?

Risposte:


26

Modifica il tuo file di configurazione di Apache e aggiungi una Direttiva Alias . Ad esempio, usiamo il file predefinito .

sudo -e /etc/apache2/sites-available/default

Crea il tuo alias aggiungendo una sezione all'interno della direttiva VirtualHost :

Alias /database/ "/usr/share/php5/phpmyadmin/"
<Directory "/usr/share/php5/phpmyadmin/">
    Order allow,deny
    Allow from all
    # New directive needed in Apache 2.4.3: 
    Require all granted
</Directory>

Salva e riavvia: sudo /etc/init.d/apache2 restart

O per l'altro riferimento:

sudo -e /etc/apache2/sites-available/default

E i contenuti ...

Alias /myportal1/ "/media/my/web/portal1/"
<Directory "/media/my/web/portal1/">
    Order allow,deny
    Allow from all
    # New directive needed in Apache 2.4.3: 
    Require all granted
</Directory>

Salva e riavvia: sudo /etc/init.d/apache2 restart

Aggiungi più direttive all'interno delle direttive Directory , come

Options Indexes FollowSymLinks 

Vedi http://httpd.apache.org/docs/2.2/mod/core.html#directory

Che cosa stavi cercando?


Penso che sia sufficiente ricaricare Apache dopo aver apportato tali modifiche?
Jo-Erlend Schinstad il

oh - sì ... grazie Jo-Erland Schinstad

Grazie Cristopher! Questo è proprio quello che stavo cercando! :)
Adrian K.

Ho aggiunto questa riga all'interno della sezione <Directory> per evitare errori proibiti, spero che la modifica sarà presto accettata: sono necessari tutti
Richard

3
Non è necessario aggiungere una barra finale nel nome alias. Obbliga l'utente a scriverlo rigorosamente nell'URL. In tal caso, Alias ​​/ myportal1 diverso da Alias ​​/ myportal1 /. Nota barra finale mancante.
Gilberto Albino,

6

Un'alternativa più semplice è quella di creare un collegamento soft dalla radice del documento. Ad esempio, se la radice del documento è "/ var / www" (impostazione predefinita sulla maggior parte dei sistemi Linux), il comando seguente esegue il trucco:

sudo ln -s /media/my/web/portal1 /var/www/myportal1

Funziona immediatamente: non è nemmeno necessario ricaricare il server Apache.


1

Apache è un utente nel tuo sistema, proprio come te, tranne per il fatto che non può accedere. Ciò significa che l'accesso ai file è esattamente lo stesso per Apache come lo è per te. Quindi, prima di tutto, se Apache deve servire una directory in / media / qualcosa, allora Apache deve avere accesso per leggerlo e i suoi file.

In secondo luogo, per configurare un sito che utilizza questa directory come home, si creano file di siti, come / etc / apache2 / siti-disponibili / il tuo sito. Questo fa parte del cosiddetto vhosting. Esistono due tipi diversi; uno basato sul nome (il nome del dominio) e uno basato sull'IP. L'impostazione più comune è utilizzare vhosts basati sul nome. Puoi leggere di più qui: http://httpd.apache.org/docs/2.2/vhosts/


Grazie per i riferimenti. Ci approfondirò sicuramente! :)
Adrian K.

0

Così semplice in due righe:

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf

Dopo

basta modificare il file "phpmyadmin.conf"

pico /etc/apache2/conf.d/phpmyadmin.conf

e cambiarlo in 'loool' o altro :)

Alias /loooool /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>

SetEnvIfNoCase User-Agent "^ZmEu" bad_bot
SetEnvIfNoCase User-Agent "^BackDoorBot" bad_bot
SetEnvIfNoCase user-agent "^BlackWidow" bad_bot 
SetEnvIfNoCase User-Agent "^BotALot" bad_bot

dopo tutto questo ricaricare apache: D

service apache2 reload

tadaaa: D ciao :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.