18.204.48.69

Как установить Apache, PHP 7.3 и MySQL на CentOS 7.6

Как установить Apache, PHP 7.3 и MySQL на CentOS 7.6

В этом руководстве показано, как установить веб-сервер Apache на сервере CentOS 7 с PHP (mod_php) и базой данных MySQL. Акроним LAMP - это сокращение от Linux, Apache, MySQL, PHP.

В этом обновленном руководстве показано, как установить последние версии PHP (7.0, 7.1, 7.2 и 7.3) на CentOS 7.6.

1 Предварительное примечание

В этом руководстве я использую имя хоста server1.example.com с IP-адресом 192.168.0.100. Эти настройки могут отличаться для вас, поэтому вы должны заменить их в случае необходимости.

Я добавлю репозиторий EPEL здесь, чтобы установить последнюю версию phpMyAdmin следующим образом:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release

Чтобы редактировать файлы в оболочке, я установлю нано-редактор. Если вы предпочитаете vi для редактирования файлов, пропустите этот шаг.

yum -y install nano

2 Установка MySQL / MariaDB

MariaDB - это MySQL форк оригинального разработчика MySQL Монти Видениуса. MariaDB совместима с MySQL, и я решил использовать здесь MariaDB вместо MySQL. Запустите эту команду, чтобы установить MariaDB с yum:

yum -y install mariadb-server mariadb

Затем мы создаем ссылки запуска системы для MySQL (чтобы MySQL запускался автоматически при загрузке системы) и запускаем сервер MySQL:

systemctl start mariadb.service
systemctl enable mariadb.service

Установите пароли для учетной записи root MySQL:

mysql_secure_installation
[root@server1 ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): <--ENTER
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] 
New password: <--yourmariadbpassword
Re-enter new password: <--yourmariadbpassword
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] <--ENTER
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] <--ENTER
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] <--ENTER
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] <--ENTER
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!
[root@server1 ~]#

3 Установка Apache

CentOS 7 поставляется с Apache 2.4. Apache напрямую доступен в виде пакета CentOS 7, поэтому мы можем установить его следующим образом:

yum -y install httpd

Теперь настройте систему для запуска Apache во время загрузки ...

systemctl start httpd.service
systemctl enable httpd.service

Чтобы получить доступ к веб-серверу извне, нам нужно открыть порты HTTP (80) и HTTPS (443) в брандмауэре. Брандмауэр по умолчанию в CentOS - firewalld, который можно настроить с помощью команды firewalld-cmd.

firewall-cmd --permanent --zone=public --add-service=http 
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd –reload

Теперь направьте ваш браузер на IP-адрес вашего сервера, в моем случае http://192.168.0.100, и вы должны увидеть страницу-заполнитель Apache.

4 Установка PHP

Версия PHP, которая поставляется с CentOS по умолчанию, довольно старая (PHP 5.4). Поэтому в этой главе я покажу вам некоторые варианты установки более новых версий PHP, таких как PHP 7.0 - 7.3, из репозитория Remi.

Добавьте репозиторий Remi CentOS.

rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Установите yum-utils так, как нам нужна утилита yum-config-manager.

yum -y install yum-utils

и запустите yum update

yum update

Теперь вам нужно выбрать, какую версию PHP вы хотите использовать на сервере. Если вам нравится использовать PHP 5.4, перейдите к главе 4.1. Чтобы установить PHP 7.0, следуйте командам в главе 4.2, для PHP 7.1 - главе 4.3, для PHP 7.4 используйте главу 4.4, а для PHP 7.3 - вместо главы 4.5. Следуйте только одной из глав 4.x, а не всем, поскольку вы можете использовать только одну версию PHP одновременно с Apache mod_php.

4.1 Установите PHP 5.4

Чтобы установить PHP 5.4, выполните эту команду:

yum -y install php

4.2 Установить PHP 7.0

Мы можем установить PHP 7.0 и модуль Apache PHP 7.0 следующим образом:

yum-config-manager --enable remi-php70
yum -y install php php-opcache

4.3 Установить PHP 7.1

Если вы хотите использовать PHP 7.1 вместо этого, используйте:

