В тази статия ще опишем подробно процеса на инсталиране на LAMP стека на сървър, работещ с операционната система CentOS Stream. Ще научите как да конфигурирате всеки компонент стъпка по стъпка и ще проверите функционалността на инсталирания стек. За потребители, работещи с дистрибуции на Debian/Ubuntu, подобен процес на инсталиране на LAMP е описан в друга наша статия.
Стекът LAMP се състои от набор от софтуер, включително операционната система Linux, уеб сървъра Apache, системата за управление на бази данни MySQL или MariaDB и PHP скриптовия език. Тези компоненти работят заедно, за да създадат мощна и гъвкава платформа за внедряване на уеб приложения и уебсайтове.
Подготовка на сървъра
Преди да започнете инсталацията, трябва да извършите редица подготвителни стъпки.
Преминаване към суперпотребител
На първо място, трябва да получите привилегии на суперпотребител (root), тъй като повечето команди, необходими за настройка на сървъра, се нуждаят от повишени разрешения. Въведете следната команда, за да превключите към root потребител:
su -
Актуализиране на системата
След това се препоръчва да актуализирате всички инсталирани пакети до най-новите версии. За да актуализирате, изпълнете командата:
dnf update -y
Конфигуриране на защитната стена
За да гарантирате сигурността на вашия сървър, трябва да конфигурирате правила за достъп. CentOS Stream използва firewalld по подразбиране като система за управление на правилата. Уверете се, че защитната стена е инсталирана и работи:
systemctl status firewalld
След това отворете портовете, които ще бъдат използвани от LAMP стека:
- HTTP (порт 80) за достъп до уебсайт;
- HTTPS (порт 443) за защитен достъп до уебсайта;
- MySQL (порт 3306) за достъп до база данни (ако е необходима отдалечена връзка).
Използвайте следните команди, за да отворите тези портове:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-port=3306/tcp
Също така добавете правило за SSH връзка:
firewall-cmd --permanent --add-port=22/tcp
След като добавите всички необходими правила, презаредете настройките на защитната стена:
firewall-cmd --reload
Уверете се, че защитната стена работи правилно. Изпълнете следната команда, за да видите всички правила:
firewall-cmd --list-all
Инсталиране на Apache
За да инсталирате Apache, използвайте мениджъра на пакети DNF. Ако имате нужда само от основната версия на Apache, използвайте следната команда:
dnf install httpd -y
В допълнение към основната инсталация на Apache можете също да добавите различни помощни програми и модули за разширяване на функционалността и подобряване на сигурността на уеб сървъра. Синтаксисът на тази команда е:
dnf install additional_packages –y
За да инсталирате услугата заедно с допълнителни пакети, командата изглежда така:
dnf install httpd additional_packages -y
Обърнете се към официални документи за да се запознаете с наличните помощни програми и модули.
След като инсталирате Apache, стартирайте го и го добавете към стартирането:
systemctl start httpd
systemctl enable httpd
Проверете състоянието на услугата, като използвате командата:
systemctl status httpd
На този етап можете да отворите уеб браузър и да въведете IP адреса на сървъра в адресната лента. Трябва да видите началната страница на Apache, показваща успешна инсталация:
По подразбиране Apache на CentOS се намира в /etc/httpd указател. В него има различни поддиректории и файлове, използвани за конфигурация и управление на сървъра.
Файловете на уебсайта, като HTML, CSS, JavaScript, трябва да бъдат поставени в / Var / WWW / HTML указател. Всички файлове в тази директория ще бъдат достъпни на адреса на вашия сайт.
Инсталация на MySQL
В този раздел ще разгледаме процеса на инсталиране и конфигуриране на MariaDB на сървър CentOS Stream. MariaDB е разклонение на MySQL, което поддържа съвместимост с MySQL, но предлага подобрена производителност, подобрени функции и активна общност на разработчици. За да инсталирате инструмента, използвайте командата:
dnf install mariadb-server mariadb -y
След инсталирането стартирайте услугата и я разрешете да стартира при зареждане на системата:
systemctl start mariadb
systemctl enable mariadb
За да сте сигурни, че услугата MariaDB работи правилно, използвайте следната команда:
systemctl status mariadb
MariaDB предоставя скрипт за настройка на сигурността, който ви позволява да премахнете опасните настройки по подразбиране и да защитите базата данни. Стартирайте го:
sudo mysql_secure_installation
По време на изпълнението на скрипта ще бъдете подканени да изпълните няколко стъпки:
- Задайте парола за root потребител (ако вече не е зададена);
- Премахване на анонимни потребители;
- Забранете дистанционно влизане като root;
- Премахнете тестовата база данни и достъпа до нея;
- Презаредете таблиците с привилегии, за да приложите промените.
Препоръчително е да отговорите утвърдително (y) на всички етапи.
След като завършите първоначалната настройка на защитата, можете да се свържете с MariaDB. За да направите това, изпълнете командата:
mysql -u root -p
За да сте сигурни, че MariaDB работи правилно, се препоръчва да създадете тестова база данни. Изпълнете следните команди в конзолата на MariaDB:
CREATE DATABASE testdb;
USE testdb;
CREATE TABLE test_table (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
INSERT INTO test_table (name) VALUES ('example data');
SELECT * FROM test_table;
Тези команди ще създадат нова база данни testdb, таблица test_table и ще добавят един запис. След това те ще покажат съдържанието на таблицата за проверка:
За да излезете от обвивката, използвайте командата:
exit
Инсталиране на PHP
След като инсталирате Apache и MySQL, следващата стъпка е да инсталирате и конфигурирате PHP, който отговаря за обработката на динамични уеб страници. Подобно на Apache, можете да извършите основна инсталация на PHP, както и да добавите необходимите допълнителни модули. За основна инсталация използвайте командата:
dnf install php
В тази форма обаче инструментът рядко се инсталира. По-често инсталирането става веднага с допълнителни модули. Нека инсталираме с някои важни модули:
dnf install php php-cli php-mysqlnd php-json php-gd php-ldap php-odbc php-pdo php-opcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-zip –y
Обърнете се към официални документи за пълен списък на наличните модули. За да проверите инсталираните модули, използвайте командата:
php -m
За да проверите инсталираната версия на PHP, използвайте командата:
php -v
Основният PHP конфигурационен файл се намира на /etc/php.ini. Отворете този файл в текстов редактор:
vim /etc/php.ini
Направете необходимите промени, например задайте правилната часова зона с помощта на директивата date.timezone и коригирайте размерите на файловете за качване с помощта на директивите upload_max_filesize и post_max_size. Ако досега не сте работили с конзолни текстови редактори, ние сме подготвили статията за да ви помогне да разберете основите на работата с vim.
След като инсталирате инструмента и направите промени в конфигурационния файл, рестартирайте услугата Apache:
systemctl restart httpd
За да проверите функционалността, създайте прост скрипт, който ще показва информация за версията на PHP и текущите настройки. Създайте файл info.php в основната директория на уеб сървъра / Var / WWW / HTML със следното съдържание:
<?php
phpinfo();
?>
Отворете уеб браузър и въведете URL адреса на сървъра, последван от името на файла на тестовия скрипт. Например:
http://your_server_ip/info.php
Ако всичко е настроено правилно, ще видите подробна информация за PHP версията, настройките, поддържаните модули и други:
Заключение
Инсталирането на стека LAMP на сървър на CentOS Stream е важна стъпка за създаване на надежден уеб сървър. Следвайки инструкциите, вие научихте как да конфигурирате Apache, MySQL и PHP, които са необходими за динамични уебсайтове. Този стек отваря много възможности за уеб разработка, а по-нататъшното проучване и оптимизация ще ви помогнат да подобрите производителността и надеждността на вашия сървър.