Kā iespējot Apache Userdir moduli RHEL/CentOS


Lietotāju katalogs vai Userdir ir Apache modulis, kas ļauj lietotājiem specifiskus direktorijus izgūt, izmantojot Apache tīmekļa serveri, izmantojot sintaksi http://example.com/~user/ .

Piemēram, kad ir iespējots mod_userdir modulis, sistēmā esošie lietotāju konti varēs piekļūt savam mājas direktoriju saturam ar pasauli, izmantojot Apache tīmekļa serveri.

Šajā rakstā mēs parādīsim, kā iespējot Apache userdirs (mod_userdir) RHEL, CentOS un Fedora serveros, izmantojot Apache tīmekļa serveri.

Šajā apmācībā tiek pieņemts, ka jūsu Linux izplatīšanā jau ir instalēts Apache tīmekļa serveris. Ja vēl neesat to izdarījis, varat to instalēt, izmantojot šādu procedūru ...

1. darbība: instalējiet Apache HTTP serveri

Lai instalētu Apache tīmekļa serveri, Linux izplatīšanā izmantojiet šo komandu.

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

2. darbība: iespējojiet Apache Userdirs

Tagad jums ir jākonfigurē Apache tīmekļa serveris, lai šis modulis tiktu izmantots konfigurācijas failā /etc/httpd/conf.d/userdir.conf , kas jau ir konfigurēts ar vislabākajām opcijām.

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

Pēc tam apstipriniet saturu, piemēram, zemāk.

# 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>

Lai atļautu dažiem lietotājiem piekļūt direktorijām UserDir , bet ne citiem, konfigurācijas failā izmantojiet šo iestatījumu.

UserDir disabled
UserDir enabled testuser1 testuser2 testuser3

Lai atļautu visiem lietotājiem piekļūt direktorijām UserDir , bet atspējojiet to dažiem lietotājiem, konfigurācijas failā izmantojiet šo iestatījumu.

UserDir enabled
UserDir disabled testuser4 testuser5 testuser6

Kad esat veicis konfigurācijas iestatījumus atbilstoši savām prasībām, jums ir jārestartē Apache tīmekļa serveris, lai piemērotu pēdējās izmaiņas.

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

3. solis: Lietotāju direktoriju izveide

Tagad jums jāizveido public_html direktorijs/direktoriji lietotāju/lietotāju mājas direktorijos. Piemēram, šeit es izveidoju direktoriju public_html , kas atrodas tecmint lietotāja mājas direktorijā.

# mkdir /home/tecmint/public_html

Pēc tam lietojiet pareizās atļaujas lietotāja mājas un public_html direktorijos.

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

Tāpat iestatiet pareizo SELinux kontekstu Apache mājas lietotājiem (httpd_enable_homedirs).

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

4. darbība. Pārbaudiet iespējoto Apache Userdir

Visbeidzot, pārbaudiet Userdir, norādot pārlūkprogrammā uz servera resursdatora nosaukumu vai IP adresi, kam seko lietotājvārds.

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

Ja vēlaties, varat pārbaudīt arī HTML lapas un PHP informāciju, izveidojot šādus failus.

Izveidojiet failu /home/tecmint/public_html/test.html ar šādu saturu.

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

Izveidojiet /home/tecmint/public_html/test.php failu ar šādu saturu.

<?php
  phpinfo();
?>

Tas ir viss! Šajā rakstā mēs esam izskaidrojuši, kā iespējot Userdir moduli, lai lietotāji varētu kopīgot saturu no viņu mājas direktorijiem. Ja jums ir jautājumi par šo rakstu, jautājiet zemāk komentāru sadaļā.