yum-config-manager --enable remi-php71
yum -y install php php-opcache

4.4 Установите PHP 7.2

Если вы хотите использовать PHP 7.2 вместо этого, используйте:

yum-config-manager --enable remi-php72
yum -y install php php-opcache

4.5 Установите PHP 7.3

Если вы хотите использовать PHP 7.3, используйте:

yum-config-manager --enable remi-php73
yum -y install php php-opcache

В этом примере и в загружаемой виртуальной машине я буду использовать PHP 7.3.

Мы должны перезапустить Apache, чтобы применить изменения:

systemctl restart httpd.service

5 Тестирование PHP / Получение подробной информации о вашей установке PHP

Корнем документа веб-сайта по умолчанию является / var / www / html. Мы создадим небольшой файл PHP (info.php) в этом каталоге и вызовем его в браузере для проверки установки PHP. Файл отобразит много полезной информации о нашей установке PHP, например, об установленной версии PHP.

nano /var/www/html/info.php

Теперь мы вызываем этот файл в браузере (например, http://192.168.0.100/info.php): Как видите, PHP 7.3 работает и работает через обработчик Apache 2.0, как показано в строке Server API. Если вы прокрутите дальше вниз, вы увидите все модули, которые уже включены в PHP. MySQL там не указан, что означает, что у нас пока нет поддержки MySQL в PHP.

6 Получение поддержки MySQL в PHP

Чтобы получить поддержку MySQL в PHP, мы можем установить пакет php-mysqlnd. Рекомендуется установить некоторые другие модули PHP, так как они могут вам понадобиться для ваших приложений. Вы можете искать доступные модули PHP5 следующим образом:

yum search php

Выберите те, которые вам нужны, и установите их так:

yum -y install php-mysqlnd php-pdo

На следующем шаге я установлю некоторые распространенные модули PHP, необходимые для систем CMS, такие как Wordpress, Joomla и Drupal:

yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel

Теперь перезапустите веб-сервер Apache:

systemctl restart httpd.service

Теперь перезагрузите http://192.168.0.100/info.php в вашем браузере и снова прокрутите вниз до раздела модулей. Теперь вы должны найти много новых модулей, таких как curl и т.д.

Если вам больше не нужен вывод информации PHP, удалите этот файл по соображениям безопасности.

rm /var/www/html/info.php

7 Установка phpMyAdmin

phpMyAdmin - это веб-интерфейс, с помощью которого вы можете управлять своими базами данных MySQL.

phpMyAdmin теперь можно установить следующим образом:

yum -y install phpMyAdmin

Теперь мы настраиваем phpMyAdmin. Мы изменили конфигурацию Apache, чтобы phpMyAdmin разрешал соединения не только с локального хоста (закомментировав раздел и добавив строку «Требовать все предоставлено»):

nano /etc/httpd/conf.d/phpMyAdmin.conf
[...]
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin


 AddDefaultCharset UTF-8

 
 # Apache 2.4
# 
# Require ip 127.0.0.1
# Require ip ::1
# 
 Require all granted
 
 
 # Apache 2.2
 Order Deny,Allow
 Deny from All
 Allow from 127.0.0.1
 Allow from ::1
 



        Options none
        AllowOverride Limit
        Require all granted

[...]

Перезапустите Apache, чтобы применить изменения конфигурации

systemctl restart  httpd.service

После этого вы можете получить доступ к phpMyAdmin по адресу http://192.168.0.100/phpmyadmin/:

PHPMyAdmin Войти

PHPMyAdmin на CentOS

8 Скачать как виртуальную машину

Эта настройка доступна для загрузки виртуальной машины в формате ova / ovf (совместим с VMWare и Virtualbox) для подписчиков howtoforge.

Данные для входа в виртуальную машину

Пароль root для Linux: howtoforge.

Пароль root для MySQL: howtoforge

Пожалуйста, измените оба пароля при первом входе в систему.

IP-адрес виртуальной машины 192.168.0.100

9 ссылки

Apache: http://httpd.apache.org/

PHP: http://www.php.net/

MySQL: http://www.mysql.com/

CentOS: http://www.centos.org/

phpMyAdmin: http://www.phpmyadmin.net/