Как сделать чтобы сервер работал всегда на ubuntu

Добавил пользователь Валентин П.
Обновлено: 17.09.2024

Вы установили на VPS чистую операционную систему, и теперь важно выполнить несколько действий по запуску вашего сервера. Ниже, о том как производиться первоначальная настройка VPS сервера с Ubuntu 20.04. Эти настройки помогут сделать вашу работу с сервером более комфортной, а защиту ваших данных более надёжной.

Пользователь с привилегиями администратора

При установке операционной системы вы получаете доступ к ней при помощи учётной записи, имеющей права суперпользователя. Имя этого пользователя – root, и он в вашей системе, что называется, “может всё”. Регулярно производить запуск инструкций, зарегистрировавшись в системе учётной записью root, весьма неосмотрительно с точки зрения безопасности. Именно поэтому, необходимо создать учётную запись с ограниченными правами для её использования в повседневной работе.

Для создания нового пользователя введите команду:

В данном случае, newuser – имя нового пользователя, вместо которого вы, конечно же можете использовать какое-то своё.

Далее, необходимо созданного пользователя добавить в группу sudo , члены которой могут запускать инструкции с привилегиями администратора при помощи утилиты sudo :

Теперь, подключившись к системе данной учётной записью, вы сможете запускать команды на исполнение, и они будут исполняться с правами администратора:

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

Снимите комментарий перед строкой PermitRootLogin , установите в этой строке значение no , сохраните изменения и закройте файл (если вы используете nano , нажмите Ctrl+X , Y и Enter ).

Для вступления изменений в силу может потребоваться перезапуск сервиса SSH:

Брандмауэр

Для управления межсетевым экраном в операционных системах семейства Linux часто используется утилита iptables. Упрощённым её интерфейсом для настройки брандмауэра является Uncomplicated Firewall или UFW.

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

Чтобы разрешить подключение к системе какому-нибудь приложению или протоколу, например, SSH , используйте инструкцию:

Если брандмауэр отключен, его нужно включить:

И проверить его статус:

Скриншот, на котором показан статус UFW при первоначальной настройке VPS с Ubuntu 20.04

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

Или из определённой подсети:

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

Если же вы не хотите ограничиваться подключениями только с определённых IP-адресов, вы можете защитить вашу систему установив запрет на соединения с IP-адресова, с которых происходит больше пяти попыток подключиться за последние полминуты. Запустить такую схему защиты можно командой:

Аутентификация с использованием SSH-ключей

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

Сначала необходимо сгенерировать этот SSH-ключ. Для чего на локальной рабочей станции (не на сервере) в командной строке нужно набрать:

В процессе генерации ключа вы можете изменить имя файла ключа и его каталог, а также его пароль passphrase , а можете оставить эти настройки по умолчанию:

Скриншот с результатом создания SSH-ключа на локальной Windows-машине при первоначальной настройке VPS с Ubuntu 20.04

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

Подключиться к вашему VPS по SSH:

Убедиться, что вы находитесь в вашей домашней директории:

Или перейти в вашу домашнюю директорию, если вы не в ней:

Теперь создайте каталог .ssh :

Убедитесь, что каталог создан:

И установите для него соответствующие права:

Перейдите в созданный каталог:

И там создайте файл с именем authorized_keys и с правами 600 :

Теперь необходимо открыть его для редактирования. Для использовании редактора nano введите:

Теперь на своей локальной машине найдите файл, в который вы сохранили SSH-ключ (имя этого файла – id_rsa.pub ), откройте его удобным для вас текстовым редактором и скопируйте всё его содержимое (не копируйте при этом пробелы, стоящие после последнего символа).

Скопированный текст нужно вставить в открытый на сервере файл authorized_keys , после чего сохранить изменения в файле и закрыть его (если вы используете nano , нажмите Ctrl+X , Y и Enter ).

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

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

Но и это не всё. Вы можете вообще закрыть доступ к VPS через пароль. Для этого откройте для редактирования конфигурационный файл SSH:

Найдите и раскомментируйте строку PasswordAuthentication , установите её значение в no . После чего, не забудьте сохранить изменения в файле, перед тем как его закрыть (если вы используете nano , нажмите Ctrl+X , Y и Enter ).

Для вступления изменений в силу перезапустите службу SSH:

Теперь вы знаете, как производится первоначальная настройка VPS сервера с Ubuntu 20.04.

