Линукс сервер для начинающих своими руками

Основы Linux Server для начинающих

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

Сначала поговорим, почему стоит использовать Linux в качестве серверной операционной системы. Многие так привыкли к Windows, что даже слышать про Linux не хотят, я имею в виду даже пользовательские варианты Linux с красивыми и удобными рабочими столами. И на вопрос, почему Вы не хотите использовать Linux? Все отвечают: «да он какой-то корявый!», «Программы, которые я использую в Windows не устанавливаются на Linux» и так далее. Но на самом деле всем пользователям, которые так категоричны к Linux, я хочу сказать, что Linux очень дружелюбная операционная система, и стоит всего лишь немного разобраться в ней и Вам все станет понятно.

Теперь я хочу перечислить некоторые преимущества Linux перед Windows, а также развеять некоторые мифы:

  • Linux – абсолютно бесплатная операционная система (за исключением некоторых платных дистрибутивов), в отличие от Windows;
  • В Linux практически отсутствуют вирусы;
  • Все кто говорит, что «Программы, которые я использую в Windows не устанавливаются на Linux», Вы задумайтесь, а зачем они должны устанавливаться. Ведь это совсем другая ОС, там свои программы! Также можно сказать и про Windows, что «программы которые работают в Linux не устанавливаются в Windows», для Linux существуют много своих программ не уступающим Windows-ким, также многие производители программного обеспечения выпускают свои продукты как для Windows, так и для Linux.
  • Linux более производительней, тем более серверный вариант операционной системы. Объясняю, серверные операционные системы Linux без интерфейсные, а большую часть ресурсов (больше половины. ) как раз занимает интерфейс ОС, т.е. визуальная оболочка (на сегодняшний день получили широкое распространение и версии Windows без графического интерфейса).
  • ОС Linux практически не зависает, (я имею в виду саму операционную систему). Например, все встречались с ситуацией, когда в Windows у Вас все замирает, Вы не можете не пошевелить мышкой, даже ctrl+alt+del нажать не можете, и Вам приходиться перезагружаться. Linux устроена таким образом что такая ситуация исключена, разве что в одном случае когда Вы сами вызываете такую ситуацию.
  • Касаемо серверной ОС Linux она достаточно проста в конфигурирование, в отличие от аналогов Windows, в которых очень много всяких разным прибомбасов, в которых не так легко разобраться. Сама система Linux и все ее службы настраиваются путем редактирования конфигурационных файлов. Это обычные текстовые файлы, зная их расположение и формат, Вы сможете настроить любой дистрибутив, даже если у Вас под рукой нет никаких инструментов, кроме текстового редактора.

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

Теперь перейдем непосредственно к основам Linux Server. Для примера мы будем использовать дистрибутив Linux Ubuntu Server 10.10.

Основные настройки Linux Server

Описывать процесс установки Ubuntu Server 10.10. я не буду, так как он не сложней, а может даже проще чем установка Windows, единственное, что попрошу сделать в процессе установки, это при «Выборе устанавливаемого программного обеспечения» отметить установку «OpenSSH Server». Это для того, чтобы Вы в дальнейшем могли подключаться к этому компьютеру удаленно с помощью ssh клиента (например, PuTTY). И при этом Вы будете иметь полный доступ к операционной системе с любого компьютера Вашей сети, так как к серверу обычно монитор не цепляют и сам сервер располагается в специально выделенной комнате для серверов (серверной).

Читайте также:  Красивый архиватор для windows

В окне «Настройка учетных записей пользователей и паролей» введите свой логин и задайте ему пароль.

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

Настройка пользователей в Linux

ROOT – стандартный суперпользователь ОС Linux, который имеет максимальные права. Кстати в отличие от Windows, в которой права администратора не самые высокие (есть еще системные), а вот права root самые высокие и если Вы работаете под root-ом и выполняете какие-либо действия, Вас никто не будет спрашивать «Вы действительно хотите сделать это?» как в Windows например, а сразу скажем, убьете систему, без всяких там вопросов. Но, так или иначе, нам сначала необходимо активировать этого пользователя, потому что в дальнейшем нам будут необходимы права суперпользователя (Совет: всегда работайте под обычным пользователем, пока не потребуется перейти в режим root-а), по умолчанию root отключен. Активация учетной записи root делается следующим образом, просто задаем пароль для root.

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

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

  • sudo – утилита, предоставляющая пользователю некоторые административные привилегии;
  • useradd – утилита, добавляющая пользователя в систему;
  • -d – опция установки домашней директории для пользователя;
  • /home/testuser – путь домашней директории;
  • -m – опция создания домашней директории;
  • testuser – название нашего нового пользователя.

