Создание WEB сервера на основе UBUNTU Избранное.  Установка и настройка Ubuntu Server

Поднять веб-сервер Apache с php и MySQL на Ubuntu проще простого. Можно поставить LAMP. Первый вариант в подробном описании не нуждается, а вот про второй я сейчас напишу. Установка пройдет в несколько этапов. Для начала нам нужно зарегистрировать домен у какого-нибудь регистратора доменных имен, например www.sweb.ru Я им пользуюсь уже больше 5 лет. Рассмотрим перенос на собственный сервер вымышленного домена www.mysite.ru Я делал все на живой машине, а не на виртуальном сервере, поэтому для переноса на свой сервер у вас должен быть хотя бы один выделенный внешний ip.

Не забудте прописать в админке вашего хостера dns для вашего домена в виде внешнего ip, прикреплённого к вашему серверу.

Устанавливаем Ubuntu Server 10.04.3 , именно на ней я и создавал web server. Я знаю, есть много других дистрибутивов, но мне по душе ubuntu. Особое внимание при установке обратите на настройку сети (DHCP ), её лучше настраивать вручную. Также на последнем этапе когда вас попросят выделить из списка пакеты (почтовый сервер, lamp, ssh, java… прочее) выберите только ssh, остальное вам не нужно.

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

apt-get purge "тут название пакета для удаления"

Устанавливаем Apache

sudo apt-get install apache2

Если все прошло без ошибок, сервер сразу загрузится и будет в рабочем состоянии. У меня сеть с внутренними ip и с привязанными к ним провайдером внешними ip. Поэтому набрав на другом компьютере внешний ip мы попадаем на страницу с текстом «It works!» , значит все получилось. Файлы хоста находятся в папке /var/www , нам это ни к чему. По крайней мере я решил что все данные лучше хранить в папке /home . Поэтому в дальнейшем перенесем наши папки доменов в раздел home .

Для управления сервером Apache мы можем воспользоваться утилитой apache2ctl . Например, можно просмотреть текущий статус сервера Apache, выполнив команду:

apache2ctl status - состояние сервера
sudo apache2ctl stop - остановить
sudo apache2ctl start - запустить
sudo apache2ctl restart - перезапустить

Есть и другие команды для этих же целей:

sudo /etc/init.d/apache2 status - состояние сервера
sudo /etc/init.d/apache2 stop - остановить
sudo /etc/init.d/apache2 start - запустить
sudo /etc/init.d/apache2 restart - перезапустить

Установка PHP

Сразу установим библиотеки для работы с мускулом и библиотеки для работы с графикой:

sudo apt-get install php5 libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql imagemagick

некоторые мануалы пишут еще об одном пакете: php-image-graph но у меня он не установился, написал что не доступен, поэтому я не стал разбираться почему, заработало и так. :)

Чтобы Apache подхватил только что установленный PHP перезагрузим его командой:

sudo apache2ctl restart или sudo /etc/init.d/apache2 restart

Установка MySQL

sudo apt-get install mysql-server

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

Если хотите поменять пароль на Mysql, это я к тому, что если вы ставили русскую версию ubuntu то иногда непонятно на каком языке вы вводите, то заменить можно так:

mysql -uroot –p

SET PASSWORD FOR root@localhost=PASSWORD("123456789");

вводим quit

Вообще все перезагружается автоматом, но если вдруг, то перезагружаем:

Mysql /etc/init.d/mysql restart

пробуем зайти под новым паролем.

Установка PhpMyAdmin

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

sudo apt-get install phpmyadmin

В конце установки появится окошко, в котором нужно выбрать сервер apache2 (клавишей пробел) и нажать Enter. Далее вам предложат создать базу данных для phpMyAdmin. Выберите Да и нажмите Enter. Далее введите пароль административной учетной. Затем введите пароль для регистрации phpMyAdmin на сервере баз данных и в следующем окошке подтверждение пароля.

Панель управления phpMyAdmin будет доступна по адресу http://ваш_ip/phpmyadmin. В качестве имени пользователя введите root, а пароль тот, который вы указали для пользователя root при установке MySQL.

Для ограничения доступа к PhpMyAdmin вам надо выполнить несколько действий. Во-первых давайте скроем доступ к управлению базами данных через http://ваш_ip/phpmyadmin Отредактируем файл /etc/apache2/conf.d/phpmyadmin.conf в котором надо:

1. Изменить Alias /phpmyadmin на что нибудь своё, например Alias /skdjfhefjdv что не позволит злоумышленнику, если ваш сайт имеет выход в интернет, получить доступ к phpmyadmin из вне и натворить там не весть что.

2. В корневую дирректорию phpmyadmin которая находиться в /usr/share/phpmyadmin/ надо положить файл.htaccess со следующими данными:

deny from all
allow from ваш_IP

Теперь в phpMyadmin можно будет заходить с определённого ip.

Теперь создадим свой сайт www.mysite.ru . Создадим директорию для всех ваших сайтов, а заодно и для www.mysite.ru :

mkdir -p ~/www/mysite.ru/public_html

Данной командой мы создали общую www и в ней папку домена с папкой для файлов сайта, в директории /home .

Теперь сообщим апачу о новом сайте. Создаём файл:

sudo nano /etc/apache2/sites-available/mysite.ru

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


ServerName mysite.ru
ServerAdmin webmaster@localhost

DocumentRoot /home/username/www/mysite.ru/public_html

Options FollowSymLinks
AllowOverride None


Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all

ErrorLog /var/log/apache2/error.log

CustomLog /var/log/apache2/access.log combined

Сохраняем файл. Теперь нужно сообщить апачу, что сайт нужно обслуживать. Пишем в терминал:

sudo a2ensite mysite.ru

А затем перезагрузим его:

sudo /etc/init.d/apache2 reload

Теперь нам нужно, что бы при вводе в браузере адреса mysite.ru открывался наш локальный сайт, а не с интернета. Поэтому открываем файл hosts.

Сервер на основе Ubuntu дает возможность поднять различные сервисы, в том числе и для работы с сетью. Примеры таких сервисов: DHCP, DNS, NAT, Apache, FTP и множество других. В данной статье я не буду рассказывать почему именно выбрал Ubuntu server, о всех его преимуществах вы можете почитать в этой статье . Понятно, что, например, Debian считается более стабильным и используется в серьезных проектах, но для моих задач вполне хватает Ubuntu 🙂

Ubuntu server поддерживает три основные архитектуры процессора: Intel x86, AMD64 и ARM. Системные требования для Ubuntu сервера достаточно скромные.

Скачать Ubuntu Server любой версии можно на официальном сайте .

После скачивания, необходимо записать образ сервера на CD, DWD-диск или на флешку. Для записи образов на флешку я рекомендую пользоваться программой Unetbootin — она бесплатная, распространяется на всех операционные системы (Windows, Linux, Mac OS), имеет понятный интерфейс.

Выбираем «Образ диска», в списке оставляем «Стандарт ISO»

Все, после этого выбираете тип: Устройство USB, находите в списке свой USB-накопитель и нажимаете OK. Образ диска должен записаться на флешку.

Теперь можно приступать к установке системы. При загрузке компьютера необходимо зайти в BIOS (клавиша f2) и настроить в приоритете загрузке самым первым нашу флешку. Настройка приоритетов загрузки находится во вкладке Boot. После чего применяем изменения в BIOS и перезагружаемся.

После перезагрузки начинается установка Ubuntu Server. Выбираем нужный нам язык.

Выбираем Установить Ubuntu Server.

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

После определения раскладки установщик автоматически определяет подключенное оборудование и загружает основные компоненты для работы системы. Далее нам предлагают выбрать имя сервера — если делаете для себя выбираете любое, если сервер будет находится в организации выбираете имя согласно правилу именования узлов в сети. Например, там где я работаю сервера имеют примерно такое название srv1.ekt10, где ekt — Екатеринбург, 10 — номер площадки.

Для своей учетной записи сразу же создаем пароль: для лучшей защиты используйте в пароле спец. символы.

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

  1. Если сервер ставится на чистый жесткий диск — лучше выбрать автоматическую разметку. В этом случае будет создано два раздела: первый — для корневой папки (/), второй — раздел подкачки (/swap). Также дополнительно можно создать раздел для своей учетной записи (/home/имя пользователя). В дальнейшем после установки все махинации с жестким диском можно продолжить при помощи специальных утилит системы.
  2. Если на диске уже установлена другая операционная система — можно разбить жесткий диск вручную.

