Как да хоствате уебсайт (Ръководство за настройка на собствен сървър)

Как да създадете сървър


За да хоствате уебсайт на сървър, ще трябва да си изцапате ръцете и да настроите цялата среда сами. По-долу ще намерите обобщен пример за това как да направите нещата с помощта на виртуален частен сървър Ubuntu 18.04

Накратко, ще трябва:

    • Извършете първоначалната настройка на сървъра
    • Настройте DNS зона и насочете домейна си
    • Инсталирайте софтуерен стек
    • Създайте виртуален хост
    • Направете своя уебсайт и работете

Послепис Ако не искате да преминете през тези сложни стъпки, помислете за получаване на уеб хостинг.

1. Първите стъпки за настройка на сървъра

Ако решите да наемете специален сървър или VPS, първо трябва да поставите солидна основа. Това включва достъп до вашия сървър чрез терминал или SSH клиент и извършване на настройки и актуализации на сигурността.

Свържете се със вашия сървър

Започнете, като се свържете със вашия сървър. Следващата команда ще направи трика:

ssh [защитен имейл] _server_IP -port

Когато се свързвате за първи път, може да бъдете подканени да добавите IP сървъра си към списъка с известни хостове. Напишете в да да продължите и след това ще бъдете подканени да влезете в root парола.

добавяне на сървър IP към известни хостове

Ето пример за това, което трябва да видите на екрана си, ако всичко върви както трябва.

начален екран за вход в Ubuntu SSH

Вземете най-новите актуализации

Изпълнете следните команди, за да получите най-новите актуализации за вашия сървър Ubuntu 18.04:

актуална актуализация на судо
надграждане ап sudo

Когато изпълнявате втората команда, ще видите екран за потвърждение. Напишете в Y за да продължите.

потвърждаване на актуализациите на сървъра Ubuntu

Създайте нов потребител

След това ще трябва да добавите нов потребител, тъй като използването на главния за ежедневните задачи не се препоръчва. Нека го наречем уеб администратор. За да започнете създаването на потребителя, изпълнете:

adduser webmaster

създаване на нов потребител Ubuntu

След като създадете парола, ще бъдете подканени да въведете общите данни (които можете да оставите празни). След това въведете Y за да потвърдите създаването на нов потребител.

По подразбиране новият потребител няма да има достатъчно привилегии, за да направи всичко необходимо, следователно ще трябва да ги добавите ръчно. Ето как го правите:

usermod -aG sudo webmaster

Това е! Вашият нов административен потребител е готов. За да започнете да го използвате вместо root, изпълнете:

su – уебмастър

смяна на потребителя на системата

Настройване на удостоверяване на публичен ключ (незадължително)

Използването на парола за проверка на автентичността ви прави уязвими за опити за груба сила и поставя сървъра ви на умерен риск (особено ако сте мързеливи да настроите уникална и силна парола).

Чудесен начин за подобряване целостта на сървъра е използването на SSH ключове вместо обикновена парола. Стъпките трябва да са идентични, независимо коя дистрибуция на Linux използвате. Да започна излез от профила си на вашия сървър и изпълнете следната команда на вашия локален компютър за да създадете нов публичен ключ:

SSH-търсени

Ще бъдете помолени да въведете допълнителна парола и мястото, където да запазите публичния ключ. По подразбиране тя спестява всичко /Users/Your_User/.ssh директория (която можете да запазите, освен ако нямате предвид други планове).

работещ SSH keygen

Веднага след като приключите, копирайте SSH ключа на вашия сървър, като използвате:

ssh-copy-id [защитен имейл] _server_IP

Можете също така да направите същото за вашия root потребител, за всеки случай:

ssh-copy-id [защитен имейл] _server_IP

преместване на SSH ключ към отдалечен сървър

И накрая, ще трябва да влезете отново на вашия сървър. Само този път ще използвате SSH ключа и неговата парола за удостоверяване. Ако паролата ви е позната от някой, той няма да може да влезе, тъй като публичният ключ е необходим за успешна връзка.

влизане в сървъра с SSH ключ

Деактивиране на удостоверяването с парола (незадължително)

Тъй като вече имате достъп до сървъра си с новосъздадения SSH ключ, препоръчително е да деактивирате редовното удостоверяване на паролата. За да направим това, можем да използваме нано текстов редактор:

sudo nano / etc / ssh / sshd_config

Потърсете ред, който казва #PasswordAuthentication да, изтрийте # и променете да до a не. Крайният резултат трябва да изглежда така:

деактивиране на удостоверяването на паролата в sshd config

За да запазите тези промени и да излезете от нано редактора, натиснете CTRL + X, напишете в Y и натиснете Въведете. И накрая, приложете всичко, като презаредите sshd услугата:

sudo systemctl reload sshd

И това е! Сега ще използвате публичен ключ за удостоверяване вместо парола, което се счита за по-сигурен начин за достъп и управление на сървър.

Настройте защитна стена