Теперь задаем пароль для нового пользователя.

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

Теперь, когда мы немного разобрались с пользователями, нам необходимо настроить сеть, вполне возможно, что это уже сделал DHCP сервер, но быть может, Вы хотите задать статические ip адреса, адреса шлюзов и DNS (что в принципе для сервера естественно).

Для этого редактируем следующий файл.

  • nano – это стандартный редактор linux;
  • interfaces – файл, отвечающий за конфигурацию сети.

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

Здесь eth0 — это Ваше сетевое подключение, их может быть много в зависимости от того, сколько у Вас сетевых карт, Static говорит о том, что это статический ip адрес, если бы это был динамический, то вместо static было указанно DHCP. Ну а остальное, наверное, все понятно.

  • Address – ip адрес компьютера;
  • Netmask – маска подсети;
  • Gateway — шлюз по умолчанию.

Сохраните файл путем нажатия сочетания клавиш ctrl+o и затем выходите из редактора ctrl+x.

Теперь необходимо присвоить DNS сервер, это делается путем редактирования следующего файла.

Впишите или измените следующее.

Где, 192.168.1.100 и 192.168.1.200 адреса наших DNS серверов, если у Вас только один dns сервер, то указывайте только одну строку.

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

Установка программ в Linux Server

В Linux программы устанавливаются совсем по-другому, чем в Windows, поэтому те знания, которые Вы имели при работе с Windows, Вам здесь не помощники. В Linux все программное обеспечение хранится в Репозитариях – это своего рода хранилище пакетов программ специальных для Linux, которое располагается в Интернете, и находится в свободном онлайн распространении, или на компакт дисках. Для того чтобы обновить свои репозитарии (уже в установленной ОС Linux), Вам необходимо выполнить следующую команду (при условии, что у Вас подключен Интернет).

Теперь, когда мы обновили стандартные репозитарии можно что-нибудь установить, предлагаю установить файловый менеджер, один из самых распространенных в Linux это — Midnight Commander (MC). Есть небольшое сходство с FAR-ом, который используется в Windows. Программы в серверных Linux устанавливаются следующим образом.

Где, mc и есть наша программа, которую мы хотим установить, т.е. наш файловый менеджер Midnight Commander.

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

Читайте также:  Лучший linux для изучения

Я думаю для основы этого достаточно, в следующих статьях (Основные команды терминала Linux Ubuntu Server) будем уже разговаривать более конкретно про настройки каких-либо сервисов (демонов). А пока на этом все.

Источник

Локальный веб-сервер под Linux, с автоматическим поднятием хостов и переключением версий PHP

Скорее всего какие-то части этой статьи уже знакомы многим хаброжителям, но в связи с покупкой нового рабочего ноутбука я решил собрать все крупинки воедино и организовать удобное средство для разработки. Мне часто приходится работать со множеством маленьких проектов, с разными версиями PHP, часто переводить старые проекты на новые версии. В далёком прошлом, когда я был пользователем Windows то использовал OpenServer. Но с переходом на Linux мне нехватало той простоты создания хостов и переключений версий которые были в нём. Поэтому пришлось сделать еще более удобное решение на Linux =)

будет запущен тот же файл но уже с версией PHP 7.2.7

Другие версии доставляются аналогичным описанным ниже способом.

Для создания еще одного сайта просто создаем в /var/www/ папку имеющую окончание .loc, внутри которой должна быть папка public_html являющаяся корнем сайта

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

Всё это я проверну на LinuxMint19, он на базе Ubuntu18.04, так что с ним все будет аналогично.

Для начала поставим необходимые пакеты

Postfix ставим в качестве плюшки, как простое решение(в мастере установки, всё по умолчанию выбираем) для отправки почты с локальной машины.

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

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

Создадим папку в которой будем собирать исходники PHP для разных версий

Также нам понадобится папки для CGI скриптов

И runtime папка для этих же скриптов, с правами

И так как каталог у нас находится в оперативной памяти, добавим его создание при старте системы, для этого добавим в /etc/tmpfiles.d/fcgid.conf

У меня dnsmasq-base идет с коробки, если нет то его всегда можно доставить.

Добавим правило в его конфигурацию. Найти файл конфигурации dnsmasq.conf можно так

