Debian gnu linux server

Запуск LAMP-сервера на Debian 10.10 и Ubuntu Server 21.04

Краткая инструкция по быстрой установке и настройке веб-сервера в связке Debian GNU/Linux 10.10 или Ubuntu Server 21.04, Apache HTTP Server, PHP и MariaDB (MySQL).

Установка сервера баз данных

Для начала необходимо установить MariaDB (MySQL) сервер. В подавляющем большинстве веб-сайтов это — один из главных шагов, без которого нет смысла запускать проект.

Ниже приведены несколько команд, которые помогут запустить сервер БД на начальном этапе:

# apt install mariadb-client mariadb-server # /usr/bin/mysql_secure_installation # systemctl status mariadb

Состояние должно быть в активном режиме.

Установка веб-сервера

Теперь необходимо установить Apache HTTP Server

Возможно, в Ubuntu Server понадобится ещё установить пакет apache2-ssl

# sudo systemctl status apache2

Состояние должно быть в активном режиме.

На другой машине в сети открываем браузер и в адресной строке впишем адрес сервера:

http://IP-адрес-сервера

Должна отображаться страница по умолчанию.

Для активации SSL необходимо включить модуль ssl и активировать соответствующую страницу по умолчанию

# sudo /usr/sbin/a2enmod ssl # sudo /usr/sbin/a2ensite default-ssl

Далее перезапускаем службу apache2

# systemctl restart apache2

Возвращаемся на другую машину в сети в браузер и проверяем работу SSL

Настройка виртуальных хостов

Перед созданием виртуальных хостов необходимо убедиться в наличии соответствующих A или AAAA записей на DNS-сервере. Эти записи создаются в личном кабинете в панели управления регистратора доменных имён, или на собственном DNS-сервере https://dondub.com/tag/nameserver/.

Создадим директории для хранения файлов сайтов ws30.local и test.ws30.local

# mkdir /var/www/ws30.local /var/www/ws30.local/html /var/www/test.ws30.local /var/www/test.ws30.local/html

и создадим соответствующие файлы конфигураций для обычных сайтов и SSL

# cd /etc/apache2/sites-available/ # touch ws30.local.conf ws30.local.ssl.conf test.ws30.local.conf test.ws30.ssl.local

Теперь откроем файл для сайта ws30.local

 ServerName www.ws30.local ServerAlias ws30.local ServerAdmin webmaster@localhost DocumentRoot /var/www/ws30.local/html ErrorLog $/error.log CustomLog $/access.log combined 

затем SSL для него же:

  ServerAdmin webmaster@localhost ServerName www.ws30.local ServerAlias ws30.local DocumentRoot /var/www/ws30.local/html ErrorLog $/error.log CustomLog $/access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key SSLOptions +StdEnvVars SSLOptions +StdEnvVars  

а также для test.ws30.local

 ServerName test.ws30.local ServerAlias test.ws30.local ServerAdmin webmaster@localhost DocumentRoot /var/www/test.ws30.local/html ErrorLog $/error.log CustomLog $/access.log combined 
# nano test.ws30.local.ssl.conf
  ServerAdmin webmaster@localhost ServerName test.ws30.local ServerAlias test.ws30.local DocumentRoot /var/www/test.ws30.local/html ErrorLog $/error.log CustomLog $/access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key SSLOptions +StdEnvVars SSLOptions +StdEnvVars  
# /usr/sbin/a2ensite ws30.local # /usr/sbin/a2ensite ws30.local.ssl # /usr/sbin/a2ensite test.ws30.local # /usr/sbin/a2ensite test.ws30.local.ssl

и перезапускаем службу apache2

Читайте также:  Tail on file linux

http://ws30.local

https://ws30.local

http://test.ws30.local

https://test.ws30.local

Подключение SSL сертификатов

Один из самых эффективных способов настройки SSL-сертификатов — это через специализированные сервисы. Например — Certbot. Там находится инструкция по установке и настройке сертификатов.

Похожие посты:

Источник

Настройка сервера на Debian 9

Установка debian на живой сервер или на виртуалку Virtual Box, настройка сети

Начнём с VirtualBox. Установка виртуальной машины стандартная, о ней уже рассказывалось в статье Установка Debian 9.3 — пошаговая инструкция

При установке имеется небольшая разница относительно того, какая операционная система установлена — Windows или unix системы.

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

Указываем имя Debian сервер, virtualbox сам выбирает операционную систему Linux Debian (он по названию определит).

установим debian на виртуальную машину

Заходим в настройки и загружаем образ предварительно скачанные с сайта — www.debian.org/distrb/

Скачивать нужно дистрибутив net Install, что означает установка по сети, дистрибутив весит около 250 МБ, он достаточно быстро скачивается. Пакеты и программное обеспечение будет доустанавливаться по сети. Т.е. если у вас нет интернета, дистрибутив net Install вам не подойдёт, и нужно скачивать полную версию.

в носителях добавляем виртуальный образ debian-9.3.0 (iso)

Заходим в настройке, выбираем накопители, и в контроллере IDE 10 монтируется образ ISO. Далее стартуем сервер. В открывшемся меня нажимаем Install. Подробная установка Debian рассмотрена здесь. После завершения установки перезагружаем сервер.

