ამ სტატიაში ჩვენ მოგაწვდით ნაბიჯ-ნაბიჯ ინსტრუქციებს, თუ როგორ უნდა დააკონფიგურიროთ ვებ გარემო სერვერზე, რომელიც მუშაობს Linux-ზე. პირველ რიგში, თქვენ უნდა გესმოდეთ, რომ ტიპიური ვებ სერვერი შედგება რამდენიმე ურთიერთდაკავშირებული კომპონენტისგან:
- HTTP სერვერი
- პროგრამირების ენის თარჯიმანი
- მონაცემთა ბაზის მართვის სისტემა (DBMS)
თქვენი ვებსაიტის სამართავად ასევე დაგჭირდებათ კონტენტის მართვის სისტემის (CMS) დაყენება, მონაცემთა ბაზის მართვის ვებ ინტერფეისი და FTP წვდომა.
მოდით განვიხილოთ Linux-ზე ძალიან პოპულარული Apache-PHP-MySQL(MariaDB) კონფიგურაციის დაყენება. ჩვენ ასევე დავაინსტალირებთ vsftpd ftp სერვერს, phpMyAdmin - ვებ ინტერფეისს მონაცემთა ბაზის მართვისთვის და კონტენტის მართვის სისტემა WordPress.
დასაწყებად გთხოვთ შეუკვეთეთ VPS სერვერი or თავდადებული სერვერზე. მაგალითად, ჩვენ გამოვიყენეთ ვირტუალური სერვერი სტატიკური IP მისამართით, რომელიც მუშაობს Ubuntu Server 18.04. ყველა ბრძანება გაშვებული იყო root მომხმარებლის მიერ.
Apache HTTP სერვერის კონფიგურაცია
1. მონტაჟი
apt install apache2
როდესაც ინსტალაცია დასრულდება, გახსენით ბრაუზერი და შეამოწმეთ "http://[server's_ip_address]"

თუ ზემოთ მოცემულ ეკრანის სურათზე ხედავთ მისასალმებელ გვერდს, ეს ნიშნავს, რომ თქვენი HTTP სერვერი მუშაობს.
2. შექმენით სატესტო გვერდი
ნაგულისხმევი root დირექტორია ვებსაიტისთვის "/var/www/html". ეს არის სადაც შეგიძლიათ იპოვოთ მისასალმებელი გვერდი, რომელიც ახლახან ნახეთ. მოდით შევქმნათ ცალკე დირექტორია "/var/www/sites" ვირტუალური ჰოსტებისთვის და ქვესაქაღალდისთვის "/var/www/sites/site1" თქვენი ტესტის ვებსაიტის ინდექსის გვერდით.
cd /var/www/ mkdir -p sites/site1 echo "<H1>Welcome</H1>" > sites/site1/index.html
შედეგად ფაილი ”/var/www/sites/site1/index.html” უნდა შეიცავდეს html კოდის მხოლოდ ერთ ხაზს:
<H1>Welcome</H1>
3. Apache სერვერის კონფიგურაცია
ვებსაიტების კონფიგურაციის ფაილებია "/etc/apache2/sites-available/" კატალოგი. მოდით შევქმნათ კონფიგურაციის ფაილი ახალი ვირტუალური ჰოსტისთვის, რომელიც ფაილიდან ნაგულისხმევ კონფიგურაციას იღებს „000-default.conf“ როგორც საფუძველი.
cd /etc/apache2/sites-available/ cp 000-default.conf site1.conf
გახსენით ფაილი "site1.conf" და შეცვალეთ "DocumentRoot" ატრიბუტი. მნიშვნელობად დააყენეთ თქვენი ვებსაიტის გზა, ასე რომ ჩვენს შემთხვევაში ასეა "/var/www/sites/site1"

ამ ეტაპზე ჩვენ არ გვჭირდება მრავალი ვებსაიტის ერთდროული მუშაობის კონფიგურაცია, ასე რომ, ჩვენ შეგვიძლია გამორთოთ ნაგულისხმევი ვებსაიტი და გავააქტიუროთ ახალი საიტი. გადატვირთეთ სერვერის კონფიგურაცია ცვლილებების გამოსაყენებლად.
a2dissite 000-default a2ensite site1 systemctl reload apache2
ბმული გახსნა "http://[სერვერის _ip_address]" კიდევ ერთხელ და დარწმუნდით, რომ ნაგულისხმევი მისასალმებელი გვერდის ნაცვლად გვაქვს ჩვენი ახალი გვერდი.

