Δικαιώματα στον www-data να γράφει στα public_html

...ρύθμιση - εγκατάσταση web server, mail server, ftp server, κλπ

Συντονιστές: the_eye, konnn

Re: Δικαιώματα στον www-data να γράφει στα public_html

Δημοσίευσηαπό mariosv » 06 Μάιος 2013, 01:42

lepidas έγραψε:μη το κανεις 777 απλα να ΜΗΝ ειναι root:root - οτι ειναι root:root δεν το δειχνει.
αλλα πρώτα δοκίμασε αυτο που εγραψα παραπανω
http://www.suphp.org/FAQ.html


Έχω κάνει όλα τα παραπάνω βήματα (εκτός τις οδηγίες για phpmyadmin), αλλά όπως προανέφερα, δεν τρέχει κανένα php αρχείο με ότι δικαιώματα και να έχει (φυσικά δεν είναι root:root). Σε όλα τα php παίρνω Insterval Server Error.

Σύμφωνα με αυτό:
Why do my scripts not work and why do I get an "Premature end of script headers" in the error_log?
You probably have installed the CLI version of PHP, but you need the CGI version. Copy the file /build/path/sapi/cgi/php to /where/ever/you/have/installed/bin/php to use the CGI version.

Οι δύο διαδρομές που αναφέρει, ποιές είναι;

Δοκιμάζοντας τις οδηγίες για το phpmyadmin στο restart του Apache παίρνω:
Κώδικας: Επιλογή όλων
Syntax error on line 13 of /etc/apache2/mods-enabled/php5.conf:
<Directory not allowed here
Action 'configtest' failed.
The Apache error log may have more information.
   ...fail!
Γνώσεις ⇛ Linux: Αρχάριος | Προγραμματισμός: Σχετικά καλά | Αγγλικά: Καλά
Laptop ⇛ Toshiba Satellite A200-1LA selective με Ubuntu 10.10 και Windows 7.
mariosv
babeTUX
babeTUX
 
Δημοσιεύσεις: 78
Εγγραφή: 17 Μαρ 2011, 22:42
Εκτύπωση

Re: Δικαιώματα στον www-data να γράφει στα public_html

Δημοσίευσηαπό lepidas » 06 Μάιος 2013, 09:31

τι να σου πω, το εκανα και σε τοπικο επιπεδο για να δω τι παιζει ακριβως και το phpinfo.php το βλεπω
αρχικα επαιρνα οντως internal server error αλλα οταν εκανα το αρχειο
Κώδικας: Επιλογή όλων
sudo chown blades:blades phpinfo.php

ηταν οκ
και μη ξεχνας μετα απο καθε αλλαγη
Κώδικας: Επιλογή όλων
sudo service apache2 restart


δωσε τα αποτελεσματα
Κώδικας: Επιλογή όλων
dpkg --get-selections


Κώδικας: Επιλογή όλων
ls -l /var/www/


Κώδικας: Επιλογή όλων
ls -l /var/www/public_html


Κώδικας: Επιλογή όλων
ls /etc/apache2/sites-enabled
Άβαταρ μέλους
lepidas
superbTUX
superbTUX
 
Δημοσιεύσεις: 3326
Εγγραφή: 11 Μάιος 2011, 11:10
Εκτύπωση

Re: Δικαιώματα στον www-data να γράφει στα public_html

Δημοσίευσηαπό mariosv » 07 Μάιος 2013, 13:45

lepidas έγραψε:
Κώδικας: Επιλογή όλων
ls -l /var/www/public_html


Χμμμμ, μάλλον κάπου μπερδευτήκαμε. Δεν θέλω να κάνω public_html στο /var/www αλλά σε κάθε /home/χρήστης/public_html ώστε κάθε χρήστης να μπορεί να βάλει δικά του αρχεία στο δικό του public_html.
Δίνοντας
Κώδικας: Επιλογή όλων
sudo chown marios:marios /var/www/phpinfo.php