Приведу некоторые сведения, касающиеся разметки жестких дисков. Физические жесткие диски называются: sda, sdb. sdc, и так далее. При этом подключаемые устройства называются также. Разделы на винчестерах называются: sda1, sda2, sda3. Понятно, что это эти разделы относятся к диску A. Существуют три вида разделов: основной, логический и расширенный. Основных разделов может быть максимум четыре. Логических разделов может быть бесконечное количество. Каждый логический раздел входит в расширенный. При этом расширенный раздел может быть только один и он в то же время является основным. Иными словами, если нам необходимо настроить логические разделы, мы берем какой-то один основной раздел, делаем его расширенным и уже на его основе создаем логические разделы.

Ниже показан пример разделения жесткого диска в программе GParted. Видно, что на диске создание три основных раздела: sda1, sda2, sda3. Первые два раздела используется под Windows: sda1 — под саму ОС, sda2- для пользовательских данных. SDA3 используется под Linux и является расширенным (extended). На основе расширенного создано три логических раздела: sda5 — под корневую файловую систему (/), sda6 — под раздел подкачки (linux-swap), sda7 — под файлы пользователя (home). Тут же видно, что для Windows используется файловая система nfts, а Linux — ext4. Это хороший пример разделения, но вам совсем не обязательно делать именно так.

В Linux имеется всегда один корень root и обозначается ‘/’. Путь к любому файлу отсчитывается относительно этого корня. Присоединение к корню других файловых систем осуществляется с помощью операции монтирование.

Монтирование — операция присоединения устройства хранения данных к дереву каталогов.

Монтирование осуществляется с помощью команды mount точка_монтирование файловая_система

Также ранее упоминалось про понятие раздела подкачки.

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

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

Выбираем наш жесткий диск.

Пока у меня есть только один основной раздел SDA и свободное место 8,6 Gb. Я же планирую использовать 1 Gb под раздел подкачки, 4 Gb под корневой раздел, 3,6 Gb под домашнюю директорию. При этом все три раздела я сделаю основными (так как планирую использовать на данном компьютере только одну ОС). Выбираем не размеченную область и начинаем ее делить.

Выбираем создать новый раздел.

Первым делом создаем файл подкачки. Его размер мы решили сделать 1 Gb.

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

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

Переходим во вкладку «Использовать как» для того, чтобы выбрать тип раздела.

Выбираем тип — раздел подкачки.

Все — настройка первого раздела завершена, применяем настройки.

Оставшиеся два раздела настраиваются абсолютно аналогично — меняются лишь размер и тип раздела. Вообщем в конце у вас должно получиться примерно так.

Основа системы уже готова. Нам предлагают поставить некоторые дополнительные пакеты. В данном случае все зависит от целей, для которых вы ставите сервер (FTP, DNS, DHCP, Web, MAIL или какой-то еще). Могу сказать, что в любом случае вам стоит выбирать пакет OpenSSH, который предназначен для удаленного доступа по SSH. В моем случае сервер тестовый и я ничего выбирать не буду. Все дополнительные пакеты будут установлены после установки.

В конце нам предлагают установить системный загрузчик GRUB в главную загрузочную запись. Могу сказать, что если Ubuntu — единственная ОС в вашем компьютере, то смело выбирайте Да. Если не уверены лучше выбрать Нет. В любом случае, даже если вы поставили GRUB и теперь не можете зайти на другую операционную систему, эту ситуацию можно исправить путем правок в конфигурационном файле GRUB. Как это сделать я покажу в следующих статьях.

Поздравляю наш сервер готов к работе 🙂

___________________________

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

Так как основной системой для наших решений является Ubuntu Server, то ставить мы будем именно ее. Свежий релиз всегда можно получить со страницы: http://www.ubuntu.com/download/server . Мы настоятельно рекомендуем использовать только LTS-версии, как наиболее стабильные и имеющие продолжительный срок поддержки. Обычные версии, как правило, являются полигоном для обкатки новых технологий и могут работать нестабильно, не говоря уже о том, что срок поддержки в 9 месяцев абсолютно неприемлем для работающих серверных систем.

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

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

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

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

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

Затем следует указать комбинацию клавиш для ее переключения. Мы категорически не рекомендуем, если только это не ваша личная система, указывать что-либо иное, нежели принятое по умолчанию Alt+Shift . Потому как крайне неприятно, оказавшись в незнакомой системе, угадывать, какую именно комбинацию выбрал устанавливавший ее администратор.

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

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

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

От предложения зашифровать домашний каталог также следует отказаться.

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

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