Либо если он как и у меня является частью NetworkManager то создать новый файл конфигурации в /etc/NetworkManager/dnsmasq.d/local.conf
Добавим в него строчку для перенаправление нашего локального домена на локальную машину.

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

Предварительная подготовка завершена, приступаем к сборке различных локальных версий PHP. Для каждой версии PHP проделываем следующие 4 шага. На примере 5.6.36

1. Скачиваем исходники нужной версии и распаковываем их

2. Cобираем из исходников нужную версию PHP, и помещаем ее в /opt/php-5.6.36

3. Создаем CGI для обработки этой версии в /var/www/cgi-bin/php-5.6.36.fcgi

4. Делаем файл исполняемым

5. Добавляем экшен для обработки каждой версии в /etc/apache2/mods-available/fcgid.conf

6. Добавляем правило для обработки каждой версии в /etc/apache2/sites-available/000-default.conf

Ну вот и всё. Осталось только перезапустить apache и dnsmasq и пользоваться

Источник

Домашний linux сервер своими руками

Хочется поделиться с хабросооществом информацией о том как я собирал домашний сервер.

Из софта на домашнем сервере будет «крутиться» следующий набор:

  • torrent клиент с web-мордой
  • DHCP — раздаем ip адреса и сетевые настройки
  • TFTP — для сетевой загрузки
  • OpenVPN — для хождения в сеть с нетбука из недоверенных сетей
  • FTP/Samba/NFS — сетевые шары для доступа с домашних машин
  • Radius — для WPA2 авторизации
  • DigiTemp — мониторинг домашней температуры

Аппаратная часть

При выборе аппаратной части, вариантов было несколько:

  • старенький комп
  • самосбор на базе mini-ITX
  • тонкий клиент HP T5000
  • тонкий клиент на базе Neoware CA2

Первый вариант был сразу же отброшен из-за шума, пыли и энергопотребления. Второй был заказан, пока шли комплектующие, я успел передумать (захотелось шум и энергопотребление свести до минимума). В итоге, на Ebay были куплены тонкие клиенты HP t5000 и Neoware CA2. Месяц спустя пришли тонкие клиенты и из двух, после долгих размышлений, был выбран Neoware CA2. В него идеально поместился 2.5′ HDD и вторая сетевая карта.

Читайте также:  Astra linux разработка приложений

После допиливания, в буквальном смысле, Neoware CA2 я принялся ставить на него Ubuntu 9.10 с офисного TFTP сервера. Установку производил самую минимальную. Если бы не было набора для сетевой установки, ставил бы Debian с USB CD-ROM и netinstall диска. Сам я ярый фанат RHEL/CentOS, но на домашний сервер решил ставить что-то из debian семейства, для расширения кругозора.

Torrent клиент и вебморда

Теперь перейдем к установке torrent клиента и вебморды. Была выбрана связка rtorrent + rutorrent, установка из репозитариев была отметена сразу, т.к. «родной» пакет был собран без xmlrpc-c который расширяет функционал rutorrent. Ниже фактически, скрипт для авто-установки rtorrent+rutorrent+lighttpd+php.

Устанавливаем всё что необходимо для компиляции xmlrpc-c, libtorrent, rtorrent
apt-get install checkinstall subversion build-essential make autoconf autotools-dev automake libtool libcurl4-openssl-dev libsigc++-2.0-dev pkg-config libncurses5-dev
apt-get remove rtorrent libtorrent11 libxmlrpc-c3 libxmlrpc-c3-dev libxmlrpc-core-c3 libxmlrpc-core-c3-dev

Компилируем и «заворачиваем» в .deb пакет xmlrpc-c, libtorrent, rtorrent
svn co xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced xmlrpc-c
cd xmlrpc-c
./configure —prefix=/usr && make && checkinstall -D

cd ..
wget libtorrent.rakshasa.no/downloads/libtorrent-0.12.6.tar.gz
tar zxfv libtorrent-0.12.6.tar.gz
cd libtorrent-0.12.6
rm -f scripts/.m4 # для Debian
./autogen.sh && ./configure —prefix=/usr && make && checkinstall -D

cd ..
wget libtorrent.rakshasa.no/downloads/rtorrent-0.8.6.tar.gz
tar zxfv rtorrent-0.8.6.tar.gz
cd rtorrent-0.8.6
rm -f scripts/.m4 # для Debian
./autogen.sh && ./configure —with-xmlrpc-c —prefix=/usr && make && checkinstall -D

