Δημοσιεύτηκε: 01 Δεκ 2013, 00:24
Τι γίνετε με .htaccess αρχείο σε ubuntu server ;
Έχω Ubuntu Server 12.04 LTS ( σε VirtualBox ) στο pc μου και έχω βάλει και ένα joomla site.
Όλα τα αρχεία της ιστοσελίδας μου τα έχω στην τοποθεσία /var/www/ . Στο φάκελο λοιπόν www έχω προσθέσει και ένα αρχείο .htaccess, αλλά δε λειτουργεί και δε μπορώ να καταλάβω πραγματικά τον λόγο.
Κάπου διάβασα πως για λόγους ασφαλεάις η Ubuntu έχει απενεργοποιήσει την παραμετροποίηση του apache με το .htaccess αρχείο διότι αν καταλαβαίνω καλά, αν έχεις πλήρη πρόσβαση στο εξυπηρετητή ( server ) σου, δεν χρειάζονται .htaceess αρχεία, μπορείς να παραμετροποιήσεις τον apache κατευθείαν ( αν κάνω λάθος παρακαλώ διορθώστε με ).
Πηγαίνοντας και σε αυτή την σελίδα : https://help.ubuntu.com/community/Enabl ... ccessFiles
υποτίθεται λέει πως μπορείς, ενεργοποιήσεις την λειτουργία να δέχεται και .htaccess αρχεία ( όποιος ξέρει εις βάθους θα τον παρακαλούσα, αν μπορεί να μου πει, επί της ουσίας τι πραγματικά ενεργοποιείς - κάνεις με αυτόν τον τρόπο ).
Τέλος πάντων το δικό μου :
sudo vi /etc/apache2/sites-available/default
Οκ, λοιπόν πήγα και έκανα το AllowOverride None σε AllowOverride All , και μετά sudo vi /var/www/.htaccess
και πρόσθεσα το εξής :
και τελικός το αποτέλεσμα ήταν να πατάω http://www.sitemou.gr και να μου βγάζει να δώσω όνομα και κωδικό
, για ποιο λόγο, κάνω κάτι λάθος;

Επίσης να σας πω, πως διαβάζοντας εγώ για τον ( apache κυρίως ), έμαθα πως το αρχείο που μπορείς να παραμετροποιήσεις πάρα πολλά πράγματα είναι το /etc/httpd/httpd.conf . Αυτό το αρχείο όμως και βασικά ο φάκελος ( /etc/httpd/httpd.conf ) httpd στον etc δεν υπάρχει καν στον εξυπηρετητή ( server ) μου. Τι γίνεται ;
Με ποιο αρχείο λοιπόν μπορώ να παραμετροποιήσω τον server μου, αντί να κάνω το .htaccess ;;
Η παραπάνω σελίδα που σας δίνω από το ubuntu.com αναφέρεται στο /etc/apache2/apache2.conf , όντως από αυτό τελικά μπορώ να ρυθμίσω πράγματα, αντί του httpd.conf που ψάχνω ( όπως έχω μάθει );
Παρακαλώ βοηθήστε με, ευχαριστώ πολύ για τον χρόνο σας.
Έχω Ubuntu Server 12.04 LTS ( σε VirtualBox ) στο pc μου και έχω βάλει και ένα joomla site.
Όλα τα αρχεία της ιστοσελίδας μου τα έχω στην τοποθεσία /var/www/ . Στο φάκελο λοιπόν www έχω προσθέσει και ένα αρχείο .htaccess, αλλά δε λειτουργεί και δε μπορώ να καταλάβω πραγματικά τον λόγο.
Κάπου διάβασα πως για λόγους ασφαλεάις η Ubuntu έχει απενεργοποιήσει την παραμετροποίηση του apache με το .htaccess αρχείο διότι αν καταλαβαίνω καλά, αν έχεις πλήρη πρόσβαση στο εξυπηρετητή ( server ) σου, δεν χρειάζονται .htaceess αρχεία, μπορείς να παραμετροποιήσεις τον apache κατευθείαν ( αν κάνω λάθος παρακαλώ διορθώστε με ).
Πηγαίνοντας και σε αυτή την σελίδα : https://help.ubuntu.com/community/Enabl ... ccessFiles
υποτίθεται λέει πως μπορείς, ενεργοποιήσεις την λειτουργία να δέχεται και .htaccess αρχεία ( όποιος ξέρει εις βάθους θα τον παρακαλούσα, αν μπορεί να μου πει, επί της ουσίας τι πραγματικά ενεργοποιείς - κάνεις με αυτόν τον τρόπο ).
Τέλος πάντων το δικό μου :
sudo vi /etc/apache2/sites-available/default
- Κώδικας: Επιλογή όλων
<VirtualHost *:80>
ServerAdmin test@test.com
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None <<---------------- εδώ --------------------
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Οκ, λοιπόν πήγα και έκανα το AllowOverride None σε AllowOverride All , και μετά sudo vi /var/www/.htaccess
και πρόσθεσα το εξής :
- Κώδικας: Επιλογή όλων
## gia to /administrator
AuthName "Member’s Area"
AuthUserFile /var/www/administrator/.htpasswd
AuthType Basic
require valid-user
## -- ##
και τελικός το αποτέλεσμα ήταν να πατάω http://www.sitemou.gr και να μου βγάζει να δώσω όνομα και κωδικό



Επίσης να σας πω, πως διαβάζοντας εγώ για τον ( apache κυρίως ), έμαθα πως το αρχείο που μπορείς να παραμετροποιήσεις πάρα πολλά πράγματα είναι το /etc/httpd/httpd.conf . Αυτό το αρχείο όμως και βασικά ο φάκελος ( /etc/httpd/httpd.conf ) httpd στον etc δεν υπάρχει καν στον εξυπηρετητή ( server ) μου. Τι γίνεται ;
Με ποιο αρχείο λοιπόν μπορώ να παραμετροποιήσω τον server μου, αντί να κάνω το .htaccess ;;
Η παραπάνω σελίδα που σας δίνω από το ubuntu.com αναφέρεται στο /etc/apache2/apache2.conf , όντως από αυτό τελικά μπορώ να ρυθμίσω πράγματα, αντί του httpd.conf που ψάχνω ( όπως έχω μάθει );
Παρακαλώ βοηθήστε με, ευχαριστώ πολύ για τον χρόνο σας.
