Ubuntu/Debian

Web сервер на Ubuntu

Ubuntu
Ubuntu

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

1. Краткий обзор

В этой статье я преследую несколько вещей:

  • Мы используем для установки  Ubuntu Server. Почему? Потому что Я обычно используют Ubuntu из-за ее простоты в использовании и простом администрировании. Ubuntu имеет довольно большое и очень активное сообщество благодаря которому можно получить поддержку..
  • Мы установим OpenSSH сервер. Это позволит Вам управлять вашим сервером с удаленного компьютера.
  • LAMP (Linux, Apache, MySQL, и PHP) так же будет установлен. Это основная составляющая работы ващего сайта. Apache является самым распространенным веб-сервером на Unix систем, это то.
  • Мы установим брандмауэр для защиты сервера от несанкционированного доступа.

Для работы с этим руководством, вам понадобится:

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

Вы можете спросить, зачем нам собственный выделенный сервер? Есть несколько причин: вы сможете тестировать свои проекты  и самое главное вы узнаете много нового о Linux / Unix системах.

Ну а теперь приступим непосредственно к работе с нашим сервером.

2. Скачать Ubuntu Server

Прежде всего, нам понадобиться дистрибутив с операционной системой Ubuntu. Скачать его можно с сайта http://www.ubuntu.com/ ,
Вам будет предложены два варианта ОС: «Desktop Edition» и «Server Edition». Поскольку мы ведем речь о сервере, то выбираем «Server Edition» далее выберите версию актуальную на сегодняшний день выберите «Ubuntu 10.10 LTS».  Далее, выберите место нахождения из выпадающего списка и жмем «Начать загрузку».

Теперь нужно записать ISO (файл, который вы скачали) на пустой CD. Если вы не знаете, как это сделать, есть
отличное руководство на  HTTPS://help.ubuntu.com /community/BurningIsoHowto

3. Установка Ubuntu Server

Теперь, когда вы скачали и записали ISO образ на диск, приступим к установке Ubuntu на ваш сервер. Загрузитесь с компакт-диска. В большинстве современных компьютеров, это произойдет по умолчанию, если диск есть в приводе.. Если этого не произойдет, то вам необходимо включить загрузку с диска в BIOS. Для этого сразу после включения нажмите: для  ноутбука, это F12, для большинства стационарных компьютеров это Del. Все зависит от вашего компьютера.  Как сделать установку с компакт-диска можете посмотреть в книжке для вашей материнской платы. – все зависит от производителя BIOS. Хорошо сделали? Теперь, когда вы загрузились в Ubuntu, вы должны увидеть следующий экран:

Выберите язык и нажмите ввод. Теперь вы увидите такой экран:

Выберите «Установить Ubuntu Server», и нажмите Enter!

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

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

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

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

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

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

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

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

Следом поступит предложение ввести пароль. Очень важно, что бы вы выбирали надежный пароль, иначе вы стате под угрозу безопасность вашего сервера. Я рекомендую использовать цифры, строчные  заглавные буквы.. НЕ используйте пароль короче 7 символов.

Повторно введите пароль, чтобы убедиться, что вы ввели его правильно.

Система попытается настроить «Менеджер пакетов”. Выберите пункт «Продолжить», оставив поле пустым

На следующем шаге система производит сканирование серверов в поиске обновлений и настройки конфигурации

После завершения поиска обновлений и настройки вам будет предложено несколько вариантов для установки серверного программного обеспечения.
Обязательно выберите OpenSSH сервер и нажмите Space, а не ENTER. Если вы нажмите ввод, установка будет продолжаться без установки сервера OpenSSH.

Теперь программа установки, установит выбранное программное обеспечение и другие компоненты системы

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

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

4. Обновление программного обеспечения сервера

Прежде чем идти дальше, мы должны убедиться, что ваш сервер обновлен. Чтобы сделать это, вам необходимо: Войти. Во-первых, введите имя пользователя (Тот, который вы выбрали ранее), нажмите клавишу ВВОД, а затем введите пароль. Когда  вы вводите пароль, вы увидите, что ничего не происходит, не появляются звездочки. Не волнуйтесь, все это сделано для безопасности вашего сервера. После того как в введете пароль нажмите Enter,
и ваш экран должен выглядеть примерно так как показано ниже:

Вводим команды:

sudo aptitude update && sudo aptitude dist-upgrade

Система спросит пароль, введите его. Для продолжения выполнения нашей команды выбирите “Y” и нажмите Enter. На экране вы увидите примерно следующее:

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