Не на последно място, но не на последно място, е препоръчително да използвате защитна стена, за да се предпазите от опасностите, които вият в мрежата. Неусложнена защитна стена е един от най-добрите инструменти за работата. За да го настроите, изпълнете:

sudo apt-get install ufw

Когато е инсталирана, защитната стена няма да работи, освен ако не е включена ръчно. Можете да го активирате, като използвате:

sudo ufw enable

разрешаване на ufw Ubuntu

За да проверите дали работи и изпълнете:

sudo ufw status verbose

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

Следващото предизвикателство ще бъде създаването на DNS зона, която действа като свързващ материал между име на домейн и сървър. Можем да го разделим на две по-малки стъпки:

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

Създайте нова DNS зона

За да направим нова DNS зона, ще използваме инструмент, наречен bind9. В крайна сметка това е услугата, която ни позволява да заредим уебсайт чрез име на домейн вместо IP адрес.

За да инсталирате Bind9 на вашия Ubuntu 18.04 сървър, изпълнете:

sudo apt-get install bind9

След инсталирането всички файлове ще бъдат достъпни в / И т.н. / се свързват директория. Нека първо да преминем към него:

cd / etc / bind

За да поддържаме всичко чисто и организирано, ще създадем отделна директория за нашите DNS зони:

sudo mkdir -p зони

Нека създадем нов DNS зонов файл за нашия домейн. Ще използваме domain-example.com за демонстрационни цели (трябва да го замените с действителното си име на домейн).

sudo nano zone / domain-example.com

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

;
; BIND файл с данни за domain-example.com
;
$ TTL 3h
@ В СОА ns1.domain-example.com. admin.domain-example.com. (
1; Сериен
3h; Обновете след 3 часа
1h; Повторете след 1 час
1w; Изтича след 1 седмица
1h); Отрицателно кеширане на TTL от 1 ден
;
@ В NS ns1.domain-example.com.
@ В НС ns2.domain-example.com.

domain-example.com. В YOUR_SERVER_IP
ns1 В YOUR_SERVER_IP
ns2 В YOUR_SERVER_IP
www В CNAME domain-example.com.
поща В YOUR_SERVER_IP
ftp В CNAME domain-example.com.
domain-example.com. В MX 10 domain-example.com.

Не забравяйте да замените всички ваши инстанции Your_Server_IP и domain-example.com с действителните стойности. Запишете файла на зоната, като натиснете CTRL + X и след това пишете Y за да потвърдите промените.

След това ще трябва да редактираме локалната конфигурация и да определим местоположението на новосъздадената ни DNS зона. Това гарантира, че сървърът знае коя зона на файла принадлежи към кое име на домейн.

судо нано име.conf.local

Залепете следните редове в долната част на файла, докато замествате domain-example.com с вашия действителен адрес на уебсайта.

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

Натиснете CTRL + X и вход Y за да запазите промените си и да излезете от нано редактора.

Можете също да проверите дали всичко е добавено и конфигурирано правилно, като изпълните следната команда:

sudo с име-checkzone domain-example.com /etc/bind/zones/domain-example.com

проверка на dns зона

И накрая, изпълнете тези две команди, за да рестартирате DNS услугата на вашия сървър и да се уверите, че тя работи:

sudo /etc/init.d/bind9 рестартирайте
sudo /etc/init.d/bind9 старт

В този момент DNS зоната е готова от вашата страна на сървъра. За да го финализирате, ще трябва да създадете персонализирани записи на сървъри на имена в регистратора на вашия домейн.

Създайте персонализирани сървъри на имена за вашия домейн

Тъй като посочихме два сървъра на имена (ns1.domain-example.com и ns2.domain-example.com) в нашия пример за DNS зона, ще трябва да създадем тези записи в регистратора на домейни и да ги използваме.

Ето как трябва да изглеждат записите:

Персонализиран сървър за именаСочи към
ns1.domain-example.comYour_Server_IP
ns2.domain-example.comYour_Server_IP

създаване на дете имесервър

Веднъж създаден, ще трябва да насочите домейна си към тези нови сървъри на имена.

актуализирайте сървърите за имена

3. Инсталирайте LAMP стека

LAMP е един от най-използваните софтуерни стекове в мрежата. Това е кратко за Linux, Apache HTTP Server, MySQL / MariaDB и PHP. Преди да хоствате сайт, ще трябва да се уверите, че всички тези съставки са налични на вашия сървър. Ето как би изглеждал процесът на настройването им с Ubuntu 18.04:

Apache

Apache HTTP Server вече може да бъде включен в пакетите по подразбиране, които се доставят с вашия сървър. Ако не, тогава изпълнете:

sudo apt-get install apache2

инсталирайте Apache

Тъй като има защитна стена, трябва да се уверим, че тези портове са отворени, тъй като Apache няма да работи правилно в противен случай. Ето какво трябва да разрешите чрез защитната стена:

sudo ufw позволяват 80 / tcp
sudo ufw позволяват 443 / tcp

