Как создать Linux сервер своими руками и что для этого нужно

Для чего нужен сервер или как сделать сервер своими руками (mini Server)

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

Linux Windows ? Не надо ломать голову! Все решено! Linux сервер — сэкономит деньги, нервы и время.

И что бы убедить Вас в этом, дам парочку фактов:

  • Стоимость Windows сервера обойдется мягко говоря в копеечку, а если Вы не сильный в серверах, то сам бог Велел ставить Linux сервер , а на сэкономленные деньги от покупки Windows запросто наймете профессионала. Не вдаваясь в стоимость, скажу так: один Windows сервер без установки обойдется Вам по стоимости вызова от 6 до 11 настройщиков.
  • Дистрибутив Linux сервера не надо искать по магазинам, его можно просто скачать в интернете на официальных сайтах.
  • С Linux сервер вы забудете о перезагрузках, не отвлекаясь от важных дел.
  • Если хотите сами настроить свой Linux, советую обратиться к сайту www.mini-server.ru, следуя четким инструкциям.

Ну что, еще крутится фраза Linux Windows в голове. Тогда вот Вам еще:

  • Linux не так требователен к характеристикам железа. Как не крути а графический интерфейс возьмет свое.
  • Linux как правило идет со своим набором драйверов и подойдет практически под любую конфигурацию оборудования.
  • Дополнительные программные пакеты Linux или уже имеются в Вашей системе или автоматически загрузятся с интернета.
  • Дополнительные программы вы поставите так же бесплатно как и сам Linux
  • Для любителей ставить не лицензию, особенно в организациях. Не удивляйтесь штрафу в 500 тыс. рублей только за один Windows сервер. ( сумма штрафа актуальна на 2010.11.29)

Надеюсь что вопрос Linux Windows у Вас уже отпал, тогда пойдем дальше.

Сервер Linux

Сервер Linux — принципиально ничем не отличается от любого другого сервера с однотипной функцией. Сразу же подведу к делу и скажу какие сервера могут быть с легкостью реализованы:

Web сервер
Хостинг, Почтовый сервер, DNS
Файловый сервер FTP, SMB, поддержка Torrent (хранение данных) .
Сервер доступа Раздача, ограничение, управление интернет потока
Игровой сервер Как одно — и многопользовательские онлайн игры

Web сервер, это сервер на котором Вы сейчас сидите. На нем расположены сайты, электронная почта. А так же Web сервер управляет Доменными именами (именами сайтов), контролирует нагрузку и ресурсы для каждого пользователя, защищает информацию пользователей от атак, вирусов и злоумышленников. Настроить такой Linux сервер Вы можете например по статье Идеальный сервер — Ubuntu 10.10

Файловый сервер, это сервер для хранения файлов, просто и понятно, как дополнительные возможности это управления загрузками на сервер, доступом, нагрузкой, а так же пользователями. Настроить такой Linux сервер Вы можете например по статье Установка FreeNAS по Русски.

Linux под сервер

Есть много споров какой Linux дистрибутив выбрать. На самом деле ответ один и тот же. Тот в котором тебе проще работать. А если ты еще не успел познакомиться с Linux, то выбираешь тот на который есть описание, а лучше даже четкая инструкция от установки до запуска .

  • Если ты разбираешься и трудность твое второе имя твой выбор FreeBSD
  • Если вы из тех кто прокручивал мысль в голове Linux Windows , Вам больше понравится CentOS, Fedora, а кто-то даже ради эксперимента захочет оставить графический интерфейс, Ваше право :)))
  • Если считаешь что серверу излишне графическое решение. Ubuntu server не только понятен, но и очень популярен, на него найдете не только руководство пользователя и статью как создать Идеальный сервер — Ubuntu 10.10

О Господи я согрешил. FreeBSD это не Linux, но те кто уже работал с FreeBSD меня поймут :)))

Linux сервер скачать

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

Скачать Linux сервер Вы можете и на официальном сайте, но если Ваша скорость позволяет качать быстрее, чем позволяет сайт, советую обратиться к rutracker.org . Вы не только скачаете Linux сервер быстрее, но и поможете другим оставаясь на раздаче :)))

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

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

Установка сервера Linux не сложный процесс сравнимый с установкой Windows. Единственно в чем отличии от простой установки персонального компьютера, это то что при установке сервера Linux главным является настройка сети, поэтому перед отключением монитора от нашего сервера удостоверимся, что сервер доступен из сети по одному не изменяющемуся адресу, желательно использовать статический IP адрес.

У Вас возникли сложности при установке Linux, поиск в интернете откроет Вам сотни страниц по Вашему запросу, а лучше даже не читать а смотреть, You Tube наш спаситель :)))

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

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

