Jinsi ya kuwezesha Moduli ya Apache Userdir kwenye RHEL/CentOS


Saraka ya Mtumiaji au Userdir ni sehemu ya Apache, ambayo inaruhusu saraka mahususi za mtumiaji kupatikana tena kupitia seva ya wavuti ya Apache kwa kutumia sintaksia ya http://example.com/~user/.

Kwa mfano, moduli ya mod_userdir inapowezeshwa, akaunti za watumiaji kwenye mfumo zitaweza kufikia maudhui katika saraka zao za nyumbani na ulimwengu kupitia seva ya wavuti ya Apache.

Katika makala hii, tutakuonyesha jinsi ya kuwezesha Apache userdirs (mod_userdir) kwenye seva za RHEL, CentOS, na Fedora kwa kutumia seva ya wavuti ya Apache.

Mafunzo haya yanakisia kuwa tayari una seva ya wavuti ya Apache iliyosakinishwa kwenye usambazaji wako wa Linux. Ikiwa hujafanya hivyo, unaweza kuisanikisha kwa kutumia utaratibu ufuatao...

Hatua ya 1: Sakinisha Seva ya Apache HTTP

Ili kusakinisha seva ya wavuti ya Apache, tumia amri ifuatayo kwenye usambazaji wako wa Linux.

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

Hatua ya 2: Wezesha Apache Userdirs

Sasa unahitaji kusanidi seva yako ya wavuti ya Apache ili kutumia sehemu hii katika faili ya usanidi /etc/httpd/conf.d/userdir.conf, ambayo tayari imesanidiwa kwa chaguo bora zaidi.

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

Kisha uthibitishe yaliyomo kitu kama hapa chini.

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

Ili kuruhusu watumiaji wachache kupata saraka za UserDir, lakini si mtu mwingine yeyote, tumia mpangilio ufuatao katika faili ya usanidi.

UserDir disabled
UserDir enabled testuser1 testuser2 testuser3

Ili kuruhusu watumiaji wote kuwa na saraka za UserDir kufikiwa, lakini kuzima hii kwa watumiaji wachache, tumia mpangilio ufuatao katika faili ya usanidi.

UserDir enabled
UserDir disabled testuser4 testuser5 testuser6

Mara tu unapofanya mipangilio ya usanidi kulingana na mahitaji yako, unahitaji kuanzisha tena seva ya wavuti ya Apache ili kutumia mabadiliko ya hivi majuzi.

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

Hatua ya 3: Kuunda Saraka za Watumiaji

Sasa unahitaji kuunda public_html saraka/saraka katika saraka za nyumbani za watumiaji/watumiaji. Kwa mfano, hapa ninaunda saraka ya public_html chini ya saraka ya nyumbani ya mtumiaji wa tecmint.

# mkdir /home/tecmint/public_html

Ifuatayo, tumia ruhusa sahihi kwenye ukurasa wa nyumbani wa mtumiaji na saraka za umma_html.

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

Pia, weka muktadha sahihi wa SELinux kwa Apache homemedirs (httpd_enable_homedirs).

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

Hatua ya 4: Mtihani Umewasha Apache Userdir

Hatimaye, thibitisha Userdir kwa kuelekeza kivinjari chako kwa jina la mpangishi wa seva au anwani ya IP ikifuatiwa na jina la mtumiaji.

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

Ikiwa unataka, unaweza pia kujaribu kurasa za HTML na maelezo ya PHP kwa kuunda faili zifuatazo.

Unda /home/tecmint/public_html/test.html faili na maudhui yafuatayo.

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

Unda /home/tecmint/public_html/test.php faili na maudhui yafuatayo.

<?php
  phpinfo();
?>

Ni hayo tu! Katika makala haya, tumeelezea jinsi ya kuwezesha moduli ya Userdir kuruhusu watumiaji kushiriki maudhui kutoka kwa saraka zao za nyumbani. Ikiwa una maswali kuhusu nakala hii, jisikie huru kuuliza katika sehemu ya maoni hapa chini.