NetTOOLSLib home page

GoУстановка LAMP (Linux, Apache, MariaDB, PHP / PhpMyAdmin) в CentOS 7.0

Что такое LAMP ? Это набор (стэк) программного обеспечения состоящий из Linux, Apache, MySQL и PHP.

Всего 4 компонента LAMP
Linux: Операционная система. На ней базируются все остальные компоненты
Apache: Веб-сервер, втрой компонент, обычно это Apache Web Server.
MySQL: Сервер баз данных. MySQL / MariaDB может располагатся на отдельном сервере.
PHP: Язык программирования, позволяет создавать веб сайты или веб приложения.

1. Базовые требования

В данной статье мы считаем, что на сервере уже установлена операционная система CentOS 7, с полность налаженным сетевыми доступами.

2. Установка веб-сервера Apache

- установка веб-сервера Apache


#yum install httpd



- после завершения установки запускаем сервер


#systemctl start httpd



- проверяем состояние запуска веб-сервера


#systemctl status httpd

● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2018-12-12 14:26:16 MSK; 5s ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 18378 (httpd)
Status: "Processing requests..."
CGroup: /system.slice/httpd.service
├─18378 /usr/sbin/httpd -DFOREGROUND
├─18379 /usr/sbin/httpd -DFOREGROUND
├─18380 /usr/sbin/httpd -DFOREGROUND
├─18381 /usr/sbin/httpd -DFOREGROUND
├─18382 /usr/sbin/httpd -DFOREGROUND
└─18383 /usr/sbin/httpd -DFOREGROUND

Dec 12 14:26:15 cc-b6-it89lnx systemd[1]: Starting The Apache HTTP Server...
Dec 12 14:26:16 cc-b6-it89lnx httpd[18378]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::4ba7:4213:27d2:8236. Set the '...this message
Dec 12 14:26:16 cc-b6-it89lnx systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.



подобный ответ сообщает о корректном запуске веб-сервера

Для сетевого доступа к веб-серверу необходимо настройть файрвол firewalld для доступа к веб-серверу по портам 80 и 443

- добавляем доступ для сервиса http и https


#firewall-cmd --add-service=http
#firewall-cmd --add-service=https



или

- при выполнении команды указанной ниже, доступ сохранится после перезагрузки сервера


#firewall-cmd --permanent --add-service=http
#systemctl restart firewalld



Для проверки доступа к веб-серверу apache можно через браузер подключится к нему по ip адресу

http://<ip адрес веб-сервера>



3. Установка поддержки php5 для сервера Apache

Используя команду указанную ниже, получаем список всех модулей php доступных в репозитории yum


#yum search php



В зависимости от необходимости поддержки разных сервисов можно устанавливать отдельные модули. Для нашей задачи установим следующий комплект:


#yum install php php-mysql php-pdo php-gd php-mbstring



Перезапустим веб-сервер apache


#systemctl restart httpd




Для того, чтобы получить информацию об установленных модулях php, через браузер добавим файл в папку по умолчанию, созданную apache при установке.
По умолчанию, apache испльзует папку /var/www/html для хранения файлов сайта.
Создадим файл infosite.php выполнив команду:


#echo "<?php phpinfo(); ?>" > /var/www/html/infosite.php






Если возникает ошибка PHP в установке времени или даты, то откройте файл /etc/php.ini и раскомментируйте параметр data.timezone


date.timezone = Continent/City




4. Установка сервера баз данных MariaDB

Команда установки сервера баз данных MariaDB


#yum install mariadb-server mariadb



После завершения устнановки запускаем сервис и задаем пароль администратора root


#systemctl start mariadb



Проверяем состояние сервера


#systemctl status mariadb

● mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2018-12-12 15:42:01 MSK; 7s ago
Process: 20416 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
Process: 20336 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Main PID: 20415 (mysqld_safe)
CGroup: /system.slice/mariadb.service
├─20415 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
└─20577 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/m...

Dec 12 15:41:58 cc-b6-it89lnx mariadb-prepare-db-dir[20336]: MySQL manual for more instructions.
Dec 12 15:41:58 cc-b6-it89lnx mariadb-prepare-db-dir[20336]: Please report any problems at http://mariadb.org/jira
Dec 12 15:41:58 cc-b6-it89lnx mariadb-prepare-db-dir[20336]: The latest information about MariaDB is available at http://mariadb.org/.
Dec 12 15:41:58 cc-b6-it89lnx mariadb-prepare-db-dir[20336]: You can find additional information about the MySQL part at:
Dec 12 15:41:58 cc-b6-it89lnx mariadb-prepare-db-dir[20336]: http://dev.mysql.com
Dec 12 15:41:58 cc-b6-it89lnx mariadb-prepare-db-dir[20336]: Consider joining MariaDB's strong and vibrant community:
Dec 12 15:41:58 cc-b6-it89lnx mariadb-prepare-db-dir[20336]: https://mariadb.org/get-involved/
Dec 12 15:41:59 cc-b6-it89lnx mysqld_safe[20415]: 181212 15:41:59 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
Dec 12 15:41:59 cc-b6-it89lnx mysqld_safe[20415]: 181212 15:41:59 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Dec 12 15:42:01 cc-b6-it89lnx systemd[1]: Started MariaDB database server.



В случае успешного запуска MariaDB получаем подобный ответ сервера.

Дла организации безопасного подключения к MariaDB необходимо задать пароль администратора.


#mysql_secure_installation



Далее выполняем проверку функционирования MariaDB, для этого необходимо подключится к серверу и (например) получить переменные окружения:


mysql -u root -p
MariaDB > show variables;
MariaDB > quit



5. Установка пакета PhpMyAdmin для организации администрирования MySQL через графический интерфейс

Для установки необходимо подключить rpmforge репозиторий:


#yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm



Установка PhpMyAdmin


#yum install phpmyadmin



Необходимо разрешить подключения с удаленных компьютеров. Для этого в файле phpmyadmin.conf (в папке conf.d с конфигурационнымими файлами Apache) требуется закомментировать строки:


#Order Deny,Allow
#Deny from all
#Allow from 127.0.0.1



затем перезагрузим веб-сервер сервер


#systemctl restart httpd



6. Установка сервисов LAMP в автозагрузку


#systemctl enable mariadb
#systemctl enable httpd







Go


NetTOOLSLib home page
(online network tools and utilities)