Как на голый VPS с Ubuntu поставить сайт на PHP и с БД
В данной статье VPS с Ubuntu 20 - расписываю подробно, как настроить только что купленный чистый ВПС - установить апач/нгиникс, ПХП 7.4, базу данных SQL, прикрепить домен и так далее. Абсолютно голый сервер безо всяких панелей типа ISP manager, cPanel и подобных. Сам сервак рекомендую брать на этом сайте. У них недорого и никогда ничего не тупит.

Шаг 1: Подключение к серверу
После того, как вы получили доступ к VPS, вам нужно будет подключиться к нему через SSH. Для этого вам потребуется терминальный клиент, такой как Putty, или вы можете использовать встроенный терминал в вашем панели управления хостингом.

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

Шаг 2: Обновление системы
Первым шагом в установке любого программного обеспечения на сервере является обновление операционной системы. Выполните следующую команду в терминале (вставка команд так же происходит через нажатие правой кнопкой мыши):

sudo apt update && sudo apt upgrade

Шаг 3: Установка Apache
Apache является одним из самых распространенных веб-серверов и часто используется вместе с PHP и MySQL. (Можете не устанавливать, если будете работать с Nginx)

Установите Apache с помощью следующей команды:

sudo apt install apache2

После установки апача необходимо настроить файрволл, чтобы разрешить доступ к веб-серверу. Для этого выполните следующую команду:

sudo ufw allow 'Apache Full'

Шаг 4: Установка Nginx
Nginx также является популярным веб-сервером и используется для обслуживания статического контента.

Установите Nginx с помощью следующей команды:

sudo apt install nginx

Как и в случае с Apache, вам нужно настроить файрволл, чтобы разрешить доступ к Nginx:

sudo ufw allow 'Nginx Full'

Шаг 5: Установка PHP 7.4
PHP является языком программирования, используемым для создания динамических веб-сайтов. Установите PHP8 с помощью следующей команд (выполняйте построчно):

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


После установки PHP 7.4 также установите некоторые необходимые расширения:

sudo apt install php7.4-{common,bcmath,bz2,intl,gd,mbstring,mysql,zip,xml,fpm}

Шаг 6: Установка базы данных SQL
Установите MySQL с помощью следующей команды (ваш_пароль - укажите свой и запишите его):

sudo apt install mysql-server
sudo killall -9 mysql_secure_installation
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'ВАШ_ПАРОЛЬ';
exit

После установки MySQL необходимо настроить некоторые параметры безопасности. Это можно сделать с помощью интерактивной утилиты:

sudo mysql_secure_installation

Следуйте инструкциям на экране, чтобы настроить пароль для пользователя root и удалить некоторые тестовые базы данных и пользователей (N N Y Y Y Y).

Шаг 7: Установка прочих необходимых пакетов
Для того, чтобы разместить сайт на сервере, вам могут понадобиться другие пакеты, такие как Git, Composer, Node.js и т.д. Установите их с помощью следующих команд:

sudo apt install git
sudo apt install composer
sudo apt install nodejs
sudo apt install fail2ban
sudo nano /etc/fail2ban/jail.local

Вставляем код ниже:

[DEFAULT]
# Ban hosts for one hour:
bantime = 1d

# Override /etc/fail2ban/jail.d/00-firewalld.conf:
banaction = iptables-multiport

[sshd]
enabled = true


Сохраняем через Ctrl+X, Y, Enter. Перезапускаем службу фэйл2бан (защищает сервер от брута).

sudo systemctl restart fail2ban
sudo systemctl enable fail2ban


Шаг 8: Настройка домена и веб-сайта для Nginx + PHP-FPM (самый оптимальный вариант для сайта)

Выполняем команды:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables-save
sudo ufw allow 'Nginx HTTP'
sudo ufw allow 'Nginx HTTPS'


Создаём файл конфигурации (далее везде меняем mydomain.com на свой домен):

sudo nano /etc/nginx/sites-available/mydomain.com


Скопируйте и вставьте следующий конфигурационный файл:

server {
    listen 80;
    listen [::]:80;

    root /var/www/mydomain.com;
    index index.php index.html index.htm;

    server_name mydomain.com www.mydomain.com;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        log_not_found off;
        access_log off;
        allow all;
    }

    # Enable Gzip compression
    gzip on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    # Enable caching of static assets
    location ~* \.(jpg|jpeg|png|gif|css|js|ico|xml|woff2|ttf|svg)$ {
        expires 14d;
        add_header Pragma public;
        add_header Cache-Control "public, must-revalidate, proxy-revalidate";
    }
}

В этом конфигурационном файле мы указали, что Nginx должен слушать запросы на порту 80 для вашего домена, и что корневая директория вашего веб-сайта находится в /var/www/mydomain.com. Мы также включили поддержку PHP FastCGI с помощью PHP-FPM на порту /run/php/php7.4-fpm.sock. Сохраните и закройте файл.

Создаём символическую ссылку на этот файл в директории /etc/nginx/sites-enabled/:

sudo ln -s /etc/nginx/sites-available/mydomain.com /etc/nginx/sites-enabled/

Перезапустите Nginx, чтобы изменения вступили в силу:

sudo systemctl restart nginx

Создайте директорию для вашего веб-сайта:

sudo mkdir /var/www/mydomain.com


Шаг 9: Установка phpMyAdmin и создание базы данных
Выполняем команды для установки пхпмайадмина:

sudo apt update
sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

При установке будет выбор сервера, не выбираем никакой с помощью клавиши Tab и продолжаем. Далее yes, yes. Вводим 2 раза пароль, кооторый вводили по инструкции выше. Если вылезла ошибка пароля, выбираем ignore.

Выполняем код:
sudo nano /etc/php/7.4/fpm/php.ini

Находим cgi.fix_pathinfo = 1, раскомментируем его и меняем значение на 0. Получится cgi.fix_pathinfo = 0
Лучше использовать FTP-клиент, например, Filezilla.

Перезапускаем ПХП:
sudo service php7.4-fpm restart

Устанавливаем симлинку:
sudo ln -s /usr/share/phpmyadmin /var/www/mydomain.com

Защищаем базу, изменив путь к phpmyadmin, вместо crabsdb укажите своё имя папки, по которому будет осуществляться доступ к бд:
cd /var/www/mydomain.com/
ls -l
sudo mv phpmyadmin crabsdb
ls -l

Заходим в бд ( ваш_сайт.ру/crabsdb ) от root с тем паролем, что вводили выше и создаём бд, если там будет ошибка "Создать базу данных с именем 'phpmyadmin' и настроить там хранение конфигурации phpMyAdmin". Жмём по слову "Создать ".

Готово, сервер настроен, можно создавать новую базу данных, заливать файлы в вашу папку (/var/www/mydomain.com) и всё будет работать! Естественно нужно прописать IP вашего сервера в ns-записях доменного регистратора. Я рекомендую использовать для этого Cloudflare.

Не забываем про:
Канал в Телеграм: @crabs_channel
Чат в Телеграм: @crabsmoney
Канал магазина: @crabs_money_shop
Группа для реклам: @crabs_ads


Категория: Прочее Хостинг, домены
Рейтинг поста: 1
Дата добавления: 3 марта 2023 в 20:13
Комментариев: 0
Автор: MrCrabs
Рейтинг автора: 201.91
Просмотров всего: 379
Просмотров за неделю: 1
Комментариев нет
Авторизуйтесь для добавления комментария