Школа хостинга Редактор: Дмитрий Сокол 1432 20 мин Аудио

Начальная настройка системы

На сервере не должно быть установлено каких-либо веб-панелей для его управления.

Для начала работы подключитесь к серверу по SSH.

1. В терминале введите команду, используя свои данные, где 123.123.123.123 адрес вашего сервера:

После успешной авторизации обновите установленные пакеты.

2. Получите список обновлений, а после введите команду:

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


Есть 6 пакетов, доступных к обновлению

3. Обновите пакеты командой:


4. Для продолжения обновления введите “Y” и нажмите Enter.

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


Установка брандмауэра

Следующий шаг настройки вашего сервера - это установка брандмауэра.

1. Чтобы установить брандмауэр, выполните в терминале команду:

Если брандмауэр уже установлен в системе, то вы увидите в терминале следующую информацию:


2. После установки проверьте состояние брандмауэра командой:


Перед активацией брандмауэра необходимо:

  • разрешить все исходящие соединения (чтобы сервер мог получать обновления, а приложения (сайты) имели доступ к другим серверам);
  • запретить все входящие соединения (для повышения безопасности).

Как исключение разрешите входящие соединения для 22 порта ssh или для того порта, который был переназначен для данного вида соединения.

Разрешение всех исходящих соединений:

Запрещение всех входящих соединений:

Разрешение входящего соединений по стандартному порту SSH:

Если стандартный порт SSH был переопределен, то номер порта нужно указать явно:

3. Теперь можно включать брандмауэр. Выполните команду:

В результате появится предупреждение, что выполнение данной команды может нарушить существующие ssh-соединения. Если уверены в правильности настройки, то введите “Y” и нажмите Enter. Если соединение нарушится, то потребуется обратиться в техническую поддержку хостинга за помощью.


Вывод терминала правильной начальной настройки

Чтобы полностью отключить брандмауэр достаточно использовать команду:

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

Добавление пользователя

1. Для добавления пользователя применяется команда:

+ имя пользователя латиницей.

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

2. Далее вам будет предложено системой ввести пароль для пользователя и подтвердить его. Остальные поля можно оставить пустыми.


3. Подтвердите, что информация введена корректно при помощи Y + Enter.
4. Пользователь добавлен. Для него создается домашний каталог в /home.

Для нашего пользователя создался каталог /home/testsite.


В нем мы будем размещать файлы тестового сайта.

Если нужно предоставить созданному пользователю повышенные права (sudo), то выполните следующую команду:

Ключ -aG указывает системе добавить пользователя в соответствующую группу.

Настройка часового пояса

1. Проверьте текущие настройки часового пояса командой:


В настройках указана София

2. Измените настройку на ваш город. В нашем случае - это Киев.

Чтобы узнать правильное название зоны, выполните команду показа списка зон и сделайте фильтр по названию:

timedatectl list-timezones | grep K


3. Установите часовой пояс:

timedatectl set-timezone Europe/Kiev

4. Проверьте изменения:


Настройки изменились на Киев

Установка Apache 2

Для установки Apache 2 выполните команду:

После завершения процесса установки Ubuntu запустит Apache. Веб-сервер уже должен быть запущен. Это можно проверить командой:

Далее нужно перейти в браузер по адресу вашего сервера. Это может быть:

Тестовая страница выглядит следующим образом:


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

Для добавления сервиса в автозагрузку:

Установка PHP

После успешной установки проверьте версию.


Для проверки установленных модулей РНР выполните команду:

Установка MySQL

1. Установите пакет командой:

В случае новой установки MySQL вам необходимо выполнить скрипт безопасности. Он изменяет некоторые настройки по умолчанию на более безопасные, например, удаленный вход для пользователей root и пользователей, созданных по умолчанию.

В результате выполнения этой команды вам будет предложено внести изменения в настройки безопасности вашей MySQL.

2. Установите плагин валидации паролей (Validate Password Plugin), предложенный системой, который позволяет тестировать надежность паролей MySQL.
3. Далее задайте пароль для пользователя root вашей установки MySQL. Выберите надежный пароль и введите его два раза.

Если ввести такой же пароль как и root-пароль сервера, то входить в оболочку MySQL можно будет без ввода пароля. Он будет вводиться автоматически.

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

Пример входа в оболочку, если пароли совпадают:

Если не совпадают:

Далее вам будет предложено ввести пароль.

