Реклама ООО Таймвэб
Реклама ООО Таймвэб
Реклама ООО Таймвэб

Как установить PHP на VDS под CentOS

Обсудить
Как установить PHP на VDS под CentOS

Если вы взяли VDS для размещения динамических сайтов и приложений, написанных на PHP, то вам понадобится установить этот серверный язык. Сделать это можно в автоматическом и ручном режимах. В этой статье мы изучим оба способа на примере VDS с CentOS 7.

Автоматическая установка PHP на VDS

Самый простой вариант — установить PHP на собственный VDS под CentOS при создании сервера. Например, такая возможность есть на Timeweb.

  1. Заходим в панель управления VDS на хостинге.

  2. Переходим на вкладку «Список VDS».

  3. Нажимаем на кнопку «Создать сервер».

  4. Вводим любое имя и комментарий, если он нужен.

  5. Выбираем операционную систему и дополнительное ПО для сервера. В нашем случае это будет CentOS 7 и LAMP (Linux, Apache, MySQL, PHP, nginx).Установка PHP при создании нового сервера

  6. Выбираем конфигурацию сервера.

  7. При необходимости указываем публичную часть ключа SSH (если уже его создали) и включаем защиту от DDoS-атак.

  8. Оплачиваем тариф и получаем на почту письмо с данными для подключения к серверу.

После установки операционной системы и дополнительного ПО мы имеем полностью готовый сервер для работы над динамическими сайтами и приложениями. 

Если уже есть сервер с другой ОС и дополнительным ПО, можно выполнить переустановку. Но этот способ подходит только в том случае, если на машине ничего не настроено и не размещено. Переустановка удаляет из хранилища все файлы. Например, у меня на Timeweb есть сервер с Ubuntu 18.04 и панелью Vesta. На нем нет ничего важного, поэтому я могу переустановить ОС и ПО на CentOS 7 с LAMP.

1000 рублей в подарок на производительные VDS от Timeweb

Закажи VDS, пополни баланс на 1000 рублей, и мы добавим еще столько же. Активируй промокод community1000 в панели управления.

Заказать
Условия использования промокода

Ручная установка PHP на VDS с CentOS 7

Тот же набор дополнительного ПО можно поставить на сервер вручную. Это займет больше времени, но результат будет аналогичным — готовая среда для разработки сайтов и приложений на PHP.

Для установки ПО мы будем использовать консоль, доступную в панели управления VDS на Timeweb. То же самое можно сделать через терминал, подключившись к серверу по SSH.

Первый шаг — установка репозитория EPEL. Без него на CentOS слишком мало пакетов для решения нашей задачи. Чтобы установить EPEL, выполняем в консоли следующие команды:

sudo yum install epel-release

sudo yum update

Теперь добавим пакеты, которые нужны для настройки веб-сервера с PHP:

sudo yum install htop wget multitail bash-completion git zip unzip

Во время установки появится несколько запросов — все подтверждаем.

Чтобы улучшить производительность сервера, сократив время доступа к файлам, установим утилиту Prelink — она автоматически подгружает в память наиболее используемые библиотеки. Выполняем команду:

sudo yum install prelink

При установке соглашаемся со всеми предложениями.

Следующий шаг — установка веб-сервера Apache. Выполняем команду: 

sudo yum install httpd

Затем ставим MySQL:

sudo yum install mariadb mariadb-server

Наконец добираемся до PHP. В 7-й версии нет даже в EPEL, поэтому придется добавить еще один репозиторий:

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

Затем необходимо отредактировать конфиг репозитория, чтобы он начал работать. Открываем его через редактор nano:

sudo nano /etc/yum.repos.d/remi-php74.repo

Находим строку enabled=0 и меняем значение на «1». Должно получиться enabled=1. Сохраняем конфиг и закрываем редактор.

Включаем репозиторий, чтобы установить PHP на сервер

Обновляем кэш:

sudo yum update

И ставим последнюю версию PHP:

sudo yum install php php-fpm php-gd php-mysql php-imagick php-dom php-opcache php-zip php-mbstring

С установкой мы разобрались, осталось настроить все компоненты для работы с веб-сайтами и приложениями.

Настройка программного обеспечения на VDS с CentOS

Начнем с MySQL. Запустим скрипт начальной настройки. 

sudo mysql_secure_installation

На экране появится мастер настройки, который работает в режиме «вопрос — ответ». Сначала он запросит рутовый пароль. Так как его нет, пропускаем этот шаг. Дальше нужно указать новый рутовый пароль от баз данных, подтвердить удаление анонимного доступа и обновление привилегий. Еще один важный момент — разрешение или запрет удаленных соединений. Если порт MySQL не закрыт в файрволе, то безопаснее их запретить.