След това го рестартирайте, за да сте сигурни, че промените са приложени:

sudo ufw reload

На този етап ето какво трябва да видите, като посетите IP адрес на вашия сървър през браузър:

страница Apache2 по подразбиране

PHP

За да получите най-новата версия на PHP с няколко допълнителни модула, от които се нуждае WordPress, изпълнете:

sudo apt – вземете инсталирайте php php-common php-mysql php-gd php-cli

потвърдете инсталацията на PHP

Можете да проверите коя PHP версия е била инсталирана на вашия сървър, като напишете:

php -v

проверете PHP версията

MySQL / MariaDB

MariaDB и MySQL са два от най-добрите избори за вашия сървър на база данни в Linux. За този пример ще използваме MariaDB. За да го инсталирате на вашия сървър, изпълнете:

sudo apt-get install mariadb-server mariadb-client

инсталирайте Mariadb

След като сте готови, ще трябва да използвате допълнителен скрипт, приложен към пакета. Той ще установи основните мерки за сигурност за вашия сървър на база данни. Започнете го като напишете:

sudo mysql_secure_installation

Още на първата стъпка ще бъдете помолени да предоставите главната парола MySQL. Натисни Въведете бутон, за да продължите, тъй като все още не е създаден. След това следвайте останалите инструкции, които се появяват в интерфейса на командния ред.

Mariadb сигурна инсталация

И накрая, можете да проверите дали моят сървър на база данни работи, като стартирате:

sudo systemctl статус mysql

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

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

cd / var / www / HTML

Използвайте тази команда, за да създадете папка за вашия домейн и допълнителна в рамките на:

sudo mkdir -p domain-example.com/public_html

След това направете уебмастър потребител, който създадохме преди собственика, използвайки:

sudo chown -R webmaster: webmaster 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 местоположението на главната директория на домейна, дневника на грешките и други важни пътища. За да променим съдържанието му, ще използваме нано:

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

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

# Директива ServerName задава схемата на заявка, името на хоста и този порт
# сървърът използва за идентификация. Това се използва при създаването
# пренасочване URL адреси. В контекста на виртуални хостове, ServerName
# указва кое име на хоста трябва да се показва в заглавката на хоста: хост на
# съвпадат с този виртуален хост. За виртуалния хост по подразбиране (този файл) това
# стойност не е определяща, тъй като се използва като краен хост, независимо.
# Въпреки това, трябва да го зададете за всеки следващ виртуален хост изрично.

ServerAdmin [защитен имейл]
DocumentRoot /var/www/html/domain-example.com/public_html
ServerName domain-example.com
ServerAlias ​​www.domain-example.com

# Налични loglevels: trace8, …, trace1, отстраняване на грешки, информация, забележете, предупреждавайте,
# грешка, крит, сигнал, излезте.
# Възможно е също така да конфигурирате loglevel по-специално
# модули, напр.
#LogLevel информация ssl: предупреди

ErrorLog $ {APACHE_LOG_DIR} /error.log
CustomLog $ {APACHE_LOG_DIR} /access.log комбинирани

# За повечето конфигурационни файлове от conf-available /, които са
# активирана или деактивирана на глобално ниво, възможно е да
# включва линия само за един конкретен виртуален хост. Например на
# следващият ред активира CGI конфигурацията само за този хост
# след като е глобално деактивиран "a2disconf".
# Включете 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 reload apache2

Успешно инсталирате LAMP на вашия сървър. Тъй като вашият домейн вече е насочен към сървъра, може да се наложи да изчакате няколко часа, за да може DNS да се разпространи напълно. След това трябва да видите подобен екран, когато посещавате домейна си през браузъра.

съдържание на корен директория на домейна

5. Настройте WordPress (или качете уебсайт)

Тъй като първоначалната настройка на сървъра най-накрая приключи, е време да хоствате уебсайт на него. В този раздел ще ви покажем обобщен пример за това как да стартирате и стартирате сайт на WordPress.

Създайте нова база данни и потребител на MySQL

Започнете с достъп до MySQL интерфейса през терминала:

sudo mysql

>Използвайте следния синтаксис, за да направите нова база данни:

СЪЗДАВАНЕ НА DATABASE 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

След това извлечете цялото съдържание на архива, като използвате:

unzip latest.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 конфигурация

И накрая, посетете името на вашия домейн в браузъра и ще видите началния екран за настройка на WordPress.

първоначална настройка на WordPress

След като го завършите, можете да инсталирате приставка за миграция, като All-in-One WP Migration, за да импортирате съществуващ уебсайт на WordPress.

Метод 2: Използване на FTP клиент

Като алтернатива можете да използвате FTP клиент като FileZilla. В случай, че сте конфигурирали SSH ключ и деактивирали удостоверяване на паролата, ще трябва да го използвате, за да влезете вместо обикновената комбинация от потребителско име и парола. За да конфигурирате SFTP връзката:

  1. Отидете на FileZilla Site Manager и добавете a Нов сайт.
  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