К сожалению, rtorrent не умеет работать в режиме daemon, по этому будем использовать screen
apt-get install screen -y
wget libtorrent.rakshasa.no/raw-attachment/wiki/RTorrentCommonTasks/rtorrentInit.sh —output-document=/etc/init.d/rtorrent
chmod +x /etc/init.d/rtorrent
sed -i ‘s/»user»/»torrents»/’ /etc/init.d/rtorrent
update-rc.d rtorrent defaults
useradd -d /torrents -m torrents

Создаем конфиг и папки для сессий и готовых торрент закачек, после чего стартуем rtorrent.
mkdir /torrents/.rtorrent_session
cat >> /torrents/.rtorrent.rc

Теперь займемся вебмордой rutorrent. Для работы rutorrent необходим вебсервер и интерпретатор php.
apt-get install lighttpd php5-cgi php5-cli php5-curl curl -y
lighty-enable-mod fastcgi
echo ‘server.modules += ( «mod_scgi» )’ >> /etc/lighttpd/lighttpd.conf
cat >> /etc/lighttpd/lighttpd.conf
( «127.0.0.1» =>
(
«host» => «127.0.0.1»,
«port» => 5000,
«check-local» => «disable»
)
)
)
EOF
/etc/init.d/lighttpd force-reload

Вебсервер готов, теперь будем ставить rutorrent и несколько полезных плагинов к нему.
cd /var/www/
svn checkout rutorrent.googlecode.com/svn/trunk/rutorrent
cd /var/www/rutorrent/plugins/
svn checkout rutorrent.googlecode.com/svn/trunk/plugins/tracklabels
svn checkout rutorrent.googlecode.com/svn/trunk/plugins/cookies
svn checkout rutorrent.googlecode.com/svn/trunk/plugins/autotools
svn checkout rutorrent.googlecode.com/svn/trunk/plugins/erasedata
chown -R www-data:www-data /var/www/

Теперь можно заходить по server_ip/rutorrent и начинать пользоваться.

Теперь установим DHCP сервер и создадим для него конфиг таким образом чтобы клиенты получали:
router 192.168.1.1
dns сервер 8.8.8.8
сервер времени time.nist.gov
tftp сервер 192.168.1.1
и для примера фиксированная выдача 192.168.1.100 клиенту с MAC-адресом 00:1B:FC:33:F0:25
aptitude install dhcp3-server
cat >> /etc/dhcp3/dhcpd.conf
строчки с option-150 нужны для моего VoIP телефона Cisco 7940.

TFTP и сетевая установка

aptitude install xinetd atftpd atftp

cat >> /etc/xinetd.d/tftp
Теперь проверим, работает ли tftp сервер
root@dvr:

# echo bla > /tftpboot/123
root@dvr:

# atftp 127.0.0.1
tftp> get 123
tftp>
root@dvr:

# cat 123
bla

Всё нормально, теперь создадим netinstall наборы для нескольких ОС: Ubuntu karmic, Ubuntu lucid, Debian lenny, Debian sid, Debian squeeze, Fedora 13, CentOS 5.5, Mandriva 2010.0, Suse 11.2, Slackware 13.1, Hardware Detection Tool, memtest и MHDD. Для этого предлагаю использовать слегка модифицированный скрипт который я взял с HowtoForge.
apt-get install lftp -y

wget itblog.su/tftpboot_installs.sh
bash tftpboot_installs.sh

Теперь добавим SystemRescueCd в PXE меню
wget «http://downloads.sourceforge.net/project/systemrescuecd/sysresccd-x86/1.6.3/systemrescuecd-x86-1.6.3.iso?use_mirror=citylan»
mount -o loop systemrescuecd-x86-1.6.1.iso /mnt/
cp /mnt/sysrcd.* /var/www/
cp /mnt/isolinux/initram.igz /tftpboot/
cp /mnt/isolinux/rescuecd /tftpboot/

cat >> /tftpboot/pxelinux.cfg/default
Без особого труда в это меню можно добавить продукты Acronis, инсталляцию и запуск Windows XP и прочее.

Вот так будет выглядеть наше меню:

Продолжение в следующей части. А именно:

  • OpenVPN сервер для «хождения» в сеть из не доверенных сетей (например из гостиницы)
  • FTP/Samba/NFS сетевые шары
  • Radius для авторизации wi-fi клиентов
  • DigiTemp зачатки умного дома, мониторинг температуры в квартире и за окном
  • festival — говорящий будильник
  • бакапы с хостинга

и подытожит статью скрипт который всё это установит в «два клика».

С удовольствием выслушаю замечания и дополнения.

Источник

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