Како да инсталирате стек Linux, Apache, MySQL, PHP (LAMP) на CentOS 7
Вовед
Стак \LAMP е група софтвер со отворен код што обично се инсталира заедно за да овозможи серверот да биде домаќин на динамични веб-локации и веб-апликации. Овој термин е кратенка што го претставува Linux оперативниот систем , со веб-серверот Apache. Податоците на локацијата обично се складираат во MySQL база на податоци, а динамичната содржина се обработува од PHP.
На повеќето Linux системи, можете да инсталирате MySQL со преземање на пакетот mysql-server
од стандардните складишта за управување со пакети на вашиот систем. Сепак, на CentOS 7 пакетот mysql-server
всушност ќе го инсталира MariaDB, вилушка развиена од заедницата на системот за управување со релациска база на податоци MySQL кој работи како замена за MySQL. Така, ова упатство ќе наведе како да инсталирате стек LAMP што се состои од Linux, Apache, MariaDB и P HP на сервер CentOS 7.
Предуслови
Пред да започнете со овој водич, треба да имате поставено посебна корисничка сметка што не е root на вашиот сервер. Можете да научите како да го направите ова следејќи го нашето почетно поставување на серверот за CentOS 7 туторијал.
Чекор 1 - Инсталирање на веб-серверот на Apache
Apache е популарен веб-сервер со отворен код кој се користи за прикажување веб-страници на посетителите. Можете да го конфигурирате да опслужува PHP страници.
Инсталирајте Apache користејќи го CentOS менаџерот на пакети, yum
. Управувачот со пакети ви овозможува да инсталирате најголем дел од софтверот од складиште што го одржува CentOS.
Внесете ја оваа команда во вашиот терминал за да го инсталирате пакетот httpd
Apache:
- sudo yum install httpd
Кога ќе биде побарано, внесете Y
за да ја потврдите инсталацијата на Apache.
- sudo systemctl start httpd
Можете да тестирате дали вашиот сервер работи со внесување на вашата јавна IP адреса или името на вашиот домен во вашиот веб-прелистувач.
Забелешка: ако користите DigitalOcean како давател на хостинг DNS, можете да ги проверите нашите документи за производи за детални упатства за тоа како да поставите ново име на домен и да го насочите на вашиот сервер.
Ако немате име на домен насочен кон вашиот сервер или не ја знаете јавната IP адреса на вашиот сервер, можете да го најдете со извршување на следнава команда:
- ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
Ова ќе испечати неколку различни адреси. Можете да го пробате секој од нив во вашиот веб-прелистувач.
Алтернативен метод е да користите надворешна страна за да ви каже како го гледа вашиот сервер. Можете да го направите ова со тоа што ќе прашате одреден сервер која е вашата IP адреса со оваа команда:
- curl http://icanhazip.com
Без разлика кој метод ќе го изберете, внесете ја вашата IP адреса во вашиот веб-прелистувач за да потврдите дека вашиот сервер работи.
http://your_server_IP_address
Ќе ви биде претставена стандардната целна страница CentOS 7 Apache:
Можете да овозможите Apache да започне при подигнување со:
- sudo systemctl enable httpd.service
Чекор 2 - Инсталирање MySQL (MariaDB)
Кога вашиот веб-сервер е вклучен и работи, можете да инсталирате MariaDB. Ќе организира и ќе обезбеди пристап до бази на податоци каде што вашиот сајт може да складира информации.
За да го инсталирате софтверскиот пакет MariaDB, извршете:
- sudo yum install mariadb-server
Кога ќе заврши инсталацијата, стартувајте ја MariaDB:
- sudo systemctl start mariadb
Можете да овозможите MariaDB да започне при подигнување со оваа команда:
- sudo systemctl enable mariadb.service
За да ја подобрите безбедноста на серверот на вашата база на податоци, се препорачува да извршите безбедносна скрипта што е претходно инсталирана со MariaDB. Оваа скрипта ќе отстрани некои несигурни стандардни поставки и ќе го заклучи пристапот до системот на вашата база на податоци.
Започнете ја интерактивната скрипта со извршување:
- sudo mysql_secure_installation
Оваа скрипта ќе ве однесе низ низа инструкции каде што можете да направите некои промени во поставувањето на MariaDB. Првото известување ќе побара од вас да ја внесете тековната лозинка за корен на базата. Ова не треба да се меша со корисникот на коренот на системот. Корисникот корен на базата на податоци е административен корисник со целосни привилегии над системот на базата на податоци. Бидејќи штотуку ја инсталиравте MariaDB и не сте направиле никакви промени во конфигурацијата, оваа лозинка ќе биде празна. Притиснете ENTER
на промптот.
Следното барање ве прашува дали сакате да поставите лозинка за корен на базата на податоци. Напишете N
и потоа притиснете ENTER
.
Оттаму, можете да притиснете Y
, а потоа ENTER
за да ги прифатите стандардните за сите последователни прашања. Ова ќе ги отстрани анонимните корисници и тест базата, ќе го оневозможи далечинското root најавување и ќе ги вчита овие нови правила така што серверот веднаш ги почитува промените што сте ги направиле.
Кога ќе завршите, најавете се на конзолата MariaDB со внесување:
- sudo mysql
Ова ве поврзува со серверот MariaDB како корисник на административна база на податоци root:
OutputWelcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 5.5.68-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
За зголемена безбедност, најдобро е да имате посветени кориснички сметки со помалку експанзивни привилегии поставени за секоја база на податоци. Ова е особено важно ако планирате да имате повеќе бази на податоци хостирани на вашиот сервер.
За да покажете такво поставување, креирајте база на податоци со име example_database
и корисник со име example_user. Можете да ги замените овие имиња со различни вредности.
Извршете ја следнава команда од вашата конзола MariaDB за да креирате нова база на податоци:
- CREATE DATABASE example_database;
Можете да креирате нов корисник и да му доделите целосни привилегии на приспособената база на податоци што штотуку сте ја создале. Следната команда ја дефинира лозинката на овој корисник како лозинка
, но треба да ја замените оваа вредност со безбедна лозинка:
- GRANT ALL ON example_database.* TO 'example_user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Оваа команда му дава на корисникот example_user целосни привилегии над базата на податоци example_database
, додека го спречува овој корисник да создава или менува други бази на податоци на вашиот сервер.
Користете ја изјавата FLUSH
за повторно вчитање и зачувување на привилегиите што штотуку му ги доделивте на example_user:
- FLUSH PRIVILEGES;
Излезете од школката MariaDB:
- exit
Можете да тестирате дали новиот корисник ги има соодветните дозволи со повторно најавување на конзолата на MariaDB, но користејќи ги акредитивите example_user што ги создадовте погоре:
- mysql -u example_user -p
Забележете го знамето -p
во оваа команда, кое ќе ве праша за лозинката што сте ја избрале при креирањето на корисникот example_user. Откако ќе се најавите на конзолата на MariaDB, потврдете дека имате пристап до базата на податоци example_database
со оваа изјава:
- SHOW DATABASES;
Вашата example_database
треба да биде наведена на излезот:
Output+--------------------+
| Database |
+--------------------+
| example_database |
| information_schema |
+--------------------+
2 rows in set (0.000 sec)
За да излезете од школката MariaDB, напишете:
- exit
Системот на вашата база на податоци е поставен и можете да продолжите со инсталирање на PHP.
Чекор 3 - Инсталирање PHP
Имате инсталирано Apache за да ја опслужува вашата содржина и MariaDB за складирање и управување со вашите податоци. PHP ќе обработи код за да му прикаже динамична содржина на корисникот. Покрај пакетот php
, ќе ви треба php-mysql
, PHP модул кој овозможува PHP да комуницира со бази на податоци базирани на MySQL. Основните PHP пакети автоматски ќе се инсталираат како зависности.
Користете ја оваа команда за да ги инсталирате пакетите php
и php-mysql
со yum
:
- sudo yum install php php-mysql
Рестартирајте го веб-серверот Apache за да го овозможите модулот PHP што го инсталиравте:
- sudo systemctl restart httpd.service
Вашиот сервер сега е конфигуриран со сите компоненти потребни за вашата апликација за стек LAMP. Следниот чекор е да ја тестирате вашата конфигурација за да се осигурате дека сè работи хармонично.
Чекор 4 - Тестирање на PHP на вашиот веб-сервер на Apache
Стандардната инсталација на Apache на CentOS 7 ќе создаде корен на документ лоциран на /var/www/html
. Не треба да правите никакви промени во стандардните поставки на Apache за да може PHP да работи правилно во вашиот веб-сервер.
Сепак, можете да направите прилагодување за да ги промените стандардните поставки за дозволи на вашата основна папка на документи Apache. Ова ви овозможува да креирате и менувате датотеки во тој директориум со вашиот редовен системски корисник без потреба да ја ставате секоја команда префикс со sudo
.
Следнава команда ќе ја смени сопственоста на стандардниот корен на документот Apache на корисник и група наречена sammy
, затоа погрижете се да ги замените означеното корисничко име и група во оваа команда за да се одрази корисничко име и група на вашиот систем:
- sudo chown -R sammy.sammy /var/www/html/
Можете да креирате датотека за тестирање PHP за да се осигурате дека веб-серверот работи како што се очекуваше. Користете го претпочитаниот уредувач на текст за да ја креирате оваа датотека. Следниве примери го користат стандардниот уредувач на текст vi
во CentOS 7.
Направете PHP-датотека наречена info.php
во директориумот var/www/html
:
- vi /var/www/html/info.php
Ова отвора празна PHP-датотека во директориумот /var/www/html
. Притиснете I
за да влезете во режимот INSERT
во уредникот vi
. Ова ви овозможува да пишувате и да правите промени во текстуалниот уредувач. Внесете го следниов PHP код:
<?php phpinfo(); ?>
Овој PHP код прикажува информации за околината PHP што работи на вашиот сервер. Кога ќе завршите со правењето промени во оваа датотека, притиснете го копчето ESC
за да излезете од режимот INSERT
во vi
. Внесете :x
– точка-запирка и буквата x со мала буква – за да ја зачувате и затворите датотеката.
Можете да тестирате дали вашиот веб-сервер правилно прикажува PHP содржина со одење на јавната IP адреса на вашиот сервер, проследено со /info.php
:
http://your_server_IP_address/info.php
Веб-страница, слична на онаа подолу, ќе се прикаже во вашиот прелистувач:
Оваа страница ви дава информации за вашиот сервер од перспектива на PHP. Корисно е за дебагирање и обезбедување дека вашите поставки се применуваат правилно. Откако ќе ги проверите релевантните информации за вашиот PHP сервер, најдобро е да ја отстраните оваа датотека бидејќи содржи чувствителни информации за вашата PHP околина и вашиот CentOS сервер.
Можете да користите rm
за да ја отстраните оваа датотека:
- rm /var/www/html/info.php
Секогаш можете да ја рекреирате оваа страница ако треба повторно да пристапите до информациите подоцна. Следно, можете да ја тестирате врската со базата на податоци користејќи PHP.
Чекор 5 – Тестирање на врската со базата на податоци со PHP (опционално)
Можете да тестирате дали PHP се поврзува со MariaDB и извршува барања во базата на податоци со создавање тест табела со некои податоци за тестирање. Можете да побарате за неговата содржина од PHP скрипта.
Прво, поврзете се со конзолата MariaDB со корисникот на базата на податоци што го создадовте во чекор 2 од ова упатство:
- mysql -u example_user -p
Од конзолата MariaDB, извршете ја следнава изјава за да креирате табела со име todo_list
во вашата example_database
:
- CREATE TABLE example_database.todo_list (
- item_id INT AUTO_INCREMENT,
- content VARCHAR(255),
- PRIMARY KEY(item_id)
- );
Конзолата MariaDB ќе ве известува за промените на вашата табела по секое уредување.
Query OK, 0 rows affected (0.00 sec)
Вметнете неколку редови на содржина во табелата за тестирање. Можете да ја повторите следната команда неколку пати, користејќи различни вредности, за да ја пополните вашата тест табела:
- INSERT INTO example_database.todo_list (content) VALUES ("My first important item");
За да потврдите дека податоците се успешно зачувани на вашата табела, извршете:
- SELECT * FROM example_database.todo_list;
Подолу е пример за излезот:
Output+---------+--------------------------+
| item_id | content |
+---------+--------------------------+
| 1 | My first important item |
| 2 | My second important item |
| 3 | My third important item |
| 4 | and this one more thing |
+---------+--------------------------+
4 rows in set (0.000 sec)
Откако ќе потврдите дека имате валидни податоци во вашата тест табела, можете да излезете од конзолата MariaDB:
- exit
Сега можете да ја креирате скриптата PHP што ќе се поврзе со MariaDB и ќе ја бара вашата содржина. Создадете нова PHP-датотека во вашиот сопствен веб root директориум користејќи го претпочитаниот уредувач. Овој пример користи vi
:
- vi /var/www/html/todo_list.php
Додадете ја следнава содржина со притискање I
во уредувачот на текст vi
, не заборавајте да ги замените example_user
и лозинка
со ваша:
<?php
$user = "example_user";
$password = "password";
$database = "example_database";
$table = "todo_list";
try {
$db = new PDO("mysql:host=localhost;dbname=$database", $user, $password);
echo "<h2>TODO</h2><ol>";
foreach($db->query("SELECT content FROM $table") as $row) {
echo "<li>" . $row['content'] . "</li>";
}
echo "</ol>";
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
Зачувајте ја и затворете ја датотеката кога ќе завршите со уредувањето со притискање на ESC
, проследено со внесување :x
во vi
.
Сега можете да пристапите на оваа страница во вашиот веб-прелистувач со посета на името на домаќинот или јавната IP адреса на вашиот сервер, проследено со /todo_list.php
:
http://server_host_or_IP/todo_list.php
Подолу е пример за веб-страницата, откривајќи ја содржината што сте ја вметнале во вашата тест табела:
Заклучок
Во ова упатство, изградивте флексибилна основа за опслужување на веб-локациите и апликациите на PHP на вашите посетители, користејќи го Apache како веб-сервер. Го поставивте Apache да се справува со барањата за PHP и поставивте база на податоци на MariaDB за складирање на податоците на вашата веб-страница.