Bu yazıda sizə Linux ilə işləyən bir serverdə veb mühitini necə konfiqurasiya etmək barədə addım-addım təlimat verəcəyik. Əvvəlcə adi bir veb serverin bir neçə qarşılıqlı komponentdən ibarət olduğunu başa düşməlisiniz:
- HTTP server
- proqramlaşdırma dili tərcüməçisi
- verilənlər bazası idarəetmə sistemi (DBMS)
Veb saytınızı idarə etmək üçün siz həmçinin məzmun idarəetmə sistemini (CMS), verilənlər bazası idarəetməsi üçün veb interfeysi və FTP girişini qurmalısınız.
Linux-da çox məşhur Apache-PHP-MySQL(MariaDB) konfiqurasiyasını qurmağı nəzərdən keçirək. Biz həmçinin vsftpd ftp serverini, phpMyAdmin - verilənlər bazasını idarə etmək üçün veb interfeysi və WordPress məzmun idarəetmə sistemini quraşdıracağıq.
Başlamaq üçün zəhmət olmasa VPS server sifariş edin or xüsusi server. Məsələn, biz Ubuntu Server 18.04 ilə işləyən statik IP ünvanı olan virtual serverdən istifadə etdik. Bütün əmrlər kök istifadəçi tərəfindən icra edilmişdir.
Apache HTTP Server konfiqurasiyası
1. quraşdırma
apt install apache2
Quraşdırma başa çatdıqda, brauzeri açın və yoxlayın “http://[serverin_ip_ünvanı]”
Yuxarıdakı ekran görüntüsündə belə bir salamlama səhifəsi görürsünüzsə, bu, HTTP serverinizin işlədiyini bildirir.
2. Test səhifəsi yaradın
Veb sayt üçün standart kök kataloqu “/var/www/html”. Burada gördüyünüz salamlama səhifəsini tapa bilərsiniz. Gəlin ayrı bir kataloq yaradaq “/var/www/sites” virtual hostlar və alt qovluq üçün “/var/www/sites/site1” test veb saytınızın indeks səhifəsi ilə.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
Nəticədə fayl “/var/www/sites/site1/index.html” yalnız bir sətir html kodu olmalıdır:
<H1>Welcome</H1>
3. Apache server konfiqurasiyası
Veb saytların konfiqurasiya faylları var “/etc/apache2/sites-available/” kataloq. Gəlin fayldan standart konfiqurasiyanı götürərək yeni virtual host üçün konfiqurasiya faylı yaradaq “000-default.conf” əsas kimi.
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Faylı açın “site1.conf” və dəyişdirmək "DocumentRoot" atribut. Veb saytınızın yolunu dəyər kimi qoyun, bizim vəziyyətimizdə belədir “/var/www/sites/site1”
Bu mərhələdə birdən çox veb-saytın eyni vaxtda işləməsini konfiqurasiya etməyimizə ehtiyac yoxdur, ona görə də standart veb-saytı söndürə və yeni saytı aktivləşdirə bilərik. Dəyişiklikləri tətbiq etmək üçün server konfiqurasiyasını yenidən yükləyin.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Bağlantıyı açın “http://[serverin _ip_ünvanı]” yenidən və əmin olun ki, standart salamlama səhifəsi əvəzinə yeni səhifəmiz var.
HTTP serverimizin konfiqurasiyasını bitirdik və növbəti addıma keçə bilərik.
FTP server konfiqurasiyası
1. quraşdırma
Gəlin ftp serverimizi və əlavə paketi quraşdıraq "db-util", virtual istifadəçiləri konfiqurasiya etməliyik
apt install vsftpd db-util
2. Yerli hesab yaradın
Vsftpd serveri bizə giriş icazələrini çox çevik şəkildə konfiqurasiya etməyə imkan verir. Tapşırıqlarımız üçün ftp istifadəçilərinə aşağıdakıları təqdim etməliyik:
- məzmununa tam giriş “/var/www/sites/”;
- yuxarıda olanların hamısını söndürün “/var/www/”;
- virtual hesabla əlaqə;
Yerli hesab yaradın "virtual" giriş icazəsi olmadan, lakin ev qovluğuna giriş ilə “/var/www/”. Bu hesab ftp istifadəçiləri tərəfindən serverə qoşulmaq üçün istifadə olunacaq
useradd -d /var/www virtual
"Kök" sahibi olacaq “/var/www” standart olaraq qovluq. Ftp istifadəçilərinə vebsaytların məzmununu dəyişdirmək imkanı vermək üçün, gəlin sahibini dəyişək “/var/www/sites/” alt qovluqları da daxil olmaqla "virtual".
chown -R virtual:root /var/www/sites
Nəticədə istifadəçi "virtual" məzmununu görə biləcək “/var/www/” və daxil yazın “/var/www/sites/” alt qovluq.
3. konfiqurasiya
Əsas konfiqurasiya fayldadır “/etc/vsftpd.conf”, gəlin onu açıb aşağıdakı kimi redaktə edək:
#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. Verilənlər bazasını yaradın
Virtual hesabların məlumatlarını saxlamaq üçün sizə verilənlər bazası lazımdır.
Əvvəlcə sadə mətn faylı yaradaq “users.txt” ev qovluğunda və virtual istifadəçilərin giriş məlumatlarını (giriş və şifrə) hər bir digər sətirdə qeyd edin. Məsələn, login olan virtual istifadəçiyə ehtiyacımız olacaq "ftp" və şifrə "Qwe123". Sonra fayl bu kimi görünəcək:
ftp
Qwe123
Gəlin verilənlər bazasını yaradaq
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
Defolt PAM faylını dəyişdirək “/etc/pam.d/vsftp” aşağıdakı kimi olmuşdur:
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
Nəzərə alın ki, yolu “pam_userdb.so” kitabxana fərqli ola bilər, lakin lazım olduqda onu dəyişə bilərsiniz.
Dəyişiklikləri tətbiq etmək üçün vsftpd serverini yenidən yükləyin.
systemctl restart vsftpd
FTP serverinin konfiqurasiyasını bitirdik.
Bağlantı təfərrüatları:
- ftp://[serverin_ip_ünvanı]
- giriş: ftp
- parol: Qwe123
PHP server konfiqurasiyası
1. PHP-nin quraşdırılması
Bu gün PHP-nin ən son stabil versiyası php 7.4.5-dir və bu, rəsmi Ubuntu repozitoriyalarına daxil edilmir. Gəlin üçüncü tərəfin deposunu birləşdirək və PHP-nin ən son versiyasını quraşdıraq.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. Yoxlayın
PHP-nin icrası üçün veb səhifə faylı olmalıdır “.php” uzadılması. Test səhifəmizin adını dəyişdirək:
cd /var/www/sites/site1/
mv index.html index.php
Aşağıdakı php xəttini fayla əlavə edin “/var/www/sites/site1/index.php”, belə ki, fayl bu kimi görünməlidir:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Dəyişiklikləri yadda saxlayın və nəticəni brauzerdə yoxlayın.
Əgər funksiyanın nəticəsini görürsünüzsə “phpinfo()”, PHP tərcüməçisi düzgün işləyir. İndi növbəti addıma keçək.
MySQL (MariaDB) konfiqurasiyası
1. quraşdırma
MariaDB və MySQL üçün PHP modulunu quraşdıraq və sonra Apache-ni yenidən yükləyək.
apt install mariadb-server php-mysql
systemctl restart apache2
Test səhifəsini yeniləyin və PHP konfiqurasiya cədvəlində PDO bölməsinə keçin. Bölməni tapa bilsəniz “PDO_mysql”, bu, Mysql üçün sürücünün düzgün quraşdırıldığını bildirir.
Sonra MariaDB-nin ilkin təhlükəsizlik konfiqurasiyasını etməli və parol təyin etməliyik "Kök" istifadəçi, uzaqdan girişi söndürün və bütün qonaq hesablarını silin.
mysql_secure_installation
İlk addımda biz daxil olmalıyıq "kök" DBMS-ə daxil olmaq üçün istifadəçinin parolunu daxil edin və ya parol yoxdursa Enter düyməsini basın. üçün parol təyin olunmadığı üçün "kök" quraşdırmadan sonra istifadəçi, sadəcə basın "Gir".
Nəzərə alın ki, MariaDB-də artıq OS hesabları ilə heç bir əlaqəsi olmayan öz hesabları var. Beləliklə, MariaDB-də işlədiyimiz yeganə istifadəçidir "kök".
Bundan sonra konfiqurator bizdən kök istifadəçi üçün parol təyin etməyi xahiş edəcək. Növ "Y" təsdiq etmək və yeni parolu daxil etmək üçün. Bizim vəziyyətimizdə belədir "Qwe123"
cavab "Y" qalan bütün suallara sonuna qədər.
Konfiqurasiya tamamlandı!
MariaDB giriş təfərrüatları:
- Giriş: root
- Parol: Qwe123
phpMyAdmin konfiqurasiyası
1. quraşdırma
PHP üçün lazımi genişlənməni quraşdıraq - mbstring.
apt install php-mbstring
Rəsmi depoda phpMyAdmin-in yalnız köhnəlmiş versiyası var, ona görə də yenisini əl ilə quraşdıraq.
Layihənin rəsmi saytını açın”https://www.phpmyadmin.net/” yazın və ən son arxivi endirin.
Arxivi serverə kopyalayın “/var/www/sites/” hər hansı bir ftp müştəri istifadə edərək qovluq.
Qovluğu arxivdən çıxarın və adını dəyişdirin "phpMyAdmin". quraşdırmağı unutmayın "açmaq" kommunal. Arxivi arxivdən çıxardıqdan sonra onu silə bilərsiniz.
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
Aşağıdakı qovluğu yaradın “/var/www/sites/phpMyAdmin/tmp” müvəqqəti fayllar üçün və hər kəs üçün girişi təmin edin. Bunu etməsəniz, phpMyAdmin müvəqqəti qovluğa girişin rədd edildiyini bildirəcək.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Ləqəb yaradın
phpMyAdmin ayrıca virtual host olmadığına və kök kataloqdan kənarda yerləşdiyinə görə, ləqəbi konfiqurasiya edək.
Faylı açın “/etc/apache2/mods-available/alias.conf” və bu sətri əlavə edin:
Alias /pma “/var/www/sites/phpMyAdmin"
bu bölmənin içərisində:
<IfModule alias_module>
</IfModule>
Dəyişiklikləri tətbiq etmək üçün Apache-ni yenidən yükləyin.
systemctl reload apache2
Ləqəb təyin edilib, ona görə də biz phpMyAdmin-ə buradan daxil ola bilərik “http://[serverin_ip_ünvanı]/pma”.
3. Verilənlər bazasını hazırlayın
MariaDB-nin ilkin konfiqurasiyası zamanı kök istifadəçidən istifadəni məhdudlaşdırdığımız üçün biz phpMyAdmin-ə daxil olmaq üçün istifadə olunacaq bütün icazələrə malik yeni hesab yaratmalı olacağıq.
Bundan əlavə, phpMyAdmin-in əlavə xüsusiyyətlərini aktivləşdirmək üçün bizə xidmət verilənlər bazası və ona daxil olmaq üçün hesab lazımdır.
Gəlin hesabları yaradaq
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
Nəzərə alın ki, ikinci sorğuda verilənlər bazası adı arxa qığılcımdadır “… ON `phpmyadmin`.* ÜÇÜN 'pma'@'localhost' TARAFINDAN TƏYİD EDİLƏN …”,
Nəticədə MariaDB-də iki hesab yaradılacaq:
- Giriş: pma, Parol: Qwe123Tam giriş, phpMyAdmin-ə daxil olmaq üçün istifadə olunacaq
- Giriş: pmaservice, Parol: Qwe123Əlavə funksiyaların işləməsi üçün xidmət hesabı tələb olunur
Növbəti addımda bu detalları konfiqurasiya faylında təyin edəcəyik “config.inc.php”.
Sonra verilənlər bazasını fayldan idxal etməliyik “phpMyAdmin/sql/create_tables.sql”.
phpMyAdmin köməyi ilə onu idxal edək.
Bağlantıyı açın “http://[serverin_ip_ünvanı]/pma”
Giriş daxil edin "pma" və şifrə "Qwe123"
Get "İdxal"Basın "Fayl seçin" və faylı seçin ”sql/create_tables.sql” phpMyAdmin-in kök kataloqunda. Kompüterinizdə qovluq olmalıdır "phpMyAdmin" faylları ilə. Lazım gələrsə, arxivdən çıxarın.
Basın "Növbəti" idxalına başlamaq üçün.
4. konfiqurasiya
Şablondan konfiqurasiya faylını kopyalayaq
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Konfiqurasiya faylını açaq “/var/www/sites/phpMyAdmin/config.inc.php” və aşağıdakı dəyişiklikləri edin:
Atribut üçün təsadüfi 32 simvoldan ibarət dəyər təyin edin “$cfg['blowfish_secret']”. Bunun üçün hər hansı bir parol generatorundan istifadə edin.
Bütün sətirlərdən şərhləri silin "phpMyAdmin konfiqurasiya yaddaş parametrləri" bölməsinə daxil olun və MariaDB-nin xidmət hesabının loqini və parolunu təyin edin "nəzarətçi" və "nəzarət keçidi" müvafiq olaraq atributlar. Bizim vəziyyətimizdə belədir pmaservice və Qwe123.
Dəyişiklikləri qeyd edin.
phpMyadmin üçün giriş təfərrüatları:
- http://[server’s_ip_address]/pma/
- Giriş: pma
- Parol: Qwe123
WordPress-i Linux serverində necə quraşdırmaq və konfiqurasiya etmək olar
1. WordPress paketi və faylların yerləşdirilməsi
Rəsmi WP veb saytına keçin "https://ru.wordpress.org/” yazın və arxivi yerli kompüterinizə endirin.
Arxivi serverə yükləyin “/var/www/sites/” qovluğuna çıxarın və arxivdən çıxarın “wordpress”Qovluğu.
Məzmununu kopyalayın “/var/www/sites/wordpress/” kök qovluğunda “/var/www/sites/site1/” haqqinda.
Konsol vasitəsilə faylları kök icazələri ilə kopyaladığımız üçün, sahibini dəyişdirək “/var/www/sites/” məzmunu daxil olmaqla qovluq "virtual". Bu, müştəri vasitəsilə ftp bağlantısı üçün tam girişi təmin etmək üçün tələb olunur.
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 üçün verilənlər bazası yaradın
PhpMyAdmin-ə daxil olun və "Verilənlər bazası yarat" düyməsini basın. İxtiyari verilənlər bazası adını göstərin, bizim vəziyyətimizdə “wordpress_db” və “Yarat” düyməsini sıxın.
Sol hissədə yeni verilənlər bazasını seçin və üzərinə klikləyin "imtiyazlar"
Sonra basın "İstifadəçi hesabı əlavə et".
Login və parol daxil edin (wpservice / Qwe123) açılmış pəncərədə yoxlayın “Wordpress_db-də bütün imtiyazları verin” basın "Növbəti"
Növbəti səhifədə klikləyin "Hamısını ləğv et" verilənlər bazası səviyyəsində bütün imtiyazları yenidən qurmaq və klikləyin "Növbəti".
3. Linux serverində WordPress konfiqurasiyası
Veb saytınızın kök qovluğuna gedin və şablondan konfiqurasiya faylını kopyalayın
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
Açmaq “wp-config.php” faylı açın və əvvəlki addımda yaratdığımız verilənlər bazası əlaqə parametrlərini daxil edin və dəyişiklikləri yadda saxlayın.
4. CMS WordPress quraşdırın
Brauzerdə aşağıdakı linki açın “http://[serverin_ip_ünvanı]/wp-admin/install.php”.
Bütün sahələri doldurun və vurun "WordPress quraşdırın". Təsadüfi istifadəçi adı və parol təyin edin. Bizim vəziyyətimizdə belədir wpadmin və Qwe123 Buna görə.
Bu detallar WordPress-ə daxil olmaq üçün istifadə olunacaq.
Quraşdırmanı bitirdikdən sonra linki açın “http://[serverin_ip_ünvanı]/wp-login.php”, giriş məlumatlarını daxil edin və WordPress-ə daxil olun.
Əsas səhifədə WordPress şablonlarından birini görməlisiniz.
Konfiqurasiya tamamlandı.
WordPress giriş təfərrüatları:
- http://[server’s_ip_address]/wp-login.php
- Giriş: wpadmin
- Parol: Qwe123