Для этого, введите:

sudo shutdown -r now

5. Установка Apache, MySQL, PHP

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

Приступим!

Установка программ на Ubuntu сильно отличается от установки программы на Windows или OS X, в том, что Ubuntu будет скачивать и устанавливать программы для вас с помощью простых команды. Это потому, что Ubuntu имеет Package Manager, который управляет почти всеми программами в системе. Все, что мы должны сделать, это сказать менеджер пакетов.

Достаточно просто сказать системе что мы хотим установить Apache, MySQL, PHP, введя для этого:

sudo aptitude install apache2 php5-mysql libapache2-mod-php5 mysql-server

И нажмите Enter.

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

Во время процесса установки, MySQL Вас попросят ввести пароль. Установите его

После этого вы имеете полноценный рабочий веб-сервер. Чтобы проверить это, во-первых найти IP сервера, набрав:

  ifconfig | grep inet

Он как правило идет первым в строке. В моем случае, это 192.168.177.129. Теперь, когда вы знаете IP, откройте веб-браузер и укажите в нем IP вашего сервера. Если вы видите «Она работает!»  То все идет очень хорошо. Веб-сервер работает отлично

Однако мы еще не закончили.

Теперь откройте файл конфигурации:

  Sudo Nano / etc/apache2/apache2.conf

Выделите вниз (стрелка вниз), до “ServerTokens Full” и изменить его следующим образом: «ServerTokens Prod»

Теперь, прокрутите вниз немного дальше и изменените «ServerSignature Оn» до «ServerSignature Off»

Теперь сохраните изменения комбинацией клавиш Control-O и выйдите из редактора Control-X.  Теперь, н для PHP. Сначала создайте резервную копию оригинального файла конфигурации PHP:

  Sudo CP / etc/php5/apache2/php.ini / etc/php5/apache2/php.ini.bak

Открыть файл конфигурации:

  Sudo Nano / etc/php5/apache2/php.ini

Изменение «expose_php = ON» на «expose_php = Off»

Снова нажмите Control-O и Control-X. Теперь обновите файлы конфигурации перезагрузкой Apache:

  sudo /etc/init.d/apache2 restart

Настройки Apache, MySQL, PHP закончены

6. Утановка брандмауэра

Теперь мы более тщательно обезопасим наш сервер путем установки брандмауэра Shorewall,

Для его установки введите:

  sudo aptitude install shorewall

По умолчанию, Shorewall устанавливается без правил, что означает полный доступ. Нам это не нужном.
Вместо этого, мы собираемся блокировать все соединения из вне, кроме порта 80 (HTTP) и порт 22 (SSH).

Во-первых, копруем конфигурацию  в каталог Shorewall:

  sudo cp /usr/share/doc/shorewall-common/examples/one-interface/* /etc/shorewall/

Теперь откройте » rules » файл:

  sudo nano /etc/shorewall/rules

Добавьте эти строки над “#LAST LINE”:

  HTTP/ACCEPT net $FW

  SSH/ACCEPT net $FW

<a href="http://adminpab.ru/wp-content/uploads/2011/02/image049.png"><img class="aligncenter size-medium wp-image-157" title="Установка Web server на Ubuntu" src="http://adminpab.ru/wp-content/uploads/2011/02/image049-300x166.png" alt="" width="300" height="166" /></a>

Затем нажмите Control-O и Control-X. Ваш брандмауэр теперь настроен на прием только HTTP и SSH трафик. Последнее, что нам нужно сделать, заставить Shorewall стартовать при загрузке нашего веб-сервера.

Для этого открываем основной конфигурационный файл Shorewall:

  sudo nano /etc/shorewall/shorewall.conf

Прокрутите вниз до «STARTUP_ENABLED = No» и измените его на «STARTUP_ENABLED = Yes»

Нажмите Control-O и Control-X. Теперь откройте  файл конфигурации Shorewall по умолчанию:

  sudo nano /etc/default/shorewall

И изменение » startup=0 » до » startup=1 «. Нажмите Control-O и Control-X.

И запустите свой брандмауэр:

 sudo /etc/init.d/shorewall start

Поздравляем! Ваш брандмауэр установлен и стоит на защите вашего сервера.

7. Добавить свой сайт на веб-сервер

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

По умолчанию, все файлы вашего сайта должны быть в папке «/VAR /WWW /». Однако, мы не можем пок ничего записать в эту папку.

Давайте все изменим таким образом:

sudo usermod -g www-data [ВАШЕ ИМЯ ПОЛЬЗОВАТЕЛЯ]

sudo chown -R www-data:www-data /var/www

sudo chmod -R 775 /var/www

Что же мы сделали? Мы создали группу www-data, и сделали папку для сайта, чтобы члены этой группы могли записывать туда данные.

Теперь, вы будете входить в ваш сервер, используя SFTP (не путать с FTPS). Вот некоторые клиенты, которые поддерживают SFTP:
WinSCP (Windows, бесплатно), FileZilla (Windows, Linux, OS X, бесплатно),
Подключитесь к серверу, используя имя пользователя и пароль. Далее просто перейдите в  /VAR /WWW

Вы можете добавлять файлы в эту папку (/VAR/WWW), и они будут отображаться на вашем сервере при просмотре его через браузер.

Почему мы используем SFTP вместо FTP. Главным образом, потому что SFTP уже встроено в OpenSSH (который вы установили ранее). И данный протокол более безопсен, чем FTP, а также затрудняет получить злоумышленникам доступ к вашим полномочиям на сервере.

8. Управление сервером удаленно

Для удаленного доступа к своему серверу вам понадобиться SSH клиент. Для Windows рекомендую программу Putty. Для остальных операционных систем возможно использование обычного терминала, просто откройте терминал и введите «SSH  you@yourip». Для Putty, выберите SSH, и поставьте ваш IP, имя пользователя и пароль, при запуске программы. Зайдя удаленно вы увидите что то на подобии этого:

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

9. Вот и все!

Теперь у вас есть полностью функциональный веб-сервера. Надеюсь, моя статья принесла вам немного знаний и оказалась полезной.

Комментариев: 14

  1. Очень полезная статья! Для большой аудитории, но текст местами как из переводчика.

    1. На момент публикации уже доступна Ubuntu 11.10, при установке которой я не нашел ни одного описанного параметра в фаиле /etc/apache2/apache2.conf.

    2. Можно ли прокомментировать, что мы делаем изменяя эти и другие параметры в фаилах.

    2. <<>>
    не нашел “#LAST LINE” или имеется ввиду «последняя строка»?

    3. Почему при установке не выбираете «LAMP server», а устанавливаете отдельно Apache, Mysql, PHP?

    Спасибо!

  2. А можна сервер зделать с Desktop Edition потому что у меня уже установлен обычный ubuntu?

  3. Можно, но лучше ставить сервер, сразу выбрать там «интернет-сайт» и др., всё, что нужно, а потом в терминале под root-ом доставить desktop:
    1) apt-get install ubuntu-desktop (gnome)
    2) apt-get install xubuntu-desktop (Xfce, он полегче гнома)
    3) apt-get install kubuntu-desktop (kde, он тяжёлый, но интересный…)

  4. Добрый день! Хотелось бы уточнить, можно ли одновременно поднять на данном сервере: Web-server, FTP-server, Файловый-server на SAMBA

  5. Спасибо отличная статья! очень помогла при настройке сервера. побольше бы таких. еще раз спасибо

  6. Позвольте вопрос. Я новичок в ubuntu в целом и в server в частности. В данной статье мне не понятен один пункт. Написано: «Теперь, когда вы знаете IP, откройте веб-браузер и укажите в нем IP вашего сервера.» Но, как я понял, в server нет графического интерфейса, а сам сайт открыт в браузере с графическим интерфейсом. Браузер установлен отдельно? Второй вопрос: Откуда именно надо открывать пробный сайт? С того же компьютера на котором установлен web-сервер? Или присутсвующего в данной локальной сети? У меня вышло его открыть только с помощью links на том же компьютере на котором установлен web-сервер.

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

  7. Спасибо за статью!!!!
    Очень помогла.
    Действительно, почему сразу не установить LAMP сервер при установке Ubuntu?
    Может быть здесь есть какието особенности? В чём они заключаются?
    Хотя отдельную установку тоже нужно знать- спасибо за пример!

  8. Не совсем понятно как я получу доступ из вне если у сервера нет выделенного ip? Вот описанный вами метод будет работать в локлаьной сети, например у меня 2 ПК и ноутбук на один из ПК планирую постаивть сервер, web-сервер и поупражняться в его настройке и работе с ним? Чтобы в последствии работать с реальным выделенным сервером у хостера.

    Я потом смогу по внутреннемо ip компъютера обращаться верно? Ну в hosts прописать что-то типа 192.168.177.129 site.local ?

Отставить комментарий

Ваш электронный адрес не будет опубликован.Обязательные для заполнения поля отмечены *

Я не спамер и не робот!

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