ჩვენ დავასრულეთ ჩვენი HTTP სერვერის კონფიგურაცია და შეგვიძლია გადავიდეთ შემდეგ ეტაპზე.
FTP სერვერის კონფიგურაცია
1. მონტაჟი
მოდით დავაყენოთ ჩვენი ftp სერვერი და დამატებითი პაკეტი "db-util", რომ ჩვენ დაგვჭირდება ვირტუალური მომხმარებლების კონფიგურაცია
apt install vsftpd db-util
2. შექმენით ლოკალური ანგარიში
vsftpd სერვერი საშუალებას გვაძლევს დავაკონფიგურიროთ წვდომის ნებართვები ძალიან მოქნილი გზით. ჩვენი ამოცანებისთვის ჩვენ უნდა მივაწოდოთ ftp მომხმარებლებს შემდეგი:
- სრული წვდომა შინაარსზე "/var/www/sites/";
- გამორთეთ ყველაფერი, რაც ზემოთ არის "/var/www/";
- კავშირი ვირტუალურ ანგარიშთან;
შექმენით ადგილობრივი ანგარიში "ვირტუალური" შესვლის ნებართვის გარეშე, მაგრამ მთავარი საქაღალდეზე წვდომით "/var/www/". ამ ანგარიშს გამოიყენებენ ftp მომხმარებლები სერვერთან დასაკავშირებლად
useradd -d /var/www virtual
"ფესვი" იქნება მფლობელი "/var/www" საქაღალდე ნაგულისხმევად. იმისათვის, რომ ftp მომხმარებლებს საშუალება მისცენ შეცვალონ ვებსაიტების შინაარსი, მოდით შევცვალოთ მფლობელი "/var/www/sites/" ქვესაქაღალდეების ჩათვლით "ვირტუალური".
chown -R virtual:root /var/www/sites
შედეგად, მომხმარებელი "ვირტუალური" შეძლებს ნახოს შინაარსი "/var/www/" და ჩაწერეთ "/var/www/sites/" ქვე-საქაღალდე.
3. კონფიგურაცია
ძირითადი კონფიგურაცია ფაილშია "/etc/vsftpd.conf", მოდით გავხსნათ და დაარედაქტიროთ შემდეგნაირად:
#enable virtual users anonymous_enable=NO local_enable=YES guest_enable=YES guest_username=virtual
#configure permission write_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES anon_world_readable_only=NO anon_umask=0022 chroot_local_user=YES
#launch settings listen=YES pasv_min_port=30000 pasv_max_port=30999
4. შექმენით მონაცემთა ბაზა
ვირტუალური ანგარიშების მონაცემების შესანახად დაგჭირდებათ მონაცემთა ბაზა.
პირველი, მოდით შევქმნათ მარტივი ტექსტური ფაილი "users.txt" მთავარ საქაღალდეში და შეინახეთ ვირტუალური მომხმარებლების წვდომის დეტალები (შესვლა და პაროლი) ყველა მეორე ხაზზე. მაგალითად, ჩვენ დაგვჭირდება ვირტუალური მომხმარებელი ლოგინთან ერთად "ftp" და პაროლი "Qwe123". შემდეგ ფაილი ასე გამოიყურება:
ftp Qwe123
მოდით შევქმნათ მონაცემთა ბაზა
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
მოდით შევცვალოთ ნაგულისხმევი PAM ფაილი "/etc/pam.d/vsftp" შემდეგი რედაქციით:
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
გთხოვთ გაითვალისწინოთ, რომ გზა "pam_userdb.so" ბიბლიოთეკა შეიძლება განსხვავებული იყოს, მაგრამ საჭიროების შემთხვევაში შეგიძლიათ შეცვალოთ იგი.
გადატვირთეთ vsftpd სერვერი ცვლილებების გამოსაყენებლად.
systemctl restart vsftpd
ჩვენ დავასრულეთ FTP სერვერის კონფიგურაცია.
კავშირის დეტალები:
- ftp://[server's_ip_address]
- შესვლა: ftp
- პაროლი: Qwe123
PHP სერვერის კონფიგურაცია
1. PHP-ის ინსტალაცია
დღეს PHP-ის უახლესი სტაბილური ვერსია არის php 7.4.5, რომელიც არ შედის Ubuntu-ს ოფიციალურ საცავებში. მოდით დავაკავშიროთ მესამე მხარის საცავი და დავაინსტალიროთ PHP-ის უახლესი ვერსია.
apt update apt install software-properties-common add-apt-repository ppa:ondrej/php apt update apt install php7.4
2. ჩეკი
იმისათვის, რომ PHP შესრულდეს ვებ გვერდის ფაილს უნდა ჰქონდეს ".php" გაფართოება. მოდით გადავარქვათ ჩვენი სატესტო გვერდი:
cd /var/www/sites/site1/ mv index.html index.php
დაამატეთ შემდეგი php ხაზი ფაილს "/var/www/sites/site1/index.php"ასე რომ, ფაილი ასე უნდა გამოიყურებოდეს:
<H1>Welcome</H1> <?php phpinfo(); ?>
შეინახეთ ცვლილებები და შეამოწმეთ შედეგი ბრაუზერში.