το php αρχείο τρέχει κανονικά.

Και μιας και έτρεξε, προανέφερες
lepidas έγραψε:καπου στην τεταρτη γραμμη πρεπει να σου δειχνει
Server API: CGI/FastCGI
και ναι, όντως το γράφει στην 4η γραμμή.

Το πρόβλημα που έχω είναι να μπορεί να έχει δικαιώματα για γράψε/σβήσε η php μέσα σε κάθε /home/χρήστης/public_html/ . To /var/www/ δεν με ενδιαφέρει προς το παρόν.
Αν βοηθάει, κάνω εγκατάσταση Ubuntu Server 12.04 LTS και μετά ακολουθώ αυτές τις οδηγίες:
http://www.linuxinside.gr/forum/apache2 ... untudebian
και στο τέλος ακολουθώ αυτό http://devplant.net/2010/05/04/linux-ph ... blic_html/ για να παίξει η php στο /home/χρήστης/public_html/
Στη συνέχεια ακολουθούν οι οδηγίες που μου δίνεις κάθε φορά.

Αν κάνω κάτι λάθος, διόρθωσε με!
Γνώσεις ⇛ Linux: Αρχάριος | Προγραμματισμός: Σχετικά καλά | Αγγλικά: Καλά
Laptop ⇛ Toshiba Satellite A200-1LA selective με Ubuntu 10.10 και Windows 7.
mariosv
babeTUX
babeTUX
 
Δημοσιεύσεις: 78
Εγγραφή: 17 Μαρ 2011, 22:42
Εκτύπωση

Re: Δικαιώματα στον www-data να γράφει στα public_html

Δημοσίευσηαπό lepidas » 07 Μάιος 2013, 20:07

ε κανε το Joomla installation να δουμε τι παιζει

κατι ακομα ειναι στο
Κώδικας: Επιλογή όλων
/etc/suphp/suphp.conf

το umask0077 να το κανεις umask0022. αυτο το κανεις για να παιρνει αυτοματα 644 σε καθε νεο αρχειο που ερχεται αλλιως θα μπαινει 600 και θα το ψαχνεις
Άβαταρ μέλους
lepidas
superbTUX
superbTUX
 
Δημοσιεύσεις: 3326
Εγγραφή: 11 Μάιος 2011, 11:10
Εκτύπωση

Re: Δικαιώματα στον www-data να γράφει στα public_html

Δημοσίευσηαπό mariosv » 07 Μάιος 2013, 21:26

Εγκαθίσταται κανονικά χωρίς κανένα πρόβλημα. Τώρα είναι το θέμα να παίξει και για κάθε /home/χρήστης/public_html όπως επίσης και να δουλέψει το phpmyadmin γιατί όταν πάν να μπω μου κατεβάζει το php αρχείο (μάλλον δεν τρέχει η php στο φάκελο του phpmyadmin).
Γνώσεις ⇛ Linux: Αρχάριος | Προγραμματισμός: Σχετικά καλά | Αγγλικά: Καλά
Laptop ⇛ Toshiba Satellite A200-1LA selective με Ubuntu 10.10 και Windows 7.
mariosv
babeTUX
babeTUX
 
Δημοσιεύσεις: 78
Εγγραφή: 17 Μαρ 2011, 22:42
Εκτύπωση

Re: Δικαιώματα στον www-data να γράφει στα public_html

Δημοσίευσηαπό lepidas » 07 Μάιος 2013, 22:16

για το phpmyadmin το εγραψα και παραπανω,θα πρεπει να
Κώδικας: Επιλογή όλων
a2enmod php5

service apache2 restart

τι εννοεις " το θέμα να παίξει και για κάθε /home/χρήστης/public_html"
Άβαταρ μέλους
lepidas
superbTUX
superbTUX
 
Δημοσιεύσεις: 3326
Εγγραφή: 11 Μάιος 2011, 11:10
Εκτύπωση

