Архив рубрики: Сервер

Все, что нужно знать о настройке, управлении и оптимизации серверных операционных систем, таких как Linux и Windows Server. Мы рассмотрим их ключевые особенности, сферы применения и лучшие практики для поддержания их стабильной и безопасной работы. В этой рубрике вы найдете практические материалы, которые помогут вам освоить обе эти системы, обеспечивая высокую работоспособность и безопасность ваших серверов независимо от выбранной платформы.

Лучшие прокси серверы Linux

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

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

Лучшие дистрибутивы Linux для сервера

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

Но существует огромное количество дистрибутивов Linux и нужно выбрать какой из них лучше подходит именно для вашего проекта. Каждый Linux дистрибутив имеет свои особенности и преимущества, а также недостатки. В этой статье мы рассмотрим лучшие дистрибутивы Linux для сервера.

Читать далее Лучшие дистрибутивы Linux для сервера

Установка Nginx Ubuntu

На данный момент самую большую популярность набрали два веб-сервера. Это Apache и Ngnix. У каждого из них есть свои плюсы и минусы. Apache был разработан еще в 1995 году и при его разработке учитывались не все возможные потребности пользователей, он потребляет много памяти и ресурсов системы, зато он прост в настройке. Nginx был разработан чуть позже в 2002 году уже учитывая ошибки Apache и ориентируясь на максимальную производительность.

Мы не будем подробно вникать в плюсы и минусы этих обоих веб-серверов. У каждого из них своя область применения.  В этой инструкции будет рассмотрена установка Nginx в Ubuntu. Хотя я буду говорить об Ubuntu, все действия подойдут и для других дистрибутивов. Настройка Nginx везде одинакова, только команда установки отличается.
Читать далее Установка Nginx Ubuntu

Настройка NFS в Ubuntu

Сетевая файловая система NFS или Network File System, это популярный протокол сетевой файловой системы, который позволяет пользователям подключать удаленные сетевые каталоги на своей машине и передавать файлы между серверами. Вы можете использовать дисковое пространство на другой машине для своих файлов и работать с файлами, расположенными на других серверах. По сути, это альтернатива общего доступа Windows для Linux, в отличие от Samba реализована на уровне ядра и работает более стабильно.

В этой статье будет рассмотрена установка NFS в Ubuntu. Мы разберем установку всех необходимых компонентов, настройку общей папки, а также подключение сетевых папок.
Читать далее Настройка NFS в Ubuntu

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

Apache - это популярнейший свободный веб-сервер. Состоянием на 2020 год он используется на 33% всех сайтов интернета, а это приблизительно 304 миллиарда сайтов. Этот веб-сервер был разработан в далеком 1995, как замена для популярного тогда сервера NCSA и исправил множество его проблем. Ходят слухи что его имя походит от a patchy, заплатка, так как он исправлял ошибки NCSA. Сейчас же, это кроссплатформенная программа, поддерживающая Windows, Linux и MacOS и обеспечивающая достаточную гибкость, настраиваемость и функциональность. Программа имеет модульную структуру, что позволяет расширять ее функциональность почти до бесконечности с помощью модулей.

Установить Apache в Linux можно с помощью нескольких команд, но программа предоставляет очень большое количество настроек, которые можно изменить, а также модулей, после включения которых она будет работать лучше. В этой статье будет рассмотрена установка и настройка Apache, в качестве основной системы мы будем использовать Ubuntu, но вы можете повторить эти действия в любом другом дистрибутиве. Будет рассмотрена не только установка самой программы, но и способы ее настройки, настройка виртуальных хостов apache, а также самые полезные модули.
Читать далее Установка и настройка сервера Apache

Установка LAMP Ubuntu 16.04

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

Сегодня мы поговорим о LAMP. На самом деле это не программа, это стек программ с открытым исходным кодом, необходимых для работы веб-сайтов. Название формальное и происходит от первых букв названий входящих туда программ: Linux, Apache, MySQL, PHP - а вместе LAMP, это те программы, которые нужно установить и настроить, для того, чтобы начать разрабатывать сайты или веб-приложения на домашнем компьютере. Linux - тут всё понятно, это наша операционная система, Apache - веб-сервер, MySQL - программа для управления базами данных, PHP - на данный момент самый популярный язык для веб-программирования.

В этой инструкции будет рассмотрена установка LAMP Ubuntu 16.04. Мы рассмотрим, как установить Apache 2.4, MariaDB в качестве базы данных MySQL и самую новую версию языка PHP 7. Для начала будет выполнена установка Apache Ubuntu 16.04, так как это главный компонент всей системы, а уже потом подключим к нему дополнительные компоненты.
Читать далее Установка LAMP Ubuntu 16.04

Узнаем модель материнской платы в Linux

Захотелось мне на сервере процессор поменять, но как узнать какой сокет у материнской платы в терминате линукса, не разбирая сервака? Всё очень просто. Выполняем команду:

dmidecode