Чтобы проверить работоспособность MySQL, выполните команду:


Если MySQL-сервис находится в неактивном состоянии, то его нужно запустить командой:

Далее создайте базу данных и пользователя для нее.

Войдите в оболочку MySQL:

Команда создания базы данных:


CREATE USER 'test_user'@'localhost' IDENTIFIED BY '4MW2k24TM4f';


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

GRANT ALL PRIVILEGES ON test_db.* TO 'test_user'@'localhost';

База данных и пользователь создан.

Выйдите из оболочки MySQL:

Теперь можно входить в оболочку под созданным пользователем:

Добавление нового виртуального хоста

Далее добавляем виртуальный хост для нашего сайта.

1. Создайте директорию для сайта:

2. Перейдите в директорию:

3. Создайте конфиг для apache2:

4. Откроется текстовый редактор Nano.


ServerName testsite.localhost
ServerAdmin info@testsite.localhost
DocumentRoot /home/testsite/www

Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted

5. Для сохранения нажмите Ctrl+O.

6. Далее необходимо согласиться и выйти.

После этого включите созданный сайт.

7. Выполните команду:

Сайт будет включен, и система вам подскажет, что нужно перезапустить Apache 2.

8. Перезапустите Apache 2:

9. Перейдите в каталог с сайтом:

10. Создайте индексный файл index.php:

Хостинг-эксперт (опыт работы 13 лет) Основная специализация - составление обзоров хостинг-провайдеров, написание статей и составление рейтингов. Верит, что невозможное - возможно и убеждает всех: "круто делай - круто получится!".







От панели управления зависит ваше удобство в настройке хостинге\сайта.

Большинство качественных хостингов из нашего ТОПа используют удобные панели управления, поэтому рекомендуем больше внимания уделить другим параметрам при выборе.

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

Виртуальный хостинг - подходит для большинства проектов начального уровня с посещаемостью до 1000 человек в сутки. В таком хостинге мощность сервера делится между несколькими хостинговыми аккаунтами. Услуга проста в настройке даже для новичков.

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

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

Размещение и обслуживание вашего собственного сервера в дата-центре хостинга - это не очень популярная услуга и требуется в исключительных случаях.

  • Облачный хостинг
  • Виртуальный хостинг
  • VPS/VDS
  • Выделенный сервер
  • Размещение сервера
  • CDN

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

Виртуализация - это создание виртуальной среды на физическом сервере, позволяющая запускать требуемые ПО без затрагивания процессов, совершаемых другими пользователями сервера. С её помощью ресурсы физического сервера распределяются между виртуальными (VPS/VDS). Основные виды: аппаратная (KVM), паравиртуализация, виртулизация на уровне ОС (OpenVZ).

Абузоустойчивый хостинг - компании, которые разрешают размещать практически любой контент, даже запрещенный (спам, варез, дорвеи, порнографические материалы). Такие компании не удаляют контент вашего веб-сайта при первой же жалобе (“абузе”).

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

Безопасный хостинг - тот, где администрация постоянно обновляет ПО установленное на серверах, устанавливает базовую защиту от DDoS-атак, антивирус и файерволлы, блокирует взломанные сайты и помогает их "лечить".

Защита от DDOS - компании, которые предоставляют хостинг с защитой от DDoS-атак. Такие пакеты ощутимо дороже обычных, но они стоят своих денег, так как ваш сайт будет защищен от всех видов сетевых атак.

  • Абузоустойчивый хостинг
  • Безлимитный хостинг
  • Безопасный хостинг
  • Черный список
  • Защита от DDOS
  • Конструктор сайтов
  • Партнерские программы
  • Реселлинг хостинга

Тестовый период - предоставляется хостером бесплатно на 7-30 дней, чтобы вы могли удостовериться в его качестве.

Moneyback - период на протяжении которого хостер обязуется вернуть деньги, если вам не понравится хостинг.

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

Также мы собрали тарифы от тысяч хостеров, чтобы вы могли выбрать хостинг по конкретной цене.

  • Дешёвый хостинг
  • Дешевый VPS-хостинг
  • Цена-Качество
  • Дорогой хостинг
  • Бесплатный хостинг
  • VPS/VDS посуточно

На языке программирования PHP и базах данных MySQL сейчас работает большинство сайтов. Они же поддерживаются практически всеми современными хостингами.

