Προς το περιεχόμενο

Web site + web root + ftp


nikosfree12

Προτεινόμενες αναρτήσεις

Καλησπέρα

 

Έχω μία μικρή απορία. Έχω ένα web server στημένο σε fedora 8. Έχω domain της μορφής kati.gr. To web root είναι στο κλασσικό /var/www/html/. Εκεί τοποθετώ ολόκληρο το web site. Οι χρήστες είναι 2 που έχουν πρόσβαση με ftp μέσα στο html. Πέραν από αυτά έχω κι ένα φάκελο μέσα στο html ας υποθέσουμε με όνομα myfiles (δεύτερο web site). Έτσι όταν βάζω στο web http://www.kati.gr/myfiles'>http://www.kati.gr/myfiles με οδηγεί σε ένα καινούργιο web site. To ερώτημα είναι το εξής.

 

Θέλω να αλλάξω το web root του myfiles έξω από το φάκελο html έτσι ώστε οι χρήστες που μπαίνουν με ftp να μην έχουν πρόσβαση σε αυτό (δε θέλω ούτε καν να το βλέπουν). Το http://www.kati.gr/myfiles θα ήθελα να παραμείνει ως έχει σαν domain...Μήπως υπάρχει κάποια λύση γιατί έχω κολλήσει άσχημα?

 

Ευχαριστώ

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

αν καταλαβα καλα δεν σε πειραζει να εχουν προσβαση στο /var/www/html/myfiles αλλα στο /var/www/html

αν εβαζες περιορισμους στην προσβαση του ftp και να τους εκγλωβισεις στο current folder ?

 

ή

αν δοκιμαζες να εφτιαχνες εναν virtual server www.kati.gr/myfiles

 

με διαδρομη /var/www/myfiles

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

και στα 2 μέσα πέφτεις...μέχρι στιγμής τους έχω εκγλωβίσει στο html και δεν πάνε προς τα πίσω...δηλαδή πρός το www, var, / κλπ...Όμως θέλω να πηγαίνουν προς τα μπροστά γιατί μέσα στο html υπάρχουν και άλλοι φάκελοι θέλω να είναι προσβάσιμοι εκτός όμως από τον myfiles.

 

H δεύτερη επιλογή μου ακούγεται πιο ενδιαφέρουσα και θα ήθελα να δοκιμάσω...βέβαια δεν το έχω ξανακάνει...μήπως υπάρχει κάποιος οδηγός κάπου; ή να πειράξω κάπως το httpd.conf;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το καλύτερο είναι να φτιάξεις έναν 2ο virtual host για το 2ο site σου στο οποίο θα οδηγούνται από το domain name myfiles.kati.gr. Κάθε Vhost μπορεί να έχει οποιαδήποτε ρύθμιση αποκλειστική σε σχέση με άλλους Vhosts, οπότε μπορείς να του ορίσεις ένα δικό του DocumentRoot, ένα δικό του Log File, κλπ.

 

http://httpd.apache.org/docs/2.2/vhosts/

http://www.onlamp.com/pub/a/apache/2003/07/24/vhosts.html

http://www.linux.com/feature/118471

http://www.mjmwired.net/resources/mjm-apache-virtual-sites.html

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

παιδιά δεν παίζει...Όταν κάνω τις ρυθμίσεις στο httpd.conf δεν ακούει καθόλου...Μένει ως έχει η κατάσταση. Υπάρχει όμως και στο sytem->administrator->server settings->http επιλογή που με αφήνει να βάζω virtual hosts. Εκεί το μόνο που κατάφερα είναι το http://www.kati.gr να με παραπέμπει στο φάκελο που έχω ορίσει εκτός του html. και φυσικά το kati.gr/myfiles να μην εμφανίζει τίποτα.

 

Να πω οτι έχω ip στατική και όπου βλέπει στο /var/www/html με όνομα kati.gr και φυσικά έχω κάνει το httpd restart σε όλες τις πειπτώσεις. σαν πόρτα χρησιμοποιώ μόνο την 80 και δεν μου δίνεται η δυνατότητα για άνοιγμα άλλης (λεω μήπως)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το http://www.kati.gr/myfiles[/url'] θα ήθελα να παραμείνει ως έχει σαν domain...

Συγγνώμη δε το είχα προσέξει αυτό. Δημιουργεί μια επιπλοκή, καθώς οι Vhosts διακρίνονται από την παράμετρο HOST του HTTP 1.1 που ορίζει αυτόματα ο browser του http client του client:

 

14.23 Host

 

The Host request-header field specifies the Internet host and port number of the resource being requested, as obtained from the original URI given by the user or referring resource (generally an HTTP URL,

 

as described in section 3.2.2). The Host field value MUST represent the naming authority of the origin server or gateway given by the original URL. This allows the origin server or gateway to differentiate between internally-ambiguous URLs, such as the root "/" URL of a server for multiple host names on a single IP address.

 

Host = "Host" ":" host [ ":" port ] ; Section 3.2.2

 

A "host" without any trailing port information implies the default port for the service requested (e.g., "80" for an HTTP URL). For example, a request on the origin server for <http://www.w3.org/pub/WWW/> would properly include:

 

GET /pub/WWW/ HTTP/1.1

Host: www.w3.org

 

A client MUST include a Host header field in all HTTP/1.1 request messages . If the requested URI does not include an Internet host name for the service being requested, then the Host header field MUST be given with an empty value. An HTTP/1.1 proxy MUST ensure that any request message it forwards does contain an appropriate Host header field that identifies the service being requested by the proxy.

 

H HOST δεν περιλαμβάνει paths, μόνο domain name και port. Οπότε αν προσδιορίσεις έναν vhost θα πρέπει να διαθέτεις ένα ξεχωριστό συνδυασμό domain name - port (που να μπορεί να χρησιμοποιήσει ο http server για να αναγνωρίσει τον vhost).

 

Όμως, εφόσον θέλεις να διατηρήσεις τη μορφή kati.gr/myfiles η μόνη λύση που μπορώ να σκεφτώ είναι να κάνεις rewrite την πληροφορία HOST πριν το request παραληφθεί από τη μηχανή του apache. Ο πιο απλός τρόπος για να το κάνεις αυτό είναι το Mod_Rewrite του Apache.

http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

Παράδειγμα:

http://www.techsanctuary.com/node/4

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...