Այս հոդվածում մենք ձեզ քայլ առ քայլ հրահանգներ կտանք, թե ինչպես կարգավորել վեբ միջավայրը Linux-ով աշխատող սերվերի վրա: Առաջին հերթին, դուք պետք է հասկանաք, որ սովորական վեբ սերվերը բաղկացած է մի քանի փոխազդող բաղադրիչներից.
- HTTP սերվեր
- ծրագրավորման լեզվի թարգմանիչ
- տվյալների բազայի կառավարման համակարգ (DBMS)
Ձեր կայքը կառավարելու համար դուք նաև պետք է ստեղծեք բովանդակության կառավարման համակարգ (CMS), տվյալների բազայի կառավարման վեբ ինտերֆեյս և FTP մուտք:
Եկեք քննարկենք Linux-ում Apache-PHP-MySQL (MariaDB) շատ հայտնի կոնֆիգուրացիայի կարգավորումը: Մենք նաև կտեղադրենք vsftpd ftp սերվեր, phpMyAdmin՝ տվյալների բազայի կառավարման վեբ ինտերֆեյս և WordPress բովանդակության կառավարման համակարգ:
Սկսելու համար խնդրում ենք պատվիրել VPS սերվեր կամ նվիրված սերվեր ։ Օրինակ՝ մենք օգտագործել ենք Ubuntu Server 18.04 օպերացիոն համակարգով աշխատող վիրտուալ սերվեր՝ ստատիկ IP հասցեով։ Բոլոր հրամանները կատարվել են root օգտատիրոջ կողմից։
Apache HTTP սերվերի կազմաձևում
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://[server's _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
«Root»-ը լռելյայնորեն կլինի «/var/www» թղթապանակի սեփականատերը ։ Որպեսզի ftp օգտատերերը կարողանան փոփոխել կայքերի բովանդակությունը, եկեք փոխենք «/var/www/sites/» -ի սեփականատիրոջը , ներառյալ «virtual» -ի ենթաթղթապանակները ։
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-ի նախնական անվտանգության կարգավորումը և սահմանենք «root» օգտատիրոջ գաղտնաբառը , անջատենք հեռակա մուտքը և ջնջենք բոլոր հյուր հաշիվները։
mysql_secure_installation
Առաջին քայլում մենք պետք է մուտքագրենք «root» օգտատիրոջ գաղտնաբառը՝ տվյալների բազայի կառավարման համակարգ մուտք գործելու համար, կամ սեղմենք Enter, եթե գաղտնաբառ չկա։ Քանի որ տեղադրումից հետո «root» օգտատիրոջ համար գաղտնաբառ սահմանված չէ, պարզապես սեղմեք «Enter» ։
Խնդրում ենք նկատի ունենալ, որ MariaDB-ում արդեն կան սեփական հաշիվներ, որոնք որևէ կապ չունեն օպերացիոն համակարգի հաշիվների հետ։ Այսպիսով, MariaDB-ում մենք գործ ունենք միայն «root» օգտագործողի հետ ։
Դրանից հետո կոնֆիգուրատորը կխնդրի մեզ սահմանել root օգտատիրոջ գաղտնաբառը: Մուտքագրեք «Y» ՝ հաստատելու և նոր գաղտնաբառը մուտքագրելու համար: Մեր դեպքում դա «Qwe123» է:
Մնացած բոլոր հարցերին պատասխանեք «Y» տառով մինչև վերջ։
Կազմաձևումն ավարտված է:
MariaDB մուտքի մանրամասները.
- Մուտք՝ արմատ
- Գաղտնաբառ՝ Qwe123
phpMyAdmin կոնֆիգուրացիա
1: տեղակայում
Եկեք տեղադրենք PHP-ի համար անհրաժեշտ ընդլայնումը՝ mbstring-ը ։
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
Խնդրում ենք նկատի ունենալ, որ երկրորդ հարցման մեջ տվյալների բազայի անունը գտնվում է back sparks-ում “… ON `phpmyadmin` .* TO 'pma'@'localhost' IDENTIFIED BY …”,
Արդյունքում, MariaDB-ում կստեղծվեն երկու հաշիվ.
- Մուտք՝ pma, գաղտնաբառ՝ Qwe123 Full access, կօգտագործվի phpMyAdmin մուտք գործելու համար
- Մուտք՝ pmaservice, Գաղտնաբառ՝ Qwe123 Ծառայության հաշիվը պահանջվում է լրացուցիչ գործառույթների աշխատանքի համար
Հաջորդ քայլում մենք այս տվյալները կտեղադրենք «config.inc.php» կոնֆիգուրացիայի ֆայլում ։
Այնուհետև մենք պետք է ներմուծենք տվյալների բազան «phpMyAdmin/sql/create_tables.sql» ֆայլից ։
Եկեք ներմուծենք այն phpMyAdmin-ի օգնությամբ։
Բացեք «http://[server's_ip_address]/pma» հղումը
Մուտքագրեք մուտքանունը ՝ «pma» և գաղտնաբառը ՝ «Qwe123»:
Մտեք «Ներմուծել» բաժին , սեղմեք «Ընտրել ֆայլը» և phpMyAdmin-ի արմատային գրացուցակում ընտրեք «sql/create_tables.sql» ֆայլը : Ձեր համակարգչում պետք է լինի «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 configuration storage settings» բաժնի բոլոր տողերից և համապատասխանաբար սահմանեք 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/ site1/» կայքի «/var/www/sites/ wordpress/» արմատային թղթապանակի պարունակությունը ։
Քանի որ մենք ֆայլերը պատճենել ենք 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» (տանել բոլոր արտոնությունները 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»- ը: Սահմանեք պատահական օգտանուն և գաղտնաբառ: Մեր դեպքում դա համապատասխանաբար wpadmin և Qwe123 է:
Այս մանրամասները կօգտագործվեն WordPress մուտք գործելու համար:
Տեղադրումն ավարտելուց հետո բացեք «http://[server's_ip_address]/wp-login.php» հղումը , մուտքագրեք մուտքի տվյալները և մուտք գործեք WordPress:
Դուք պետք է տեսնեք WordPress-ի կաղապարներից մեկը գլխավոր էջում:
Կազմաձևումն ավարտված է:
WordPress մուտքի մանրամասները.
- http://[server’s_ip_address]/wp-login.php
- Մուտք՝ wpadmin
- Գաղտնաբառ՝ Qwe123