ОС - операционная система, установленная на сервере хостинга. Мы рекомендуем размещать на серверах с Linux, если нет особых требований у разработчиков сайта.

Вам, вероятно, часто придется получать доступ к удаленным серверам, чтобы администрировать, управлять, и диагностировать и существует несколько способов сделать это. Можно использовать telnet для входа в систему к удаленным серверам; FTP позволяет передавать файлы между различными серверами. Однако эти программы не достаточно безопасны для соединения с критическими серверами. SSH, безопасная оболочка является криптографическим использованием сетевого протокола, которое Вы можете надежно сервисы сети доступа по незащищенной сети. SSH позволяет Вам серверам доступа через Терминальные и различные функции командной строки. Полезно, если Вы хотите получить доступ и администрировать сервер удаленно с помощью безопасного пути.

В этой статье я собираюсь описать, как можно удаленно управлять сервером Linux с SSH.

Для этой статьи я использую следующие машины:

  • Для сервера SSH – Ubuntu 18.04 TLS
  • Для клиента SSH – терминал (Ubuntu) и шпаклевка (Windows)

Установление соединения SSH

До установления безопасного удаленного соединения с сервером Ubuntu с помощью SSH необходимо отвечать некоторым основным требованиям.

Предпосылки

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

  • Удаленный сервер должен быть включен и иметь соединение устойчивой сети.
  • Вы потребуете IP-адреса сервера.
  • Удаленный сервер должен быть доступным через тот IP. Можно протестировать его с помощью команды Ping.
  • Сервер SSH и клиентские инструменты SSH должны быть установлены и в сервере и в клиенте ОС соответственно.
  • Вы потребуете имени пользователя и пароля удаленного сервера.
  • Брандмауэр не должен блокировать соединение.

Установка сервера OpenSSH

Для управления сервером Ubuntu удаленно через SSH Вам будет нужно программное обеспечение сервера SSH. Однако прежде, чем продолжиться для установки OpenSSH, во-первых, обновления и обновлять список пакетов для получения самых актуальных репозиториев.

База данных пакета обновления

Нажмите Ctrl + Высокий звук + T для запуска Терминала в Ubuntu. Введите следующую команду в Терминал для обновления базы данных пакета.


Обновите установленные пакеты

После обновления репозиториев, выполненных эта команда в Терминале для проверки на обновление для установленных пакетов.


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


Конфигурирование сервер SSH

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


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

Под номером порта добавьте строку MaxAuthTries. Можно ввести здесь любой номер, который позволит максимальное количество попыток входа в систему.

MaxAuthTries 4


После того, как сделанный с базовой конфигурацией, сохраните файл и выйдите из редактора Nano.

Проверьте сервисное состояние SSH

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


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

Теперь сервер SSH настраивается для принятия удаленных соединений от различных компьютеров с помощью клиента SSH.

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

Можно также остановить сервис SSH путем выполнения следующей команды в Терминале:

Доступ к Ubuntu сервер Linux через клиент SSH

Можно получить доступ к серверу Linux через клиент SSH в Linux или основанной на Windows ОС:

  1. Через терминал (Linux)
  2. Через шпаклевку (Windows)

При использовании операционной системы Linux можно получить доступ к серверу SSH с помощью Терминальной программы.

Нажмите Ctrl+Alt+T для запуска Терминала. Выполните команду в ниже синтаксиса для доступа к удаленному серверу:

$ ssh [удаленный сервер] [Номер порта]

Где [удаленный сервер] является названием удаленного сервера, или IP и [Номер порта] являются удаленным портом для соединений SSH.

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

$ ssh [имя пользователя] [удаленный сервер] [Номер порта]

Где [имя пользователя] является именем пользователя удаленного сервера.


Когда запрошено пароль, введите пароль удаленного пользователя.


Теперь Вы подключены к удаленному серверу. Можно выполнить любую команду и использовать ее тот же путь, как Вы получаете доступ к локальному серверу.

Соединитесь с Ubuntu из Windows с помощью Шпаклевки клиент SSH

При использовании операционной системы Windows можно использовать шпаклевку в качестве клиента SSH.

Шпаклевка установки в Вашем Окне ОС. Запустить Шпаклевку, шпаклевку Типа в панели поиска Windows, и выбрать putty.exe из лучших результатов соответствия.

В окне конфигурации шпаклевки, под категорией сессии, IP-адресом типа удаленного сервера в поле, маркированном как Имя узла (или IP-адресом).