После настройки времени мы переходим к наиболее ответственному этапу - настройке диска. Система предлагает несколько вариантов, среди которых автоматическая разметка. В большинстве случаев мы выбираем именно этот пункт. Если говорить о единственном диске, то мы не видим смысла разбивать его на разделы, за исключением настольных систем, где на отдельный раздел стоит вынести /home .

В нагруженных системах имеет смысл выносить разделы с данными, например, /var/www или /opt/zimbra , на отдельные дисковые массивы. Если вы хотите установить систему на программный RAID, то обратитесь к статье: . В остальных случаях смело выбирайте автоматическую разметку без LVM, в этом случае на диске будет создан раздел подкачки (swap ) размером в единицы ГБ и корневой раздел на остальном пространстве.

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

Установив основу системы, инсталлятор предложит вам выбрать наборы ПО для установки. Можно выбрать на этом этапе необходимые роли и получить готовую к настройке систему. Разве это плохо, особенно для начинающего администратора? Плохо! И вот почему: при таком подходе система остается для администратора "черным ящиком", нет представления о назначении отдельных пакетов, их роли и влиянии на систему в целом. Поэтому мы рекомендуем отказаться от предлагаемых вариантов и устанавливать требуемые пакеты вручную. Это поможет вам глубже понять систему и взаимодействие между ее компонентами. А когда вы станете чувствовать себя в среде Linux как рыба в воде, вы сами решите нужно ли вам устанавливать софт автоматически.

Поэтому не выбираем ничего и (нажав Tab ) переходим к пункту Продолжить .

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

В завершение этого процесса инсталлятор предложит вам установить загрузчик, с этим предложением стоит согласиться, если только вы не планируете систему с какой-либо "хитрой" системой загрузки:

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

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

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

Прежде всего повысим свои права до суперпользователя:

И откроем редактором конфигурационный файл с настройками сети:

Nano /etc/network/interfaces

И приведем его содержимое к следующему виду:

Auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.44.62
netmask 255.255.255.0
gateway 192.168.44.2
dns-nameservers 192.168.44.2 8.8.8.8

Первая секция auto lo задает настройки для петлевого интерфейса и уже присутствует в файле. Вторая секция задает настройки внешнего сетевого интерфейса eth0 для работы со статическим адресом. Опции понятны и отдельных разъяснений не требуют, адреса, естественно, взяты исключительно для примера. Если в вашем сервере несколько сетевых адаптеров, то следует прописать секцию для каждого из них.

Допустим мы хотим получать настройки второго сетевого адаптера eth1 по DHCP, для этого добавим секцию:

Auto eth1
allow-hotplug eth1
iface eth1 inet dhcp

Немного остановимся на опциях auto и auto-hotplug . Первая указывает инициировать подключение при загрузке, а вторая запускает механизм отслеживания горячего переподключения и инициировать получение адреса при наступлении данного события.

Закончив редактировать файл следует выйти из редактора по Ctrl + X , утвердительно (Y ) ответив на предложение записать файл.

После чего перезагрузите компьютер:

Если все сделано правильно, то система получит доступ к сети и интернет. Проверить это можно командой ping:

Ping ya.ru

Прервать выполнение команды следует комбинацией Ctrl + С , запомните эту комбинацию, она еще не раз вам пригодится.

Просмотреть настройки сетевых интерфейсов можно командой

Ifconfig

Этой же командой можно выяснить, какие именно сетевые карты видит система и под какими именами, для этого воспользуйтесь параметром HWaddr , который представляет MAC-адрес сетевой платы.

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

Apt-get update

Затем обновим систему командой:

Apt-get upgrade

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

Apt-get install linux-generic

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

После перезагрузки установим инструменты администрирования: пакет ssh для удаленного доступа к серверу и файловый менеджер mc , который значительно упрощает работу с системой.

Apt-get install ssh mc

Для запуска mc используйте простую команду:

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

Работа с ним довольно проста, те кто работал в DOS с менеджерами Norton Commander или Volkov Commander вообще не должны испытывать затруднений.

Навигация осуществляется стрелками, переход между панелями клавишей Tab , а выделение клавишей Insert . Основные действия указаны внизу, цифры рядом с ними обозначают номер функциональной клавиши, отвечающей за это действие, так, например, F4 - Правка, F8 - Удаление, F10 - Выход. Вы всегда можете свернуть, а затем развернуть, mc сочетанием клавиш Ctrl + O и получить доступ к консоли.

В открывшемся окне стрелками перейдите на опцию Встроенный редактор и выберите ее при помощи клавиши Пробел . Для подтверждения настроек и выхода нажмите Далее .

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

В заключение проверим возможность удаленного подключения, для этого будем использовать популярную утилиту PuTTY (скачать). В последней версии просто достаточно указать IP-адрес или доменное имя сервера:

Однако, на всякий случай, проверьте в Window - Translation

В данной статье будет рассмотрена полная настройка готового WEB сервера хостинга сайтов на основе дистрибутива UBUNTU 16.04

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

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

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

sudo apt-get update
sudo apt-get upgrade

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

sudo apt-get install lamp-server^

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

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

Проверяем установку web-сервера http:// - должна отобразиться тестовая страница 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

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

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

sudo apt-get install proftpd

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

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

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

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

sudo nano /etc/proftpd/proftpd.conf

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

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

sudo /etc/init.d/proftpd restart

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

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

DocumentRoot /home/имя_пользователя /www
ServerName новый_сайт
ServerAdmin webmaster@localhost
имя_пользователя /www>
AllowOverride All
Require all granted


AssignUserId имя_пользователя группа_пользователя

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

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

sudo service apache2 reload

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

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

mysql -u root -p

При этом система запросит пароль 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)

Для UBUNTU 16.04:

sudo nano /etc/php/7.0/apache2/php.ini

Для UBUNTU 14.04:

sudo nano /etc/php5/apache2/php.ini

Хотя Ubuntu Server (даже если исходить из названия) предназначен в первую очередь для серверного оборудования, он также популярен среди любителей настроить обычную рабочую систему (в том числе с GUI — графическим интерфейсом) «под себя» с нуля, установив самостоятельно только нужные пакеты и приложения. Ubuntu сама по себе очень дружественна к пользователям, прекрасно документирована, имеет богатейшее сообщество (в том числе русскоязычное) и прекрасно подходит для начинающих в мире *nix-систем.
? Для установки выберем последний на сегодняшний момент стабильный релиз (обновления к которому гарантированно будут выпускаться вплоть до апреля 2021 года) - Ubuntu Server 16.04.1 LTS . Устанавливать можно как на «голое» железо, предварительно подготовив загрузочный носитель, так и в виртуалке (VirtualBox , VMware) Итак, начнем.

  1. Скачиваем образ с официального сайта. Для загрузки 64-битной версии нам нужен либо торрент-файл (ubuntu-16.04.1-server-amd64.iso.torrent) , либо образ.iso (ubuntu-16.04.1-server-amd64.iso) . Я предпочитаю закачивать через торрент — выше скорость. Размер образа составляет около 0,7 Gb (к слову, версия desktop весит в два раза больше, 1,4 Gb).
  2. Если установка будет производиться на «реальное» железо, тогда подготовьте загрузочный носитель (usb-flash, cd/dvd). Создание носителя тривиально (открыть программу для записи.iso, выбрать образ и носитель, записать образ на носитель), я предпочитаю использовать для записи.iso образов UltraISO либо UnetBootin . Если же вы хотите попробовать Ubuntu Server в виртуальной машине, то просто переходите к следующему шагу.
  3. Загружаемся с загрузочного носителя, выбираем русский язык из списка, далее выбираем Установить Ubuntu Server :

  4. На следующем этапе выберите своё месторасположение, определите раскладку клавиатуры и клавиатурное сочетание для переключения между раскладками (можно всё оставить по умолчанию).








  5. Следующий этап — настройка сети. Введите имя сервера, после чего произойдет попытка автоматической настройки сети по DHCP. Для сервера чаще всего требуется статический IP-адрес в локальной сети, эту настройку мы произведем позднее, после завершения установки.
  6. Введите имя и пароль вашей учетной записи (пароль желательно более 8 символов, но можно и меньше, Ubuntu это допускает, просто лишний раз об этом переспросит). По желанию далее вы можете зашифровать свой домашний каталог (по умолчанию — нет).




  7. Дело дошло до ответственного этапа — разметки диска. Разумеется, если вы экспериментируете в виртуальной среде, то бояться вам нечего — оставляйте все настройки по умолчанию (Авто — использовать вест диск). Но если вы устанавливаете Ubuntu Server на физичеческое железо с несколькими дисками с нужными данными — будьте аккуратны! Чтобы потом не рвать на себе волосы, во избежание путаницы, советую перед установкой физически отключить «лишние» носители.




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


  9. Теперь выберем из списка необходимое программное обеспечение, которое будет установлено вместе с системой. Всё из указанного без проблем можно установить позднее, я рекомендую отметить только чекбоксы standard system utilities и OpenSSH server (для удаленного управления сервером по SSH сразу после установки системы).

  10. Список пакетов, входящих в standard system utilities в Ubuntu Server 16.04

    manpages
    dnsutils
    bsdmainutils
    psmisc
    python3-gdbm
    ufw
    dosfstools
    ed
    telnet
    powermgmt-base
    ntfs-3g
    ubuntu-release-upgrader-core
    iputils-tracepath
    python3-update-manager
    groff-base
    python3-distupgrade
    bind9-host
    mtr-tiny
    bash-completion
    mlocate
    tcpdump
    geoip-database
    install-info
    irqbalance
    language-selector-common
    friendly-recovery
    command-not-found
    info
    hdparm
    man-db
    lshw
    update-manager-core
    apt-transport-https
    accountsservice
    command-not-found-data
    python3-commandnotfound
    time
    ltrace
    parted
    popularity-contest
    strace
    ftp
    ubuntu-standard
    lsof

  11. Пришло время установки главного загрузчика — GRUB. Если носитель в системе на данный момент один — смело продолжайте установку со значениями по умолчанию. Если же носителей два и более (установочная флешка тоже считается!) — то будьте внимательны и устанавливайте GRUB на нужный диск (туда же, куда и саму систему), иначе потом не сможете загрузиться! Ориентироваться между дисками (к примеру, между HHD и USB-flash) зачастую проще всего по размеру.
  12. Установка завершена, вытаскивайте флешку и перезагружайтесь. Если все прошло хорошо, то после перезагрузки вас встретит черный экран с приглашением ввести имя и пароль учетной записи (указанные вами при установке).

  13. Перво-наперво настроим сетевой адаптер, чтобы иметь доступ в Интернет и/или к локальной сети. Если в момент установки системы сетевой кабель был подключен, то скорее всего, сеть уже настроена по DHCP . Если же в вашей локальной сети нет DHCP, либо вам нужен статический IP-адрес, Выполните в терминале:

    sudo nano /etc/network/interfaces

    Введите пароль вашей учетной записи для sudo, и для редактирования откроется текстовый файл с настройками сети. Найдите в тексте секцию # The primary network interface , в этой секции будет строчка iface eth0 inet dhcp (eth0 — наименование сетевого интерфейса, если вы работаете в виртуалке, он может называться по-другому, к примеру у меня в VirtualBox он называется enp0s3), которая указывает на то, что в настоящий момент сеть настроена на прием настроек автоматически по DHCP. Заменяем в указанной строчке «dhcp» на «static» и дописываем снизу еще 4 строчки со статическими настройками сетевого интерфейса, в итоге секция у вас должна выглядеть примерно так:

    # The primary network interface
    auto eth0
    iface eth0 inet static
    address 192.168.1.101 //здесь указываем нужный вам IP-адрес сервера
    mask 255.255.255.0
    gateway 192.168.1.1 //IP-адрес вашего интернет-шлюза (роутера)
    dns-nameservers xx.xx.xx.xx xx.xx.xx.xx //IP-адреса ваших DNS-серверов, разделенные пробелом

    После окончания редактирования нажимаем Ctrl+O и Enter для сохранения, затем выходим из текстового редактора (Ctrl+X ). Перезагрузим сетевой интерфейс, выполнив в терминале:

    sudo ifdown eth0 && sudo ifup eth0

    Проверим работоспособность сети, запинговав какой-нибудь высокодоступный сервер:

    Если в ответ пошли строчки с ответами вроде этой:

    64 bytes from www.yandex.ru (213.180.204.3): icmp_seq=36 ttl=53 time=43.0 ms

    Значит, все в порядке. Останавливаем пинг (Ctrl+C ) и переходим к последнему этапу первоначальной настройки.

  14. Заключительным этапом установки и первоначальной настройки Ubuntu Server 16.04 будет обновление всех пакетов в системе. Выполните в терминале:

    sudo apt-get update && sudo apt-get upgrade

    Введите пароль вашей учетной записи для sudo (если попросит), и согласитесь (Y) на установку обновлений из Интернета.<.li>

На этом всё. Ubuntu Server 16.04 успешно установлен и готов к работе, правда, он еще не выполняет никаких функций — веб-сервера, почтового сервера, сервера FTP, файлообменного сервера etc. Установку и настройку этих служб и сервисов я детально рассмотрю в отдельных статьях.