Обновление PHP 7,2 до версии 7,3: разъяснения

Настройка полноценного сервера для размещения веб-сайтов. Установка NGINX + Apache + MariaDB (MySQL) + PHP + PHP-FPM (fastCGI) + FTP + PHPMyAdmin + Memcached + Postfix на сервер под управлением Ubuntu

Speed up PHP by using an opcode cache

You can improve the performance of your PHP by using a caching method. We’ll use APCu, but there are other alternatives available.

If you have the ‘php-pear’ module installed (we included it in our instructions above), you can install APCu with the following command:

pecl install apcu

There are also other ways you can install APCu, including using a package.

To start using APCu, you should run the following command for PHP 7.2:

echo "extension=apcu.so" | tee -a /etc/php/7.2/mods-available/cache.ini

Or this command for PHP 7.3:

echo "extension=apcu.so" | tee -a /etc/php/7.3/mods-available/cache.ini

And the following command for PHP 7.4:

echo "extension=apcu.so" | tee -a /etc/php/7.4/mods-available/cache.ini

If you’re following our LAMP tutorials and you’re using Apache, create a symlink for the file you’ve just created.

For PHP 7.2:

ln -s /etc/php/7.2/mods-available/cache.ini /etc/php/7.2/apache2/conf.d/30-cache.ini

For PHP 7.3:

ln -s /etc/php/7.3/mods-available/cache.ini /etc/php/7.3/apache2/conf.d/30-cache.ini

For PHP 7.4:

ln -s /etc/php/7.4/mods-available/cache.ini /etc/php/7.4/apache2/conf.d/30-cache.ini

And finally, reload Apache for the changes to take effect:

systemctl restart apache2

To further configure APCu and how it works, you can add some additional lines to the cache.ini file you previously created. The best configuration depends on what kind of server you’re using, what applications you are using etc. Either google it and find a configuration that works for you, or contact professionals and let them do it for you.

Install PHP 7.1 on Ubuntu

Use the following set of commands to add PPA for PHP 7 in your Ubuntu system and install PHP 7.1 version.

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install -y php7.1

Now use the following command to check installed php version on your system.

php -v 

PHP 7.1.27-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Mar  7 2019 20:02:25) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.1.27-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

Install PHP 7 Modules

You may also need to install modules based on your application requirements. Use the following command to search available PHP 7 modules in the package repository.

sudo apt-cache search php7*
php-all-dev - package depending on all supported PHP development packages
php7.0 - server-side, HTML-embedded scripting language (metapackage)
php7.0-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.0-cli - command-line interpreter for the PHP scripting language
php7.0-common - documentation, examples and common module for PHP
php7.0-curl - CURL module for PHP
php7.0-dev - Files for PHP7.0 module development
php7.0-gd - GD module for PHP
php7.0-gmp - GMP module for PHP
...
...
...
php7.1-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP
php7.1-xmlrpc - XMLRPC-EPI module for PHP
php7.1-zip - Zip module for PHP
php7.1-opcache - Zend OpCache module for PHP
php7.1 - server-side, HTML-embedded scripting language (metapackage)
php7.1-xsl - XSL module for PHP (dummy)
...
...
php7.2-bcmath - Bcmath module for PHP
php7.2-bz2 - bzip2 module for PHP
php7.2-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.2-cli - command-line interpreter for the PHP scripting language
php7.2-common - documentation, examples and common module for PHP
php7.2-curl - CURL module for PHP
php7.2-dba - DBA module for PHP

You can install the required PHP modules on your system as below command. Make sure to install packages for correct PHP version by specifying the version with the package name. Without defining the package version, it will install the latest package.

sudo apt-get install php7.2-mysql php7.2-curl php7.2-json php7.2-cgi php7.2-xsl

Congratulation! Enjoy the development with PHP 7.

Настройка php 7.1

Настройка php будет заключаться в следующем:

  • Устранение уязвимостей
  • Увеличение размера загружаемого файла
  • Увеличение времени работы скрипта
  • Настройка opcache

Открываем php.ini

sudo nano /etc/php/7.1/fpm/php.ini

ищем строчку

;cgi.fix_pathinfo = 1

раскомментируем строчку и поставим за место единицы 0

cgi.fix_pathinfo = 0

Увеличим размер загружаемых файлов. Находим post_max_size и приводим к виду

post_max_size = 100M