Настройка сервера Linux лучше производить сидя за персональным компьютером связанным сетью с нашим сервером. Для связи используется протокол SSH. В основном он используется для удаленного управления, но не все знаю что с помощью его можно управлять файлами не только на самом сервере, но и передать файлы с подключенного компьютера прямо на сервер. Для начала сама программа для управления из под Windows:

PuTTY — простая, маленькая программка, но поистине могучими возможностями для настройки сервера Linux она станет для Вас единственным другом, как минимум на первую установку системы :)))

Все о выборе хостинга. обсуждение хостингов и серверов, а так же их выборе, отзывы о хостерах, обсуждение тарифов хостинга.

Обновлено: 16 сентября 2014 Просмотров: 36375

Обмениваться, хранить, передавать Ваши файлы стало просто как никогда.

Читать подробнее: для чего Yandex-Диск проекту Mini-Server. Практика установки, настройки и использования сетевого хранилища на Ubuntu server LTS 12.04 в статье Резервное копирование сервера Ubuntu на Яндекс Диск.

Простейший веб-сервер на Linux своими руками

1 381 просмотров

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

Наибольший плюс ручной установки и настройки – возможность оптимизировать систему под свои задачи, установив только нужные модули. Второй плюс – после такой операции вы будете больше знать.

В первую очередь необходимо установить операционную систему. Здесь вы можете выбирать, какая вам больше нравится, главное, чтобы не было графического окружения – постоянная работа на сервере не предполагается, а лишние ресурсы лучше отдать основным задачам. Простые операции можно сделать и в консоли. Лично мои предпочтения – последний выпуск Ubuntu с длительной поддержкой, на текущий момент это 16.04.3. Также на сервер можно поставить Debian – он при выборе конфигурации установки позволяет установить только серверную часть. Обязательно надо установить сервер OpenSSH для удалённого управления, всё остальное, включая LAMP, не надо – нужные модули добавим вручную немного позже.

Установка Ubuntu уже описана на этом сайте, с тех пор мало что изменилось. Единственно различие – для серверной версии установка пройдёт в текстовом режиме, а все «окна» будут отрисованы с помощью псевдографики. IP-адрес в таких случаях задаётся статический, поэтому в примерах будем использовать его, например, 10.1.1.100.

После установки у нас возможны два варианта – к серверу ещё подключены клавиатура и мышь, или же от него сразу отключили всю периферию, подключили к локальной сети и к питанию и запустили. Разницы в выполнении операций не будет, отличаться будет только способ входа. При подключенной периферии просто введите логин и пароль (при вводе пароля в консоли Linux-систем не отображаются даже звёздочки), при их отсутствии подключитесь с другого компьютера. Для Windows (и для Linux тоже) есть программа клиент Putty, также в Linux можно набрать в терминале следующую строку:

после чего ввести пароль. «root» – учётная запись администратора Unix-подобных систем.

Для начала установим веб-сервер:

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

На вопрос о sudo сразу отвечаю – сейчас мы и так работаем с правами администратора, поэтому в этой команде нет смысла.

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

В зависимости от операционной системы страница может быть разной – от простого «It works!» («Оно работает!») до технической информации по настройке.

Минимальная конфигурация есть, но этого мало – в таком варианте будут работать лишь статичные сайты (ну и JavaScript, который выполняется в браузере пользователя), что нас явно не устроит. Поэтому продолжаем дело. Теперь очередь сервера баз данных MySQL:

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

И последний шаг – установка поддержки языка PHP:

После завершения установки перезапускаем веб-сервер для того, чтобы поддержка PHP начала работать:

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

Д.Н.Колисниченко: Linux Сервер своими руками

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

Во втором издании книга была существенно дополнена и обновлена. Так что вас ждет еще больше полезной и проверенной опытом информации (использование ядра 2.6, организация VPN-сети на основе Linux, расширенные средства маршрутизации, повышение безопасности сетевых служб и многое другое). Многое в книге является уникальным: создание Linux-сервера для игрового клуба, учет и разделение трафика, система защиты LIDS и т.д. При этом книга подойдет как для профессиональных, так и для начинающих администраторов, поскольку изложение материала начинается с установки OC Linux, а в первой главе дано описание основных сетевых технологий и протоколов (Курс Молодого Администратора).

В одном из множества благодарных отзывов по первому изданию говорится: «Наконец-то нашел книгу, в которой все понятно и толково описано». И этими словами можно выразить общее мнение читателей о ней. Так что если вам нужно настроить сервер на основе Linux, узнать его внутренний мир — эта книга для вас.

Скачано: 20180 раз

Скачать книгу

Комментарии

Радик, 03.05.2011 09:55

Спасибо за Ваш ресурс, бесценная копилка знаний, наконец-то нашел)

Wladimir, 26.12.2012 15:28