Установка Samba сервер на Debian и Ubuntu

Samba — программа, которая позволяет обращаться к сетевым дискам на различных операционных системах по протоколу SMB/CIFS. Имеет клиентскую и серверную части.
Samba предоставляет службы файлов и печати для различных клиентов Microsoft Windows и может интегрироваться с операционной системой Windows Server, либо как основной контроллер домена (PDC), либо как член домена. Она также может быть частью домена Active Directory.

1) Устанавливаем самбу на Debian/Ubuntu

sudo apt-get install libcups2 samba samba-common

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

2) Добавим пользователя и создадим нужные каталоги.
Добавим пользователя user10 в систему
*вместо user10 впишите свое.

sudo adduser user10

и вводим пароль для него.

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

sudo smbpasswd -a user10

и вводим пароль для пользователя user10

Создаем каталоги, создадим два каталога, первый будет доступен только пользователю, второй будет общей шарой.

sudo mkdir /home/share/
sudo mkdir /home/share/share

назначим права на созданные каталоги

sudo chmod 777 /home/share/share

3) Добавляем информацию о каталогах в конфиг.

sudo nano /etc/samba/smb.conf

и в самый низ добавляем следующие

[homes]
comment = Home Directories    browseable = no    valid users = %S    writable = yes create mask = 0700    directory mask = 0700

[share]
comment = All users upload and download path = /home/share/share create mode = 0777 directory mask = 0777 available = yes browsable = yes public = yes writable = yes

и перезапускаем Samba server

sudo /etc/init.d/samba restart

4) После чего в сетевом окружении Windows появится ПК с хостнеймом сервера, что бы зайти на него нужно ввести имя и пароль пользователя которого Вы создали в шаге 2.

Debian, LAMP (linux+apache+php+mysql). Размещаем свой первый сайт.

Данная статья является статьей цикла «Установка LAMP одной командой»

Сразу оговорюсь, что идеология всего последующего мануала рассчитана на то, что вы — единственный администратор сервера. Нет, конечно же, вы можете использовать такую конфигурацию с друзьями. Но не пытайтесь использовать её совместно с теми, кому вы не доверяете. Например, клиентами.
Идеология безопасности в данном случае построена на стандартных настройках вашего дистрибутива, которые могут не кореллироваться с идеологией криворуких PHP программистов.
Хотя, за пару лет использования такой схемы я не находил никаких проблем. Но в теории, при выполнении «тыщиусловий» они возникнуть могут.

В обмен на это мы получаем максимально беспроблемное решение в плане «а вот эта CMS тут работать будет или нет?». Ну то есть фактически, я не встречал ни единой проблемы с тем, чтобы что-то не заработало. Под эту конфигурацию пишут почти все PHPники (кроме PHPшников с большой и светлой кармой, пишуших под nginx+php_fpm).

Начнёмс. По условиям задачи — user — это вы. Сайт разместим в каталоге /home/user/site1.ru, где /home/user — домашний каталог пользователя. Сайт, как вы догадались, будет зваться site1.ru. Почему не /var/www ? Просто мне так удобнее. Да и вам будет проще.
Сайт использует CMS для php+mysql (joomla, drupal, wordpress, как примеры).
Вы уже создали все необходимые DNS записи и по «ping site1.ru» отзывается именно ваш сервер. А так же — по «ping www.site1.ru». Аналогично — для всех доменов, которые мы желаем сделать алиасами для нашего сайта.
Алиас — это дополнительный домен для сайта. Наш сайт будет открываться по site1.ru и по www.site1.ru
Так же, обращайте внимание на то, от имени какого пользователя я выполняю команды (user@ или root@)

Приступим. Создадим нужный нам каталог:
user@Debian:~$ mkdir -p /home/user/site1.ru
Теперь разместим в нём файлы нашего сайта любым удобным нам способом. Я обожаю делать вот так:
user@Debian:~$ cd && wget http://ftp.drupal.org/files/projects/drupal-6.17.tar.gz && tar -xfv drupal-6.17.tar.gz && rm -r site1.ru && mv drupal-6.17 site1.ru
Вы же — уже закачали файлы по FTP в site1.ru, пока я вводил эту команду, не так ли?
Теперь очень важная штука.
user@Debian:~$ cd && chown -R user:www-data site1.ru && chmod -R 750 site1.ru
Что мы сейчас сделали. Мы разрешили себе (user) право на чтение и запись в любые файлы каталога site1.ru, разрешили процессам Apache (веб-сервер) доступ на чтение ко всем файлам данного каталога и запретили чтение каталога всем остальным. Для чего? Чтобы ваш сосед по серверу не смог просмотреть файлы вашего сайта. А там обычно в открытом виде хранится пароль доступа к mysql.
Теперь нам следует внимательно ознакомиться с мануалом к CMSке и узнать, куда необходимо разрешить доступ на запись веб-серверу. Ну… условимся, что у CMSки есть каталог upload, доступ на запись к которому нужен всегда, и файл config.php, доступ к которому нужен на время установки. Выдадим нужные права:
user@Debian:~$ cd /home/user/site1 && chmod -R 770 upload
user@Debian:~$ cd /home/user/site1 && chmod 770 config.php
Всё ещё соблюдаем принцип «доступ к этим файлам должен иметь только владелец и веб-сервер». Третью цифру оставляем нулём, если CMS не требует обратного (есть CMSки, которые проверяют не возможность записи в каталог/файл а просто права на файл. Плохие CMSки)

