В данной статье 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