Re: Δικαιώματα στον www-data να γράφει στα public_html

Δημοσίευσηαπό mariosv » 07 Μάιος 2013, 23:27

lepidas έγραψε:για το phpmyadmin το εγραψα και παραπανω,θα πρεπει να
Κώδικας: Επιλογή όλων
a2enmod php5

service apache2 restart


lepidas έγραψε:και κατι τελευταιο για συμπληρωμα, το phpmyadmin δεν λειτουργει γιατι εχουμε διακοψει το php5 και γιατι το suphp δεν διαβαζει αρχεια απο το root, οποτε
Κώδικας: Επιλογή όλων
sudo nano /etc/apache2/mods-available/php5.conf

το αδειαζουμε ολο και βαζουμε μεσα
Κώδικας: Επιλογή όλων
<Directory /usr/share>
<IfModule mod_php5.c>
  <FilesMatch "\.ph(p3?|tml)$">
    SetHandler application/x-httpd-php
  </FilesMatch>
  <FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
  </FilesMatch>
  # To re-enable php in user directories comment the following lines
  # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
  # prevents .htaccess files from disabling it.
  <IfModule mod_userdir.c>
  <Directory /home/*/public_html>
    php_admin_value engine Off
  </Directory>
  </IfModule>
</IfModule>
</Directory>


το ενεργοποιούμε
Κώδικας: Επιλογή όλων
sudo a2enmod php5

και
Κώδικας: Επιλογή όλων
sudo /etc/init.d/apache2 restart


Κάνοντας αυτά και κάνοντας restart τον apache, παίρνω σφάλμα
Κώδικας: Επιλογή όλων
root@myserver:/home# /etc/init.d/apache2 restart
Syntax error on line 13 of /etc/apache2/mods-enabled/php5.conf:
<Directory not allowed here
Action 'configtest' failed.
The Apache error log may have more information.
   ...fail!



lepidas έγραψε:τι εννοεις " το θέμα να παίξει και για κάθε /home/χρήστης/public_html"

Το joomla έπαιξε κανονικά στο /var/www. Το πρόβλημά μου είναι να παίξει στο /home/εκάστοτε_χρήστης/public_html. Εκεί παίρνω ακόμα Internal Server Error. Ώστε από τον browser να έχω για κάθε χρήστη το δικό του joomla πχ 192.168.1.1/~user1 , 192.168.1.1/~user2 κτλ
Γνώσεις ⇛ Linux: Αρχάριος | Προγραμματισμός: Σχετικά καλά | Αγγλικά: Καλά
Laptop ⇛ Toshiba Satellite A200-1LA selective με Ubuntu 10.10 και Windows 7.
mariosv
babeTUX
babeTUX
 
Δημοσιεύσεις: 78
Εγγραφή: 17 Μαρ 2011, 22:42
Εκτύπωση

Re: Δικαιώματα στον www-data να γράφει στα public_html

Δημοσίευσηαπό mariosv » 07 Μάιος 2013, 23:43

Αν το αρχείο /etc/apache2/mods-enabled/php5.conf το τροποποιήσω έτσι:
Κώδικας: Επιλογή όλων
<Directory /usr/share>
<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
    # To re-enable php in user directories comment the following lines
    # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
</IfModule>
</Directory>

Δουλεύει το phpmyadmin κανονικά, αλλά δεν ξέρω αν είναι σωστό

Επίσης αν ξαναπροσθέσω το ίδιο κώδικα στο ίδιο αρχείο ακριβώς από κάτω δεύτερη φορά, αλλά να αλλάξω το <Directory /usr/share> σε <Directory /home/*/public_html>, τρέχουν τα php αρχεία από τα public_html των χρηστών αλλά πάλι δεν έχει δικαιώματα για γράψιμο και σβήσιμο όπως επίσης στο phpinfo() δίνει "Server API: Apache 2.0 Handler". Οπότε δεν έχει και σωστό handler. Αν, δεν ξέρω βέβαια πως, βάλουμε τον handler που έχει για το /var/www, μήπως θα παίξει κανονικά;
Γνώσεις ⇛ Linux: Αρχάριος | Προγραμματισμός: Σχετικά καλά | Αγγλικά: Καλά
Laptop ⇛ Toshiba Satellite A200-1LA selective με Ubuntu 10.10 και Windows 7.
mariosv
babeTUX
babeTUX
 