Увеличим время обработки скрипта, ищем max_execution_time выставив 300 секунд — обычно нужно для работы с большими таблицами mysql

max_execution_time = 300

Далее ищем opcache. Приводим данные директивы к такому виду:

opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=64
opcache.interned_strings_buffer=4
opcache.max_accelerated_files=7963
opcache.revalidate_freq=20

Сохраняем файл. Перезапускаем php7.1-fpm

service php7.1-fpm restart

Устанавливаем MySQL сервер и phpmyadmin

sudo apt install mysql-server-5.7

Во время установки нас попросит задать пароль для администратора mysql сервера. Выполните просьбу.
Все готово. Теперь установим менеджер работы с базами данных

sudo apt install phpmyadmin

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

ln -s /usr/share/phpmyadmin /var/www/html/my.site.ru

Зайти в менеджер базых можно будет по адресу

my.site.ru/phpmyadmin/

В будущем можно создать свой конффигурационный файл nginx для менеджера баз данных phpmyaadmin, и перенести его на поддомен типа mysql.my.site.ru, и поставить серверную авторизацию.

How to install PHP 7 on Ubuntu 16.04

Currently, as of January 2018, the default PHP release in the Ubuntu 16.04 repositories is PHP 7.0. We’ll show you how to install it using Ubuntu’s repository.

First, before you do anything else, you should update your Ubuntu server:

apt-get update && apt-get upgrade

Install PHP

Next, to install PHP, just run the following command:

apt-get install php

This command will install PHP 7.0, as well as some other dependencies:

  • php-common
  • php7.0
  • php7.0-cli
  • php7.0-common
  • php7.0-fpm
  • php7.0-json
  • php7.0-opcache
  • php7.0-readline

To verify if PHP is installed, run the following command:

php -v

You should get a response similar to this:

And that’s it. PHP is installed on your Ubuntu server.

Install PHP 7.0 modules

You may need some additional packages and PHP modules in order for PHP to work with your applications. You can install the most commonly needed modules with:

apt-get install php-pear php7.0-dev php7.0-zip php7.0-curl php7.0-gd php7.0-mysql php7.0-mcrypt php7.0-xml libapache2-mod-php7.0

Depending on how and what you’re going to use, you may need additional PHP modules and packages. To check all the PHP modules available in Ubuntu, run:

apt-cache search --names-only ^php

You can tweak the command to only show ^php7.0- packages etc.

If you want to use the latest PHP version, follow the next instructions instead.

How to install PHP 7.4 on Ubuntu 18.04 or 16.04

PHP 7.4 is the latest version of PHP that has lots of improvements. The instructions are pretty similar to PHP 7.3.

First, update your Ubuntu server:

apt-get update && apt-get upgrade

Add the PHP repository

To install PHP 7.4 you’ll need to use a third-party repository. We’ll use the repository by Ondřej Surý that we previously used again.

First, make sure you have the following package installed so you can add repositories:

apt-get install software-properties-common

Next, add the PHP repository from Ondřej:

add-apt-repository ppa:ondrej/php

And finally, update your package list:

apt-get update

Install PHP 7.4

After you’ve added the repository, you can install PHP 7.4 with the following command:

apt-get install php7.4

This command will install additional packages:

  • libapache2-mod-php7.4
  • libaprutil1-dbd-sqlite3
  • php7.4-cli
  • php7.4-common
  • php7.4-json
  • php7.4-opcache
  • php7.4-readline
  • …and others.

And that’s it. To check if PHP 7.4 is installed on your server, run the following command:

php -v

Install PHP 7.4 modules

You may need additional packages and modules depending on your applications. The most commonly used modules can be installed with the following command:

apt-get install php-pear php7.4-curl php7.4-dev php7.4-gd php7.4-mbstring php7.4-zip php7.4-mysql php7.4-xml

And that’s all. You can now start using PHP on your Ubuntu server.

If you want to further tweak and configure your PHP, read our instructions below.

Установка PHP 7(php-fpm) с Nginx в Centos/RedHat/Fedora

Подключаем необходимые репозитории, — стоит подключить EPEL и REMI. Документация тут:

Выполним поиск пакета:

Чтобы поставить, выполняем:

PS: Версии можно менять, например php71, php72, php73.

Если необходимо, можно поставить модули, например:

Чтобы постоянно не подключать репозиторий, можно его включить следующим образом:

Чтобы проверить версию, выполним:

Если есть необходимость внести какие-то настройки в сам php, то открываем:

Если нужно внести изменения в php-fpm, открываем:

У меня он выглядит:

Чтобы запустить php-fpm, выполните:

Чтобы проверить статус, выполните:

Можно сервис добавить в автозагрузку ОС:

Как-то так.

Добавление PPA для пакетов PHP7

Персональные архивы пакетов (PPA) представляют собой пакеты, которые обычно создаются и распространяются в репозиториях, специальных серверах-хранилищах для таких файлов. launchpad.net – сервис, созданный для поддержки и развития подобных свободных проектов. Именно там вы можете найти бета-версии, модифицированные сборки и ретроподдержки для более старых версий операционной системы.

$ sudo add-apt-repository ppa:ondrej/php

После того, как на экране высветилось описание пакета PPA, нажмите Enter.

Примечание.
Если в вашей локали установлена не UTF-8 кодировка, тогда при установке PPA может возникнуть ошибка, связанная с обработкой букв имени автора. В качестве временного решения вы можете установить language-pack-en-base, и, когда локали сгенерированы, заместить настройки локали системы в то время, как добавляется PPA:

$ sudo apt-get install -y language-pack-en-base
$ sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php

После того, как пакет PPA установлен, вам необходимо обновить кэш локального пакета. Это нужно для того, чтобы локальный пакет включал содержание PPA:

$ sudo apt-get update

После того, как вы получили доступ к пакетам PHP 7.0, можно заменить уже установленную версию PHP.

Install PHP 7.2 on Ubuntu

PHP 7.2 stable version has been released. Use the following set of commands to enable PPA for PHP 7.2 in your Ubuntu system and install it. You can use this version for production use also.

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install -y php7.2

Now use the following command to check installed php version on your system.

php -v 

PHP 7.2.16-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Mar  7 2019 20:23:29) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.16-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

Установка драйверов в Suse 12 и 15Installing the drivers on Suse 12 and 15

Примечание

В приведенных ниже инструкциях замените нужной версией Suse. Если вы используете Suse Enterprise Linux 15, используйте значение SLE_15 или SLE_15_SP1.In the following instructions, replace with your version of Suse — if you are using Suse Enterprise Linux 15, it will be SLE_15 or SLE_15_SP1. Для SUSE 12 используйте SLE_12_SP4 (или выше, если применимо).For Suse 12, use SLE_12_SP4 (or above if applicable). Не все версии PHP доступны для всех версий Suse Linux. В указано, какие версии Suse имеют доступную версию PHP по умолчанию, а в  — какие еще версии PHP доступны для разных версий Suse.Not all versions of PHP are available for all versions of Suse Linux — please refer to to see which versions of Suse have the default version PHP available, or to to see which other versions of PHP are available for which versions of Suse.

Примечание

Пакеты для PHP 7.4 недоступны для SUSE 12.Packages for PHP 7.4 are not available for Suse 12. Чтобы установить PHP 7.2, замените URL-адрес репозитория в команде ниже следующим URL-адресом: .To install PHP 7.2, replace the repository URL below with the following URL: .
Чтобы установить PHP 7.3, замените URL-адрес репозитория в команде ниже следующим URL-адресом: .To install PHP 7.3, replace the repository URL below with the following URL: .

Шаг 2.Step 2. Установка необходимых компонентовInstall prerequisites

Установите драйвер ODBC для Suse, следуя инструкциям в статье со сведениями об установке в Linux.Install the ODBC driver for Suse by following the instructions on the Linux installation article.

Примечание

Если вы получаете сообщение об ошибке вида , измените скрипт pecl в папке /usr/bin/pecl, удалив аргумент в последней строке.If you get an error message saying , edit the pecl script at /usr/bin/pecl and remove the switch in the last line. Этот аргумент запрещает PECL загружать ini-файлы при вызове PHP, что мешает загрузить расширение OpenSSL PECL.This switch prevents PECL from loading ini files when PHP is called, which prevents the OpenSSL extension from loading.

Установка PHP 7(php-fpm) с Nginx 1.9 в Debian 8

Недавно, вышла новая версия PHP7

В данной статье «Установка PHP 7 в Debian 8» я хотел бы уделить внимание установки PHP 7 в Debian 8

И так начнем…

Установка nginx 1.9 в Debian 8.

Для начала, добавляем ключ:

Добавляем репозиторий:

И выполняем установку:

Я ленивый иногда, по этому для этой задачи, я написал bash скрипт. Вы можете его тоже использовать:

Установка PHP 7 в Debian 8 с использованием репозитория Dotdeb.

Чтобы установить PHP 7 на Debian 8, но для начала добавляем репозиторий:

После этого, загружаем и запускаем ключ GnuPG:

Обновляем репозиторий:

Запускаем установку PHP как fpm:

Чтобы запустить PHP 7, используйте:

Запуск:

Останавливаем:

Перезапуск:

Чтобы проверить, правильно ли сконфигурирован конфиг php-fpm, используйте:

Ну это простой вариант и взят в качестве примера (что можно использовать данный репозиторий), а дальше, я опишу нормальное решение.

Установка PHP 7 в Debian 8 с исходного кода.

Для начала выполняем установку всех необходимых компонентов и все зависимости для PHP 7:

Я указал все нужные зависимости для моей сборки, вы можете дополнить их (в зависимости от своих нужд). Если не сделать это, то вы получите ошибку в процессе выполнения команды ./configure.

Переходим в директорию, скачиваем и распаковываем архив с php7, для этого выполните команду:

Вы можете использовать другую ссылку (если вышла пхп свежей версии) с официального сайта.

Переходим в папку:

Добавляем нужные модули в свою сборку и указываем параметры:

При необходимости, можно просмотреть весь список доступных модулей:

А сейчас, приступаем к компиляции и собственно к самой установки PHP 7:

Идем далее, копируем конфигурационный файл с php.ini в папку установки PHP:

Подключаем модуль Zend OPcache: /usr/local/php7/etc/conf.d

Прописываем в него:

И так, настроим сейчас PHP-FPM, для этого открываем файл:

И прописываем в него:

И для этого, создаем init.d скрипт:

Назначаем нужные права (исполнение) и добавляем скрипт в автозагрузку своей ОС:

Чтобы запустить (в данном случае перезапусить) php7-fpm выполняем:

Если используете PHP-FPM с Nginx, то нужно добавьте в блок server виртуального хоста следующий текст:

PS: Для всего этого, я написал bash скрипт, вы можете его использовать для своих нужд:

Осталось только перезапустить все службы:

Вот и все!

Чтобы проверить, правильно ли сконфигурирован конфиг php-fpm, используйте:

Шаг 2 — Установка MySQL для управления данными сайта

Теперь, когда у вас есть веб-сервер, вам нужно установить MySQL (система управления базами данных) для хранения и управления данными вашего сайта.

Для установки MySQL введите следующее:

Программное обеспечение СУБД MySQL установлено, но его настройка еще не завершена.

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

Скрипт предложит настроить .

Предупреждение. Эту функцию следует активировать при наличии разумных оснований. Если она активирована, MySQL будет отклонять пароли, не соответствующие определенным критериям, и выводить сообщение об ошибке. Это может вызвать проблемы, если вы используете слабый пароль в сочетании с программным обеспечением для автоматической настройки учетных данных пользователя MySQL, например, с пакетами Ubuntu для phpMyAdmin. Оставить проверку отключенной достаточно безопасно, но для входа в базу данных всегда нужно использовать надежные уникальные пароли.

Выберите для активации или любой другой вариант, чтобы продолжить без активации этой функции.

Если вы активировали функцию проверки, скрипт также попросит вас задать уровень проверки пароля. Помните, что если вы укажете самый высокий уровень 2, система будет выводить сообщения об ошибке при попытке установки пароля, который не будет содержать цифры, буквы в верхнем и нижнем регистре и специальные символы, или будет содержать распространенные словарные слова.

Затем вам нужно будет отправить и подтвердить пароль пользователя root:

Для всех остальных вопросов нужно выбирать и нажимать в каждом диалоговом окне. В результате будут удалены некоторые анонимные пользователи и тестовая база данных, отключена возможность удаленного входа для пользователя root, и будут загружены новые правила, чтобы СУБД MySQL немедленно использовала внесенные изменения.

В системах Ubuntu с СУБД MySQL 5.7 (и более поздними версиями) для пользователя root СУБД MySQL по умолчанию для аутентификации задан плагин , а не пароль. Во многих случаях это обеспечивает более высокую безопасность и удобство, однако это также может осложнить ситуацию, если вам нужно предоставить доступ к пользователю внешней программе (например, phpMyAdmin).

Если использование плагина для доступа к MySQL соответствует вашим рабочим процессам, вы можете перейти к шагу 3. Если же вы предпочитаете использовать пароль при подключении к MySQL в качестве пользователя root, метод аутентификации нужно изменить с на . Для этого откройте командную строку MySQL через терминал:

Затем проверьте, какой метод аутентификации используют ваши аккаунты пользователей MySQL с помощью следующей команды:

В этом примере вы можете видеть, что root пользователь действительно использует метод аутентификации с помощью плагина . Чтобы настроить для учетной записи root аутентификацию с помощью пароля, выполните следующую команду . Обязательно измените значение на надежный пароль по вашему выбору:

Затем выполните команду , которая просит сервер перезагрузить предоставленные таблицы и ввести в действие изменения:

Проверьте методы аутентификации, применяемые для каждого из ваших пользователей, чтобы подтвердить, что root-пользователь больше не использует для аутентификации плагин :

В результатах этого примера можно увидеть, что теперь пользователь root СУБД MySQL проходит аутентификацию с помощью пароля. Убедившись в этом на своем сервере, вы можете выйти из оболочки MySQL:

Примечание. После настройки аутентификации с помощью пароля для пользователя root СУБД MySQL вы не сможете получать доступ к MySQL с помощью команды , которая использовалась до этого. Вместо этого нужно запустить следующую команду:

После ввода заданного пароля вы увидите командную строку MySQL.

Теперь СУБД настроена, и вы можете переходить к установке PHP.

Установка PHP 7.2

Установка базовых пакетов для работы с PHP 7.2:

1 apt-get install php7.2php7.2-common php7.2-cli

Список всех пакетов для работы с PHP 7.2:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

php7.2-bcmath-Bcmath module forPHP

php7.2-bz2-bzip2 module forPHP

php7.2-cgi-server-side,HTML-embedded scripting language(CGI binary)

php7.2-cli-command-line interpreter forthe PHP scripting language

php7.2-common-documentation,examples and common module forPHP

php7.2-curl-CURL module forPHP

php7.2-dba-DBA module forPHP

php7.2-dev-Files forPHP7.2module development

php7.2-enchant-Enchant module forPHP

php7.2-fpm-server-side,HTML-embedded scripting language(FPM-CGI binary)

php7.2-gd-GD module forPHP

php7.2-gmp-GMP module forPHP

php7.2-imap-IMAP module forPHP

php7.2-interbase-Interbase module forPHP

php7.2-intl-Internationalisation module forPHP

php7.2-json-JSON module forPHP

php7.2-ldap-LDAP module forPHP

php7.2-mbstring-MBSTRING module forPHP

php7.2-mysql-MySQL module forPHP

php7.2-odbc-ODBC module forPHP

php7.2-opcache-Zend OpCache module forPHP

php7.2-pgsql-PostgreSQL module forPHP

php7.2-phpdbg-server-side,HTML-embedded scripting language(PHPDBG binary)

php7.2-pspell-pspell module forPHP

php7.2-readline-readline module forPHP

php7.2-recode-recode module forPHP

php7.2-snmp-SNMP module forPHP

php7.2-soap-SOAP module forPHP

php7.2-sodium-libsodium module forPHP

php7.2-sqlite3-SQLite3 module forPHP

php7.2-sybase-Sybase module forPHP

php7.2-tidy-tidy module forPHP

php7.2-xml-DOM,SimpleXML,WDDX,XML,and XSL module forPHP

php7.2-xmlrpc-XMLRPC-EPI module forPHP

php7.2-xsl-XSL module forPHP(dummy)

php7.2-zip-Zip module forPHP

Установка NGINX

Устанавливаем NGINX:

apt-get install nginx

Внесем изменение в файл nginx.conf:

vi /etc/nginx/nginx.conf

http {
    …
    server_names_hash_bucket_size 64;
    ….
}

* в данном примере мы сняли комментарий со строчки server_names_hash_bucket_size 64;* на практике, может встретиться ошибка could not build server_names_hash, you should increase server_names_hash_bucket_size: 32. Она возникает при большом количестве виртуальных серверов или если один из них будет иметь длинное название. Данная строка в конфиге исправит ситуацию.

Запускаем nginx:

systemctl enable nginx

systemctl start nginx

