Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

Как настроить выделенный веб-сервер бесплатно

by
Difficulty:IntermediateLength:LongLanguages:

Russian (Pусский) translation by Alex Grigorovich (you can also view the original English article)

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


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

В этом уроке мы стремимся выполнить несколько вещей:

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

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

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

Возможно, вы спрашиваете, зачем вам нужен свой собственный веб-сервер. Существует несколько причин: вот, некоторые из них: вы можете провести собственное тестирование
для ваших сайтов; с небольшой доработкой вы можете разместить свой собственный сайт, и вы узнаете много нового о Linux/Unix.
С учетом всего сказанного, давайте начнем!


2. Скачать Ubuntu Server

Прежде всего, нам понадобится компакт-диск с ОС Ubuntu. Откройте в своём веб-браузере http://www.ubuntu.com/,
и нажмите кнопку загрузки в меню слева. Теперь вам будет показан блок с двумя вкладками: "Desktop Edition" и
"Server Edition". Перейдите на вкладку "Server Edition" и выберите "Ubuntu 8.04 LTS". Затем выберите местоположение из
выпадающего списка. Наконец, нажмите кнопку "Начать загрузку".

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


3. Установить сервер Ubuntu

Теперь, когда вы загрузили и записали ISO, давайте запустим Ubuntu на вашем сервере. Поместите диск в дисковод и выберите загрузку с компакт-диска. В большинстве современных компьютеров это будет происходить по умолчанию, если диск находится в дисководе, когда вы его включаете. Если это не так, вам нужно нажать специальную клавишу сразу же при запуске компьютера. Для моего ноутбука это F12, а для моего сервера это F2. Это зависит от модели вашего компьютера. Вы можете узнать это, посмотрев текст на экране справа при включении компьютера, во время загрузки BIOS. Вы увидите что-то вроде "Нажмите [KEY], чтобы изменить порядок загрузки". Нажмите эту кнопку и выберите свой CD дисковод.

Вы еще со мной? Хорошо. Теперь, когда вы загрузили Ubuntu, вы должны увидеть следующий экран:

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

Выберите "Установить сервер Ubuntu", и поехали!

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

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

После того, как все будет сделано, вас попросят указать имя хоста. Обычно вы можете установить любое; Я всегда указывал
имя "web-server".

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

Теперь система обнаружит остальные аппаратные средства, и вам будет предложено "разделить диск(и)". Выберите «Guided - use entire
disk".

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

Он спросит вас, хотите ли вы сохранить изменения на диске. Выберите "Да" и нажмите ввод. Установщик продолжит
форматировать диск и настраивать разделы.

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

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

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

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

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

Теперь система попытается сконфигурировать "Менеджер пакетов" (мы скоро узнаем что это). Предоставьте информацию о вашем
прокси, или оставьте поле пустым, если вы не используете прокси-сервер, и выберите "Продолжить".

Теперь система просканирует несколько серверов, в поисках обновлений и настроек конфигурации.

После этого вам будет предложено несколько вариантов установки серверного программного обеспечения. Теперь, слушайте ОЧЕНЬ внимательно.
Выберите сервер OpenSSH и нажмите ПРОБЕЛ, а не ENTER. Если вы нажмете enter, установка будет продолжена без сервера OpenSSH.

Вы также можете установить "LAMP server", но у меня нет опыта работы с этой опцией, поэтому мы установим всё необходимое с помощью другой
команды позже.

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

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

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


4. Обновите свой новый сервер

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

Теперь введите команду:

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

Теперь ваша система будет загружать и устанавливать все последние обновления. Это займет некоторое время, в зависимости от вашего интернет-соединения. После
завершения, ваш компьютер нужно будет перезагрузить. Для этого наберите команду:

И пусть он перезагрузится. Теперь ваш сервер полностью обновлен.


Краткая информация о "Sudo"

К настоящему моменту вы, возможно, заметили, что все команды, которые вы набрали, начинались с "sudo". Это потому, что они требуют
привилегии администратора, и это то, что делает "sudo". Он выполняет команду (например, "shutdown") в качестве администратора, позволяя ей работать
должным образом. Именно поэтому он запрашивает у вас пароль. Однако после того, как вы набрали "sudo" один раз и ввели свой пароль,
вам не нужно снова вводить пароль в течение пяти минут. Не все команды требуют sudo, только те, которые изменяют части системы.
Удалось разобраться с этим? Хорошо.


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

Настало время установить некоторые программы. Чтобы получить доступ к вашим сайтам из Интернета, нам понадобится установить веб-сервер (Apache). В дополнение к веб-серверу нам будет
нужен сервер базы данных (MySQL) и серверный язык (PHP), чтобы мы могли запускать популярные приложения, такие как WordPress. Так,
давайте займемся этим!

Установка программ на Ubuntu намного отличается от установки программ в Windows или
OS X. Ubuntu будет загружать и устанавливать программы для вас с помощью простой команды.  Это связано с тем, что Ubuntu обладает такой вещью, которая называется
диспетчер пакетов, который управляет почти всеми программами в вашей системе. Все, что нам нужно сделать, это сообщить менеджеру пакета
(называемому "aptitude"), то что мы хотим, чтобы он установил Apache, MySQL и PHP. Для этого введите следующую команду:

И нажмите enter. Aptitude загрузит и установит указанные вами программы. Он также будет загружать и устанавливать любые
необходимые компоненты.

Во время процесса установки MySQL запросит пароль root. Вы можете установить его каким угодно, только убедитесь, что вы сделали его длинным и безопасным.
Что бы вы ни делали, НЕ оставляйте его пустым.

После того как все закончится, у вас будет полностью работающий веб-сервер. Чтобы проверить его, сначала найдите IP-адрес своего сервера, набрав:

Обычно это первый IP-адрес. В моем случае это 192.168.177.129. Теперь, когда вы знаете свой IP, откройте веб-браузер и наберите
ваш IP-адрес сервера. Если вы увидите сообщение "Это работает!", тогда поздравляю, он работает.

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

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

Прокрутите вниз (стрелка вниз) до места, где указано "ServerTokens Full" и измените его на "ServerTokens Prod"

Теперь прокрутите вниз немного и измените "ServerSignature On" на "ServerSignature Off"

Наконец, нажмите Control-O, а затем Control-X. Это сохранит файл и завершит работу текстового редактора.

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

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

Измените "expose_php = On" на "expose_php = Off"

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

Вы закончили настройку Apache, MySQL и PHP.


6. Установите брандмауэр

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

По умолчанию Shorewall устанавливается без каких-либо правил, разрешая полный доступ. Однако это не то поведение, которое мы хотим.
Вместо этого мы собираемся заблокировать все подключения к чему-либо, кроме порта 80 (HTTP) и порта 22 (SSH). Сначала скопируйте конфигурационные
файлы в каталог Shorewall:

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

Добавьте эти строки выше, там где указано «#LAST LINE»

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

Прокрутите вниз до "STARTUP_ENABLED = Нет" и установите его в положение "STARTUP_ENABLED = Yes"

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

И измените "startup = 0" на "startup = 1". Нажмите Control-O и Control-X. И наконец, запустите свой брандмауэр:

Поздравляю! Теперь ваш брандмауэр настроен и защищает ваш сервер.


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

Теперь, когда у вас есть все, что вам нужно, вы, вероятно, захотите добавить веб-сайт. По умолчанию все файлы которые Apache обслуживает
для сети Интернет расположены по адресу "/var/www/". Однако вы не можете записать в эту папку. Давайте сделаем так, чтобы вы смогли это сделать:

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

Теперь заходите на свой сервер, используя SFTP (не путать с FTPS). Вот некоторые клиенты, поддерживающие SFTP:
WinSCP (Windows, Free), FileZilla (Windows, Linux, OS X, Free),
Cyberduck (OS X, Free), и, мой фаворит, Transmit
(OS X, 30$)

Подключитесь к своему серверу, используя свое имя пользователя и пароль, и, если ваш клиент поддерживает его, используйте путь по умолчанию "/var/www" (если это не так,
просто перейдите к /var/www после того, как вы вошли в систему): (Процесс на фото)

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

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


8. Обеспечьте доступность вашего сервера в Интернете

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

Существует два способа открыть ваш сервер в Интернете: DMZ или Port Forwarding. Основное различие, которое вы заметите, это то, что с DMZ ваш сервер использует
брандмауэр, который мы установили ранее, чтобы защитить себя. А, при использовании Port Forwarding ваш сервер будет защищен брандмауэром вашего маршрутизатора.

Однако, прежде чем мы продолжим, вы должны предоставить вашему серверу статический адрес локальной сети. Для этого войдите в свой маршрутизатор и найдите что-нибудь
вроде текста "Статические IP-адреса" или "Статическая маршрутизация". После того, как вы предоставили серверу статический адрес локальной сети, вы можете выполнить следующие шаги. И помните,
Google - ваш друг.

Для настройки порта есть отличный веб-сайт PortForward.com, который, будучи некрасивым, может
помочь вам выполнить работу практически для любого маршрутизатора. Порты, которые вы хотите настроить, - 22 и 80.

Чтобы создать DMZ, вам нужно войти в свой маршрутизатор и найти что-то вроде текста "настройки DMZ". Как только вы его найдете, добавьте свой сервер в
DMZ, вот и все настройки. Опять же, Google помогает в подобных ситуациях.

Теперь найдите свой публичный IP-адрес и вуаля! Вы можете получить доступ к своему серверу из любой точки
так как ваш IP-адрес не изменяется.


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

Помимо того, что вы можете загружать файлы, OpenSSH позволяет вам заходить на ваш сервер из любого места, пока вы знаете его IP. Для Windows вам
понадобится SSH-клиент. Я рекомендую Putty. В OS X SSH
уже установлен. Просто откройте терминал и введите "ssh you@yourip". Для Putty выберите SSH и введите свой IP-адрес, имя пользователя и пароль
когда он попросит его. Вы заметите, что после входа в систему он выглядит точно так же, как экран на сервере:

Вы можете сделать все что угодно отсюда, как если бы действительно сидели за сервером. Чтобы выйти из сервера, просто введите "exit" и нажмите enter.


10. Вот и все!

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

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

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.