Δημοσιεύσεις: 78
Εγγραφή: 17 Μαρ 2011, 22:42
Εκτύπωση

Re: Δικαιώματα στον www-data να γράφει στα public_html

Δημοσίευσηαπό lepidas » 08 Μάιος 2013, 00:50

mariosv έγραψε:
lepidas έγραψε:για το phpmyadmin το εγραψα και παραπανω,θα πρεπει να
Κώδικας: Επιλογή όλων
a2enmod php5

service apache2 restart


lepidas έγραψε:και κατι τελευταιο για συμπληρωμα, το phpmyadmin δεν λειτουργει γιατι εχουμε διακοψει το php5 και γιατι το suphp δεν διαβαζει αρχεια απο το root, οποτε
Κώδικας: Επιλογή όλων
sudo nano /etc/apache2/mods-available/php5.conf

το αδειαζουμε ολο και βαζουμε μεσα
Κώδικας: Επιλογή όλων
<Directory /usr/share>
<IfModule mod_php5.c>
  <FilesMatch "\.ph(p3?|tml)$">
    SetHandler application/x-httpd-php
  </FilesMatch>
  <FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
  </FilesMatch>
  # To re-enable php in user directories comment the following lines
  # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
  # prevents .htaccess files from disabling it.
  <IfModule mod_userdir.c>
  <Directory /home/*/public_html>
    php_admin_value engine Off
  </Directory>
  </IfModule>
</IfModule>
</Directory>


το ενεργοποιούμε
Κώδικας: Επιλογή όλων
sudo a2enmod php5

και
Κώδικας: Επιλογή όλων
sudo /etc/init.d/apache2 restart


Κάνοντας αυτά και κάνοντας restart τον apache, παίρνω σφάλμα
Κώδικας: Επιλογή όλων
root@myserver:/home# /etc/init.d/apache2 restart
Syntax error on line 13 of /etc/apache2/mods-enabled/php5.conf:
<Directory not allowed here
Action 'configtest' failed.
The Apache error log may have more information.
   ...fail!



lepidas έγραψε:τι εννοεις " το θέμα να παίξει και για κάθε /home/χρήστης/public_html"

Το joomla έπαιξε κανονικά στο /var/www. Το πρόβλημά μου είναι να παίξει στο /home/εκάστοτε_χρήστης/public_html. Εκεί παίρνω ακόμα Internal Server Error. Ώστε από τον browser να έχω για κάθε χρήστη το δικό του joomla πχ 192.168.1.1/~user1 , 192.168.1.1/~user2 κτλ
να σου πω, γιατι δεν αφηνεις ολα τα πραγματα μεσα στο /var/www/? υπαρχει τροπος να γινει ετσι, ο καθε χρηστης να βλεπει μονο το φακελο του και χωρις να γινεται περιπλοκο. Δες στους οδηγους ενα θεμα που λεγεται Jail users μπλα μπλα, στην πρωτη σελιδα θα το βρεις.

/var/www/joomla-a
/var/www/joomla-b
/var/www/joomla-c

ο καθενας κλειδωμα μεσα στο joomla του και τελος
Άβαταρ μέλους
lepidas
superbTUX
superbTUX
 
Δημοσιεύσεις: 3326
Εγγραφή: 11 Μάιος 2011, 11:10
Εκτύπωση

Προηγούμενη

Επιστροφή στο Διακομιστές / Εξυπηρετητές

cron