От типа соединения установите переключатель SSH. При использовании порта кроме порта по умолчанию 22 удостоверьтесь, что изменили его, иначе оставляют порт по умолчанию 22. Тогда нажмите на Open для разрешения соединения.


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


После успешного входа удаленного сервера можно выполнить любую команду для управления им.

Это - то, как можно легко подключить серверы Linux с помощью SSH. Теперь Вы в состоянии управлять и администрировать сервер удаленно. SSH не является только безопасным методом соединения с сервером, но также и удобный.

Welcome

В результате файл “/var/www/sites/site1/index.html” будет содержать одну html-строку:

Welcome

3. Конфигурация Apache-сервера

Конфигурационные файлы сайтов находятся в каталоге “/etc/apache2/sites-available/”. Создадим конфигурационный файл для нового виртуального хоста взяв за основу конфигурацию по умолчанию из файла “000-default.conf”

cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf

Откроем файл “site1.conf” и изменим параметр “DocumentRoot”. В качестве значения нужно указать путь к новому сайту, в нашем случае это “/var/www/sites/site1”

Настрйока и конфигурация Apache-сервера

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

a2dissite 000-default
a2ensite site1
systemctl reload apache2

Настройка HTTP-сервера

Настройка FTP-сервера

1. Установка

Устанавливаем ftp-сервер и дополнительный пакет “db-util”, который потребуется для настройки виртуальных пользователей.

apt install vsftpd db-util

2. Создание локальной учетной записи

Сервер vsftpd позволяет очень гибко настраивать права доступа. Для решения наших задач ftp-пользователям необходимо обеспечить следующие возможности:

  • полный доступ к содержимому директории “/var/www/sites/”;
  • невозможность выхода за пределы директории “/var/www/”;
  • подключение с использованием виртуальной учетной записи;

Создадим локальную учетную запись “virtual” без возможности входа в систему, с домашней директорией “/var/www/”. Эта учетная запись будет использоваться для подключения виртуальных ftp-пользователей.

useradd -d /var/www virtual

По умолчанию, владельцем директории “/var/www” является “root”. Для того, того, чтобы ftp-пользователи могли изменять содержимое сайтов, изменим владельца каталога “/var/www/sites/”, включая вложенные папки на “virtual”.

chown -R virtual:root /var/www/sites

В результате изменения прав, пользователь “virtual” сможет просматривать содержимое каталога “/var/www/” и записывать во вложенный каталог “/var/www/sites/”

3. Конфигурация

Основная конфигурация хранится в файле “/etc/vsftpd.conf”, приводим его к следующему виду:

4. Создание базы данных

База данных необходима для хранения виртуальных учетных записей.

Предварительно создадим в домашнем каталоге простой текстовый файл “users.txt” и запишем логины и пароли виртуальных пользователей в чередующиеся строки. Например нам нужен виртуальный пользователь с логином “ftp” и паролем “Qwe123”, тогда содержимое файла будет таким:

Создаем базу данных

db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db

Меняем стандартное содержимое PAM файла “/etc/pam.d/vsftpd” на следующие строки.

auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login

Обратите внимание, что в различных дистрибутивах расположение библиотеки “pam_userdb.so” может отличаться, при необходимости путь к файлу нужно скорректировать.

Для применения изменений перезагружаем vsftpd сервер.

systemctl restart vsftpd

Настройка FTP-сервера завершена.

Данные для подключения:

  • ftp://[ip_адрес_сервера]
  • Логин: ftp
  • Пароль: Qwe123

Настройка PHP-сервера

1. Установка

На текущий момент последней стабильной версией PHP является php 7.4.5, которая отсутствует в официальных репозиториях Ubuntu. Подключим сторонний репозиторий и установим последнюю версию PHP.

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

2. Проверка

Для того, чтобы PHP код мог быть исполнен, файл веб страницы должен иметь расширение “.php”. Переименовываем тестовою страницу

cd /var/www/sites/site1/
mv index.html index.php

Добавляем в файл “/var/www/sites/site1/index.php” строку php-кода. В результате содержимое файла будет таким:

Welcome

Сохраняем изменения и проверяем результат в браузере.

Настройка PHP-сервера

Если вы видите результат работы функции “phpinfo()”, значит интерпретатор PHP работает корректно. Приступаем к следующему этапу.

Настройка MySQL (MariaDB)

