Сервер Apache PHP с FPM на Ubuntu 20.04

Wab IT

Сервер Apache PHP с FPM на Ubuntu 20.04

Команды в этом учебнике должны выполняться с правами root. Чтобы избежать добавления sudo перед каждой командой, вам придется стать пользователем root, 

sudo -s

прежде чем вы продолжите.

2. Edit /etc/apt/sources.перечислите и обновите свою установку Linux

Редактируйте /etc/apt/sources.list. Закомментируйте или удалите установочный компакт-диск из файла и убедитесь, что включены репозитории universe и multiverse. Это должно так выглядеть, если вы устанавливали убунту предоставленную серверной компанией, то у вас могут быть ссылки через яндекс или другой ресурс. Можете просто скопировать ниже и вставив с лист удалив все остальные данные

nano /etc/apt/sources.list

В файл скопируйте ниже строки либо раскомментируйте их.

deb http://de.archive.ubuntu.com/ubuntu focal main restricted

deb http://de.archive.ubuntu.com/ubuntu focal-updates main restricted

deb http://de.archive.ubuntu.com/ubuntu focal universe

deb http://de.archive.ubuntu.com/ubuntu focal-updates universe

deb http://de.archive.ubuntu.com/ubuntu focal multiverse

deb http://de.archive.ubuntu.com/ubuntu focal-updates multiverse

deb http://de.archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse

deb http://de.archive.ubuntu.com/ubuntu focal-security main restricted

deb http://de.archive.ubuntu.com/ubuntu focal-security universe

deb http://de.archive.ubuntu.com/ubuntu focal-security multiverse

Далее

apt-get update

для обновления базы данных пакетов apt и

apt-get dist-upgrade

чтобы установить последние обновления (если таковые имеются). Если вы видите, что новое ядро устанавливается как часть обновлений, вам следует перезагрузить систему после этого:

reboot

1 — Установка Apache и FastCGI 

  Откройте терминал и выполните следующие команды: для установки Апаче утилит и мод FastCGI который необходим для работы скриптов php-fpm

apt install apache2 libapache2-mod-fcgid  

Шаг 2 — Установите PHP с FPM

Затем установите PHP и PHP-FPM в вашу систему Ubuntu. Для установки PHP 7.4 вводим 

apt-get -y install libapache2-mod-php php-pear php7.4 php7.4-common php7.4-gd php7.4-mysql php7.4-imap php7.4-cli php7.4-cgi php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl memcached php-memcache php-imagick php7.4-zip php7.4-mbstring php-soap php7.4-soap php7.4-opcache php-apcu php7.4-fpm 

Перезагрузим апаче 

systemctl restart apache2 

Для установки PHP 8.0 вводим 

apt -y install php8.0 libapache2-mod-php8.0 php-pear php8.0-common php8.0-gd php8.0-mysql php8.0-imap php8.0-cli php8.0-cgi php8.0-curl php8.0-intl php8.0-pspell php8.0-sqlite3 php8.0-tidy php8.0-xmlrpc php8.0-xsl php-imagick php8.0-zip php8.0-mbstring php-soap php8.0-soap php8.0-opcache php-apcu php8.0-fpm libapache2-mod-fcgid 

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

apt-get install software-properties-common

или

apt-get install python-software-properties 

Подключаем репозиторий

add-apt-repository ppa:ondrej/php 

Обновляем

apt-get update
systemctl restart apache2 

И устанавливаем версии php5.6 и любую которая вам понадобится, просто меняя номер версии на 7.0 или 1 и 2 и 3 версии. Глобальная разница между 5.6 и 7.Х , поэтому чаще всего вам понадобиться 5.6 и 7.4 

apt-get install libapache2-mod-php5.6 php5.6-cli php5.6-curl php5.6-fpm php5.6-gd php5.6-intl php5.6-json php5.6-mbstring php5.6-mcrypt php5.6-pdo-mysql php5.6-xml php5.6-zip

 Если вы собираетесь пользоваться лишь одной версией php и перешли к примеру с php5.6  на 7.4, то для смены вам следует отключить 5.6 

a2dismod php5.6

и включить

a2enmod php7.4

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

php -v 

 Добавьте блок настроек для mod_fastcgi. Этот блок зависит от mod_action. Чтобы включить mod_action, введите:

a2enmod actions fcgid alias proxy_fcgi

и в наше конфиг файл сайта  000-default.conf 

nano /etc/apache2/sites-available/000-default.conf 

добавляем внизу до закрывающего тега </VirtualHost> версию php которая нужна нашему сайту в примере php7.4-fpm.sock  

<FilesMatch \.php$>
# 2.4.10+ can proxy to unix socket
SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost"
</FilesMatch>

Весь файл выглядит так. Как видите мы в html добавили еще одну директорию sayt  

<VirtualHost *:80> 
ServerName port.fvds.ru
ServerAlias <a href="http://www.port.fvds.ru">www.port.fvds.ru</a> 
DocumentRoot /var/www/html/sayt
<Directory /var/www/html/sayt>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>  
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined 
 
 <FilesMatch \.php$>
  # 2.4.10+ can proxy to unix socket
  SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost"
  </FilesMatch> 
</VirtualHost> 

   Ctrl +S + Z сохраняем и перезагружаем Апаче

systemctl restart apache2 

Устанавливаем базу данных Mariadb и Phpmyadmin

apt-get install mariadb-server mariadb-client phpmyadmin

Вы увидите следующий вопрос:

Web server to reconfigure automatically: <-- apache2

Выбираем apache2

Configure database for phpmyadmin with dbconfig-common? <-- Yes
Yes
MySQL application password for phpmyadmin: <-- Press enter

Водим пароль и повторяем.

Далее нам нужно подключить майадмин к конфиг файлу apache2.conf, заходим 

nano /etc/apache2/apache2.conf

и в apache2.conf  внизу страницы добавляем 

Include /etc/phpmyadmin/apache.conf  

Ctrl +S + Z  сохраняем

Давайте зайдем в базу данных и добавим пользователя со всеми привилегиями

Вводим в консоли ssh 

mysql

и добавляем привилегии как у root ко всем базам, пользователю 'admin' с паролем 'parol' не забудьте взять в кавычки ' ' как в примере 

grant all privileges on *.* to 'admin'@'localhost' identified by 'parol' WITH GRANT OPTION; 

выходим  Ctrl-C  `

Для работы некоторых движков необходима включенный модуль rewrite в apache2, включим его и перезагрузим Апаче

a2enmod rewrite 
systemctl restart apache2

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

apt install zip 

На этом все сервер Апаче настроен. 

Так как мы в файле конфига сайта прописали директорию /var/www/html/sayt,  то заходим в

/var/www/html 

и добавим еще одну папку sayt в нее и будем загружать наш сайт c php7.4. 

mkdir /var/www/html/sayt

а в каталог shop версию php5.6

Для этого скопируем наш файл 000-default.conf  и переименуем его к примеру в shop.conf

cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/shop.conf

Открываем его 

nano /etc/apache2/sites-available/shop.conf

 Меняем адрес на shop.fvds.ru  и версию php5.6 примеры ниже в каких строчках менять.

ServerName shop.fvds.ru
ServerAlias <a href="http://www.shop.fvds.ru">www.shop.fvds.ru</a> 
DocumentRoot /var/www/html/shop
<directory var="" www="" html="" shop=""> 
 
SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost" </directory>

Сохраняем и включаем сайт shop водим команду 

a2ensite shop.conf 

Добавляем директорию 

mkdir /var/www/html/shop

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

Сервер  1 ядро процессора. 1 Гб  оперативной памяти. 30 Гб  жёсткого диска. 100 Мбит/сек безлимит.  149 рублей  В МЕСЯЦ Заказать

Далее как настроить Nginx для Apache Ubuntu 20.04  

14:01
1017
Lit
RSS
Нет комментариев. Ваш будет первым!

Похожий контент

Ioncube Loader это PHP модуль, для загрузки файлов, защищенных ПО Ioncube Encoder. Io...
Apache и Nginx– популярные веб-серверы с открытым исходным кодом, которые часто использу...
Let’s Encrypt – это сервис бесплатных доверенных SSL-сертификатов, которые выдаются чере...
Nginx – один из самых популярных веб-серверов в мире, позволяющий размещать очень объемн...