Теперь создадим базу Mysql — http://debian.pro/99 — я тут уже всё подробно по этой теме описал.

А теперь, собственно, мы расскажем Апачу, что мы желаем разместить сайт.
Создадим и отредактируем файлик, который будет содержать информацию о нашем VirtualHost:
root@Debian:~$ nano /etc/apache2/sites-enabled/site1.ru
У вас откроется страшное окошко, в котором можно печатать.
Вам туда нужно вставить следующий текст (вставка в терминале, напоминаю, обычно, работает по ctrl+shift+v или по shift+insert):

<VirtualHost *:80>
DocumentRoot /home/user/site1.ru
ServerName site1.ru
ServerAlias www.site.ru
ServerAdmin [email protected]
</VirtualHost>

После этого жмём Ctrl+X, отвечаем на вопрос сохранять или нет Y и релоадим Апач:
root@Debian:~$ apache2ctl reload
или
root@Debian:~$ /etc/init.d/apache2 restart

Если вы всё сделали правильно и уже правильно работают ваши DNS серверы — по адресу http://site1.ru должен открыться ваш сайт (или инсталлятор CMSки)… ну а дальше вы знаете)
Ну и не забудьте убрать доступ на запись к тем файлам, запись в которые необходима только во время установки (config.php в нашем случае):
user@Debian:~$ cd /home/user/site1 && chmod 750 config.php

Вообще про виртуалхосты почитать можно тут — httpd.apache.org/docs/2.1/mod/core.html#virtualhost
Там много интересной информации, которая вам понадобится, если вы будете заниматься серверами с кучей сайтов (здесь много размышлений, в основном матом, слышится «нищеброды, не могут купить ispmanager»). А пока оно вам ни к чему.

Устанавливаем DHCP Server на Debian и Ubuntu

Здесь я расскажу как на Debian или Ubuntu поднять DHCP сервер для раздачи IP адресов компьютерам в локальной сети.

Установка достаточно простая, приступим:

1) Устанавливаем пакет dhcp-server

# apt-get install isc-dhcp-server

2) После чего, нужно отредактировать конфиг, но сначала нужно уточнить какой сетевой интерфейс смотрит в локальную сеть(если на сервере несколько интерфейсов i-net and lan interfaces)

# ifconfig

Устанавливаем DHCP Server на Debian и Ubuntu

как видим на скриншоте на сервере только один интерфейс eth0 смотрит в локальную сеть. Настроим этот интерфейс для раздачи ip адресов.

# nano /etc/default/isc-dhcp-server

находим

INTERFACES=""

и заменяем на

INTERFACES="eth0"
# nano /etc/dhcp/dhcpd.conf

Находим

option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

Заменяем на

option domain-name "MyLAN.com";
option domain-name-servers 192.168.0.1, 192.168.0.2;
*option domain-name-servers указываем список dns серверов,
 192.168.0.1 = IP адрес сервера первичного DNS
 192.168.0.2 = IP адрес сервера вторичного DNS

Раскомментируем строку

#authoritative;

Далее находим:

default-lease-time 600;
 max-lease-time 7200;
 #subnet 10.254.239.0 netmask 255.255.255.224 {
 #  range 10.254.239.10 10.254.239.20;
 #  option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
 #}

Заменяем на:

default-lease-time 32400;
 max-lease-time 72000;
 subnet 192.168.0.0 netmask 255.255.255.0 {
 range 192.168.0.2 192.168.0.254;
 option routers 192.168.0.1;
 }
*default-lease-time 32400; Время на которое выдается IP адрес в секундах.
 *subnet 192.168.0.0 netmask 255.255.255.0 = сеть и маска сети.
 *range 192.168.0.2 192.168.0.254 = пул выдаваемых ip адресов от 2 до 254.
 *option routers 192.168.0.1 = шлюз по умолчанию.

3) Если нужно назначить статическую раздачу IP адресов компьютерам в сети. Добавляем в конец конфига /etc/dhcp/dhcpd.conf

host printServer {
 hardware ethernet 00:0D:87:B3:AE:A6;
 fixed-address 192.168.1.11;
 }
*hardware ethernet 00:0D:87:B3:AE:A6; = MAC адрес сетевой карты printServer-а
 *fixed-address 192.168.1.11; = Выдаваемый IP адрес.

Сохраняем все изменения. И запускаем dhcp сервер.

# /etc/init.d/isc-dhcp-server restart