Πώς να ενεργοποιήσετε τη μονάδα Apache Userdir στο RHEL/CentOS


Ο Κατάλογος χρηστών ή το Userdir είναι μια λειτουργική μονάδα Apache, η οποία επιτρέπει την ανάκτηση καταλόγων για συγκεκριμένους χρήστες μέσω ενός διακομιστή ιστού Apache χρησιμοποιώντας το http://example.com/ ~user/ σύνταξη.

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

Σε αυτό το άρθρο, θα σας δείξουμε πώς να ενεργοποιήσετε τα userdirs Apache (mod_userdir) σε RHEL, CentOS και Διακομιστές Fedora που χρησιμοποιούν διακομιστή ιστού Apache.

Αυτό το σεμινάριο προϋποθέτει ότι έχετε ήδη εγκατεστημένο διακομιστή ιστού Apache στη διανομή Linux σας. Εάν δεν το έχετε, μπορείτε να το εγκαταστήσετε ακολουθώντας την παρακάτω διαδικασία…

Βήμα 1: Εγκαταστήστε τον διακομιστή HTTP Apache

Για να εγκαταστήσετε τον διακομιστή ιστού Apache, χρησιμοποιήστε την ακόλουθη εντολή στη διανομή Linux.

yum install httpd           [On CentOS/RHEL]
dnf install httpd           [On Fedora]

Βήμα 2: Ενεργοποιήστε το Apache Userdirs

Τώρα πρέπει να διαμορφώσετε τον διακομιστή ιστού Apache ώστε να χρησιμοποιεί αυτήν την ενότητα στο αρχείο διαμόρφωσης /etc/httpd/conf.d/userdir.conf, το οποίο έχει ήδη ρυθμιστεί με τις καλύτερες επιλογές.

vi /etc/httpd/conf.d/userdir.conf

Στη συνέχεια, επικυρώστε το περιεχόμενο όπως παρακάτω.

directory if a ~user request is received.
#
The path to the end user account 'public_html' directory must be
accessible to the webserver userid.  This usually means that ~userid
must have permissions of 711, ~userid/public_html must have permissions
of 755, and documents contained therein must be world-readable.
Otherwise, the client will only receive a "403 Forbidden" message.
#
<IfModule mod_userdir.c>
    #
    # UserDir is disabled by default since it can confirm the presence
    # of a username on the system (depending on home directory
    # permissions).
    #
    UserDir enabled tecmint

    #
    # To enable requests to /~user/ to serve the user's public_html
    # directory, remove the "UserDir disabled" line above, and uncomment
    # the following line instead:
    #
    UserDir public_html
</IfModule>

#
Control access to UserDir directories.  The following is an example
for a site where these directories are restricted to read-only.
#
<Directory "/home/*/public_html">
    ## Apache 2.4 users use following ##
    AllowOverride FileInfo AuthConfig Limit Indexes
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS

## Apache 2.2 users use following ##
        Options Indexes Includes FollowSymLinks        
        AllowOverride All
        Allow from all
        Order deny,allow
</Directory>

Για να επιτρέψετε σε μερικούς χρήστες να έχουν πρόσβαση σε καταλόγους UserDir, αλλά όχι σε οποιονδήποτε άλλο, χρησιμοποιήστε την ακόλουθη ρύθμιση στο αρχείο διαμόρφωσης.

UserDir disabled
UserDir enabled testuser1 testuser2 testuser3

Για να επιτρέψετε σε όλους τους χρήστες να έχουν πρόσβαση σε καταλόγους UserDir, αλλά να την απενεργοποιήσετε σε λίγους χρήστες, χρησιμοποιήστε την ακόλουθη ρύθμιση στο αρχείο διαμόρφωσης.

UserDir enabled
UserDir disabled testuser4 testuser5 testuser6

Αφού κάνετε τις ρυθμίσεις διαμόρφωσης σύμφωνα με τις απαιτήσεις σας, πρέπει να επανεκκινήσετε τον διακομιστή ιστού Apache για να εφαρμόσετε τις πρόσφατες αλλαγές.

systemctl restart httpd.service  [On SystemD]
service httpd restart            [On SysVInit]

Βήμα 3: Δημιουργία καταλόγων χρηστών

Τώρα πρέπει να δημιουργήσετε έναν κατάλογο/καταλόγους public_html στους οικιακούς καταλόγους χρηστών/ χρηστών. Για παράδειγμα, εδώ δημιουργώ έναν κατάλογο public_html στον αρχικό κατάλογο χρήστη του tecmint.

mkdir /home/tecmint/public_html

Στη συνέχεια, εφαρμόστε τα σωστά δικαιώματα στους καταλόγους home και public_html χρήστη.

chmod 711 /home/tecmint
chown tecmint:tecmint /home/tecmint/public_html
chmod 755 /home/tecmint/public_html

Επίσης, ορίστε το σωστό περιβάλλον SELinux για το Apache homedirs (httpd_enable_homedirs).

setsebool -P httpd_enable_homedirs true
chcon -R -t httpd_sys_content_t /home/tecmint/public_html

Βήμα 4: Δοκιμή Enabled Apache Userdir

Τέλος, επαληθεύστε το Userdir υποδεικνύοντας το πρόγραμμα περιήγησής σας στο όνομα κεντρικού υπολογιστή ή τη διεύθυνση IP του διακομιστή ακολουθούμενη από το όνομα χρήστη.

http://example.com/~tecmint
OR
http://192.168.0.105/~tecmint

Εάν θέλετε, μπορείτε επίσης να δοκιμάσετε σελίδες HTML και πληροφορίες PHP δημιουργώντας τα ακόλουθα αρχεία.

Δημιουργήστε αρχείο /home/tecmint/public_html/test.html με το ακόλουθο περιεχόμενο.

<html>
  <head>
    <title>TecMint is Best Site for Linux</title>
  </head>
  <body>
    <h1>TecMint is Best Site for Linux</h1>
  </body>
</html>

Δημιουργήστε αρχείο /home/tecmint/public_html/test.php με το ακόλουθο περιεχόμενο.

<?php
  phpinfo();
?>

Αυτό είναι όλο! Σε αυτό το άρθρο, εξηγήσαμε πώς να ενεργοποιήσετε τη λειτουργική μονάδα Userdir ώστε να επιτρέπεται στους χρήστες να μοιράζονται περιεχόμενο από τους οικιακούς καταλόγους τους. Εάν έχετε απορίες σχετικά με αυτό το άρθρο, μη διστάσετε να ρωτήσετε στην ενότητα σχολίων παρακάτω.