Установка SSH

SSH (от англ. Secure Shell «безопасная оболочка») представляет собой сетевой протокол для соединения по сети Internet, который позволяет выполнять удалённое управление системой. Имеется бесплатная модификация SSH, которая именуется OpenSSH и включена в пакет ssh Debian.

Подключиться к серверу через ssh (с компьютера под управлением unix подобной операционной системы)

Знакомство с командной строкой и протоколом ssh, sftp, настройка доступов по ключам (вместо паролей), root доступ

Базовые утилиты: su ls pwd cp scp locate updatedb which

Команда cd означает change directory (сменить директорию)

su – Superuser (суперпользователь).

Если мы находимся под логином текущего пользователя, то прописав su + имя пользователя, можно зайти в систему с правами root. Root имеет доступ ко всем папкам, может запускать и удалять всё что угодно, поэтому от имени суперпользователя необходимо работать внимательно и осторожно.

ls – показывает содержимое папки.

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

Читайте также:  Pkg файлы в linux

Сочетание клавиш

Ctrl+c отменяет запущенный процесс

Ctrl+d разлогиниться

Настройка сети

Для того, чтобы наш сервер стал доступен из нашей операционной системы, например, для того, чтобы из Windows зайти на свой сервер, через пути или просто пинговать его, или просто зайти в браузер. Выключаем сервер правильным способом (команда halt). Включаем питание в виртуально машине, идем в настройки – сеть — включаем режим моста, выбираем подключение.

Сейчас IP адрес у сервера будет такой же, как и у компьютера.

Вводим ip a — посмотреть все интерфейсы и их IP адреса.

Таким образом можно сделать пинг со своего компьютера. Теперь можно заходить на сервер с компьютера. Система запросит подтверждение на добавление публичного ключа сервера в систему. Теперь консоль от virtualbox уже не нужна и ее можно просто свернуть, теперь можно заходить в систему через ssh клиент, как будто бы выполняется заход на сервер удаленно.

Потребуется отредактировать следующий файл:

Пример config для ручной настройки IP:

# The loopback network interface

auto lo

iface lo inet loopback

# The primary network interface

allow-hotplug eth0

iface eth0 inet static

address 10.0.0.10

netmask 255.0.0.0

network 10.0.0.0

broadcast 10.255.255.255

gateway 10.0.0.1

# dns-* options are implemented by the resolvconf package, if installed

dns-nameservers 10.0.0.1

dns-search debian

Публичные ключи

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

На сервер нужно загрузить публичный ключ (приватный ключ хранится только у нас на компьютере).

Если ключ, который вы желаете использовать, уже имеется перейдите к разделу «Копирование публичного ключа».

Для создания пары (pair) ключей, пропишите команду в терминале вашего компьютера:

Ключ будет сгенерирован в текущем каталоге пользователя в папке …/.ssh/id_rsa.

Этот файл необходимо держать у себя на компьютере.

Чтобы зайти на аккаунт под публичным ключом нужно создать файл .ssh/authorized_keys

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

Читайте также:  Linux opened files limit

Закрываем файл сочетанием клавиш ctrl+x. Сохраняем – y.

Теперь попробуем зайти на сервер:

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

Псевдонимы в Unix ssh/config

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

В папке ssh создается файл config, в нем прописывается хост, придумывается псевдоним. Теперь можно сразу заходить с помощью псевдонима под логином и паролем.

Знакомство с менеджером пакетов apt и принципом установки приложений

Что такое .deb пакеты в Debian?

Это файлы, подобные MSI файлам в Windows. То есть это набор файлов и мета-данных для установки того или иного определённого приложения. Там хранится скомпилированный бинарник уже сразу под вашу операционную систему. Например, если установлена 64 битная Debian версия 9.3, то значит в этом в пакете будет именно этот бинарный файл для установленной системы.

Вся установка deb пакетов означает скопировать бинарник в одну папку, config в другую папку, ну и попросить какие-то зависимости, без которых эта программа не запустится.

В Debian по умолчанию установлена системная программа dpkg, которая при установке системы ставит приложения. Существует принципиальное отличие dpkg и apt.

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

Утилита apt автоматически всё продумывает, необходимые зависимости она установит.

apt-get – это менеджер пакетов, который устанавливает deb пакеты и автоматически устанавливает все нужные зависимости. То есть если нужен, к примеру, PHP с поддержкой xml или ещё с чем-то, то apt-get автоматически устанавливает целый комплект нужных программ (это своего рода как AppStore для для iOS).

Установка утилит mc

Попробуем установить полезную утилиту mc, она часто используется для работы сервера. Она представляет собой популярный 2х-панельный файловый менеджер Midnight Commander.

Добавляем пользователя в группу root

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

Установка и настройка окружения nginx, php-fpm, mysql;

Устанавливаем nginx php5 и mysql-server:

sudo apt-get install nginx

sudo apt-get install php5-fpm php5-mysql

Настройка nginx

sudo cp /etc/nginx/sites-available/default

Источник

Оцените статью
Adblock
detector