თუ ხედავთ ფუნქციის შედეგს "phpinfo()", PHP თარჯიმანი გამართულად მუშაობს. ახლა მოდით გადავიდეთ შემდეგ ეტაპზე.
MySQL (MariaDB) კონფიგურაცია
1. მონტაჟი
მოდით დავაინსტალიროთ MariaDB და PHP მოდული MySQL-სთვის და შემდეგ გადატვირთოთ Apache.
apt install mariadb-server php-mysql systemctl restart apache2
განაახლეთ ტესტის გვერდი და გადადით განყოფილებაში PDO PHP კონფიგურაციის ცხრილში. თუ შეგიძლიათ იპოვოთ განყოფილება "PDO_mysql", მაშინ ეს ნიშნავს, რომ Mysql-ის დრაივერი სწორად არის დაინსტალირებული.

შემდეგ ჩვენ უნდა გავაკეთოთ MariaDB-ის უსაფრთხოების საწყისი კონფიგურაცია და დავაყენოთ პაროლი "ფესვი" მომხმარებელი, გამორთეთ დისტანციური წვდომა და წაშალეთ სტუმრის ყველა ანგარიში.
mysql_secure_installation
პირველ ეტაპზე უნდა შევიდეთ "ფესვი" მომხმარებლის პაროლი DBMS-ზე წვდომისთვის ან დააჭირეთ Enter, თუ პაროლი არ არის. რადგან არ არის მითითებული პაროლი "ფესვი" მომხმარებელი ინსტალაციის შემდეგ, უბრალოდ დააჭირეთ "შემოსვლა".
გთხოვთ გაითვალისწინოთ, რომ MariaDB-ში უკვე არის საკუთარი ანგარიშები, რომლებსაც საერთო არაფერი აქვთ OS ანგარიშებთან. ასე რომ, ერთადერთი მომხმარებელი, ვისთანაც საქმე გვაქვს MariaDB-ში, არის "ფესვი".

ამის შემდეგ, კონფიგურატორი მოგვთხოვს პაროლის დაყენებას root მომხმარებლისთვის. ტიპი "Y" დაადასტუროთ და შეიყვანოთ ახალი პაროლი. ჩვენს შემთხვევაში, ეს არის "Qwe123"

პასუხი "Y" ყველა დანარჩენ კითხვას ბოლომდე.
კონფიგურაცია დასრულებულია!
MariaDB წვდომის დეტალები:
- შესვლა: root
- პაროლი: Qwe123
phpMyAdmin კონფიგურაცია
1. მონტაჟი
მოდით დავაყენოთ PHP-სთვის საჭირო გაფართოება - მბსტრინგი.
apt install php-mbstring
ოფიციალურ საცავში არის phpMyAdmin-ის მხოლოდ მოძველებული ვერსია, ასე რომ, მოდით დავაინსტალიროთ ახალი ხელით.
გახსენით პროექტის ოფიციალური ვებგვერდი“https://www.phpmyadmin.net/”და ჩამოტვირთეთ უახლესი არქივი.

დააკოპირეთ არქივი სერვერზე "/var/www/sites/" საქაღალდე ნებისმიერი ftp კლიენტის გამოყენებით.
საქაღალდის გაუქმება და სახელის გადარქმევა "phpMyAdmin". არ დაგავიწყდეთ დააინსტალიროთ "გახსენით" სასარგებლო. თქვენ შეგიძლიათ წაშალოთ არქივი მას შემდეგ, რაც არქივი ამოიღეთ.
apt install unzip cd /var/www/sites/ unzip phpMyAdmin-5.0.2-all-languages.zip mv phpMyAdmin-5.0.2-all-languages phpMyAdmin rm phpMyAdmin-5.0.2-all-languages.zip
შექმენით შემდეგი საქაღალდე "/var/www/sites/phpMyAdmin/tmp" დროებითი ფაილებისთვის და ყველასთვის წვდომის ჩართვა. თუ ამას არ გააკეთებთ, phpMyAdmin შეატყობინებს დროებით საქაღალდეზე წვდომის უარყოფას.
cd /var/www/sites/phpMyAdmin/ mkdir tmp chmod 777 tmp
2. შექმენით მეტსახელი
ვინაიდან phpMyAdmin არ არის ცალკე ვირტუალური ჰოსტი და მდებარეობს root დირექტორიას გარეთ, მოდით დავაკონფიგურიროთ მეტსახელი.
გახსენით ფაილი "/etc/apache2/mods-available/alias.conf" და დაამატეთ ეს ხაზი:
Alias /pma “/var/www/sites/phpMyAdmin"
ამ განყოფილების შიგნით:
<IfModule alias_module> </IfModule>

გადატვირთეთ Apache ცვლილებების გამოსაყენებლად.
systemctl reload apache2
Alias დაყენებულია, ასე რომ ჩვენ შეგვიძლია შევიდეთ phpMyAdmin აქ "http://[server's_ip_address]/pma".
3. მონაცემთა ბაზის მომზადება
ვინაიდან ჩვენ შევზღუდეთ root მომხმარებლის გამოყენება MariaDB-ის საწყისი კონფიგურაციის დროს, მოგვიწევს ახალი ანგარიშის შექმნა ყველა ნებართვით, რომელიც გამოყენებული იქნება phpMyAdmin-ზე წვდომისთვის.
გარდა ამისა, phpMyAdmin-ის დამატებითი ფუნქციების ჩასართავად დაგვჭირდება სერვისის მონაცემთა ბაზა და ანგარიში მასზე წვდომისთვის.
მოდით შევქმნათ ანგარიშები
mariadb -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'pma'@'localhost' IDENTIFIED BY 'Qwe123' WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO 'pmaservice'@'localhost' IDENTIFIED BY 'Qwe123' WITH grant option;
quit
გთხოვთ გაითვალისწინოთ, რომ მონაცემთა ბაზის სახელი მეორე მოთხოვნაში არის უკანა ნაპერწკლებში „… ON `phpmyadmin`.* 'pma'@'localhost' იდენტიფიცირებული…”,
შედეგად, MariaDB-ში შეიქმნება ორი ანგარიში:
- შესვლა: pma, პაროლი: Qwe123Full Access, გამოყენებული იქნება phpMyAdmin-ში შესასვლელად
- შესვლა: pmaservice, პაროლი: Qwe123 სერვისის ანგარიში საჭიროა დამატებითი ფუნქციების მუშაობისთვის
შემდეგ ეტაპზე ჩვენ დავაყენებთ ამ დეტალებს კონფიგურაციის ფაილში "config.inc.php".
შემდეგ ჩვენ დაგვჭირდება მონაცემთა ბაზის იმპორტი ფაილიდან "phpMyAdmin/sql/create_tables.sql".
მოდით შემოვიტანოთ ის phpMyAdmin-ის დახმარებით.
ბმული გახსნა "http://[server's_ip_address]/pma"
შეიყვანეთ შესვლა "პმა" და პაროლი "Qwe123"
მე "იმპორტი", დააჭირეთ "Მონიშნე ფაილი" და აირჩიეთ ფაილი ”sql/create_tables.sql” phpMyAdmin-ის ძირეულ დირექტორიაში. ეს საქაღალდე უნდა იყოს თქვენს კომპიუტერში "phpMyAdmin" ფაილებით. საჭიროების შემთხვევაში გააარქივეთ იგი.

დაწკაპეთ "შემდეგი" იმპორტის დასაწყებად.
4. კონფიგურაცია
მოდით დავაკოპიროთ კონფიგურაციის ფაილი შაბლონიდან
cd /var/www/sites/phpMyAdmin/ cp config.sample.inc.php config.inc.php
მოდით გავხსნათ კონფიგურაციის ფაილი "/var/www/sites/phpMyAdmin/config.inc.php" და გააკეთეთ შემდეგი ცვლილებები:
დააყენეთ შემთხვევითი 32-სიმბოლოიანი მნიშვნელობა ატრიბუტისთვის „$cfg['blowfish_secret']“. გამოიყენეთ ნებისმიერი პაროლის გენერატორი ამისთვის..