1. Установка

Устанавливаем MariaDB и PHP-модуль для работы с MySQL, после завершения установки перезагружаем Apache

apt install mariadb-server php-mysql
systemctl restart apache2

Для проверки обновим тестовую страницу и в таблице с конфигурацией PHP и перейдем к разделу PDO. Наличие секции “PDO_mysql” говорит о корректной установке драйвера для работой с базой данных Mysql.

Настройка и установка MySQL на сервер

Для дальнейшей работы необходимо выполнить первоначальную настройку безопасности MariaDB, во время которой для пользователя “root” устанавливается пароль, запрещается удаленный вход и удаляются гостевые учетные записи.

На первом шаге необходимо ввести пароль пользователя "root" для входа в СУБД или нажать Enter, если пароль не задан. Так как после установки учетная запись "root" не имеет пароля, нажимаем “Enter”.

Обратите внимание, что в MariaDB существуют собственные учетные записи, которые не имеют отношения к учетным записям операционной системы. Речь идет о пользователе "root" в MariaDB.

 MySQL: Создание пользователя и установка пароля

Далее конфигуратор предложит задать пароль для пользователя root, нажимаем “y” для подтверждения и вводим новый пароль, в нашем случае “Qwe123”

 MySQL: установка пароля и доступа пользователей

На все последующие запросы просто нажимаем “y” до окончания настройки.

Данные для входа в MariaDB:

Настройка phpMyAdmin

1. Установка

Устанавливаем обязательное PHP-расширение mbstring.

apt install php-mbstring

В официальном репозитории размещена устаревшая версия phpMyAdmin, поэтому выполним установку в ручном режиме.

Копируем архив на сервер в каталог “/var/www/sites/” используя любой ftp-клиент.

Распаковываем архив, и для удобства, переименовываем извлеченную папку в “phpMyAdmin”. Для распаковки zip-архива предварительно установим утилиту “unzip”. После распаковки архив можно удалить.

apt install unzip
cd /var/www/sites/
unzip phpMyAdmin-5.0.2-all-languages.zip
mv phpMyAdmin-5.0.2-all-languages phpMyAdmin
rm phpMyAdmin-5.0.2-all-languages.zip

Создаем папку “/var/www/sites/phpMyAdmin/tmp” для хранения временных файлов с полными доступом для всех. Если этого не сделать phpMyAdmin сообщит об отсутствии доступа в временной папке.

cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp

2. Создание псевдонима

Так как phpMyAdmin не является отдельным виртуальным хостом и находится за пределами корневой директории сайта, настроим псевдоним для возможности доступа.

Открываем файл “/etc/apache2/mods-available/alias.conf” и вставляем строку

Alias /pma “/var/www/sites/phpMyAdmin"

Создание псевдонима в phpMyAdmin

Перезагружаем конфигурацию Apache для применения изменений.

systemctl reload apache2

3. Подготовка базы данных

Так как при первоначальной настройке MariaDB мы запретили использование учетной записи root для удаленного подключения, необходимо создать новую учетную запись с полными правами, которая будет использоваться для входа в phpMyAdmin.

Кроме того, для работы дополнительных функций phpMyAdmin необходима служебная база данных и учетная запись для доступа к ней.

Создадим учетные записи

mariadb -u root -p

GRANT ALL PRIVILEGES ON *.* TO 'pma'@'localhost' IDENTIFIED BY 'Qwe123' WITH GRANT OPTION;

GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO 'pmaservice'@'localhost' IDENTIFIED BY 'Qwe123' WITH grant option;

Обратите внимание, что имя базы данных во втором запросе заключено в обратные апострофы: “… ON `phpmyadmin`.* TO 'pma'@'localhost' IDENTIFIED BY …”,

В результате в MariaDB будет создано две учетные записи:

  1. Логин: pma, пароль: Qwe123
    Учетная запись имеет полные права и будет использоваться для входа в phpMyAdmin
  2. Логин: pmaservice, пароль:Qwe123
    Служебная учетная запись необходимая для работы дополнительных функций.

На следующем шаге эти учетные данные должны быть указаны в конфигурационном файле “config.inc.php”

Далее необходимо импортировать базу данных из файла “phpMyAdmin/sql/create_tables.sql”. Выполним импорт средствами phpMyAdmin.

Вводим логин “pma”, пароль “Qwe123”