* в процессе запуска мы можем увидим ошибку — возможно, в системе работает другой веб-сервер и занимает 80 порт. Как правило, это apache. Чтобы его выключить (на данном этапе он нам не нужен) вводим команду systemctl stop apache2.

Проверим работу веб-сервера. Открываем браузер и вводим в адресной строке http://. В итоге мы должны увидеть заголовок «Welcome to nginx!»:

Если стартовая страница не загружается, проверяем состояние сервиса:

systemctl status nginx

Установка и настройка FTP-сервера

Мы настроим ProFTPd, так как он позволит использовать виртуальных пользователей с uid пользователя www-data.

Для его установки вводим следующую команду:

apt-get install proftpd

Смотрим uid пользователя www-data:

id www-data

* в Ubuntu это, как правило, 33.

Создаем виртуального пользователя:

ftpasswd —passwd —file=/etc/proftpd/ftpd.passwd —name=ftpwww —uid=33 —gid=33 —home=/var/www —shell=/usr/sbin/nologin

* где /etc/proftpd/ftpd.passwd — путь до файла, в котором хранятся пользователи; ftpwww — имя пользователя (логин); uid и gid — идентификаторы пользователя и группы системной учетной записи (www-data); /var/www — домашний каталог пользователя; /usr/sbin/nologin — оболочка, запрещающая локальный вход пользователя в систему.

Открываем основной конфигурационный файл:

vi /etc/proftpd/proftpd.conf

Снимаем комментарий или редактируем опцию:

DefaultRoot                     ~

* данная опция говорит о том, что корневой директорией для пользователя будет домашняя директория. Это нужно, чтобы FTP-пользователи не могли выйти за пределы дозволенного и видеть на сервере сайты друг друга.

Создаем дополнительный конфигурационный файл для proftpd:

vi /etc/proftpd/conf.d/custom.conf

Со следующим содержимым:

UseIPv6 off
IdentLookups off
PassivePorts 40900 40999
RequireValidShell off
AuthUserFile /etc/proftpd/ftpd.passwd
AuthPAM off
LoadModule mod_auth_file.c
AuthOrder mod_auth_file.c

* где 40900 — 40999 — диапазон динамических портов для пассивного режима.

Разрешаем автозапуск FTP-серверу и запускаем его:

systemctl enable proftpd

systemctl restart proftpd

Пробуем подключиться к серверу, использую любые FTP-клиенты, например, FileZilla, Total Commander или тот же браузер.

Related

  • Tutorial

    В этом обучающем модуле вы создадите приложение Python с использованием микроструктуры Flask в Ubuntu 20.04. Основная часть этой статьи посвящена настройке сервера приложений Gunicorn, запуску приложения и настройке Nginx для…

  • Tutorial

    Let’s Encrypt — это центр сертификации (ЦС), позволяющий легко получать и устанавливать бесплатные сертификаты TLS/SSL, что позволяет использовать на…

  • Tutorial

    MariaDB — это система управления реляционными базами данных с открытым исходным кодом, которая часто используется в качестве альтернативы MySQL в составе популярного набора…

  • Tutorial

    Предыдущая версия данного обучающего руководства была написана Брайаном Бушероном. MariaDB — это система управления реляционными базами данных с открытым исходным кодом, которая часто…

How to Install PHP 7.2 on Ubuntu 16.04

PHP 7.2 is a stable version of PHP and has many new features, improvements, and bug fixes. You should definitely use it if you want a better, faster website/application.

Of course, as always, first update Ubuntu:

apt-get update && apt-get upgrade

Add the PHP repository

You can use a third-party repository to install the latest version of PHP. We’ll use the repository by Ondřej Surý.

First, make sure you have the following package installed so you can add repositories:

apt-get install software-properties-common

Next, add the PHP repository from Ondřej:

add-apt-repository ppa:ondrej/php

And finally, update your package list:

apt-get update

Install PHP 7.2

After you’ve added the repository, you can install PHP 7.2 with the following command:

apt-get install php7.2

This command will install additional packages:

  • libapache2-mod-php7.2
  • libargon2-0
  • libsodium23
  • libssl1.1
  • php7.2-cli
  • php7.2-common
  • php7.2-json
  • php7.2-opcache
  • php7.2-readline

And that’s it. To check if PHP 7.2 is installed on your server, run the following command:

php -v

Install PHP 7.2 modules

You may need additional packages and modules depending on your applications. The most commonly used modules can be installed with the following command:

apt-get install php-pear php7.2-curl php7.2-dev php7.2-gd php7.2-mbstring php7.2-zip php7.2-mysql php7.2-xml

And that’s all. You can now start using PHP on your Ubuntu server.

If you want to further tweak and configure your PHP, read our instructions below.

Postfix

В качестве агента MTA мы будем использовать удобный в настройке и надежный Postfix.

Установка, настройка и запуск

Устанавливаем пакет postfix:

apt-get install postfix

Вносим некоторые изменения в настройки:

vi /etc/postfix/main.cf

myorigin = $mydomain
smtp_generic_maps = hash:/etc/postfix/generic_map

* mydomain — домен сервера; myorigin — имя домена, которое будет подставляться всем отправляемым сообщениям без явного указания оного; smtp_generic_maps указывает на карту с общими правилами пересылки.

Открываем карту пересылки:

vi /etc/postfix/generic_map

И добавляем:

@dmosk.local    [email protected]

* данной настройкой мы будем подставлять всем отправляемым письмам без поля FROM адрес [email protected].

Создаем карту:

postmap /etc/postfix/generic_map

Включаем автозапуск почтового сервера и запускаем его службу:

systemctl enable postfix

systemctl start postfix

Корректная отправка

Для того, чтобы сервер мог отправлять сообщения на внешние ящики, необходимо корректно настроить в DNS, как минимум, записи A и PTR.

Для добавления А-записи, необходимо в настройках панели управления нашим доменом создать запись типа. Ее имя и IP-адрес должны соответствовать имени и адресу нашего сервера.

Для создания PTR-записи необходимо написать письмо Интернет-провайдеру, к которому подключен наш сервер. Если наш сервер арендуется у хостинговой компании, необходимо либо написать данное письмо данной хостинговой компании, либо данная возможность может быть предоставлена в панели управления хостинговыми услугами.

Установка PHP в Ubuntu

Предполагается, что у вас уже установлен какой-нибудь PHP версии 7.x. Если нет, то давайте это исправим:

apt-get update && apt-get upgrade
apt-get install software-properties-common
add-apt-repository ppa:ondrej/php
apt-get update
apt-get install php7.2
apt-get install php-pear php7.2-curl php7.2-dev php7.2-gd php7.2-mbstring php7.2-zip php7.2-mysql php7.2-xml

1
2
3
4
5
6

apt-get update&&apt-get upgrade

apt-get install software-properties-common

add-apt-repository ppaondrejphp

apt-get update

apt-get install php7.2

apt-get install php-pear php7.2-curl php7.2-dev php7.2-gd php7.2-mbstring php7.2-zip php7.2-mysql php7.2-xml

Теперь, например устанавливаем версию 5.6:

sudo apt install php5.6

1 sudo apt install php5.6

После всех этих команд на вашей машине установлены 7.2 и 5.6 версии. Выведем список всех установленных версий в меню, которое позволит выбрать нужную версию:

sudo update-alternatives —config php

1 sudo update-alternatives—config php

После этого вы увидите примерно такое:

There are 2 choices for the alternative php (providing /usr/bin/php).

Selection Path Priority Status

————————————————————

* 0 /usr/bin/php7.2 72 auto mode

1 /usr/bin/php5.6 56 manual mode

2 /usr/bin/php7.2 72 manual mode

Press to keep the current choice, or type selection number:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

There are2choices forthe alternative php(providingusrbinphp).

Selection    Path             Priority   Status

————————————————————

*usrbinphp7.272auto mode

1usrbinphp5.656manual mode

2usrbinphp7.272manual mode

Pressenter>tokeep the current choice*,ortype selection number

В коде выше можно выбрать например пункт — 1 и тогда версия переключится на 5.6. Проверить это можно следующей командой:

php -v

1 php-v

Которая вернет примерно такое сообщение:

PHP 5.6.38+deb.sury.org+2 (cli)

Copyright (c) 1997-2016 The PHP Group

Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

1
2
3
4
5
6
7

PHP5.6.38+deb.sury.org+2(cli)

Copyright(c)1997-2016The PHP Group

Zend Engine v2.6.0,Copyright(c)1998-2016Zend Technologies

with Zend OPcache v7.0.6-dev,Copyright(c)1999-2016,by Zend Technologies

Таким образом, теперь вы можете легко менять свои версии даже легче чем в Open Server

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделитесь с друзьями:
Технарь
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.