Συνήθως ένα vhost αποτελείτε από την εξής δομή:
- Κώδικας: Επιλογή όλων
<VirtualHost ^ip^: ^port^ >
ServerAdmin ^email^
ServerName ^domain^
ServerAlias ^ip ή domain^
DocumentRoot ^path^
ErrorLog ^path για logs σφαλμάτων^
CustomLog ^path_για_logs^ combined
<Directory />
Order allow,deny
Allow from all
Require all granted
</Directory>
</Virtualhost>
Αλλά λόγο ότι αναπτύσσω διάφορες εφαρμογές και η κάθε μια χρείζεται ειδικού χειρισμού ένα στάνταρτ pattern του (μοναδικού) vhost μου είναι:
- Κώδικας: Επιλογή όλων
<VirtualHost ^ip^: ^port^ >
ServerAdmin ^email^
ServerName ^domain^
ServerAlias ^ip ή domain^
DocumentRoot ^path^
ErrorLog ^path για logs σφαλμάτων^
CustomLog ^path_για_logs^ combined
<Directory />
Order allow,deny
Allow from all
Require all granted
</Directory>
Alias /app1 /home/pcmagas/kwdikas/php/apps/app1/
<Directory /home/pcmagas/kwdikas/php/apps/app1/>
Require all granted
Allow from all
AllowOverride All
Options Indexes
SetEnv OPENSHIFT_POSTGRESQL_DB_HOST localhost
SetEnv OPENSHIFT_POSTGRESQL_DB_PORT 5432
SetEnv OPENSHIFT_APP_NAME sampledbname
SetEnv OPENSHIFT_POSTGRESQL_DB_USERNAME sampleusr
SetEnv OPENSHIFT_POSTGRESQL_DB_PASSWORD samplepasswdnotreal
</Directory>
Alias /app2 /home/pcmagas/kwdikas/php/apps/app2/
<Directory /home/pcmagas/kwdikas/php/apps/app2/>
Require all granted
Allow from all
AllowOverride All
Options Indexes
SetEnv DB_HOST localhost
SetEnv DB_PORT 5432
SetEnv DB_NAME sampledbname
SetEnv DB_USERNAME sampleusr
SetEnv DB_PASSWORD samplepasswdnotreal
</Directory>
....
Alias /appn /home/pcmagas/kwdikas/php/apps/appn/
<Directory /home/pcmagas/kwdikas/php/apps/appn/>
Require all granted
Allow from all
AllowOverride All
Options Indexes
SetEnv USRNAME ichi_ni_san
SetEnv PASSWD san_shi_yon
</Directory>
</Virtualhost>
Όπως βλέπετε για κάθε μια εφαρμογή έχω ένα alias και στο directory κάθε alias θέτω κάποιες έξτρα παραμέτρους για την εκάστοτε εφαρμογή. Θέλω να μπορώ να ενεργοποιώ και να απενεργοποιώ την εκάστοτε εφαρμογή η και να προσθαίτω νέες χωρίς να χρειάζετε κάθε 3 και λίγο να ανανεώνω το αρχείο του vhost. Το παραπάνω vhost το κάνω προκειμένου να μπορώ να έχω την εκάστοτε εφαρμογή που αναπτύσσω στο /home folder μου που είναι βολικότερο να αναπτύσω.
Έχετε κάποια ιδέα;