Загрузка...

Полное руководство по установке сайта на VDS и настройке домена

Тема в разделе Статьи создана пользователем ChaLL 21 апр 2025. (поднята 29 апр 2025) 346 просмотров

Загрузка...
  1. ChaLL
    ChaLL Автор темы 21 апр 2025 Скупка профилей - https://t.me/fulosov_lzt 782 2 окт 2022
    [IMG]
    [IMG]
    Введение
    Размещение сайта на VDS (Virtual Dedicated Server) - это профессиональное решение, которое дает полный контроль над вашим веб-проектом. В этом руководстве мы подробно рассмотрим все этапы - от выбора сервера до полной настройки рабочего сайта. Сегодня Вы узнаете в статье:
    1. Введение
      1. Выбор VDS-сервера
      2. Выбор и регистрация домена
      3. Необходимые инструменты
    2. Дополнительные настройки и оптимизация
    3. Заключение
    2. Подготовка к работе

    2.1. Выбор VDS-сервера

    От себя бы хотел порекомендовать хоститнг QWINS. Ведь они предлагают лучшие цены и лучшее качество на любые VDS

    Для разных типов проектов нужны разные конфигурации: (Это минимальные характеристики)

    Статичный сайт - 1 ядро, 1 ГБ RAM, 10 ГБ SSD
    WordPress - 2 ядра, 2 ГБ RAM, 20 ГБ SSD
    PHP-приложение2 ядра, 4 ГБ RAM, 30 ГБ SSD
    Python-проект2 ядра, 4 ГБ RAM, 30 ГБ SSD

    Покупка - adeno и через сайт https://qwins.co/

    2.2. Выбор и регистрация домена

    1. Переходим в телеграмм бота: @BPdomains_bot
    [IMG]
    https://telegra.ph/BulletProof-Domains-Categories-10-16

    [IMG]
    [IMG]
    Все
    3. Подключение и базовая настройка сервера
    [IMG]
    W+R : cmd
    ssh root@ваш_ip_сервера

    // Подключение к серверу по ssh под пользователем root с указанием IP-адреса сервера
    apt update

    // Обновление списка доступных пакетов из репозиториев

    apt upgrade -y

    // Обновление списка доступных пакетов из репозиториев

    apt install -y sudo curl wget ufw

    // Установка основных утилит: sudo (права администратора), curl/wget (загрузка файлов), ufw (файрвол)
    adduser ваш_пользователь

    // Создание нового пользователя (безопаснее, чем использовать root)

    usermod -aG sudo ваш_пользователь

    // Добавление пользователя в группу sudo (дает права администратора)
    ufw allow OpenSSH
    // Разрешение SSH-подключений через файрвол
    ufw allow 80/tcp
    // Разрешение HTTP-трафика
    ufw allow 443/tcp
    // Разрешение HTTPS-трафика
    ufw enable
    // Активация файрвола
    nano /etc/ssh/sshd_config
    systemctl restart sshd
    4. Варианты установки сайта

    4.1. Быстрый способ (статичный сайт)
    sudo apt install nginx -y
    // Установка веб-сервера Nginx
    sudo systemctl start nginx
    // Запуск Nginx
    sudo systemctl enable nginx
    // Добавление Nginx в автозагрузку
    Откройте в браузере http://ваш_ip_сервера. Должна появиться страница приветствия Nginx.
    sudo mkdir -p /var/www/ваш_сайт/html
    // Создает папку для сайта (ключ -p создает все родительские директории, если их нет)
    sudo chown -R $USER:$USER /var/www/ваш_сайт/html
    // Меняет владельца папки на текущего пользователя (-R рекурсивно для всех вложенных файлов)
    sudo chmod -R 755 /var/www/ваш_сайт
    // Устанавливает права: владелец - полные
    <!DOCTYPE html>
    <html>
    <head>
    <title>HI</title>
    </head>
    <body>
    <h1>Chall тут был!</h1>
    </body>
    </html>
    sudo nano /etc/nginx/sites-available/ваш_сайт
    // Редактирование конфигурационного файла для вашего сайта в Nginx

    sudo ln -s /etc/nginx/sites-available/ваш_сайт /etc/nginx/sites-enabled/
    sudo nginx -t
    sudo systemctl restart nginx
    // Создание символической ссылки для активации конфига сайта
    // Проверка синтаксиса конфигурации Nginx на ошибки
    // Перезапуск Nginx для применения изменений
    4.2. Средний способ (CMS WordPress)

    sudo apt install apache2 mysql-server php php-mysql php-gd php-curl php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y
    // Установка веб-сервера Apache, СУБД MySQL и всех необходимых php-модулей
    sudo mysql_secure_installation
    // Запуск скрипта для базовой настройки безопасности MySQL
    1. Введите пароль для root
    2. Удалить анонимных пользователей? (Y)
    3. Запретить root вход удаленно? (Y)
    4. Удалить тестовую базу? (Y)
    5. Перезагрузить привилегии? (Y)
    sudo mysql -u root -p
    // Вход в консоль MySQL под пользователем root
    CREATE DATABASE wordpress;
    CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'ваш_пароль';
    GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
    FLUSH PRIVILEGES;
    exit
    cd /tmp
    wget https://wordpress.org/latest.tar.gz
    tar -xzvf latest.tar.gz
    sudo mv wordpress /var/www/ваш_сайт/html
    sudo chown -R www-data:www-data /var/www/ваш_сайт/html
    sudo chmod -R 755 /var/www/ваш_сайт/html

    // Переход во временную директорию
    // Загрузка последней версии WordPress
    // Распаковка архива WordPress
    // Перенос файлов WordPress в корневую директорию сайта
    // Назначение правильного владельца для файлов WordPress
    // Установка корректных прав доступа
    sudo nano /etc/apache2/sites-available/ваш_сайт.conf
    // Создание конфигурационного файла виртуального хоста Apache
    <VirtualHost *:80>
    ServerName ваш_домен
    ServerAlias www.ваш_домен
    DocumentRoot /var/www/ваш_сайт/html
    <Directory /var/www/ваш_сайт/html>
    AllowOverride All
    </Directory>
    </VirtualHost>
    sudo a2ensite ваш_сайт.conf
    sudo a2enmod rewrite
    sudo systemctl restart apache2

    // Активация сайта в Apache
    // Включение модуля rewrite для ЧПУ (человеко-понятных URL)
    // Перезапуск Apache для применения изменений
    1. Откройте в браузере ваш_домен
    2. Выберите язык
    3. Введите данные базы данных:
      1. Имя базы данных: wordpress
      2. Имя пользователя: wpuser
      3. Пароль: ваш_пароль
      4. Сервер базы данных: localhost
      5. Префикс таблиц: wp_
    4. Завершите установку
    4.3. С PHP (LEMP стек)
    sudo apt install nginx mysql-server php-fpm php-mysql php-cli php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip -y

    // Установка Nginx, MySQL и PHP-FPM с необходимыми модулями
    1. Введите пароль для root
    2. Удалить анонимных пользователей? (Y)
    3. Запретить root вход удаленно? (Y)
    4. Удалить тестовую базу? (Y)
    5. Перезагрузить привилегии? (Y)
    sudo nano /etc/PHP/7.4/fpm/PHP.ini
    // Редактирование конфигурации PHP
    cgi.fix_pathinfo=0
    upload_max_filesize = 32M
    post_max_size = 48M
    memory_limit = 256M
    max_execution_time = 300
    sudo systemctl restart php7.4-fpm
    // Перезапуск PHP-FPM для применения изменений
    sudo nano /etc/nginx/sites-available/ваш_сайт
    // Открывает файл конфигурации Nginx для вашего сайта в текстовом редакторе nano
    sudo ln -s /etc/nginx/sites-available/ваш_сайт /etc/nginx/sites-enabled/
    sudo nginx -t
    sudo systemctl restart nginx

    // Создает символическую ссылку для включения конфигурации сайта
    // Проверяет синтаксис конфигурационных файлов Nginx на ошибки
    // Перезапускает веб-сервер Nginx для применения изменений
    4.4. С Python (Django/Flask)
    sudo apt install python3-pip python3-dev libpq-dev nginx curl -y
    sudo -H pip3 install --upgrade pip
    sudo -H pip3 install virtualenv

    // Устанавливает:
    // - pip (менеджер пакетов Python)
    // - Заголовочные файлы Python
    // - Библиотеки для работы с PostgreSQL
    // - Веб-сервер Nginx
    // - Утилиту curl
    mkdir ~/ваш_проект
    cd ~/ваш_проект
    virtualenv venv
    source venv/bin/activate

    // Создает папку для вашего проекта в домашней директории
    // Перемещает в папку проекта
    // Создает изолированное окружение Python в папке venv
    // Активирует виртуальное окружение (теперь pip будет устанавливать пакеты сюда)
    pip install django gunicorn psycopg2-binary
    django-admin startproject ваш_проект .

    pip install flask gunicorn

    // Устанавливает:
    // - Django (веб-фреймворк)
    // - Gunicorn (WSGI-сервер)
    // - Библиотеку для работы с PostgreSQL
    sudo nano /etc/systemd/system/ваш_проект.service
    // Создает конфигурационный файл для управления приложением как системной службой
    [Unit]
    Description=Gunicorn instance для ваш_проект
    After=network.target

    [Service]
    User=ваш_пользователь
    Group=www-data
    WorkingDirectory=/home/ваш_пользователь/ваш_проект
    ExecStart=/home/ваш_пользователь/ваш_проект/venv/bin/gunicorn --workers 3 --bind unix:ваш_проект.sock ваш_проект.wsgi:application

    [Install]
    WantedBy=multi-user.target
    sudo systemctl start ваш_проект
    // Запускает ваше приложение как системную службу
    sudo systemctl enable ваш_проект
    // Настраивает автоматический запуск приложения при загрузке системы
    sudo nano /etc/nginx/sites-available/ваш_проект
    // Создает конфигурационный файл Nginx специально для вашего Python-приложения
    sudo ln -s /etc/nginx/sites-available/ваш_проект /etc/nginx/sites-enabled/
    // Включает конфигурацию сайта через символическую ссылку
    sudo nginx -t
    // Проверяет конфигурацию Nginx перед перезапуском
    sudo systemctl restart nginx
    // Применяет все изменения конфигурации
    5. Подробная настройка домена
    5.1. Настройка DNS записей

    1. В панели управления доменом найдите раздел DNS
      • A запись: @ → IP вашего сервера
      • CNAME запись: www → ваш_домен
    2. Сохраните изменения

    5.2. Установка SSL сертификата (Let's Encrypt)
    sudo apt install certbot python3-certbot-nginx -y
    sudo certbot --nginx -d ваш_домен -d www.ваш_домен
    Выберите вариант перенаправления HTTP → HTTPS
    sudo certbot renew --dry-run
    6. Работа с FileZilla
    6.1. Подключение к серверу
    [IMG]

    1. Откройте FileZilla
    6.2. Загрузка файлов

    1. В левой части (локальные файлы) найдите нужные файлы
    2. В правой части (сервер) перейдите в нужную директорию (/var/www/...)
    3. Перетащите файлы с локального компьютера на сервер
    6.3. Настройка прав
    sudo chmod 644 /path/to/file
    sudo chmod 755 /path/to/directory
    7. Дополнительные настройки
    gzip on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    expires 365d;
    }
    sudo apt install htop
    htop
    P.S Писал статью достаточно долго, мог где-то ошибиться. Если нашли ошибки или хотите что-то добавить, то пришлите, пожалуйста в Telegram: KUERTOV_AVITO . Комментарии к командам были взяты из публичных источников + ИИ
     
    Этот материал оказался полезным?
    Вы можете отблагодарить автора темы путем перевода средств на баланс
    Отблагодарить автора
    21 апр 2025 Изменено
    1. Посмотреть предыдущие комментарии (4)
  2. даня
    че правда что ли
     
Top