• Установка и настройка LAMP (Nginx, MySql, PHP-FPM) на Ubuntu 20

 #10617   IgorA100
 25 июн 2022, 00:00
Код: Выделить всёsudo ufw disable
sudo apt install mc zip net-tools postfix
sudo apt install apache2 libapache2-mod-fastcgi nginx mysql-server curl php-mysql php-ldap php-xml php-fpm php-imap php-curl php-json php-cgi php-gd php-zip php-mbstring php-xmlrpc php-intl php-imagick
sudo apt install libapache2-mod-fcgid
sudo a2enmod actions fastcgi alias proxy_fcgi proxy
sudo a2enconf php8.1-fpm
sudo systemctl restart apache2

Если получите ошибку
E: Package 'libapache2-mod-fastcgi' has no installation candidate

значит нужно ИЛИ доустановить репозиторий:
Код: Выделить всёsudo add-apt-repository universe
sudo apt-get update

ИЛИ (при использовании PHP 8.0 и выше) установить пакет так:
Код: Выделить всёsudo apt-get install libapache2-mod-fcgid


При использовании Nginx в качестве прокси, для Апача нудно установить:
Код: Выделить всёsudo apt-get install libapache2-mod-rpaf

И прописать в конфигах:
в апаче

LoadModule rpaf_module /usr/lib/httpd/modules/mod_rpaf-2.0.so
RPAFenable On
RPAFproxy_ips 127.0.0.1 XXX.XXX.XXX.XXX
RPAFsethostname On
RPAFheader X-Real-IP

в nginx:

proxy_pass 127.0.0.1:80;
include proxy.inc;

в proxy.inc:

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

Для разработки рекомендуется к установке:
Код: Выделить всёapt install composer
apt install npm
npm cache clean -f
npm install -g n
n stable
n latest
reboot

Устанавливаем Webmin (открываем файл /etc/apt/sources.list и добавляем туда строки:):
Код: Выделить всё sudo vi /etc/apt/sources.list

deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsoluti ... repository sarge contrib

Затем добавьте GPG-ключ репозитория:
Код: Выделить всё sudo wget http://www.webmin.com/jcameron-key.asc
 sudo apt-key add jcameron-key.asc

и сама установка:
Код: Выделить всё sudo apt update
 sudo apt install webmin

Настройка MySQL:
Код: Выделить всёsudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '[u]mynewpassword[/u]';
quit
sudo mysql_secure_installation

Войти в NySQL и создать БД:
Код: Выделить всёsudo mysql -u root -p
CREATE DATABASE имя_базы;

Изменить временную зону:
Симлинк /etc/localtime заменить на /usr/share/zoneinfo/Europe/Moscow

Настроить временную зону php в файле /etc/php/X.X/apache2/php.ini
Код: Выделить всёdate.timezone = Europe/Moscow
systemctl restart php8.1-fpm apache2