Ushbu maqolada biz sizga Linux bilan ishlaydigan serverda veb-muhitni sozlash bo'yicha bosqichma-bosqich ko'rsatmalar beramiz. Avvalo, odatiy veb-server bir nechta o'zaro ta'sir qiluvchi komponentlardan iborat ekanligini tushunishingiz kerak:
- HTTP serveri
- dasturlash tili tarjimoni
- ma'lumotlar bazasini boshqarish tizimi (DBMS)
Veb-saytingizni boshqarish uchun siz shuningdek kontentni boshqarish tizimini (CMS), ma'lumotlar bazasini boshqarish uchun veb-interfeysni va FTP-ga kirishni sozlashingiz kerak bo'ladi.
Keling, Linuxda juda mashhur Apache-PHP-MySQL(MariaDB) konfiguratsiyasini o'rnatishni ko'rib chiqaylik. Shuningdek, biz vsftpd ftp serverini, phpMyAdmin - ma'lumotlar bazasini boshqarish uchun veb-interfeysni va WordPress kontentni boshqarish tizimini o'rnatamiz.
Boshlash uchun iltimos VPS serveriga buyurtma bering or bag'ishlangan server. Masalan, biz Ubuntu Server 18.04 bilan ishlaydigan statik IP manzilli virtual serverdan foydalandik. Barcha buyruqlar root foydalanuvchisi tomonidan bajarilgan.
Apache HTTP Server konfiguratsiyasi
1. o'rnatish
apt install apache2
O'rnatish tugagach, brauzerni oching va tekshiring “http://[serverning_ip_manzili]”
Yuqoridagi skrinshotda shunday salomlashish sahifasini ko'rsangiz, bu sizning HTTP serveringiz ishlayotganligini anglatadi.
2. Test sahifasini yarating
Veb-sayt uchun standart ildiz katalogi “/var/www/html”. Bu erda siz hozirgina ko'rgan xush kelibsiz sahifani topishingiz mumkin. Keling, alohida katalog yarataylik “/var/www/sites” virtual xostlar va pastki papka uchun “/var/www/sites/site1” test veb-saytingizning indeks sahifasi bilan.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
Natijada fayl “/var/www/sites/site1/index.html” faqat bir qator html kodini o'z ichiga olishi kerak:
<H1>Welcome</H1>
3. Apache server konfiguratsiyasi
Veb-saytlarning konfiguratsiya fayllari mavjud “/etc/apache2/sites-available/” katalog. Fayldan standart konfiguratsiyani olib, yangi virtual xost uchun konfiguratsiya faylini yarataylik “000-default.conf” asos sifatida.
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Faylni oching “site1.conf” va o'zgartirish "DocumentRoot" atribut. Veb-saytingiz yo'lini qiymat sifatida qo'ying, shuning uchun bizning holatlarimizda bu shunday “/var/www/sites/site1”
Ushbu bosqichda biz bir nechta veb-saytlarning bir vaqtning o'zida ishlashini sozlashimiz shart emas, shuning uchun biz standart veb-saytni o'chirib qo'yishimiz va yangi saytni yoqishimiz mumkin. O'zgarishlarni qo'llash uchun server konfiguratsiyasini qayta yuklang.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Havolani oching “http://[serverning _ip_manzili]” yana va standart xush kelibsiz sahifa o'rniga bizning yangi sahifamiz borligiga ishonch hosil qiling.
HTTP serverimiz konfiguratsiyasini tugatdik va keyingi bosqichga o'tishimiz mumkin.
FTP server konfiguratsiyasi
1. o'rnatish
Keling, ftp serverimizni va qo'shimcha paketni o'rnatamiz "db-util", biz virtual foydalanuvchilarni sozlashimiz kerak
apt install vsftpd db-util
2. Mahalliy hisob yaratish
Vsftpd serveri bizga kirish ruxsatlarini juda moslashuvchan tarzda sozlash imkonini beradi. Bizning vazifalarimiz uchun biz ftp foydalanuvchilariga quyidagilarni taqdim etishimiz kerak:
- mazmuniga to'liq kirish “/var/www/sites/”;
- yuqoridagi barcha narsalarni o'chirib qo'ying “/var/www/”;
- virtual hisob bilan ulanish;
Mahalliy hisob yarating "virtual" kirish ruxsatisiz, lekin uy papkasiga kirish huquqiga ega “/var/www/”. Ushbu hisob ftp foydalanuvchilari tomonidan serverga ulanish uchun ishlatiladi
useradd -d /var/www virtual
"Ildiz" ning egasi bo'ladi “/var/www” sukut bo'yicha papka. Ftp foydalanuvchilariga veb-saytlar tarkibini o'zgartirishga ruxsat berish uchun, keling, egasini o'zgartiraylik “/var/www/sites/” ning pastki papkalarini o'z ichiga oladi "virtual".
chown -R virtual:root /var/www/sites
Natijada, foydalanuvchi "virtual" mazmunini ko‘rish imkoniyatiga ega bo‘ladi “/var/www/” va ichiga yozing “/var/www/sites/” pastki jild.
3. konfiguratsiya
Asosiy konfiguratsiya faylda “/etc/vsftpd.conf”, shuning uchun uni ochamiz va uni quyidagicha tahrirlaymiz:
#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. Ma'lumotlar bazasini yarating
Virtual hisob ma'lumotlarini saqlash uchun sizga ma'lumotlar bazasi kerak bo'ladi.
Birinchidan, oddiy matn faylini yaratamiz “users.txt” uy papkasida va virtual foydalanuvchilarning kirish ma'lumotlarini (login va parol) boshqa har bir qatorga saqlang. Masalan, bizga loginga ega virtual foydalanuvchi kerak bo'ladi "ftp" va parol "Qwe123". Keyin fayl quyidagicha ko'rinadi:
ftp
Qwe123
Keling, ma'lumotlar bazasini yarataylik
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
Keling, standart PAM faylini o'zgartiraylik “/etc/pam.d/vsftp” quyidagicha:
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
E'tibor bering, yo'l “pam_userdb.so” kutubxona boshqacha bo'lishi mumkin, lekin agar kerak bo'lsa, uni o'zgartirishingiz mumkin.
O'zgarishlarni qo'llash uchun vsftpd serverini qayta yuklang.
systemctl restart vsftpd
Biz FTP serverini sozlashni tugatdik.
Ulanish tafsilotlari:
- ftp://[serverning_ip_manzili]
- Kirish: ftp
- parol: Qwe123
PHP server konfiguratsiyasi
1. PHP ni o'rnatish
Bugungi kunda PHP ning soʻnggi barqaror versiyasi php 7.4.5 boʻlib, u rasmiy Ubuntu omborlariga kiritilmagan. Keling, uchinchi tomon omborini ulaymiz va PHP ning eng so'nggi versiyasini o'rnatamiz.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. Tekshiring
PHP amalga oshirilishi uchun veb-sahifa fayli bo'lishi kerak “.php” kengaytma. Test sahifamiz nomini o'zgartiramiz:
cd /var/www/sites/site1/
mv index.html index.php
Faylga quyidagi PHP qatorini qo'shing “/var/www/sites/site1/index.php”, shuning uchun fayl quyidagicha ko'rinishi kerak:
<H1>Welcome</H1>
<?php
phpinfo();
?>
O'zgarishlarni saqlang va natijani brauzerda tekshiring.
Funktsiya natijasini ko'rsangiz "phpinfo()", PHP tarjimoni to'g'ri ishlayapti. Endi keyingi bosqichga o'tamiz.
MySQL (MariaDB) konfiguratsiyasi
1. o'rnatish
Keling, MariaDB va MySQL uchun PHP modulini o'rnatamiz va keyin Apache-ni qayta yuklaymiz.
apt install mariadb-server php-mysql
systemctl restart apache2
Sinov sahifasini yangilang va PHP konfiguratsiya jadvalidagi PDO bo'limiga o'ting. Agar bo'limni topsangiz “PDO_mysql”, bu Mysql uchun drayver to'g'ri o'rnatilganligini anglatadi.
Keyin biz MariaDB-ning dastlabki xavfsizlik konfiguratsiyasini bajarishimiz va parolni o'rnatishimiz kerak "Ildiz" foydalanuvchi, masofaviy kirishni o'chirib qo'ying va barcha mehmon hisoblarini o'chiring.
mysql_secure_installation
Birinchi bosqichda biz kirishimiz kerak "ildiz" DBMSga kirish uchun foydalanuvchi parolini kiriting yoki parol bo'lmasa Enter tugmasini bosing. Chunki parol o'rnatilmagan "ildiz" o'rnatishdan so'ng foydalanuvchi, shunchaki bosing "Kirish".
Esda tutingki, MariaDB-da allaqachon OS hisoblari bilan hech qanday aloqasi bo'lmagan o'z hisoblari mavjud. Shunday qilib, biz MariaDB-da ishlaydigan yagona foydalanuvchi "ildiz".
Shundan so'ng, konfigurator bizdan root foydalanuvchisi uchun parol o'rnatishimizni so'raydi. Turi "Y" tasdiqlash va yangi parolni kiritish uchun. Bizning holatda, shunday "Qwe123"
javob "Y" qolgan barcha savollarga oxirigacha.
Konfiguratsiya tugallandi!
MariaDB kirish tafsilotlari:
- Kirish: root
- Parol: Qwe123
phpMyAdmin konfiguratsiyasi
1. o'rnatish
PHP uchun kerakli kengaytmani o'rnatamiz - mbstring.
apt install php-mbstring
Rasmiy omborda phpMyAdmin-ning faqat eskirgan versiyasi mavjud, shuning uchun yangisini qo'lda o'rnatamiz.
Loyihaning rasmiy veb-saytini oching "https://www.phpmyadmin.net/” va oxirgi arxivni yuklab oling.
Arxivni serverga nusxalash “/var/www/sites/” har qanday ftp mijozi yordamida papka.
Jildni arxivdan olib tashlang va nomini o'zgartiring "phpMyAdmin". ni o'rnatishni unutmang "zip ochish" yordamchi dastur. Arxivni arxivdan chiqarganingizdan so'ng uni o'chirishingiz mumkin.
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
Quyidagi papkani yarating “/var/www/sites/phpMyAdmin/tmp” vaqtinchalik fayllar uchun va hamma uchun kirishni yoqing. Agar buni qilmasangiz, phpMyAdmin vaqtinchalik jildga kirish taqiqlangani haqida xabar beradi.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Taxallus yarating
PhpMyAdmin alohida virtual xost emasligi va asosiy katalogdan tashqarida joylashgani uchun taxallusni sozlaymiz.
Faylni oching “/etc/apache2/mods-available/alias.conf” va ushbu qatorni qo'shing:
Alias /pma “/var/www/sites/phpMyAdmin"
ushbu bo'lim ichida:
<IfModule alias_module>
</IfModule>
O'zgarishlarni qo'llash uchun Apache-ni qayta yuklang.
systemctl reload apache2
Taxallus o'rnatilgan, shuning uchun biz bu erda phpMyAdmin-ga kira olamiz “http://[serverning_ip_manzili]/pma”.
3. Ma'lumotlar bazasini tayyorlang
MariaDB ning dastlabki konfiguratsiyasi paytida biz root foydalanuvchisidan foydalanishni cheklaganimiz sababli, phpMyAdmin-ga kirish uchun foydalaniladigan barcha ruxsatlarga ega yangi hisob yaratishimiz kerak bo'ladi.
Bundan tashqari, phpMyAdmin-ning qo'shimcha xususiyatlarini yoqish uchun bizga xizmat ma'lumotlar bazasi va unga kirish uchun hisob qaydnomasi kerak bo'ladi.
Keling, hisoblarni yarataylik
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
E'tibor bering, ikkinchi so'rovdagi ma'lumotlar bazasi nomi orqa uchqunlarda "... ON `phpmyadmin`.* TO 'pma'@'localhost' TARAFINDAN ANSIYLANGAN …”,
Natijada, MariaDB-da ikkita hisob yaratiladi:
- Login: pma, Parol: Qwe123Toʻliq kirish, phpMyAdmin tizimiga kirish uchun foydalaniladi
- Kirish: pmaservice, Parol: Qwe123Qo'shimcha funktsiyalar ishlashi uchun xizmat hisobi talab qilinadi
Keyingi bosqichda biz ushbu ma'lumotlarni konfiguratsiya faylida o'rnatamiz "config.inc.php".
Keyin ma'lumotlar bazasini fayldan import qilishimiz kerak bo'ladi “phpMyAdmin/sql/create_tables.sql”.
Keling, uni phpMyAdmin yordamida import qilaylik.
Havolani oching “http://[serverning_ip_manzili]/pma”
Kirishni kiriting "pma" va parol "Qwe123"
o'tish "Import"tugmasini bosing "Faylni tanlang" va faylni tanlang ”sql/create_tables.sql” phpMyAdmin ildiz katalogida. Kompyuteringizda papka bo'lishi kerak "phpMyAdmin" fayllar bilan. Agar kerak bo'lsa, uni arxivdan chiqaring.
bosing "Keyingi" import qilishni boshlash uchun.
4. konfiguratsiya
Keling, shablondan konfiguratsiya faylini ko'chiramiz
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Keling, konfiguratsiya faylini ochamiz “/var/www/sites/phpMyAdmin/config.inc.php” va quyidagi o'zgarishlarni amalga oshiring:
Atribut uchun tasodifiy 32 belgidan iborat qiymatni o'rnating “$cfg['blowfish_secret']”. Buning uchun har qanday parol generatoridan foydalaning.
ning barcha satrlaridan sharhlarni olib tashlang "phpMyAdmin konfiguratsiya saqlash sozlamalari" bo'limiga o'ting va MariaDB xizmat hisobining login va parolini o'rnating "nazoratchi" va "nazorat o'tishi" mos ravishda atributlar. Bizning holatda, shunday pmaservice va Qwe123.
O'zgarishlarni saqlang.
phpMyadmin uchun kirish tafsilotlari:
- http://[server’s_ip_address]/pma/
- Kirish: pma
- Parol: Qwe123
WordPress-ni Linux serveriga qanday o'rnatish va sozlash
1. WordPress paketi va fayllarni joylashtirish
WP rasmiy veb-saytiga o'ting "https://ru.wordpress.org/” va arxivni mahalliy kompyuteringizga yuklab oling.
Arxivni serverga yuklang “/var/www/sites/” jildiga va uni arxivdan olib tashlang "wordpress"Papkasida.
ning mazmunini nusxalash “/var/www/sites/wordpress/” ildiz papkasi “/var/www/sites/site1/” veb-sayt.
Biz fayllarni konsol orqali ildiz ruxsatnomalari bilan nusxalaganimiz sababli, egasini o'zgartiramiz “/var/www/sites/” tarkibini o'z ichiga olgan papka "virtual". Bu mijoz orqali ftp ulanishiga to'liq kirishni ta'minlash uchun talab qilinadi.
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 uchun ma'lumotlar bazasini yaratish
PhpMyAdmin-ga kiring va "Ma'lumotlar bazasini yaratish" tugmasini bosing. O'zboshimchalik bilan ma'lumotlar bazasi nomini belgilang, bizning holatlarimizda "wordpress_db" va "Yaratish" tugmasini bosing.
Chap qismda yangi ma'lumotlar bazasini tanlang va ustiga bosing "imtiyozlar"
Keyin tugmasini bosing "Foydalanuvchi hisobini qo'shish".
Login va parolni kiriting (wpservice / Qwe123) ochilgan oynada tekshiring "Wordpress_db-dagi barcha imtiyozlarni bering" bosing "Keyingi"
Keyingi sahifada bosing "Hammasini bekor qilish" ma'lumotlar bazasi darajasidagi barcha imtiyozlarni tiklash va bosing "Keyingi".
3. Linux serverida WordPress konfiguratsiyasi
Veb-saytingizning asosiy katalogiga o'ting va shablondan konfiguratsiya faylini nusxalang
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
Kirish oching "wp-config.php" faylni oching va oldingi bosqichda yaratgan ma'lumotlar bazasiga ulanish parametrlarini kiriting va o'zgarishlarni saqlang.
4. CMS WordPress-ni o'rnating
Brauzerda quyidagi havolani oching “http://[serverning_ip_manzili]/wp-admin/install.php”.
Barcha maydonlarni to'ldiring va ustiga bosing "WordPressni o'rnatish". Tasodifiy foydalanuvchi nomi va parolni o'rnating. Bizning holatda, shunday wpadmin va Qwe123 shunga mos ravishda.
Ushbu tafsilotlar WordPress-ga kirish uchun ishlatiladi.
O'rnatishni tugatgandan so'ng, havolani oching “http://[serverning_ip_manzili]/wp-login.php”, kirish ma'lumotlarini kiriting va WordPress tizimiga kiring.
Asosiy sahifada WordPress shablonlaridan birini ko'rishingiz kerak.
Konfiguratsiya tugallandi.
WordPress kirish tafsilotlari:
- http://[server’s_ip_address]/wp-login.php
- Kirish: wpadmin
- Parol: Qwe123