როგორ დააინსტალიროთ Apache (HTTPD) AlmaLinux 9-ზე

Apache, აგრეთვე ცნობილი, როგორც Apache HTTP სერვერიბოლო რამდენიმე ათწლეულის მანძილზე გლობალურად ერთ-ერთი ყველაზე ფართოდ გამოყენებული ვებ სერვერის აპლიკაციაა. ეს არის უფასო, ღია კოდის ვებ აპლიკაციის პროგრამული უზრუნველყოფა, რომელსაც ინახავს Apache Software Foundation. Apache უზრუნველყოფს რამდენიმე მძლავრ ფუნქციას დინამიურად ჩატვირთვის მოდულებით, სხვა პროგრამულ უზრუნველყოფასთან მარტივ ინტეგრაციასთან და სტატიკური ფაილების მართვასთან, სხვა პოპულარულ ფუნქციებთან ერთად.

შემდეგ გაკვეთილზე თქვენ შეისწავლით თუ როგორ დააინსტალიროთ Apache ვებ სერვერი AlmaLinux 9-ზე ბრძანების ხაზის ტერმინალის გამოყენებით დესკტოპის ან სერვერისთვის და ძირითადი კონფიგურაცია და შექმნათ TLS/SSL სერთიფიკატი Let's Encrypt-ით.

განაახლეთ AlmaLinux

სანამ გააგრძელებთ, გთხოვთ, განაახლოთ თქვენი სისტემა, რათა დარწმუნდეთ, რომ ყველა არსებული პაკეტი განახლებულია, რათა თავიდან აიცილოთ კონფლიქტები სახელმძღვანელოსა და კარგი პრაქტიკის დროს.

sudo dnf upgrade --refresh

დააინსტალირეთ Apache

ნაგულისხმევად, Apache (HTTPD) ნაჩვენებია თქვენი აპლიკაციის ნაკადში; შეასრულეთ შემდეგი ბრძანება Apache-ს დასაყენებლად.

sudo dnf install httpd -y

ვებ აპლიკაციის ინსტალაციისას, თუ ის არ არის გააქტიურებული ან ჩართული ნაგულისხმევად, გამოიყენეთ შემდეგი ბრძანება სერვისის დასაწყებად და დაუყოვნებლივ ჩართოთ სისტემის ჩატვირთვისას.

რეკლამა
sudo systemctl enable httpd --now

შეამოწმეთ, მუშაობს თუ არა Apache სწორად, შემდეგი გამოყენებით systemctl ბრძანება.

systemctl status httpd

გამოსავლის მაგალითი, თუ ყველაფერი წესრიგშია:

როგორ დააინსტალიროთ Apache (HTTPD) AlmaLinux 9-ზე

FirewallD წესების კონფიგურაცია

ვებ აპლიკაციის ინსტალაციისას არ არის დაყენებული Firewall-ის წესები სტანდარტული 80 ან 443 პორტებზე. სანამ გააგრძელებთ, უნდა დააყენოთ შემდეგი წესები, ეს დამოკიდებული იქნება იმაზე, თუ რომელ პორტებს გამოიყენებთ, მაგრამ ყველა ვარიანტი ჩამოთვლილია.

გახსენით პორტი 80 ან HTTP:

sudo firewall-cmd --permanent --zone=public --add-service=http

გახსენით პორტი 443 ან HTTPS:

sudo firewall-cmd --permanent --zone=public --add-service=https

გადატვირთეთ firewall ცვლილებები ძალაში

რეკლამა
sudo firewall-cmd --reload

FirewallD-ის კონფიგურაციის შემდეგ, შეამოწმეთ, რომ დარწმუნდეთ, რომ ხედავთ HTTPD სადესანტო გვერდს თქვენს ინტერნეტ ბრაუზერში.

http://your_server_ip

ალტერნატივა, სცადეთ ლოკალჰოსტი.

http://localhost

თუ ყველაფერი კარგად მუშაობს, თქვენ უნდა მოხვდეთ შემდეგ გვერდზე:

როგორ დააინსტალიროთ Apache (HTTPD) AlmaLinux 9-ზე

შექმენით ვირტუალური ჰოსტი

Apache ვებ სერვერის გამოყენებით, შეგიძლიათ შექმნათ ვირტუალური ჰოსტები, რათა მართოთ კონფიგურაციები ერთზე მეტი დომენისთვის, რომელიც მუშაობს ერთ სერვერზე. თუ თქვენ იყენებდით Nginx, ეს არის სერვერის ბლოკების ექვივალენტი. ქვემოთ მოცემულ მაგალითში, გაკვეთილი შექმნის დომენს example-domain.com, რომელსაც თქვენ შეცვლით თქვენი დომენის სახელით.

დირექტორიების შექმნა და კონფიგურაცია

შექმენით ახალი დირექტორია, /example.com/, და შეცვალეთ მაგალითი თქვენი დომენის სახელით შემდეგი ბრძანებით.

sudo mkdir -p /var/www/example.com/

შემდეგი ნაბიჯი არის დირექტორიაზე საკუთრების მინიჭება www- მონაცემები გარემოს ცვლადი.

რეკლამა
sudo chown -R apache:apache /var/www/example.com

ახლა შექმენით გვერდის ნიმუში index.html თქვენი საყვარელი ტექსტური რედაქტორის გამოყენებით. სახელმძღვანელო გამოიყენებს nano-ს, როგორც ქვემოთ.

sudo nano /var/www/example.com/index.html

ფაილში დააკოპირეთ და ჩასვით შემდეგი კოდი:

<html>
 <head>
  <title>Welcome to Linuxcapable.com</title>
 </head>
 <body>
   <h1>Success!  The tutorial server block is working! Thanks Linuxcapable.com :D</h1>
 </body>
</html>

შეინახეთ ფაილი (CTRL+O), შემდეგ გასვლა (Ctrl+x).

იხილეთ ასევე  როგორ დააინსტალიროთ ExifTool Linux Mint 21/20-ზე

შექმენით ვირტუალური ჰოსტი

ახლა, როცა შექმენით სადესანტო გვერდი და დააყენეთ სწორი მფლობელობა და ნებართვები. საჭირო დირექტორიები უნდა შეიქმნას და დაყენდეს ნაგულისხმევად.

პირველ რიგში, გააკეთეთ საჭირო დირექტორიები საიტები ხელმისაწვდომია და საიტების ჩართვით. Nginx მომხმარებლები ასევე იცნობენ ამ პარამეტრს.

sudo mkdir /etc/httpd/sites-available
sudo mkdir /etc/httpd/sites-enabled

შემდეგი ნაბიჯი, რომელიც უნდა გააკეთოთ, არის Apache-ს მითითება, მოძებნოს ვირტუალური მასპინძელი ფაილები, რომლებშიც უნდა იყოს განთავსებული /etc/httpd/sites-available დირექტორია.

რეკლამა

გახსენით კონფიგურაციის ფაილი.

sudo nano /etc/httpd/conf/httpd.conf

დაამატეთ შემდეგი ფაილის ბოლოს.