Затем переходим к настройке PHP. Изменим лимиты по умолчанию, чтобы можно было работать с большими файлами. Открываем конфиг PHP через редактор nano:

sudo nano /etc/php.ini

Находим указанные ниже параметры и приводим их к следующим значениям:

memory_limit = 128M

post_max_size = 64M

upload_max_filesize = 64M

Если нужны еще более высокие лимиты, ставим свои значения.

Сохраняем конфиг PHP и закрываем файл.

Затем открываем конфиг Apache:

sudo nano /etc/httpd/conf/httpd.conf

Меняем дополнительные индексные файлы

<IfModule dir_module>

    DirectoryIndex index.html index.htm index.php

</IfModule>

Находим модуль <Directory «/var/www/html»>. Меняем значение параметра AllowOverride с «None» на «All». Значение AllowOverride All разрешает серверу исполнять директивы .htaccess для файлов, необходимых для безопасной работы сайтов.

Затем отключим тестовый виртуальный хост, на котором отображается заглушка Apache. Открываем конфигурационный файл:

sudo nano /etc/httpd/conf.d/welcome.conf

В этом файле нужно закомментировать все строки — поставить перед каждой знак #.

Теперь нам нужно создать свой первый виртуальный хост. Формируем конфигурационный файл:

sudo nano /etc/httpd/conf.d/domain.conf

Вместо domain можно использовать любое другое имя – главное, чтобы было расширение .conf. Но удобнее всего называть конфигурационные файлы так же, как домены сайтов, для которых они созданы.

После выполнения предыдущей команды откроется редактор nano с пустым файлом. Вставляем в него следующие строки:

<VirtualHost *:80>

    ServerName domain.com

    DocumentRoot /var/www/domain.com

    ErrorLog /var/log/domain.com/error.log

    CustomLog /var/log/domain.com/access.log common

    <Directory /var/www/domain.com>

        Options FollowSymLinks

        AllowOverride All

        Require all granted

    </Directory>

</VirtualHost>

Вместо domain.com нужно указать свой домен. Затем сохраняем файл и выходим из редактора обратно в консоль.

В конфиге указано, куда писать логи, но самого подкаталога не существует. Создадим его:

sudo mkdir /var/log/domain.com // Вместо domain.com — ваш домен

Теперь создадим тестовую главную страницу сайта:

sudo nano /var/www/domain.com/index.php // Вместо domain.com — ваш домен

Внутри файла index.php разместим три строки:

<?php

phpinfo();

?>

Сохраняем файл и закрываем редактор. Чтобы применить настройки, перезапустим Apache:

sudo service httpd restart

Страница-заглушка исчезнет, при обращении к серверу через IP-адрес браузер будет возвращать ошибку «Доступ запрещен». Зато при вводе домена в адресной строке отобразится страница конфигурации PHP. Это значит, что PHP и Apache работают. 

Однако наличие такой страницы в общем доступе небезопасно. Поэтому ее нужно удалить: 

sudo rm -f /var/www/domain.com/index.php // Вместо domain.com — ваш домен

Чтобы завершить настройку сервера с PHP, установим phpMyAdmin.

Открываем сайт phpmyadmin.net, кликаем правой кнопкой по Download и копируем адрес ссылки для скачивания последней версии — на момент написания это 5.0.2. 

Ссылка на скачивание последней версии phpMyAdmin

Возвращаемся в консоль и скачиваем архив:

cd /var/www/domain.com/

sudo wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.zip // Это ссылка на скачивание, скопированная с сайта

Создаем каталог с менеджером баз данных. Придумываем ему сложное название, которое трудно подобрать. Распаковываем архив и переименовываем папку:

sudo unzip https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.zip

sudo mv phpMyAdmin-5.0.2-all-languages.zip catal8882 // catal8882 — каталог с менеджером баз данных

Чтобы попасть в phpMyAdmin, вводим в браузере адрес типа http://domain.com/catal8882. Логин — root, пароль — тот, который мы задали при настройке MySQL.

На этом настройка сервера на CentOS с PHP завершена. Теперь можно создавать на нем сайты и приложения.

 

echo -e "Все про серверы, сети, хостинг и еще раз серверы" >/dev/pts/0

Комментарии

Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте
С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
С помощью соцсетей
У меня уже есть аккаунт Войти
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Войти в Комьюнити
Регистрация в Комьюнити
Восстановление пароля