Rebyata, ogromnoe Vam spasibo za ressursi. Wladimir (Germany)

Макс, 27.09.2014 01:54

Большое спасибо Вашему ресурсу! Занявшись в 11 лет программированием, я качал( и до сих пор качаю ) отсюда всю необходимую литературу. Спасибо Вам!

Евгений, 28.09.2014 18:29

Огромное вам спасибо!

Vitaliy, 29.12.2014 14:39

Alex, 23.01.2018 18:42

Низкий Вам Поклон.

Ivan, 17.08.2018 16:51

Спасибо огромное создателям и тем кто продолжает актуализировать ресурс!

Тель-Авив, 30.11.2019 23:00

Искал в гугл — нашёл на Вашем сайте! Спасибо! Хорошая книга. Рекомендую.

ramer

Делай добро и бросай его в воду

(убей всех людей)

Сервер на linux (Ubuntu)

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

на сегодняшний день меня интересует file-сервер и web-сервер (для сайта-поддержки игры). об них и будет данный псто.

1. установка дистрибутива linux. создание пользователей.
за основу была взята, уже полюбившаяся, Ubuntu. конктретно в данном случае была использована свеженькая Ubuntu 9.10 server i386.
бесплатно скачать исошник можно с официального сайта Canonical.

загрузочный экран ubuntu 9.10 server

установка «искаропки» не несёт в себе абсолютно ничего сложного. единственное что — отметить надо в процессе установки OpenSSH (он будет нужен для доступа к нашему серверу с другого компа) и Samba file server (самба нужна для доступа к линукс-серверу с виндовз-машины).

после загрузки рабочей консоли, я установил Midnight Commander. это псевдографическая оболочка, похожая на Norton Commander (ставился, в своё время, на безгуёвый MS DOS). очень удобна в работе.
$ sudo apt-get install mc
$ mc

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

во время установки линукса, вы создавали одну учётную запись. пользователь с этой записью находится в административной группе и может совершать действия в системе от рута. для этого используется комманада sudo и подверждающий вашу инициативу пароль (ваш пароль от этой учётки).

в ubuntu запись root не активна. пользоваться ей не рекомендуется, да и не обязательно. всё через sudo делается. но чисто ради любопытства:
$ sudo passwd root
далее нужно ввести рутовый пароль и подтвердить его.

но для запуска игрового сервера, мы создадим учётную запись с минимальными правами и зададим пароль:
$ sudo useradd %username%
$ sudo passwd %username%

здесь вместо %username% вставляйте имя пользователя.

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

2. настраиваем samba и поднимаем file-сервер.
для начала настроим сетевую карту сервера. выбираем свободный ip-адрес (у меня был свободен 192.168.1.4).
сетку настраиваем путем редактирования файла: /etc/network/interfaces:
$ sudo nano -w etc/network/interfaces
содержимое файла interfaces:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.4
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

[обратите внимание, что «address» написано с двумя «d» и двумя «s». у меня здесь были ошибки. скорее всего из-за невнимательности]

чтобы сеть заработала на ходу перезагружаем ее командой:
$ sudo /etc/init.d/networking restart

теперь подредактируем имя нашего сервера — файл /etc/hosts:
$ sudo nano -w /etc/hosts
содержимое файла hosts
127.0.0.1 localhost.localdomain localhost
192.168.1.4 server.home.net server

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts#

затем:
# echo server.home.net > /etc/hostname

И еще:
$ hostname
$ hostname -f
эти две команды должны вывести на экран имя server.home.net.

теперь, собственно, самба. если вы в самом начале (в время установки дистрибутива) не выделили Samba file server, то ничего страшного. мы можем сейчас все нужные пакеты установить:
$ sudo apt-get install samba smbclient smbfs ntp ntpdate

мы установили программы: Samba, SMBlient и SMBFS, которые являются основой для нашего файлового сервера.
последние пакеты — NTP и NTPDate — я установил, чтобы сервер мог синхронизировать свои системные часы, через Интернет.

выполним команду, которая сделает наш диск доступным для всех пользователей сети (дадим им полные права на этот диск).:
$ sudo mkdir /media/multimedia
$ sudo chmod 777 /media/multimedia

теперь сконфигурируем Samba.
это нужно для того, чтобы наш файловый сервер был виден в домашней сети.
по умолчанию в Windows все сетевые компьютеры попадают в рабочую группу с названием MSHOME.
проверим чтобы samba имела в конфигурационном файле то же название рабочей группы:
$ sudo nano -w /etc/samba/smb.conf

находим и правим строчку:
workgroup = MSHOME

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

что бы диск был виден, а так же читался и писался для всех пользователей сети, добавим в конец конфига:
[hda public hard disk]
comment = Public Folder
path = media/multimedia
public = yes
writable = yes
create mask = 0777
directory mask = 0777
force user = nobody
force group = nogroup

[обратите внимание, что «nogroup» пишется слитно. во многих описаниях настройки написано раздельно. у меня, при раздельном написании, не работало]

сохраняем изменения в файле и перезагружаем пакет Samba:
$ sudo /etc/init.d/samba force-reload

3. устанавливаем apache и поднимаем web-сервер.
для web-сервера много не надо. тут всё совсем просто. нужно установить apache (что такое апач) и владеть навыками htmlя.
$ sudo apt-get install apache2

после установки апача, можно приступать к созданию сайта. по-умолчанию адрес вашего сайта будет тот же, что и ip-адрес вашего сервера в локалке (например, http://192.168.1.4). это никуда не годится. нужен человеческий адрес (доменное имя, читать про домены). тут варианта два.
1. купить. нормальный домен второго уровня (типа httр://mysеrver.соm).
2. взять бесплатный, но третьего уровня (вида httр://gаme.myserver.соm).

платный стóит порядка 6ОО рублей за пол-года. бесплатный — нихрена не стóит.

я использовал для своего сервера бесплатный домен третьего уровня на http://dynDNS.com. там нужно зарегестрироваться, выбрать доменное имя (при условии, что оно свободное), указать свой реальный ip (узнать свой айпи). на своём интернет-шлюзе (или роутере) настроить переадресацию по 80 порту (port forwarding) с HTTP на свой внутренний ip сервера.

в итоге (если всё правильно настроить), при обращении по зарегестрированному вами адресу, пользователь попадает на главную web-страницу сайта на вашем сервере.

как настроить свой сайт.
все настройки сайта лежат в /var/www. по умолчанию в этой директории лежит один скромный index.html с надписью It works!, который нам кагбе намекает на нормальную работу.
вот этот файл можно/нужно править под себя, под создание своего сайта.

перезапускаем сервер командой:
$ sudo shutdown -r now

WWW-сервер в UbuntuDebianMint. Простое пошаговое руководство. Часть первая — установка.

Задача установки WEB-сервера в UbuntuDebianMint, как оказалось, — еще проще, чем установка вроде-бы сервиса по-проще — FTP-сервера. Настройка и администрирование — то уже другой вопрос, все таки это целый комплекс ПО, который взаимодействует, а не один сервис с одним файлом конфигурации.

В сети активно для обозначения программного обеспечения практически всех веб-серверов используется сокращение LAMP.

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

  • Linux — операционная системаLinux;
  • Apache — веб-сервер;
  • MariaDB / MySQL — СУБД;
  • PHP — язык программирования, используемый для создания веб-приложений (помимо PHP могут подразумеваться другие языки, такие как Perl и Python).

Для, собственно, установки этого мощного комплекса, используемого на 99% серверов в интернет потребовалось ввести пять команд, хотя в принципе — достаточно и трех.

Команда обновляет индекс пакетов АРТ:
Индекс пакетов = база данных доступных пакетов из репозиториев, из файла /etc/apt/sources.list .

Apache HTTP-сервер (произносится /ə.ˈpæ.ʧi/ , назван именем группы племён североамериканских индейцев апачей; кроме того, является сокращением от англ. a patchy server ; среди русских пользователей общепринято искажённое апа́ч) — свободныйвеб-сервер.

Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.

Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Поддерживает IPv6.

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

Результат можно проверить, набрав в строке браузера http://localhost/ :

Следующие Шаги — установка php и MySQL:

При установке последнего требуется ввести пароль супер-пользователя СУБД:

Этот пароль никак не связан с паролем системного рута.

Собственно, все. Но для удобства я установил еще и phpmyadmin.

phpMyAdmin — веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБДMySQL. PHPMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных. Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять СУБДMySQL без непосредственного ввода SQL команд, предоставляя дружественный интерфейс.

При установке потребовалось выбрать веб-сервер и ввести пароль суперпользователя МайСКЛ из приведущей команды:

Результат доступен по адресу http://localhost/phpmyadmin:

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

Собственно, все. Веб сервер на основе Linux, Apache, MySQL, PHP установлен и полностью работоспособен.

Использовались следующие команды:

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

Локальный сервер на LINUX (Apache + PHP + MySQL)

Вы не знаете как создать локальный сервер на LINUX? Тогда эта статья для вас. В ней я доступно расскажу как создать и настроить локальный сервер на LINUX.

В последнее время популярность свободного программного обеспечения, и в том числе операционных систем семейства LINUX растет быстрыми темпами. Сегодня linux уже совсем не тот, что раньше. Для того, чтобы начать работать с ним, достаточно лишь базовых знаний о компьютере. «Из коробки» уже доступны большинство программ, необходимых неискушенному пользователю. Однако если вы являетесь веб-разработчиком, или просто создаете для себя сайт, вам, скорее всего, понадобится локальный сервер. И полистав некоторые форумы, я заметил, что пользователи, перешедшие с windows систем в linux сталкиваются с некоторыми проблемами при создании сервера у себя на компьютере.

Нам нужно чтобы наш сервер поддерживал не только статические сайты, но и большинство современных CMS, таких как WordPress, Joomla, Drupal и др. Для этого нам будут нужны следующие компоненты:

  • apache (веб-сервер);
  • php (язык, на котором написаны многие CMS);
  • mysql (сервер баз-данных).

Сочетание Apache + PHP + MySQL является достаточно популярным. В windows среде его обычно называют WAMP (об этом я писал в статье о локальном сервере Open Server). В linux же, как вы уже, неверное, догадались, существует аналогичное название — LAMP (Linux + Apache + PHP + MySQL).

Итак, первым делом мы установим пакет программ LAMP, для чего в терминале введем следующие команды

sudo apt-get update
sudo apt-get install tasksel
sudo tasksel install lamp-server

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

В процессе установки вам порекомендуют установить пароль для административного пользователя MySQL «root», что я советую сделать

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

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

Настройка веб-сервера Apache

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

Конфигурационные данные веб-сервера apache расположены в папке /etc/apache2/ .

В папках mods-available и sites-available находятся все доступные модули и сайты. А в папках mods-enabled и sites-enabled только те из них, которые включены в данный момент. Apache2.conf — основной конфигурационный файл apache. Ports.conf — список прослушиваемых портов.

Управление сервером осуществляется через терминал:

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

включаем модули rewrite и userdir, позволяющий создавать пользовательские пути для сайтов.

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

Теперь займемся созданием площадок для локальных сайтов. Я для примера создам два локальных сайта. Большее их количество создается аналогично.

Сначала создаем два файла с названиями будущих сайтов в директории /etc/apache2/sites-available/

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

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

ServerAlias test1 www.test1
DocumentRoot /home/user/sites/test1

AllowOverride All

2
sudo gedit /etc/apache2/sites-available/test2

ServerAlias test2 www.test2
DocumentRoot /home/user/sites/test2

AllowOverride All

Далее переходим в домашний каталог и создаем в нем две папки под содержимое будущих сайтов

В них создаем по одному файлу index.html. Для первой папки — с текстом «Страница первого сайта», для второй — «Страница второго сайта».

Для того чтобы в браузере при наборе в строке адреса названий наших сайтов test1 и test2 переход осуществлялся на локальных сервер редактируем файл hosts

sudo gedit /etc/hosts .

В первою строчку дописываем имена создаваемых сайтов.

У вас должно получиться следующее

127.0.0.1 localhost test1 test2
127.0.1.1 comp

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

comp — это имя вашего компьютера, поэтому оно будет другим.

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

sudo a2ensite test1
sudo a2ensite test2

не забываем перезапустить apache.

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

Если у вас что-то не вышло или вышло не так — задавайте вопросы, постараюсь ответить.

Если вы все-таки остановились на Windows, то советую почитать статью «Локальный сервер Denwer».

В следующий раз я расскажу как работать с базами данных на локальном сервере в LINUX.

12.4. Виртуальный HTTP-сервер

12.4. Виртуальный HTTP-сервер

Концепция виртуальных хостов позволяет серверу Apache поддерживать несколько Web-узлов. Получается, что один Web-сервер заменяет несколько серверов, и вместо одного узла пользователи видят отдельные Web-узлы. Это очень удобно, если нужно организовать персональные Web-узлы пользователей или собственные Web-узлы подразделений компании, например, develop.mycompany.com.

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

В этом разделе я буду рассматривать именно первый случай. Внутри блока директивы VirtualHost можно использовать любые директивы, кроме ServerType, BindAddress, Listen, NameVirtualHost, ServerRoot, TypesConfig, PidFile, MinRequestPerChild, MaxSpareServers, MinSpareServers, так как некоторые из них относятся к основному HTTP-серверу (например, ServerType), а некоторые — ко второму варианту настройки виртуальных серверов и здесь неприемлемы. Обязательно должны присутствовать директивы ServerName, DocumentRoot, ServerAdmin и ErrorLog.

В зависимости от версии и от настроек Apache виртуальные узлы могут прописываться или в файле httpd.conf, или в файле vhosts.conf. Виртуальные серверы можно идентифицировать по имени или по IP-адресу.

Похожие главы из других книг

Сервер форумов LAND.RU (http://www.land.ru)

Сервер форумов LAND.RU (http://www.land.ru) Крупные сайты обычно предпочитают разрабатывать форумы самостоятельно и держать их у себя «под бочком», на том же самом сервере. А вот владельцы небольших сайтов и домашних страничек такую роскошь себе позволить не могут – а потому

Сервер форумов EZB0ARD (http://www.ezboard.com)

Сервер форумов EZB0ARD (http://www.ezboard.com) Если необходимость общаться исключительно на языке Шекспира и Джона Леннона вас не смущает – добро пожаловать в гости к одной из самых популярных на Западе копилок форумов – серверу EzBoard. Уж где-где, а здесь вы без общения явно не

Каталог русских WWW-чатов ЦИПДС (http://www.homepage.techno.ru/lot/chats.html или http://cipds.al.ru/wrchats.shtml)

Каталог русских WWW-чатов ЦИПДС (http://www.homepage.techno.ru/lot/chats.html или http://cipds.al.ru/wrchats.shtml) Этот каталог чатов – лишь один из многих, которые можно найти на страницах Рунета. Задайте запрос «каталог чатов» или «русские чаты» любому поисковику – и он с готовностью вывалит в ответ

18.1. Что такое «виртуальный компьютер»

18.1. Что такое «виртуальный компьютер» Виртуальный компьютер — специальная программа, запускаемая в ОС Linux и моделирующая физический компьютер на основе процессора Intel x86. Монитором виртуального компьютера является окно графической оболочки X Window, в которое производится

Связь HTTP GET и HTTP POST

Связь HTTP GET и HTTP POST Хотя GET и POST кажутся привычными конструкциями, этот метод пересылки недостаточно гибок для обслуживания таких сложных элементов, как структуры и классы. При использовании SET и POST вы можете взаимодействовать с Web-методами, используя только типы, указанные

11.5. Виртуальный узел FTP

11.5. Виртуальный узел FTP В этом разделе книги пойдет речь о конфигурировании виртуального FTP-сервера. Создание виртуального FTP-сервера будет происходить с использованием сервера ProFTP.Для начала определимся, что такое виртуальный сервер? Как и подразумевает слово

12.4. Виртуальный HTTP-сервер

12.4. Виртуальный HTTP-сервер Концепция виртуальных хостов позволяет серверу Apache поддерживать несколько Web-узлов. Получается, что один Web-сервер заменяет несколько серверов, и вместо одного узла пользователи видят отдельные Web-узлы. Это очень удобно, если нужно организовать

Виртуальный фотоальбом

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

Виртуальный сервер

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

15.4. Виртуальный узел FTP

15.4. Виртуальный узел FTP Виртуальный сервер — это сервер, не существующий физически, но представляющийся пользователю как реальный сервер. ОС Linux может поддерживать несколько IP-адресов, благодаря чему имеется возможность создать виртуальные узлы. Если вы располагаете

Глава 16 HTTP-сервер Apache

Глава 16 HTTP-сервер Apache Эта глава посвящена популярному HTTP-серверу Apache. Этот сервер возник из веб-сервера NCSA, разработанного в Национальном центре разработок суперкомпьютеров Иллинойского университета. В 1994 году из проекта NCSA ушел главный разработчик, оставив многих

16.14. Сервер kHTTPd — веб-сервер уровня ядра

16.14. Сервер kHTTPd — веб-сервер уровня ядра В операционной системе все процессы можно разделить на два типа: процессы уровня ядра и пользовательские процессы. Процесс уровня ядра запускается и работает очень быстро по сравнению с относительно неповоротливым

17.5.1. Виртуальный ввод/вывод

17.5.1. Виртуальный ввод/вывод Первая виртуальная операция, которую мы хотели реализовать, — это печать запроса на стандартный вывод либо в файл:ostream& print( ostream &os = cout ) const;Функцию print() следует объявить виртуальной, поскольку ее реализации зависят от типа, но нам нужно

2. Что такое виртуальный сайт

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

Виртуальный статут

Виртуальный статут Наш кириллический домен выходит больше похожим на домен GOV, чем на домен COM. Поэтому почта. рф – вполне логичный адрес для сайта, например, связанного с Федеральной почтовой связью Российской Федерации. А БАНК.РФ, в таком случае, – это адрес Центрального

Виртуальный фотоальбом

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

Блог про Linux, Bash и другие информационные технологии

Как собрать свой дистрибутив Linux

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

Linux From Scratch (LFS)

Самый суровый способ. LFS представляет из себя сочетание книги и загрузочного диска для сборки собственной операционной системы на базе ядра Linux полностью с нуля из исходных кодов. Отлично подходит для изучения операционных систем GNU/Linux, но абсолютно не подходит для начинающих. Очень не рекомендую тем, кто еще не умеет пользоваться Linux’ом. И очень рекомендую тем, кто хочет более плотно изучить что и как работает в операционных системах на базе ядра Linux и готов на это потратить какое-то время. Официальный сайт — http://www.linuxfromscratch.org/.

Для тех, кто освоил первую часть,- сборку основной части операционной системы,- есть вторая часть, которая называется Beyond Linux From Scratch (BLFS). Из недостатков этого способа можно отметить, пожалуй, только количество времени, которое потребуется.

Гораздо менее суровое средство сборки своего дистрибутива на базе Debian. Позволяет достаточно быстро собрать свое установочный образ, включающий необходимый набор пакетов. Есть официальная страничка в вики Debian, но она, похоже, достаточно стара и давно не обновлялась. Это один из самых простых и быстрых способов собрать свой дистрибутивный образ, но придется предварительно прочитать официальный How-To и посмотреть страницу руководств.

SUSE Studio

Один из наиболее простых способов собрать собственную операционную систему на базе ядра Linux и свободного программного обеспечения. Если быть более точным, то это возможность собрать свой потомок OpenSUSE или SUSE Linux Enterprise. Для сборки своего дистрибутива надо просто зарегистрироваться на сайте http://susestudio.com. Для хранения образов дается 15 гигабайт. Вкратце сборка своего дистрибутива выглядит так:

  • Регистрируетесь на сайте http://susestudio.com
  • Выбираете начальную конфигурацию операционной системы
  • Модифицируете ее
  • При необходимости загружаете необходимые пакеты со своими приложениями
  • Создаете образ

Более подробно расписывать не буду, на сайте всё очень просто и понятно. SUSE Studio позволяет создать следующие типы образов:

  • Образ для USB-флэшки
  • Live CD
  • Установочный образ ISO
  • Образ диска виртуальной машины в формате .vmdk
  • Образ виртуальной машины в формате OVF, который импортируется в гипервизор
  • Образ гостевой системы для Xen (.img)
  • Образ диска для Hyper-V (.vhd)
  • Образ для SUSE Cloud / OpenStack / KVM (.qcow2)

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

Ubuntu Builder

Программа для сборки дистрибутива на базе Ubuntu. Собственно, получится обычная Ubuntu нужной конфигурации. Проект закрылся 10 марта 2014 года, поэтому сложно его рекомендовать к использованию. Если есть желание с ним ознакомиться, это можно сделать здесь. Там же указана команда для подключения репозитория, из которого можно установить пакет ubuntu-builder. Если не заметили, то вот она:

Вообще это был достаточно известный проект в свое время. Жаль, что закрылся.

Novo Builder

Еще одна программа для сборки дистрибутива, которую надо устанавливать. Устанавливается она при помощи скрипта, который можно взять здесь. Скрипт сам добавит репозиторий и поставит пакеты. Это, пожалуй, лучшая на данный момент программа для сборки дистрибутива на базе Ubuntu по простоте использования. И рассказать-то больше особо нечего, достаточно поставить и посмотреть. Всё интуитивно понятно.

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

Как создать Linux сервер своими руками и что для этого нужно

У многих есть старый ПК, давно уже не самый мощный, но всё ещё рабочий, которому не находится применения.

Как же вам может послужить старый ПК, если в него добавить пару жёстких дисков и установить Linux?
1. Сетевое файловое хранилище — сетевая папка большого размера, доступная на высокой скорости
2. DLNA-сервер, позволяющий транслировать видео и аудио контент на множество устройств — телевизоры, планшеты, телефоны, ноутбуки, всё, где есть DLNA-плейер.
3. Сервер резервного копирования который будет регулярно копировать данные с ваших рабочих компьютера.
4. Сервер ownCloud — собственное облако, аналог Яндекс.Диска или Google.Drive, с той разницей, что данные будут храниться лично у вас на ПК, а не в data-центрах корпораций.

Для всех этих задач, конечно, уже есть готовые решения.
Например, можно купить аппаратный NAS (сетевое хранилище) — что-то вроде ПК, куда можно вставить жёсткие диски и сразу начать пользоваться.

Плюсы такого решения:
1) Многие модели этих устройств имеют встроенный DLNA-сервер, раздающий медиа-контент в локальной сети (Хотя это сильно увеличивает стоимость).
2) Также, к плюсам относится то, что ничего не надо настраивать (ну может быть чуть-чуть), включил — и поехали.
3) Не нужно выбирать и собирать железо, всё уже готово.

Но есть у таких устройств и минусы:
1) Ничего не надо настраивать — но это также означает, что ничего сверх базовой конфигурации настроить и не получится. Не получится, при желании, сделать из этого устройства кэширующий интернет-шлюз, с фильтрами для сайтов, небезопасных детям, не получится установить торрент клиент, если он заранее не был туда «зашит». Не говоря уж о том, что собственное облако в замен Яндекс.Диску на нём не установить.
Те же версии устройств, где стоит полноценная ОС, стоят дороже чем то решение, которое мы можем собрать самостоятельно
2) Часто в таких устройствах установлены аппаратные RAID-контроллеры. При выходе такого контроллера из строя для восстановления данных с дисков приходится не слабо потанцевать с бубнами, и самый простой способ их восстановления — найти другой подобный контроллер. Хотя, если вы не собираетесь использовать RAID — для вас это не является проблемой.

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

Данная серия статей о том, что разного и интересного можно сделать из домашнего сервера на базе Linux.

Подготовка сервера

1. Обновить пакеты сервера

sudo apt-get update
sudo apt-get upgrade

2. Устанавливаем пакет компонентов Apache, MySQL, PHP (LAMP)

Символ ^ в конце обязателен — это часть команды

Во время установки MySQL будет выведен запрос на создание пароля root (это отдельный пароль администратора именно для SQL сервера, а не для основного администратора сервера).

Проверяем установку web-сервера http://[ip адрес сервера ubuntu] — должна отобразиться тестовая страница apache.

3. Устанавливаем phpMyAdmin

sudo apt-get install phpmyadmin
sudo service apache2 restart

Необходимо выполнить следующие команды:

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin
sudo /etc/init.d/apache2 reload

sudo apt-get install php-mbstring php-gettext
sudo phpenmod mcrypt
sudo phpenmod mbstring
sudo systemctl restart apache2

Проверяем доступность интерфейса http://[ip адрес сервера ubuntu]/phpmyadmin

4. Устанавливаем FTP (для удобства работы с файлами)

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

From inetd — демон ProFTPd будет работать из-под службы inetd.
Standalone — ProFTPd будет установлен как самостоятельный демон.

Рекомендую выбрать вариант Standalone, т.к. гораздо удобней работать с ProFTPd, как с отдельной службой.

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

Однако, желательно его дополнительно настроить:

sudo nano /etc/proftpd/proftpd.conf

Раскомментировать значение RequireValidShell off и DefaultRoot

После настройки FTP нужно перезапустить:

5. Установка apache2-mpm-itk

Этот модуль нужен, чтобы сервер Apache мог рабтать с файлами сайта от имени владельца папки.

По умолчанию на директорию с файлами сайта распространяются права 755 и права 644 на все файлы. Это даёт права на запись файлов и папок только их владельцем. По этой причине при работе с файлами через FTP и Apache (например через интерфейс CMS) файлы будут сзданы от имени разных пользователей и возникают проблемы с их изменением или удалением. В решении именно этой проблемы и помогает данный модуль. Он указывает в настройках хоста каждого сайта от имени какого пользователя и группы будет работать Apache в указанной директории.

sudo apt-get install libapache2-mpm-itk
sudo a2enmod mpm_prefork
sudo a2enmod mpm_itk
sudo systemctl restart apache2

6. Включение mod_rewrite (для возможности работы ЧПУ)

sudo a2enmod rewrite
sudo service apache2 restart

Начало создания сайта

7. Создаём пользователя и каталога для работы с сайтами

sudo useradd -m -s /bin/false имя_пользователя
sudo passwd имя_пользователя

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

На предложение системы вводим пароль нового пользователя (дважды)

После создания пользователя размещаем отдельный каталог для сайта (например www), зайдя новым пользователем по FTP в домашний каталог, либо следующей командой:

sudo mkdir /home/имя_пользователя/www
sudo chown -R имя_пользователя : группа_пользователя /home/имя_пользователя/www/

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

8. Создаём виртуальный хост для сайта

Создаём файл конфигурации виртуального хоста из варианта по-умолчанию

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/новый_сайт.conf

sudo nano /etc/apache2/sites-available/новый_сайт.conf

Изменяем и дополняем следующие значения:

Включаем созданный виртуальный хоста и перезапускаем apache

sudo a2ensite новый_сайт

9. Создаём базу данных MySQL

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

При этом система запросит пароль root от mysql (именно от mysql, который задавался при установке LAMP). При удачном входе в кансоль mysql значение перед курсором сменится на mysql>. После этого создание новой базы sql и пользователя для управления ею можно выполнить одной командой:

create database имя_базы; GRANT ALL ON имя_базы.* TO ‘пользователь_базы‘@’localhost’IDENTIFIED BY ‘пароль_пользователя_базя_sql‘;

Для выхода из кансоли mysql нужно ввести команду

На этом можно закончить. Полноценный хостинг для сайта готов.

Дополнительно для удобства управления и контроля за сервером через WEB-интерфейс можно установить панель управления Webmin

Также дополнительно можно настроить параметры работы PHP («по вкусу» — например размер загружаемых фалов в параметре upload_max_filesize = 2M )

Ссылка на основную публикацию