Переходим на вкладку “Импорт”, нажимаем кнопку “Выберите файл” и выбираем файл ”sql/create_tables.sql” в корневой директории phpMyAdmin. Предполагается что на локальном компьютере существует папка с файлами “phpMyAdmin”, если необходимо, распакуйте архив.

Настройка phpmyadmin

4. Конфигурация

Копируем файл конфигурации из шаблона

cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php

Открываем конфигурационный файл “/var/www/sites/phpMyAdmin/config.inc.php” и вносим следующие изменения:

  1. Задаем произвольное значение длиной 32 символа для параметра “$cfg['blowfish_secret']”. Можно воспользоваться любым генератором паролей.
  2. Снимаем комментарии со всех строк раздела “phpMyAdmin configuration storage settings” и указываем для параметров “controluser” и “controlpass” логин и пароль служебной учетной записи MariaDB, созданной на предыдущем шаге. В нашем случае логин - pmaservice, пароль - Qwe123

Сохраняем изменения. Настройка завершена.

Данные для входа в phpMyadmin:

Установка и настройка WordPress на сервер Linux

1. Размещение файлов дистрибутива WP

Установка Wordpress на сервер: скачиваем дистрибутив WP

Установка Wordpress на сервер: скачиваем дистрибутив WP

Загружаем архив на сервер в каталог “/var/www/sites/” и распаковываем, файлы будут извлечены в папку “wordpress”.

Копируем содержимое папки “/var/www/sites/wordpress/” в корневую директорию сайта “/var/www/sites/site1/”

Так как копирование файлов выполнялось из консоли с root-правами еще раз изменяем владельца каталога “/var/www/sites/”, включая содержимое на virtual. Это нужно для восстановления полного доступа при подключении через ftp-клиент.

cd /var/www/sites/
tar -xzvf wordpress-5.4-ru_RU.tar.gz
cp -R wordpress/* site1/
chown -R virtual:root /var/www/sites

2. Создание базы данных для WordPress

Создание базы данных для WordPress

Выделяем в левой части окна созданную БД и нажимаем кнопку “Привилегии”

Создание базы данных для WordPress

Далее нажимаем “Добавить учетную запись пользователя”.

Добавляем учетную запись пользователя в базе данных для WordPress

3. Конфигурация WP на сервере под Linux

Переходим в корневую директорию сайта и копируем из шаблона конфигурационный файл.

cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php

Открываем файл “wp-config.php” и вводим параметры подключения к базе данных, созданной на предыдущем шаге и сохраняем изменения.

Настройка базы данных для WordPress

4. Установка CMS WordPress

Заполняем предложенные поля и нажимаем “Установить WordPress” Имя пользователя и пароль указываем произвольные, в нашем случае логин - wpadmin, пароль - Qwe123

Как установить локальный сервер на Ubuntu

В этой статье я хочу рассказать о том, как установить локальный сервер на ubuntu. Под Windows мы уже устанавливали локальный сервер — Denwer.

Теория и практика

Первым делом вам необходимо скачать и установить набор lamp(Linux Apache MySQL PHP). Для этого в консоли введите последовательно следующие команды:

sudo apt-get update

sudo apt-get install tasksel

sudo tasksel install lamp-server

Во время установки вас попросят ввести пароль для базы данных MySQL.

Когда сервер установлен им можно управлять с помощью следующих команд:

sudo /etc/init.d/apache2 start — запуск локального сервера

sudo /etc/init.d/apache2 stop — остановка сервера

sudo /etc/init.d/apache2 restart — перезапуск apache

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

sudo a2enmod rewrite

sudo a2enmod userdir

Затем необходимо создать файл с названием нашего сайта в следующей директории:

sudo gedit /etc/apache2/sites-available/test1

А в этом файле прописать следующие строки(не забудьте изменить имя пользователя "user" на имя своего пользователя в системе):

Как на фото ниже:

Добавление виртуального хоста

После сохранения данного файла в домашнем каталоге создаем папку "sites":

Создаем в домашнем каталоге папку sites

Создаем папку нашего сайта

А у уже внутри данной папки размещаем необходимые нам файлы:

Размещаем файлы нашего сайта

После нам необходимо отредактировать файл host. Для этого в консоли пишем
sudo gedit /etc/hosts :

Изменения в файле hosts

Осталась совсем малость. Осталось запустить данный сайт командой
sudo a2ensite test1 . А затем перезапустить денвер

Читайте также: