Այս հոդվածում մենք ձեզ քայլ առ քայլ հրահանգներ կտանք, թե ինչպես կարգավորել վեբ միջավայրը Linux-ով աշխատող սերվերի վրա: Առաջին հերթին, դուք պետք է հասկանաք, որ սովորական վեբ սերվերը բաղկացած է մի քանի փոխազդող բաղադրիչներից.
- HTTP սերվեր
- ծրագրավորման լեզվի թարգմանիչ
- տվյալների բազայի կառավարման համակարգ (DBMS)
Ձեր կայքը կառավարելու համար դուք նաև պետք է ստեղծեք բովանդակության կառավարման համակարգ (CMS), տվյալների բազայի կառավարման վեբ ինտերֆեյս և FTP մուտք:
Եկեք քննարկենք Linux-ում Apache-PHP-MySQL (MariaDB) շատ հայտնի կոնֆիգուրացիայի կարգավորումը: Մենք նաև կտեղադրենք vsftpd ftp սերվեր, phpMyAdmin՝ տվյալների բազայի կառավարման վեբ ինտերֆեյս և WordPress բովանդակության կառավարման համակարգ:
Սկսելու համար խնդրում եմ պատվիրել VPS սերվեր or նվիրված սերվեր. Օրինակ՝ մենք օգտագործել ենք վիրտուալ սերվեր՝ ստատիկ IP հասցեով, որն աշխատում է Ubuntu Server 18.04-ով: Բոլոր հրամանները գործարկվել են արմատային օգտվողի կողմից:
Apache HTTP սերվերի կազմաձևում
1: տեղակայում
apt install apache2
Երբ տեղադրումն ավարտվի, բացեք զննարկիչը և ստուգեք «http://[server's_ip_address]»
Եթե վերևի սքրինշոթում տեսնում եք այսպիսի ողջույնի էջ, դա նշանակում է, որ ձեր 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]» կրկին և համոզվեք, որ լռելյայն ողջույնի էջի փոխարեն մենք ունենք մեր նոր էջը:
Մենք ավարտեցինք մեր 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
Թարմացրեք թեստային էջը և անցեք PHP կազմաձևման աղյուսակի PDO բաժին: Եթե կարող եք գտնել բաժինը «PDO_mysql», ապա դա նշանակում է, որ Mysql-ի դրայվերը ճիշտ է տեղադրված։
Այնուհետև մենք պետք է կատարենք MariaDB-ի սկզբնական անվտանգության կազմաձևումը և սահմանենք դրա գաղտնաբառը «Արմատ» օգտվողին, անջատել հեռակա մուտքը և ջնջել հյուրերի բոլոր հաշիվները:
mysql_secure_installation
Առաջին քայլին մենք պետք է մտնենք «արմատ» օգտագործողի գաղտնաբառը՝ DBMS մուտք գործելու համար կամ սեղմեք Enter, եթե գաղտնաբառ չկա: Քանի որ դրա համար գաղտնաբառ սահմանված չէ «արմատ» օգտագործողը տեղադրվելուց հետո, պարզապես սեղմեք «Մտնել».
Խնդրում ենք նկատի ունենալ, որ MariaDB-ում արդեն կան սեփական հաշիվներ, որոնք ոչ մի կապ չունեն ՕՀ-ի հետ: Այսպիսով, միակ օգտվողը, որի հետ գործ ունենք MariaDB-ում, դա է «արմատ».
Դրանից հետո կոնֆիգուրատորը մեզ կխնդրի արմատային օգտվողի գաղտնաբառը սահմանել: Տեսակ «Y» հաստատել և մուտքագրել նոր գաղտնաբառը: Մեր դեպքում դա «Qwe123»
պատասխանել «Y» մնացած բոլոր հարցերին մինչև վերջ։
Կազմաձևումն ավարտված է:
MariaDB մուտքի մանրամասները.
- Մուտք՝ արմատ
- Գաղտնաբառ՝ Qwe123
phpMyAdmin կոնֆիգուրացիա
1: տեղակայում
Եկեք տեղադրենք PHP-ի համար անհրաժեշտ ընդլայնումը. մբստրինգ.
apt install php-mbstring
Պաշտոնական պահոցում կա միայն phpMyAdmin-ի հնացած տարբերակը, ուստի եկեք նորը ձեռքով տեղադրենք:
Բացեք նախագծի պաշտոնական կայքը»https://www.phpmyadmin.net/» և ներբեռնեք վերջին արխիվը:
Պատճենեք արխիվը սերվերի վրա «/var/www/sites/» թղթապանակ՝ օգտագործելով ցանկացած ftp հաճախորդ:
Ապաարխիվացրեք թղթապանակը և վերանվանեք այն «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»:.* «pma»@«localhost»-ին նույնականացված է…»,
Արդյունքում, MariaDB-ում կստեղծվեն երկու հաշիվ.
- Մուտք՝ pma, գաղտնաբառ՝ Qwe123 Full 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/» թղթապանակը և ապաարխիվացնել այն «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://[server's_ip_address]/wp-admin/install.php».
Լրացրեք բոլոր դաշտերը և սեղմեք «Տեղադրեք WordPress». Սահմանեք պատահական օգտվողի անուն և գաղտնաբառ: Մեր դեպքում դա վպադմին և Qwe123 համապատասխանաբար:
Այս մանրամասները կօգտագործվեն WordPress մուտք գործելու համար:
Տեղադրումն ավարտելուց հետո բացեք հղումը «http://[server's_ip_address]/wp-login.php», մուտքագրեք մուտքի մանրամասները և մուտք գործեք WordPress։
Դուք պետք է տեսնեք WordPress-ի կաղապարներից մեկը գլխավոր էջում:
Կազմաձևումն ավարտված է:
WordPress մուտքի մանրամասները.
- http://[server’s_ip_address]/wp-login.php
- Մուտք՝ wpadmin
- Գաղտնաբառ՝ Qwe123