Дар ин мақола, мо ба шумо дастурҳои қадам ба қадам дар бораи чӣ гуна танзим кардани муҳити веб дар сервере, ки Linux кор мекунад, медиҳем. Пеш аз ҳама, шумо бояд фаҳмед, ки сервери маъмулӣ аз якчанд ҷузъҳои мутақобила иборат аст:
- сервери HTTP
- тарҷумони забони барномасозӣ
- Системаи идоракунии пойгоҳи додаҳо (DBMS)
Барои идоракунии вебсайти худ ба шумо инчунин лозим меояд, ки системаи идоракунии мундариҷа (CMS), интерфейси веб барои идоракунии пойгоҳи додаҳо ва дастрасии FTP -ро насб кунед.
Биёед дида бароем, ки конфигуратсияи хеле маъмули Apache-PHP-MySQL(MariaDB) дар Linux таъсис дода шавад. Мо инчунин сервери vsftpd ftp, phpMyAdmin - интерфейси веб барои идоракунии пойгоҳи додаҳо ва системаи идоракунии мундариҷаи WordPress насб мекунем.
Барои оғоз, лутфан сервери VPS ё сервери махсусро фармоиш диҳед . Масалан, мо сервери виртуалиро бо суроғаи IP-и статикӣ истифода бурдем, ки Ubuntu Server 18.04-ро кор мекунад. Ҳамаи фармонҳо аз ҷониби корбари root иҷро мешуданд.
Конфигуратсияи сервери HTTP Apache
1. насби
apt install apache2
Вақте ки насбкунӣ ба анҷом мерасад, браузерро кушоед ва "http://[address_ip_server]"-ро санҷед.
Агар шумо дар скриншоти боло саҳифаи истиқболро бинед, ин маънои онро дорад, ки сервери HTTP-и шумо кор мекунад.
2. Саҳифаи санҷиширо эҷод кунед
Феҳристи решаи пешфарз барои вебсайт "/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_server]" -ро дубора кушоед ва боварӣ ҳосил кунед, ки ба ҷои саҳифаи истиқболи пешфарз саҳифаи нави худро дорем.
Мо конфигуратсияи сервери 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
Пешфарз "Root" соҳиби ҷузвдони "/var/www" хоҳад буд . Барои он ки корбарони ftp метавонанд мундариҷаи вебсайтҳоро тағйир диҳанд, биёед соҳиби "/var/www/sites/" -ро , аз ҷумла зерҷузвдонҳои "virtual" -ро, тағир диҳем.
chown -R virtual:root /var/www/sites
Дар натиҷа, корбари "virtual" метавонад мундариҷаи "/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://[суроғаи_ip_сервер]
- ворид: 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-ро анҷом диҳем ва паролро барои корбари "root" муқаррар кунем , дастрасии дурдастро ғайрифаъол кунем ва ҳамаи ҳисобҳои меҳмонро нест кунем.
mysql_secure_installation
Дар қадами аввал, мо бояд пароли корбари "root" -ро барои дастрасӣ ба пойгоҳи додаҳо ворид кунем ё агар парол вуҷуд надошта бошад, Enter-ро пахш кунем. Азбаски пас аз насб барои корбари "root" парол муқаррар нашудааст , танҳо "Enter"-ро пахш кунед.
Лутфан, дар хотир доред, ки дар MariaDB аллакай ҳисобҳои худро доранд, ки бо ҳисобҳои системаи амалиётӣ ҳеҷ иртиботе надоранд. Аз ин рӯ, ягона корбаре, ки мо дар MariaDB бо он сарукор дорем, "root" аст.
Баъд аз ин, конфигуратор аз мо хоҳиш мекунад, ки паролро барои корбари root муқаррар кунем. Барои тасдиқ "Y" -ро чоп кунед ва пароли навро ворид кунед. Дар ҳолати мо, ин "Qwe123" аст.
Ба ҳамаи саволҳои боқимонда то охир бо калимаи "Ҳа" ҷавоб диҳед .
Конфигуратсия анҷом ёфт!
Тафсилоти дастрасии MariaDB:
- Воридшавӣ: root
- Рамз: Qwe123
конфигуратсияи phpMyAdmin
1. насби
Биёед васеъкунии заруриро барои PHP насб кунем - mbstring.
apt install php-mbstring
Дар анбори расмӣ танҳо версияи кӯҳнаи phpMyAdmin мавҷуд аст, аз ин рӯ биёед версияи навро дастӣ насб кунем.
Вебсайти расмии лоиҳаро " https://www.phpmyadmin.net/ " кушоед ва бойгонии охиринро зеркашӣ кунед.
Бо истифода аз ҳама гуна муштарии ftp, бойгониро ба сервер дар ҷузвдони "/var/www/sites/" нусхабардорӣ кунед.
Папкаро аз бойгонӣ кушоед ва онро ба "phpMyAdmin" иваз кунед . Фаромӯш накунед, ки утилитаи "unzip" -ро насб кунед . Шумо метавонед бойгониро пас аз аз бойгонӣ баровардан нест кунед.
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 мизбони алоҳидаи виртуалӣ нест ва берун аз директорияи реша ҷойгир аст, биёед тахаллусро танзим кунем.
Файли "/etc/apache2/mods-available/alias.conf"-ро кушоед ва ин сатрро илова кунед:
Alias /pma “/var/www/sites/phpMyAdmin"
дар дохили ин бахш:
<IfModule alias_module>
</IfModule>
Барои татбиқ кардани тағирот Apache-ро аз нав бор кунед.
systemctl reload apache2
Номи дигар муқаррар шудааст, бинобар ин мо метавонем ба phpMyAdmin дар ин ҷо "http://[server's_ip_address]/pma" дастрасӣ пайдо кунем.
3. Пойгоҳи додаҳоро омода кунед
Азбаски мо истифодаи корбари решаро ҳангоми конфигуратсияи ибтидоии 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` .* TO 'pma'@'localhost' IDENTIFIED BY …" аст,
Дар натиҷа, дар MariaDB ду ҳисоб эҷод карда мешавад:
- Воридшавӣ: pma, Рамз: Qwe123 Дастрасии пурра, барои ворид шудан ба phpMyAdmin истифода мешавад
- Воридшавӣ: pmaservice, Рамз: Qwe123Ҳисоби хидматрасонӣ барои кор кардани хусусиятҳои иловагӣ лозим аст
Дар қадами оянда, мо ин тафсилотро дар файли конфигуратсияи "config.inc.php" ҷойгир мекунем.
Пас мо бояд пойгоҳи додаҳоро аз файли "phpMyAdmin/sql/create_tables.sql" ворид кунем.
Биёед онро бо ёрии phpMyAdmin ворид кунем.
Истиноди "http://[сервери_ip_адрес]/pma" -ро кушоед
Логин "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"-ро кушоем ва тағйироти зеринро иҷро кунем:
Барои атрибути "$cfg['blowfish_secret']" арзиши тасодуфии 32-рақамаро муқаррар кунед . Барои он аз ҳама гуна генератори парол истифода баред.
Шарҳҳоро аз ҳамаи сатрҳои бахши "танзимоти нигоҳдории конфигуратсияи phpMyAdmin" тоза кунед ва мувофиқан номи корбар ва пароли ҳисоби хидматрасонии MariaDB-ро барои атрибутҳои "controluser" ва "controlpass" муқаррар кунед . Дар ҳолати мо, ин pmaservice ва Qwe123 аст.
Тағиротро сабт кунед.
Тафсилоти дастрасӣ ба phpMyadmin:
- http://[server’s_ip_address]/pma/
- Воридшавӣ: pma
- Рамз: Qwe123
Чӣ тавр WordPress-ро дар сервери Linux насб кардан ва танзим кардан мумкин аст
1. Бастаи WordPress ва ҷойгиркунии файлҳо
Ба вебсайти расмии WP " https://ru.wordpress.org/ " равед ва бойгониро ба компютери маҳаллии худ зеркашӣ кунед.
Архивро ба сервер дар ҷузвдони "/var/www/sites/" бор кунед ва онро аз бойгонӣ дар ҷузвдони "wordpress " кушоед.
Мундариҷаи ҷузвдони решавии "/var/www/sites/wordpress/"- и вебсайти "/var/www/sites/site1/" -ро нусхабардорӣ кунед.
Азбаски мо файлҳоро тавассути консол бо иҷозатҳои root нусхабардорӣ кардем, биёед соҳиби ҷузвдони "/var/www/sites/" -ро , аз ҷумла мундариҷаи "virtual" -ро, иваз кунем . Ин барои таъмини дастрасии пурра барои пайвасти 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 ) ворид кунед, "Grant all privileges in the wordpress_db" -ро қайд кунед ва "Next" -ро клик кунед.
Дар саҳифаи оянда, барои аз нав танзим кардани ҳамаи имтиёзҳо дар сатҳи пойгоҳи додаҳо, тугмаи "Бекор кардани ҳама"-ро клик кунед ва "Баъдӣ"-ро клик кунед.
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