Знания Прости инструкции за работа с услугата Profitserver
основен Знания Как да конфигурирате уеб сървър (Apache-PHP-MySQL/MariaDB) на Linux

Как да конфигурирате уеб сървър (Apache-PHP-MySQL/MariaDB) на Linux


В тази статия ще ви дадем инструкции стъпка по стъпка как да конфигурирате уеб среда на сървър, работещ под Linux. Първо, трябва да разберете, че типичният уеб сървър се състои от няколко взаимодействащи си компонента:

  • HTTP сървър
  • интерпретатор на език за програмиране
  • система за управление на бази данни (СУБД)

За да управлявате уебсайта си, ще трябва да настроите система за управление на съдържанието (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://[ip_адрес_на_сървъра]“

Конфигурация на HTTP сървър на Apache

Ако видите страница за добре дошли като тази на екранната снимка по-горе, това означава, че вашият 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“

Конфигурация на сървъра на Apache

На този етап не е необходимо да конфигурираме едновременната работа на множество уебсайтове, така че можем да деактивираме уебсайта по подразбиране и да активираме новия сайт. Презаредете конфигурацията на сървъра, за да приложите промените.

a2dissite 000-default

a2ensite site1

systemctl reload apache2

Отворете отново връзката „http://[ip_адрес на сървъра]“ и се уверете, че вместо началната страница по подразбиране имаме новата ни страница.

Конфигурация на сървъра на Apache

Завършихме конфигурацията на нашия 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();

?>

Запазете промените и проверете резултата в браузъра.

Конфигуриране на PHP сървър - инсталиране и проверка

Ако видите резултата от функцията „phpinfo()“ , PHP интерпретаторът работи правилно. Сега нека преминем към следващата стъпка.

MySQL (MariaDB) конфигурация

1. Инсталация

Нека инсталираме MariaDB и PHP модул за MySQL и след това презаредим Apache.

apt install mariadb-server php-mysql

systemctl restart apache2

Обновете тестовата страница и отидете на секцията PDO в таблицата с конфигурации на PHP. Ако можете да намерите секцията „PDO_mysql“ , това означава, че драйверът за Mysql е инсталиран правилно.

Инсталиране и конфигуриране на MySQL (MariaDB).

След това ще трябва да направим първоначалната конфигурация за сигурност на MariaDB и да зададем паролата за потребителя „root“ , да деактивираме отдалечения достъп и да изтрием всички гост акаунти.

mysql_secure_installation

На първата стъпка трябва да въведем паролата на потребителя "root" за достъп до СУБД или да натиснем Enter, ако няма парола. Тъй като след инсталацията няма зададена парола за потребителя "root" , просто натиснете „Enter“.

Моля, обърнете внимание, че в MariaDB вече има свои собствени акаунти, които нямат нищо общо с акаунтите на операционната система. Така че единственият потребител, с когото работим в MariaDB, е "root".

  MySQL: Създайте акаунт и задайте парола

След това конфигураторът ще ни помоли да зададем паролата за root потребителя. Въведете „Y“ , за да потвърдите, и въведете новата парола. В нашия случай това е „Qwe123“.

  MySQL: Създайте акаунт и задайте парола

Отговорете с „Да“ на всички останали въпроси до самия край.

Конфигурацията е готова!

Подробности за достъп до MariaDB:

  • Вход: root
  • Парола: Qwe123

конфигурация на phpMyAdmin

1. Инсталация

Нека инсталираме необходимото разширение за PHP - mbstring.

apt install php-mbstring

В официалното хранилище има само остаряла версия на phpMyAdmin, така че нека инсталираме новата ръчно.

Отворете официалния уебсайт на проекта „ https://www.phpmyadmin.net/ “ и изтеглете най-новия архив.

Инсталиране и конфигуриране на phpMyAdmin

Копирайте архива на сървъра в папката „/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>
phpMyAdmin: Създайте псевдоним

Презаредете Apache, за да приложите промените.

systemctl reload apache2

Псевдонимът е зададен, така че можем да осъществим достъп до phpMyAdmin тук „http://[ip_адрес_на_сървъра]/pma“.

3. Подгответе базата данни

Тъй като ограничихме използването на root потребител по време на първоначалната конфигурация на 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

Моля, обърнете внимание, че името на базата данни във втората заявка е в задните sparks „… 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“ на вашия компютър с файлове. Разархивирайте я, ако е необходимо.

конфигурация на 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']“ . Използвайте произволен генератор на пароли за това.

Как да инсталирате и конфигурирате WordPress на Linux сървър

Премахнете коментарите от всички редове на секцията „phpMyAdmin configuration storage settings“ и задайте съответно потребителското име и паролата на сервизния акаунт на MariaDB за атрибутите „controluser“ и „controlpass“ . В нашия случай това са pmaservice и Qwe123.

Как да инсталирате и конфигурирате WordPress на Linux сървър

Запазете промените.

Подробности за достъп до 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“ и щракнете върху бутона „Създаване“.

Създайте база данни за WordPress

Изберете новата база данни в лявата секция и щракнете върху „Привилегии“

Създайте база данни за WordPress

След това кликнете върху „Добавяне на потребителски акаунт“.

Въведете потребителското име и паролата ( wpservice / Qwe123 ) в отворения прозорец, отметнете „Предоставяне на всички привилегии в wordpress_db“ и щракнете върху „Напред“.

Добавете потребителски акаунт в база данни за WordPress

На следващата страница щракнете върху „Отказ на всички“ , за да нулирате всички привилегии на ниво база данни, и щракнете върху „Напред“.

Добавете потребителски акаунт в база данни за WordPress

3. WordPress конфигурация на Linux сървър

Отидете в основната директория на вашия уебсайт и копирайте конфигурационния файл от шаблона

cd /var/www/sites/site1/

cp wp-config-sample.php wp-config.php

Отворете файла „wp-config.php“ и въведете параметрите за връзка с базата данни, които създадохме в предишната стъпка, и запазете промените.

Конфигурация на WordPress на Linux сървър

4. Инсталирайте CMS WordPress

Отворете следния линк в браузъра „http://[ip_адрес_на_сървъра]/wp-admin/install.php“.

Попълнете всички полета и кликнете върху „Инсталиране на WordPress“ . Задайте произволно потребителско име и парола. В нашия случай това са съответно wpadmin и Qwe123.

Тези подробности ще се използват за достъп до WordPress.

Инсталирайте CMS WordPress на Linux сървър

След като завършите инсталацията, отворете връзката „http://[ip_адрес_на_сървъра]/wp-login.php“ , въведете данните за достъп и влезте в WordPress.

Инсталирайте CMS WordPress на Linux сървър

Трябва да видите един от шаблоните на WordPress на главната страница.

Инсталирайте CMS WordPress на Linux сървър

Конфигурацията е завършена.

Подробности за достъп до WordPress:

  • http://[server’s_ip_address]/wp-login.php
  • Вход: wpadmin
  • Парола: Qwe123
Следваща статия ❯ Конфигуриране на .htaccess файл

Попитайте ни за VPS

Винаги сме готови да отговорим на вашите въпроси по всяко време на деня и нощта.