Дар ин мақола, мо ба шумо дастурҳои қадам ба қадам дар бораи чӣ гуна танзим кардани муҳити веб дар сервере, ки Linux кор мекунад, медиҳем. Пеш аз ҳама, шумо бояд фаҳмед, ки сервери маъмулӣ аз якчанд ҷузъҳои мутақобила иборат аст:
- сервери HTTP
- тарҷумони забони барномасозӣ
- Системаи идоракунии пойгоҳи додаҳо (DBMS)
Барои идоракунии вебсайти худ ба шумо инчунин лозим меояд, ки системаи идоракунии мундариҷа (CMS), интерфейси веб барои идоракунии пойгоҳи додаҳо ва дастрасии FTP -ро насб кунед.
Биёед дида бароем, ки конфигуратсияи хеле маъмули Apache-PHP-MySQL(MariaDB) дар Linux таъсис дода шавад. Мо инчунин сервери vsftpd ftp, phpMyAdmin - интерфейси веб барои идоракунии пойгоҳи додаҳо ва системаи идоракунии мундариҷаи WordPress насб мекунем.
Барои оғоз лутфан сервери VPS фармоиш диҳед or сервери махсус. Масалан, мо сервери маҷозӣ бо суроғаи статикии IP-и Ubuntu Server 18.04-ро истифода бурдем. Ҳама фармонҳо аз ҷониби корбари реша иҷро карда шуданд.
Конфигуратсияи сервери HTTP Apache
1. насби
apt install apache2
Вақте ки насбкунӣ ба итмом мерасад, браузерро кушоед ва тафтиш кунед "http://[адреси_ip_сервер]"
Агар шумо дар скриншоти боло саҳифаи истиқболро бинед, ин маънои онро дорад, ки сервери 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_сервер]" боз ва боварӣ ҳосил кунед, ки ба ҷои саҳифаи истиқболи пешфарз мо саҳифаи нави худро дорем.
Мо конфигуратсияи сервери 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://[суроғаи_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-ро иҷро кунем ва паролро барои "Реша" истифодабаранда, дастрасии дурдастро хомӯш кунед ва ҳамаи ҳисобҳои меҳмононро нест кунед.
mysql_secure_installation
Дар қадами аввал, мо бояд ворид шавем "реша" гузарвожаи корбар барои дастрасӣ ба DBMS ё Enter-ро пахш кунед, агар парол мавҷуд набошад. Азбаски барои гузарвожа муқаррар карда нашудааст "реша" истифодабаранда пас аз насб, танҳо пахш кунед "Ворид шавед".
Лутфан қайд кунед, ки дар MariaDB аллакай ҳисобҳои шахсии худ мавҷуданд, ки ба ҳисобҳои ОС ҳеҷ иртиботе надоранд. Ҳамин тавр, ягона корбаре, ки мо дар MariaDB кор мекунем "реша".
Пас аз он, конфигуратор аз мо хоҳиш мекунад, ки паролро барои корбари реша муқаррар кунем. Навъи "Y" барои тасдиқ ва ворид кардани пароли нав. Дар мавриди мо, он аст "Qwe123"
ҷавоб "Y" ба ҳама саволҳои боқимонда то ба охир.
Конфигуратсия анҷом ёфт!
Тафсилоти дастрасии MariaDB:
- Воридшавӣ: root
- Рамз: Qwe123
конфигуратсияи phpMyAdmin
1. насби
Биёед васеъшавии заруриро барои PHP насб кунем - mbstring.
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 мизбони алоҳидаи виртуалӣ нест ва берун аз директорияи реша ҷойгир аст, биёед тахаллусро танзим кунем.
Файлро кушоед "/etc/apache2/mods-available/alias.conf" ва ин сатрро илова кунед:
Alias /pma “/var/www/sites/phpMyAdmin"
дар дохили ин бахш:
<IfModule alias_module>
</IfModule>
Барои татбиқ кардани тағирот Apache-ро аз нав бор кунед.
systemctl reload apache2
Номи тахаллус муқаррар шудааст, бинобар ин мо метавонем дар ин ҷо ба phpMyAdmin дастрасӣ пайдо кунем "http://[адреси_ip_сервер]/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'.* БА 'pma'@'localhost' МУАЙЯН ШУД …”,
Дар натиҷа, дар MariaDB ду ҳисоб эҷод карда мешавад:
- Воридшавӣ: pma, Рамз: Qwe123 Дастрасии пурра, барои ворид шудан ба phpMyAdmin истифода мешавад
- Воридшавӣ: pmaservice, Рамз: Qwe123Ҳисоби хидматрасонӣ барои кор кардани хусусиятҳои иловагӣ лозим аст
Дар қадами оянда, мо ин тафсилотро дар файли конфигуратсия муқаррар мекунем "config.inc.php".
Он гоҳ мо бояд базаи маълумотро аз файл ворид кунем "phpMyAdmin/sql/create_tables.sql".
Биёед онро бо ёрии phpMyAdmin ворид кунем.
Пайвандро кушоед "http://[адреси_ip_сервер]/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/" ҷузвдон ва аз бойгонӣ хориҷ кунед "wordpress"Папка.
Мазмуни онро нусхабардорӣ кунед "/var/www/sites/wordpress/" папкаи решаи "/var/www/sites/site1/" сомонаи.
Азбаски мо файлҳоро тавассути консол бо иҷозати реша нусхабардорӣ кардем, биёед соҳиби "/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://[суроғаи_ip_server]/wp-admin/install.php".
Ҳама майдонҳоро пур кунед ва клик кунед "Насб кардани WordPress". Номи корбар ва пароли тасодуфиро таъин кунед. Дар мавриди мо, он аст wpadmin ва Qwe123 мувофиқи он.
Ин тафсилот барои дастрасӣ ба WordPress истифода мешавад.
Пас аз анҷом додани насб, истинодро кушоед "http://[суроғаи_ip_server]/wp-login.php", тафсилоти дастрасӣ ворид кунед ва ба WordPress ворид шавед.
Шумо бояд яке аз қолибҳои WordPress-ро дар саҳифаи асосӣ бубинед.
Конфигуратсия анҷом ёфт.
Тафсилоти дастрасӣ ба WordPress:
- http://[server’s_ip_address]/wp-login.php
- Воридшавӣ: wpadmin
- Рамз: Qwe123