Размещаем сайт на VPS с нуля. Часть 3. Устанавливаем интерпретатор PHP.

Продолжаем разговор. Web-сервер есть, ftp есть, пришло время установиться интерпретатор PHP, как fast cgi.

Подключаемся через putty к нашему серверу и вводим команду

apt-get -y install php-fpm php-mysql 

ждём. Далее нам нужно отредактировать файл php.ini, вводим:

nano /etc/php/7.0/fpm/php.ini

раскомментируем (уберем точку с запятой) строку cgi.fix_pathinfo=1

Для поиска можно нажать комбинацию CTRL+W. А вообще по редактору Нано есть отличная заметка здесь: https://habr.com/ru/post/106554/

Далее отредактируем файл www.conf, введя команду:

nano /etc/php/7.0/fpm/pool.d/www.conf

В нашем случае мы будем использовать не Unix Socket, а TCP Socket.

Находим строку listen = /run/php/php7.0-fpm.sock

и меняем её на listen = 127.0.0.1:9000

Перезапускаем сервис PHP-FPM

systemctl restart php7.0-fpm

Отредактируем файл 15-fastcg-php.conf нашего веб-сервера

nano /etc/lighttpd/conf-available/15-fastcgi-php.conf

Находим строки

«bin-path» => «/usr/bin/php-cgi»,
«socket» => «/var/run/lighttpd/php.socket»,

и меняем их на

«host» => «127.0.0.1»,
«port» => «9000»,

Сохраняем файл (CTRL+X, потом соглашаемся со внесёнными изменениями, нажав клавишу Y) Активируем модули FastCGI and FastCGI-PHP командами в консоле:

lighty-enable-mod fastcgi
lighty-enable-mod fastcgi-php

Перезапускаем web-сервер.

systemctl restart lighttpd

 

Создаём php-файл.

nano /var/www/html/info.php

В открывшемся окне редактора nano вводим:

<?php

phpinfo();

?>

Сохраняем (Ctrl+X, Y). Открываем в браузере ip-адрес нашего сервера/info.php — если всё нормально, появятся сведения о PHP.

Очень хорошо, но давайте теперь подправим нашу загрузку по ftp. Как я и говорил, предыдущие настройки, когда пользователь имеет доступ ко всем файлам системы, очень не безопасен. Кроме того lighttpd запущен под пользователем www-data, который входит в группу www-data. Php-файлы должны исполнятся именно под www-data.

Создадим пользователя web.

adduser web

зададим ему пароль и на все остальные вопросы системы можно просто нажать enter.

Внесём web в группу www-data и дадим права на запись в каталог /var/www/

chown www-data:web /var/www/ -R

Изменим конфигурационный файл vsftpd.conf таким образом, чтобы в нём остались следующие параметры:

nano /etc/vsftpd.conf

listen=YES
anonymous_enable=NO
local_enable=YES
virtual_use_local_privs=YES
write_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
guest_enable=YES
ftp_username=www-data
chmod_enable=YES
chown_uploads=YES
chown_username=www-data
guest_username=www-data
force_dot_files=YES
pasv_enable=YES
pasv_promiscuous=YES
pasv_min_port=1024
pasv_max_port=65535
max_clients=10
max_per_ip=10
port_promiscuous=YES
port_enable=YES
listen_port=21
ftp_data_port=20
user_sub_token=$USER
hide_ids=YES
user_config_dir=/etc/vsftpd
chroot_local_user=YES
allow_writeable_chroot=YES

Сохраним изменения (Ctrl+X, Y) и создадим директорию

mkdir /etc/vsftpd

перейдём в неё:

cd /etc/vsftpd

Создадим и откроем в nano файл с именем нашего нового пользователя (web)

nano web

Внесём следующую запись в редакторе nano

local_root=/var/www/

Сохраняем файл.

service vsftpd restart

Запускаем FileZilla и соединяемся с нашим сервером уже под пользователем web и указанным при создании пользователя паролям. Можно создать файл, например, test.php со следующим содержанием:

<?php

echo «Я файл, отправленный по ftp!»;

?>

Отправим его через filezilla на наш VPS и перейдём в браузере по ip-адрес-сервера/test.php

Должна появится соответствующая надпись.

В следующий раз мы будем устанавливать MariaDB и phpmyadmin.

 

 

Поделиться ссылкой:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *