[Solved] Δημιουργία alias για apache σε linux

Τεχνικές και μόνο Συζητήσεις για WEB hosting servers, Mail servers, DNS servers. Όχι αναζήτηση υπηρεσιών εδώ!

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

[Solved] Δημιουργία alias για apache σε linux

Δημοσίευση από Apostolis_38 » 02 Ιούλ 2009 22:20

Την καλησπέρα μου σε όλο το fs.

Εχω ένα θεματάκι με τον Apache τον οποίο έχω στήσει σε linux.
Επειδή είναι για χρήση τοπικά στον υπολογιστή μου έχω φτιάξει ένα htdocs όπου βάζω όλα τα sites που θέλω να τρέχω. Δεν έχω φτιάξει δηλαδή ένα public ή ένα www όπως γίνεται στούς κανονικούς hosting servers.
Το πρόβλημα που προκύπτει είναι το εξής.
H $_SERVER['...'] της php δεν τρέχει (και λογικά) γιατί πολύ απλά το οποιοδήποτε DOCUMENT_ROOT, SERVER_NAME, HTTP_REFERER ή ότι άλλο βλέπει σαν root το /usr/local/apache2/htdocs/ και όχι το /usr/local/apache2/htdocs/mydir όπως ζητάει το script.

Η απορία μου είναι η εξής.
Θα πρέπει να δημιουργηθεί ένα alias στo script της php; (Το λιγότερο ιδανικό μιάς και στον "κανονικό" server θα πρέπει να τροποποιηθεί το script ώστε να πάρει τίς εκεί ρυθμίσεις)
Θα πρέπει να δημιουργηθεί το alias κάπου στον Apache;
Θα πρέπει να ξαναστηθεί ο Apache με μία άλλη παράμετρο;

Γνωρίζει κανείς;
Τελευταία επεξεργασία από το μέλος Apostolis_38 την 15 Ιούλ 2009 09:20, έχει επεξεργασθεί 1 φορά συνολικά.

billiaswhs
Δημοσιεύσεις: 346
Εγγραφή: 11 Νοέμ 2004 00:29
Επικοινωνία:

[Solved] Δημιουργία alias για apache σε linux

Δημοσίευση από billiaswhs » 03 Ιούλ 2009 03:17

Γεια χαρά, γιατί δεν χρησιμοποιείς τότε τη μεταβλητή $_SERVER[''] σαν

$_SERVER['HTTP_HOST'] . "/mydir/"

για να καθορίσεις που βρίσκεται το script?

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

[Solved] Δημιουργία alias για apache σε linux

Δημοσίευση από Apostolis_38 » 03 Ιούλ 2009 09:13

Σ' ευχαριστώ για την απάντηση.
Το θέμα είναι οτι μπορεί να γίνει αυτό που λές, όπως και το να βάζεις το absolute path στο script. Ετσι όμως δημιουργείται μπέρδεμα γιατί στο script που θα τρέχει τοπικά θα υπάρχει π.χ. το $_SERVER["..."]+mydir+upolad directory, ενώ στον hosting server το $_SERVER["..."]+upload directory.

Γίνεται, αλλά δεν μου εγγυώμαι οτι μετά από 6 μήνες αν ανεβάσω ένα τροποποιημένο script, θα θυμάμαι κι αυτή τη λεπτομέρεια ώστε να μην τα κάνω μπάχαλο :D
Πρέπει δηλαδή ο Apache να δουλεύει "σε πραγματικές συνθήκες".

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10248
Εγγραφή: 28 Ιούλ 2001 03:00

[Solved] Δημιουργία alias για apache σε linux

Δημοσίευση από Cha0s » 03 Ιούλ 2009 10:19

Το DOCUMENT_ROOT σου βγάζει το path του vhost του apache.

Οπότε αν εσύ έχεις τα αρχεία σου στο htdocs/ και βλέπεις ένα script από το htdocs/mydir/ είναι λογικό το DOCUMENT_ROOT να σου βγάζει /path/to/htdocs

Και σε public server να το κάνεις το ίδιο θα συμπεριφερθεί.

Σε συνδιασμό με αυτό που πρότεινε ο billiaswhs το 'mydir' το βάζεις σε μία μεταβλητή σε ένα file (config.php ?) που γίνεται include στην σελίδα που παίζεις με τα paths, οπότε όταν το ανεβάσεις online απλά ενημερώνεις το config για το νέο path και δεν τίθεται θέμα να ξεχάσεις να διορθώσεις το path.
Συνήθως σε κάθε Update δεν χρειάζεται καν να πειράξεις το config.php.

Είναι πολύ κλασσική μέθοδος :)

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

[Solved] Δημιουργία alias για apache σε linux

Δημοσίευση από Apostolis_38 » 03 Ιούλ 2009 11:46

Δεν ανεβάζω ποτέ κανένα config (ή οτιδήποτε σχετικό) σε όποιον server κι αν βάλω τα sites αλλά τα scripts παίζουν κατ' ευθείαν.
Που σημαίνει οτι οι public servers είναι ήδη σεταρισμένοι. Πιθανώς το κόλπο που μου αναφέρεις είναι που δημιουργεί το site root (συνήθως είναι το www) για κάθε πελάτη.
Αν και νόμιζα οτι πρόκειται για alias κι όχι για virtual host.

Κι αυτό είναι που θέλω να κάνω αλλά δεν ξέρω πως πρέπει να σετάρω τον Apache.
Στο Linux μπορείς να κατεβάσεις ένα πακέτο και να σου δημιουργήσει μόνο του αυτού του είδους την εγκατάσταση αλλά εγώ θέλω να το κάνω manualy.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

[Solved] Δημιουργία alias για apache σε linux

Δημοσίευση από Apostolis_38 » 15 Ιούλ 2009 09:19

- Στην εντολή configure για εγκατάσταση του Apache δίνουμε το

Κώδικας: Επιλογή όλων

--enable-vhost-alias
- Στο httpd.conf ενεργοποιούμε το:

Κώδικας: Επιλογή όλων

Include conf/extra/httpd-vhosts.conf
- και στο conf/extra --> httpd-vhosts.conf βάζουμε τις ρυθμίσεις μας:

Κώδικας: Επιλογή όλων

<VirtualHost *&#58;80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/usr/local/apache2/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

Απάντηση

Επιστροφή στο “Apache, IIS, DNS Servers”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες