Как разместить веб-сайт (Руководство по настройке собственного сервера)

Как создать сервер


Чтобы разместить веб-сайт на сервере, вам нужно запачкать руки и настроить всю среду самостоятельно. Ниже вы найдете обобщенный пример того, как добиться успеха, используя виртуальный частный сервер, работающий Ubuntu 18.04

Короче говоря, вам нужно:

    • Выполните начальную настройку сервера
    • Настройте зону DNS и укажите свой домен
    • Установите программный стек
    • Создать виртуальный хост
    • Получите ваш сайт и работает

Постскриптум Если вы не хотите проходить через эти сложные шаги, подумайте о приобретении веб-хостинга.

1. Первые шаги по настройке сервера

Если вы решили арендовать выделенный сервер или VPS, вам сначала нужно заложить прочную основу. Это включает в себя доступ к вашему серверу через терминал или SSH-клиент и внесение изменений и обновлений безопасности..

Подключитесь к вашему серверу

Начните с подключения к вашему серверу. Следующая команда добьется цели:

ssh [электронная почта защищена] _server_IP -port

При первом подключении вам может быть предложено добавить IP-адрес вашего сервера в список известных хостов. Печатать да продолжить, и вам будет предложено ввести пароль root.

добавление IP-адреса сервера к известным хостам

Вот пример того, что вы должны увидеть на экране, если все прошло правильно.

начальный экран входа в Ubuntu SSH

Получите последние обновления

Выполните следующие команды, чтобы получить последние обновления для вашего сервера Ubuntu 18.04:

обновление sudo apt
Обновление sudo

При выполнении второй команды вы увидите экран подтверждения. Печатать Y продолжать.

подтверждение обновлений сервера Ubuntu

Создать нового пользователя

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

Adduser для веб-мастеров

создание нового пользователя Ubuntu

Как только вы создадите пароль, вам будет предложено ввести общие данные (которые вы можете оставить пустыми). Затем введите Y подтвердить создание нового пользователя.

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

usermod -aG sudo webmaster

Это оно! Ваш новый администратор готов. Чтобы начать использовать его вместо root, выполните:

су – вебмастер

изменение пользователя системы

Настройка аутентификации с открытым ключом (необязательно)

Использование пароля для аутентификации делает вас уязвимым для попыток грубого взлома и подвергает ваш сервер умеренному риску (особенно, если вы ленитесь установить уникальный и надежный пароль).

Отличным способом улучшения целостности сервера является использование ключей SSH вместо обычного пароля. Шаги должны быть одинаковыми независимо от того, какой дистрибутив Linux вы используете. Начать выйти вашего сервера и выполните следующую команду на вашем локальный компьютер создать новый открытый ключ:

SSH-серийник

Вам будет предложено ввести дополнительную фразу-пароль и место, где сохранить открытый ключ. По умолчанию сохраняет все в /Users/Your_User/.ssh каталог (который вы можете хранить, если у вас нет других планов).

работает SSH кейген

Как только он закончится, скопируйте ключ SSH на свой сервер, используя:

ssh-copy-id [электронная почта защищена] _server_IP

Вы также можете сделать то же самое для вашего пользователя root на всякий случай:

ssh-copy-id [электронная почта защищена] _server_IP

перемещение ключа SSH на удаленный сервер

Наконец, вам нужно снова войти на свой сервер. Только на этот раз вы будете использовать ключ SSH и его пароль для аутентификации. Если кто-то угадает ваш пароль, он не сможет войти в систему, так как для успешного подключения требуется открытый ключ..

вход на сервер с ключом SSH

Отключить аутентификацию по паролю (необязательно)

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

sudo nano / etc / ssh / sshd_config

Найдите строку, которая говорит #PasswordAuthentication yes, удалите # и изменить да к нет. Конечный результат должен выглядеть так:

отключение аутентификации по паролю в конфигурации sshd

Чтобы сохранить эти изменения и выйти из нано-редактора, нажмите CTRL + X, печатать Y и нажмите Войти. И наконец, примените все, перезагрузив службу sshd:

sudo systemctl перезагрузить sshd

И это все! Теперь вы будете использовать открытый ключ для аутентификации вместо пароля, который считается более безопасным способом доступа и управления сервером.

Настройте брандмауэр

Наконец, что не менее важно, рекомендуется использовать брандмауэр, чтобы защитить себя от опасностей, скрывающихся в Интернете. Несложный брандмауэр является одним из лучших инструментов для работы. Чтобы настроить его, выполните:

sudo apt-get установить ufw

После установки брандмауэр не будет работать, если он не включен вручную. Вы можете включить его, используя:

sudo ufw enable

включение UFW Ubuntu

Чтобы проверить, работает ли он, выполните:

подробный статус sudo ufw

2. Настройте зону DNS

Следующей задачей будет создание зоны DNS, которая будет выполнять роль связующего материала между доменным именем и сервером. Мы можем разбить его на два небольших шага:

  1. Настройка зоны DNS на вашем сервере
  2. Создание пользовательских серверов имен у вашего регистратора доменов

Создать новую зону DNS

Чтобы создать новую зону DNS, мы будем использовать инструмент под названием bind9. В конце концов, это сервис, который позволяет нам загружать сайт через доменное имя вместо IP-адреса..

Чтобы установить Bind9 на ваш сервер Ubuntu 18.04, выполните:

sudo apt-get установить bind9

После установки все файлы будут доступны в / И т.д. / связывания каталог. Давайте сначала перейдем к нему:

CD / etc / bind

Чтобы все было аккуратно и организованно, мы создадим отдельный каталог для наших зон DNS:

зоны sudo mkdir -p

Давайте создадим новый файл зоны DNS для нашего домена. Мы будем использовать domain-example.com в демонстрационных целях (вы должны заменить его своим реальным доменным именем).

sudo nano zone / domain-example.com

Пример фрагмента зоны DNS:

;
; Файл данных BIND для domain-example.com
;
$ TTL 3 часа
@ В SOA ns1.domain-example.com. admin.domain-example.com. (
1; последовательный
3ч; Обновить через 3 часа
1 час; Повторите попытку через 1 час.
1 Вт; Истекает через 1 неделю
1 ч); Отрицательное кеширование TTL от 1 дня
;
@ IN NS ns1.domain-example.com.
@ IN NS ns2.domain-example.com.

domain-example.com. В YOUR_SERVER_IP
ns1 IN YOUR_SERVER_IP
ns2 IN YOUR_SERVER_IP
www IN CNAME domain-example.com.
почта в YOUR_SERVER_IP
ftp IN CNAME domain-example.com.
domain-example.com. IN MX 10 domain-example.com.

Обязательно замените все экземпляры вашего Your_Server_IP а также domain-example.com с фактическими значениями. Сохраните файл зоны, нажав CTRL + X а затем печатать Y подтвердить изменения.

Далее нам нужно отредактировать локальную конфигурацию и указать местоположение нашей вновь созданной зоны DNS. Это гарантирует, что сервер знает, какой файл зоны принадлежит какому-либо доменному имени..

sudo nano named.conf.local

Удалил следующие строки внизу файла при замене domain-example.com с вашим реальным адресом сайта.

зона "domain-example.com" {
тип мастера;
файл "/etc/bind/zones/domain-example.com";
};

Нажмите CTRL + X и ввод Y чтобы сохранить изменения и выйти из нано-редактора.

Вы также можете проверить, все ли было добавлено и настроено правильно, выполнив следующую команду:

sudo named-checkzone domain-example.com /etc/bind/zones/domain-example.com

проверка зоны днс

Наконец, выполните эти две команды, чтобы перезапустить службу DNS вашего сервера и убедиться, что она работает:

sudo /etc/init.d/bind9 restart
sudo /etc/init.d/bind9 start

На данный момент зона DNS готова со стороны вашего сервера. Чтобы завершить его, вам нужно создать собственные записи серверов имен в регистраторе вашего домена..

Создание пользовательских серверов имен для вашего домена

Поскольку мы указали два сервера имен (ns1.domain-example.com а также ns2.domain-example.com) в нашем примере зоны DNS нам нужно создать эти записи у регистратора домена и использовать их.

Вот как должны выглядеть записи:

Пользовательский сервер именУказывает на
ns1.domain-example.comYour_Server_IP
ns2.domain-example.comYour_Server_IP

создание дочернего сервера имен

После создания вам нужно будет указать свой домен для этих новых серверов имен.

обновить серверы имен

3. Установите LAMP Stack

LAMP является одним из наиболее часто используемых программных стеков в Интернете. Это расшифровывается как Linux, Apache HTTP Server, MySQL / MariaDB и PHP. Перед размещением сайта вам необходимо убедиться, что все эти ингредиенты доступны на вашем сервере. Вот как будет выглядеть процесс их настройки с использованием Ubuntu 18.04:

апаш

Сервер Apache HTTP уже может быть включен в пакеты по умолчанию, которые поставляются с вашим сервером. Если нет, то выполните:

sudo apt-get установить apache2

установить Apache

Поскольку существует брандмауэр, мы должны убедиться, что эти порты открыты, иначе Apache не будет работать должным образом. Вот что вы должны разрешить через брандмауэр:

Sudo UFW позволяют 80 / TCP
sudo ufw разрешить 443 / tcp

Затем перезапустите его, чтобы убедиться, что изменения применены:

Sudo UFW перезагрузить

На данный момент, вот что вы должны увидеть, посетив IP-адрес вашего сервера через браузер:

страница по умолчанию Apache2

PHP

Чтобы получить последнюю версию PHP с несколькими дополнительными модулями, которые нужны WordPress, выполните:

sudo apt-get установить php php-common php-mysql php-gd php-cli

подтвердить установку PHP

Вы можете проверить, какая версия PHP была установлена ​​на вашем сервере, набрав:

php -v

проверить версию PHP

MySQL / MariaDB

MariaDB и MySQL – два лучших варианта для вашего сервера баз данных в Linux. Для этого примера мы будем использовать MariaDB. Чтобы установить его на свой сервер, выполните:

sudo apt-get установить mariadb-сервер mariadb-клиент

установить Мариадб

После этого вам нужно будет использовать дополнительный скрипт, который поставляется вместе с пакетом. Он установит основные меры безопасности для вашего сервера базы данных. Запустите его, набрав:

sudo mysql_secure_installation

На первом этапе вас попросят предоставить пароль root для MySQL. нажмите Войти Нажмите кнопку, чтобы продолжить, поскольку она еще не создана. Затем следуйте остальным инструкциям, которые появляются в интерфейсе командной строки..

Мариадб безопасная установка

Наконец, вы можете проверить работоспособность моего сервера базы данных, выполнив:

sudo systemctl status mysql

4 Создайте виртуальный хост

Следующей задачей будет создание специального каталога для файлов вашего сайта. Начните с изменения вашего рабочего каталога:

CD / VAR / WWW / HTML

Используйте эту команду, чтобы создать папку для вашего домена и дополнительную папку в:

sudo mkdir -p domain-example.com/public_html

Затем сделайте веб-мастер Пользователь, которого мы ранее создали владельцем, используя:

Судо Чоун -R веб-мастер: веб-мастер domain-example.com/public_html

Вам также необходимо убедиться, что разрешения на чтение применяются к корневому каталогу Apache. В этом случае:

sudo chmod -R 755 / var / www / html /

На этом этапе Apache получает все настройки из 000-default.conf файл. Нам нужно будет скопировать содержимое этого файла и создать отдельный для нашего доменного имени. Самый простой способ скопировать шаблон конфигурации виртуального хоста – использовать следующую команду:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain-example.com.conf

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

sudo nano /etc/apache2/sites-available/domain-example.com.conf

Пример конфигурации Apache:

# Директива ServerName устанавливает схему запроса, имя хоста и порт, который
# сервер использует для идентификации себя. Это используется при создании
# перенаправления URL. В контексте виртуальных хостов имя_сервера
# указывает, какое имя хоста должно появиться в заголовке запроса Host:
# соответствовать этому виртуальному хосту. Для виртуального хоста по умолчанию (этот файл) это
Значение # не является решающим, так как оно используется в качестве хоста последней инстанции независимо.
# Однако вы должны явно установить его для любого другого виртуального хоста.

ServerAdmin [электронная почта защищена]
DocumentRoot /var/www/html/domain-example.com/public_html
Имя_сервера domain-example.com
ServerAlias ​​www.domain-example.com

# Доступные уровни журналов: trace8, …, trace1, отладка, информация, уведомление, предупреждение,
# ошибка, крит, предупреждение, эрг.
# Также возможно настроить уровень логирования для конкретного
# модулей, например.
#LogLevel info ssl: warn

ErrorLog $ {APACHE_LOG_DIR} /error.log
CustomLog $ {APACHE_LOG_DIR} /access.log вместе

# Для большинства конфигурационных файлов из conf-available /, которые
# включено или отключено на глобальном уровне, возможно
# включить строку только для одного конкретного виртуального хоста. Например,
# следующая строка включает настройку CGI только для этого хоста
# после того, как он был глобально отключен с "a2disconf".
#Include conf-available / serve-cgi-bin.conf

Обязательно замените все экземпляры domain-example.com на ваше фактическое доменное имя. Чтобы сохранить файл, нажмите CTRL + X и подтвердите, набрав Y. Конечный результат должен выглядеть так:

добавление конфигурации домена в Apache

На этом этапе вам нужно отключить файл конфигурации виртуального хоста по умолчанию и использовать только что созданный. Эта команда отключит это:

sudo a2dissite 000-default.conf

Затем добавьте недавно созданный файл конфигурации, как показано ниже:

sudo a2ensite domain-example.com.conf

Наконец, вам нужно перезапустить Apache, чтобы изменения вступили в силу. Вы можете сделать это, запустив:

sudo systemctl перезагрузить apache2

Вы успешно установили LAMP на свой сервер. Поскольку ваш домен уже направлен на сервер, вам может потребоваться подождать несколько часов, чтобы DNS полностью распространился. Тогда вы должны увидеть похожий экран при посещении вашего домена через браузер..

содержимое корневого каталога домена

5. Настройте WordPress (или загрузите веб-сайт)

Поскольку первоначальная настройка сервера наконец завершена, пришло время разместить на нем веб-сайт. В этом разделе мы покажем вам обобщенный пример того, как запустить и запустить сайт WordPress..

Создайте новую базу данных MySQL и пользователя

Начните с доступа к интерфейсу MySQL через терминал:

sudo mysql

>Используйте следующий синтаксис для создания новой базы данных:

СОЗДАТЬ БАЗУ ДАННЫХ wpdatabase;

Затем создайте нового пользователя и укажите пароль:

СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ ‘wpuser’ @ ‘localhost’, ИДЕНТИФИЦИРОВАННОГО ‘SuperSecurePassword123’;

Затем назначьте административные привилегии вашему вновь созданному пользователю с помощью:

ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ В wpdatabase. * TO ‘wpuser’ @ ‘localhost’;

Это оно! Ваш пользователь MySQL и база данных готовы к действию. Чтобы отключить интерфейс, введите:

Выход

Переместить файлы WordPress на ваш сервер

И последнее, но не менее важное: мы должны загружать фактические файлы веб-сайта в корневой каталог вашего домена. Есть два подхода, которые мы опишем шаг за шагом:

  • Использование команды wget для получения последней версии WordPress
  • Настройка клиента FTP (например, FileZilla)

Метод 1: Использование инструментов командной строки

Первый способ – использовать команду под названием Wget. Чтобы использовать его на своем сервере, вам необходимо установить его:

sudo apt-get установить wget

Затем измените ваш рабочий каталог на корневую папку вашего доменного имени:

cd /var/www/html/domain-example.com/public_html

Используйте команду wget для загрузки последней версии WordPress из Интернета:

wget https://www.wordpress.org/latest.zip

Затем извлеките все содержимое архива, используя:

распаковать последний.zip

По умолчанию все файлы появятся в новом каталоге с именем WordPress (что может привести к тому, что ваш сайт будет работать через domain-example.com/wordpress). Чтобы все работало правильно, нам нужно переместить все файлы из этого каталога в тот, что указан выше. Вот как это сделать:

CD WordPress

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

sudo mv * /var/www/html/domain-example.com/public_html/

Перед началом установки вам необходимо подготовить файл wp-config.php. Так как предоставляется только один образец. Начните с переименования:

sudo mv wp-config-sample.php wp-config.php

Затем отредактируйте файл, используя nano, и добавьте детали конфигурации базы данных MySQL..

sudo nano wp-config.php

Обязательно обновите MySQL пользователь, База данных, а также хозяин разделы со значениями, которые вы создали ранее.

редактирование WP config

Наконец, посетите свое доменное имя в браузере, и вы увидите начальный экран настройки WordPress..

начальная настройка WordPress

Как только вы закончите, вы можете установить плагин миграции, такой как All-in-One WP Migration, чтобы импортировать существующий веб-сайт WordPress..

Способ 2. Использование FTP-клиента

Кроме того, вы можете использовать FTP-клиент, такой как FileZilla. Если вы настроили ключ SSH и отключили аутентификацию по паролю, вам потребуется использовать его для входа в систему вместо обычной комбинации имени пользователя и пароля. Чтобы настроить соединение SFTP:

  1. Перейти к FileZilla Site Manager и добавить Новый сайт.
  2. Установите протокол на SFTP – протокол передачи файлов SSH.
  3. Введите IP своего сервера в поле хозяин поле и установите порт в 22.
  4. Установите тип входа в систему Ключевой файл.
  5. Укажите путь к вашему ключу SSH (например,. /Users/Name/.ssh/id_rsa).
  6. FileZilla преобразует его в .ППК файл, который вы можете использовать для подключения.

преобразование ключа SSH

Окончательная конфигурация должна выглядеть примерно так:

Конфигурация FileZilla sftp

Теперь вы сможете получить доступ к вашему серверу через FTP и загружать любые файлы прямо с вашего компьютера..

FileZilla sftp соединение

Поздравляем! Вы узнали, как разместить веб-сайт на виртуальном частном сервере под управлением Ubuntu 18.04. Все, от первоначальной настройки сервера до подготовки программного стека, было рассмотрено. Осталось только захватить сервер и испачкать руки!

Эта статья была опубликована с помощью Hostinger.com.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map