კომენტარის წაშლა ყველა სტრიქონიდან "phpMyAdmin კონფიგურაციის შენახვის პარამეტრები" განყოფილება და დააყენეთ MariaDB-ის სერვისის ანგარიშის შესვლა და პაროლი "კონტროლერი" მდე "საკონტროლო პასი" ატრიბუტები შესაბამისად. ჩვენს შემთხვევაში, ეს არის pmaservice მდე Qwe123.

შეინახეთ ცვლილებები.
წვდომა დეტალებზე phpMyadmin-ისთვის:
- http://[server’s_ip_address]/pma/
- შესვლა: pma
- პაროლი: Qwe123
როგორ დააინსტალიროთ და დააკონფიგურიროთ WordPress Linux სერვერზე
1. WordPress პაკეტი და ფაილების განთავსება
გადადით WP ოფიციალურ ვებსაიტზე "https://ru.wordpress.org/და ჩამოტვირთეთ არქივი თქვენს ადგილობრივ კომპიუტერში.
ატვირთეთ არქივი სერვერზე "/var/www/sites/" საქაღალდეში და ამოარქივეთ „ვორდპრესი”საქაღალდე.
დააკოპირეთ შინაარსი ”/var/www/sites/wordpress/” -ის root საქაღალდე "/var/www/sites/site1/" ნახვა.
ვინაიდან ჩვენ დავაკოპირეთ ფაილები კონსოლის მეშვეობით root ნებართვით, მოდით შევცვალოთ მფლობელი "/var/www/sites/" საქაღალდე, რომელშიც შედის შინაარსი "ვირტუალური". ეს საჭიროა კლიენტის მეშვეობით ftp კავშირის სრული წვდომის გასააქტიურებლად.
cd /var/www/sites/ tar -xzvf wordpress-5.4-ru_RU.tar.gz cp -R wordpress/* site1/ chown -R virtual:root /var/www/sites
2. შექმენით მონაცემთა ბაზა WordPress-ისთვის
შედით phpMyAdmin-ში და დააწკაპუნეთ „ბაზის შექმნა“. მიუთითეთ მონაცემთა ბაზის თვითნებური სახელი, ჩვენს შემთხვევაში "wordpress_db" და დააჭირეთ ღილაკს "შექმნა".

აირჩიეთ ახალი მონაცემთა ბაზა მარცხენა განყოფილებაში და დააწკაპუნეთ "პრივილეგიები"

შემდეგ დააჭირეთ "მომხმარებლის ანგარიშის დამატება".
შეიყვანეთ შესვლა და პაროლი (wpservice / Qwe123) გახსნილ ფანჯარაში შეამოწმეთ „მიეცით ყველა პრივილეგია wordpress_db-ში“ და დაწკაპეთ "შემდეგი"

შემდეგ გვერდზე დააწკაპუნეთ "ყველას გაუქმება" გადააყენეთ ყველა პრივილეგია მონაცემთა ბაზის დონეზე და დააწკაპუნეთ "შემდეგი".

3. WordPress კონფიგურაცია Linux სერვერზე
გადადით თქვენი ვებსაიტის ძირეულ დირექტორიაში და დააკოპირეთ კონფიგურაციის ფაილი შაბლონიდან
cd /var/www/sites/site1/ cp wp-config-sample.php wp-config.php
გახსნა "wp-config.php" შეიყვანეთ მონაცემთა ბაზის კავშირის პარამეტრები, რომლებიც შევქმენით წინა ეტაპზე და შეინახეთ ცვლილებები.

4. დააინსტალირეთ CMS WordPress
გახსენით შემდეგი ბმული ბრაუზერში "http://[server's_ip_address]/wp-admin/install.php".
შეავსეთ ყველა ველი და დააწკაპუნეთ "დააინსტალირე WordPress". დააყენეთ შემთხვევითი მომხმარებლის სახელი და პაროლი. ჩვენს შემთხვევაში, ეს არის wpadmin მდე Qwe123 შესაბამისად.
ეს დეტალები გამოყენებული იქნება WordPress-ზე წვდომისთვის.

ინსტალაციის დასრულების შემდეგ გახსენით ბმული "http://[server's_ip_address]/wp-login.php", შეიყვანეთ წვდომის დეტალები და შედით WordPress-ში.

თქვენ უნდა ნახოთ WordPress-ის ერთ-ერთი შაბლონი მთავარ გვერდზე.

კონფიგურაცია დასრულებულია.
WordPress წვდომის დეტალები:
- http://[server’s_ip_address]/wp-login.php
- შესვლა: wpadmin
- პაროლი: Qwe123