IncludeOptional sites-enabled/*.conf

სურვილისამებრ, შეგიძლიათ გამორთოთ ნაგულისხმევი საქაღალდე, რომელიც ეძებს Apache-ს ვირტუალურ მასპინძელ ფაილებს, რაც შეიძლება დაგჭირდეთ დაბნეულობის თავიდან ასაცილებლად.

უბრალოდ განათავსეთ კომენტარი გვერდით IncludeOptional conf.d/*.conf.

მაგალითი:

#IncludeOptional conf.d/*.conf
IncludeOptional sites-enabled/*.conf

გამომავალი მაგალითი ზემოაღნიშნული კონფიგურაციებით კომბინირებული:

რეკლამა
როგორ დააინსტალიროთ Apache (HTTPD) AlmaLinux 9-ზე

შეინახეთ ფაილი (CTRL+O), შემდეგ გასვლა (Ctrl+x).

შემდეგი, გამოიყენეთ თქვენი საყვარელი ტექსტური რედაქტორი, რომ შექმნათ ვირტუალური ჰოსტის კონფიგურაციის ფაილი, რომელიც მდებარეობს /etc/httpd/sites-available/example.com.conf როგორც ქვემოთ.

sudo nano /etc/httpd/sites-available/example.com.conf

დააკოპირეთ და ჩასვით შემდეგი კონფიგურაციის ბლოკის ფაილში; შენიშვნა შეცვალოთ თქვენი სერვერის სახელი, ServerAlias, და დოკუმენტის ფესვი საკუთართან ერთად.

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName example_domain
    ServerAlias www.example_domain
    DocumentRoot /var/www/example.com/
</VirtualHost>

არ დაგავიწყდეთ სერვერის საჭირო დირექტივების შეცვლა საკუთარზე.

შემდეგი, თქვენ უნდა ჩართოთ ნებართვები Apache სერვისისთვის, რათა დაუშვას საჯაროდ წვდომა თქვენს სერვერზე /etc/httpd/conf/httpd.conf კონფიგურაციის ფაილი. ამის შეუსრულებლობამ შეიძლება გამოიწვიოს HTTP 403 შეცდომები თქვენს ვებსაიტზე წვდომისას, რადგან, ნაგულისხმევად, კონფიგურაცია დაყენებულია წვდომის უარყოფაზე.

რეკლამა

გახსენით კონფიგურაციის ფაილი ნანოს ან თქვენი არჩევანის ნებისმიერი ტექსტური რედაქტორის გამოყენებით.

sudo nano /etc/httpd/conf/httpd.conf

ახლა დაამატეთ შემდეგი ფაილი და დარწმუნდით, რომ შეცვალეთ root დირექტორია თქვენი საკუთარი.

მაგალითი:

<Directory /var/www/example.com/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

ეს შეიძლება დაემატოს კონფიგურაციის ფაილის ბოლოს, ქვემოთ მოცემულია ამის მაგალითი ცოცხალი გარემოში.

შეინახეთ კონფიგურაციის ფაილი გამოყენებით (CTRL+O) და გადით (Ctrl+x).

ჩართეთ ვირტუალური ჰოსტი

შემდეგი ნაბიჯი არის ვირტუალური ჰოსტის ჩართვა. თავდაპირველად თქვენ შექმენით ორი დირექტორია, საიტები ხელმისაწვდომია და საიტები ჩართულია. თქვენ უნდა შექმნათ ა სიმლინკი to საიტების ჩართვით ვირტუალური ჰოსტის გასააქტიურებლად.

რეკლამა

სიმბმულის შესაქმნელად გამოიყენეთ შემდეგი მაგალითი თქვენს ტერმინალში.

sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/

დასრულების შემდეგ, გადატვირთეთ Apache სერვისი.

sudo systemctl restart httpd

გახსენით თქვენი ინტერნეტ ბრაუზერი და ჩაწერეთ თქვენი დომენის სახელი HTTP://example_domain; თუ თქვენ არ გაქვთ დომენი დისტანციური ან ლოკალური IP მისამართით, თქვენ უნდა მიიღოთ შემდეგი სადესანტო გვერდი, რომელიც შექმენით index.html ფაილში.

იხილეთ ასევე  როგორ დააინსტალიროთ Beekeeper Studio Ubuntu 22.10/22.04/20.04-ზე

მაგალითი:

როგორ დააინსტალიროთ Apache (HTTPD) AlmaLinux 9-ზე

გილოცავთ, თქვენ წარმატებით შექმენით თქვენი ვირტუალური ჰოსტი და წარმატებით იმუშავეთ თქვენს დომენზე.

უსაფრთხო ვებ სერვერის ფაილები

ერთ-ერთი ყველაზე გავრცელებული შეცდომა, რომელსაც ბევრი მომხმარებელი უშვებს, არის ფაილების/საქაღალდეების ნებართვების დაფიქსირება. ბევრი მომხმარებელი სრულ წაკითხვა/ჩაწერა და წვდომას ანიჭებს საზოგადოებას.

რეკლამა

გამოიყენეთ შემდეგი ბრძანება ყველა საქაღალდისა და ფაილის მოსაძიებლად და ყველაზე გავრცელებული უსაფრთხო ნებართვების დასაყენებლად. დარწმუნდით, რომ შეცვალეთ ნებართვები ნებისმიერ ფაილზე / დირექტორიაზე ამის შემდეგ. მაგალითად, phpBB მოითხოვს, რომ ზოგიერთი საქაღალდე იყოს 777.

sudo find /var/www/example.com/ -type d -exec chmod 755 "{}" \;
sudo find /var/www/example.com/ -type f -exec chmod 644 "{}" \;

დარწმუნდით, რომ შეცვალეთ /var/www/example.com/ თქვენი root დირექტორიას მდებარეობაზე.

გაითვალისწინეთ, რომ ეს არ ხდის თქვენს Apache სერვერს უსაფრთხოს; ის გამორიცხავს გავრცელებულ რისკს ბევრიდან.

დაიცავით Apache Let's Encrypt SSL უფასო სერთიფიკატით

იდეალურ შემთხვევაში, გსურთ თქვენი Apache ვებ სერვერის გაშვება HTTPS-ზე SSL სერთიფიკატის გამოყენებით. ამის საუკეთესო გზაა Let's Encrypt-ის გამოყენება, უფასო, ავტომატიზებული და ღია სერტიფიკატის ავტორიტეტი, რომელსაც მართავს არაკომერციული ინტერნეტ უსაფრთხოების კვლევის ჯგუფი (ISRG).

პირველი, ჩართეთ CRB საცავი.

sudo dnf config-manager --set-enabled crb

შემდეგი, ინსტალაცია თბილი შემდეგის გამოყენებით (dnf) ტერმინალის ბრძანება.

რეკლამა
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

ახლა დააინსტალირეთ snapd.

sudo dnf install snapd -y

ინსტალაციის შემდეგ, ჩართეთ იგი დაუყოვნებლივ და სისტემის გაშვებისას განახლებების მონიტორინგისთვის.

sudo systemctl enable snapd --now

შემდეგი, დააინსტალირეთ snap core, რათა დაფაროს ყველა დამოკიდებულება, რომელიც საჭიროა snap პაკეტებისთვის.

sudo snap install core

შექმენით სიმლინკი snapd საქაღალდისთვის.

sudo ln -s /var/lib/snapd/snap /snap

დააინსტალირეთ Certbot snap პაკეტი.

sudo snap install --classic certbot

და ბოლოს, შექმენით კიდევ ერთი სიმბლაკი certbot-ისთვის.

რეკლამა
sudo ln -s /snap/bin/certbot /usr/bin/certbot

ინსტალაციის შემდეგ, გაუშვით შემდეგი ბრძანება თქვენი სერთიფიკატის შექმნის დასაწყებად:

sudo certbot --dry-run --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com

ალტერნატიულად, გამოიყენეთ შემდეგი ბრძანება და მიჰყევით მოთხოვნებს, თუ უფრო ხელმისაწვდომია.

sudo certbot certonly --apache

ეს იდეალური დაყენება მოიცავს იძულებით HTTPS 301 გადამისამართებებს, Strict-Transport-Security სათაურს და OCSP Stapling-ს. უბრალოდ დარწმუნდით, რომ შეცვალეთ ელექტრონული ფოსტა და დომენის სახელი თქვენს მოთხოვნებზე.

ახლა თქვენი URL იქნება HTTPS://www.example.com ნაცვლად HTTP://www.example.com.

სურვილისამებრ, შეგიძლიათ დააყენოთ cron სამუშაო სერტიფიკატების ავტომატურად განახლებისთვის. Certbot გთავაზობთ სკრიპტს, რომელიც ამას ავტომატურად აკეთებს და შეგიძლიათ ჯერ შეამოწმოთ, რომ ყველაფერი მუშაობს მშრალი გაშვების შესრულებით.

sudo certbot renew --dry-run

შემდეგ გამოიყენეთ systemctl-ტაიმერები დაადასტუროთ, რომ ამჟამად მუშაობს Cron სამუშაო თქვენი სერტიფიკატის შესამოწმებლად და განახლებისთვის.

რეკლამა
systemctl list-timers

მაგალითი გამომავალი:

ტაიმერი შეამოწმებს და განაახლებს სერთიფიკატს ვადის გასვლამდე, ასე რომ თქვენ აღარ დაგჭირდებათ ფიქრი.

იხილეთ ასევე  როგორ დააინსტალიროთ FFmpeg Fedora 37/36/35-ზე

მართეთ Apache Service

ახლა, როდესაც Apache წარმატებით მუშაობს თქვენს სერვერზე, მენეჯმენტის ზოგიერთი ძირითადი პუნქტი შემდეგია.

Apache სერვერის ჟურნალი

Apache სერვერის ჟურნალები შეგიძლიათ იხილოთ დირექტორიაში /var/log/httpd/, ერთად წვდომა.ლოგი და შეცდომა. ბლოგი არის ნაგულისხმევი წვდომა და შეცდომის სახელები. ეს შეიძლება შეიცვალოს სხვა სახელებით თქვენი ვირტუალური ჰოსტის კონფიგურაციის ფაილში მომავალში.

აპაჩის ბრძანებები

შემდეგი ბრძანებები, რომლებსაც უდავოდ გამოიყენებთ თქვენს ყოველდღიურ მენეჯმენტში Apache-თან მუშაობისას. ზოგიერთი ყველაზე გავრცელებულია:

შეაჩერე Apache ვებ სერვერი:

რეკლამა
sudo systemctl stop apache2

გაუშვით Apache ვებ სერვერი:

sudo systemctl start apache2

გადატვირთეთ Apache ვებ სერვერი:

sudo systemctl restart apache2

გადატვირთეთ Apache ვებ სერვერი:

sudo systemctl reload apache2

გამორთეთ Apache სერვერის ჩატვირთვისას:

sudo systemctl disable apache2

ჩართეთ Apache სერვერის ჩატვირთვისას:

sudo systemctl enable apache2

როგორ განაახლოთ Apache

მომავალში Apache-ს განახლებისთვის, ეს კეთდება იმ ბრძანებით, რომელიც გამოიყენეთ თქვენი სისტემის განახლების შესამოწმებლად. ყოველთვის შექმენით სარეზერვო ასლები ან სურათები, თუ თქვენ გაქვთ Apache სერვისი, რომელიც მუშაობს კრიტიკულ სერვისებზე. ჩვეულებრივ, მისი განახლება საკმაოდ უსაფრთხოა, მაგრამ ზოგჯერ შეიძლება მოხდეს შეცდომები, როგორც ნებისმიერი პროგრამული განახლება.

რეკლამა

Apache-ს განახლებისთვის გამოიყენეთ შემდეგი ბრძანება.

sudo dnf update --refresh

მე გირჩევთ დაამატოთ -განახლება ყველა განახლების ბრძანებაზე, რათა უზრუნველყოთ თქვენი ქეშის განახლება.

როგორ ამოიღოთ (წაშალოთ) Apache

Apache-ს ამოღება, თუ მას აღარ იყენებთ, შეიძლება გაკეთდეს შემდეგი ბრძანების გამოყენებით.

sudo systemctl disable apache2 --now

ახლა შემდეგი ბრძანების გამოყენებით, ამოიღეთ Apache და ყველა მონაცემთა კვალი სრული წაშლისთვის.

sudo dnf autoremove httpd

ნარჩენი ფაილები შეიძლება კვლავ არსებობდეს მასში /etc/apache2/ მთავარი საქაღალდე, ასე რომ, მოდით წავშალოთ ეს დირექტორია.

sudo rm -R /etc/httpd/

გაითვალისწინეთ, რომ ეს გაასუფთავებს თქვენს პერსონალურ კონფიგურაციის ფაილებს. დარწმუნდით, რომ შექმენით სარეზერვო ასლი, თუ შეგიძლიათ ისევ გამოიყენოთ იგი Github ან მსგავსი ტიპის მომსახურება.

რეკლამა

კომენტარები და დასკვნა

დასასრულს, Apache იყო ყველაზე პოპულარული ვებ აპლიკაციის სერვერი ძალიან დიდი ხნის განმავლობაში. თუმცა, Nginx-მა ნელ-ნელა დაეწია და ლიდერობას გაუსწრო. ეს შეიძლება გამოწვეული იყოს მიკროსერვისების მზარდი პოპულარობით და Nginx-ის უნარით გაუმკლავდეს უფრო დიდ დატვირთვებს უფრო ეფექტურად. მიუხედავად ამისა, Apache რჩება ერთ-ერთ ყველაზე განლაგებულ სერვერად, რომელიც გამოიყენება დღეს. თუ თქვენ იწყებთ თქვენი ვებ აპლიკაციების ჰოსტინგით, გირჩევთ, ჯერ სცადოთ Apache, რადგან ის ჯერ კიდევ ერთ-ერთი ყველაზე ხელმისაწვდომი ვარიანტია დასაწყებად.


არა ის, რასაც ეძებდით? სცადეთ მოძებნოთ დამატებითი გაკვეთილები.

დატოვე კომენტარი