Как поднять веб-сервер (Apache2+Nginx+Mysql+PHPmyAdmin) на VPS Debian 7

Никогда бы не подумал, что буду в таком замешательстве сидя за компьютером, как в последние дни. А все потому, что я решил что обычный хостинг данному сайту уже не подходит, сайт вырос и вырос сильно. Поэтому после долгих раздумий было решено переходить на VPS/VDS сервер. Что, собственно, на момент написания этой статьи выполнено. Но честно скажу, это было не легко, я еще до этого ни разу не работал в unix системах, тем более через консольные терминалы. А так как этот сайт изначально создавался именно как база моих знаний, на случай если вдруг что-нибудь забуду. То и процесс настройки сервера я задокументирую, тем более операций произведено много, мануалов прочитано еще больше:) Чтож, если вы читаете эту инструкцию, я надеюсь что вам она поможет. В теории эта инструкция может подойти и на Ubuntu сервера, но я при выборе VPS остановился на Debian 7, а в чем разница между ними я не особо в курсе.

1) Итак, первое к чему нужно привыкнуть — это работа через терминал и протокол SSH (через него же можно скидывать файлы, к примеру через FileZila), для Windows качаем Putty. Запускаем, вбиваем IP-адрес вашего сервера, предоставленный вашим хостером в панели управления сервером. Порт обычно 22. Жмем open для подключения.

Итак, первое к чему нужно привыкнуть - это работа через терминал, для Windows качаем Putty. Запускаем, вбиваем IP-адрес вашего, предоставленный вашим хостером в панели управления сервером. Порт обычно 22. Жмем open для подключения.

Откроется черное окно с фразой Login as, здесь нужно ввести логин администратора под которым вы будете работать, обычно это root, вводим нажимаем Enter  и видим запрос пароля (логин и пароль от вашего сервера можно найти в панели управления сервером), при написании пароля символы и даже звездочки не отображаются, все на ощупь. Так же пароль можно скопировать и вставить в окно терминала одинарным нажатием правой клавишей мыши. (Ctrl+V и «Правой клавишей мыши — вставить» здесь на работают, запоминайте, просто один раз правой клавишей). После ввода пароля так же жмем Enter и сервер радостно нас поприветствует.

Откроется черное окно с фразой Login as, здесь нужно ввести логин администратора под которым вы будете работать, обычно это root, вводим нажимаем Enter  и видим запрос пароля (логин и пароль от вашего сервера можно найти в панели управления сервером), при написании пароля символы и даже звездочки не отображаются, все на ощупь. Так же пароль можно скопировать и вставить в окно терминала одинарным нажатием правой клавишей мыши. (Ctrl+V и "Правой клавишей мыши - вставить" здесь на работают, запоминайте, просто один раз правой клавишей). После ввода пароля так же жмем Enter и сервер радостно нас поприветствует.

2) Второй момент, который стоит запомнить, в Debian все приложения устанавливаются через команду apt-get, приложения по-умолчанию берутся из интернет-репозиториев. К этому легко привыкаешь и потом с сожалением вспоминаешь при работе в Windows. Итак, первое что мы делаем обновляем базы репозитариев и делаем обновление всего ПО, установленного в систему.  Поэтому сперва вбиваем команду apt-get update , а после завершения обновления пишем apt-get upgrade .

Второй момент, который стоит запомнить, в Debian все приложения устанавливаются через команду apt-get, приложения по-умолчанию берутся из интернет-репозиториев. К этому легко привыкаешь и потом с сожалением вспоминаешь при работе в Windows. Итак, первое что мы делаем обновляем базы репозитариев и делаем обновление всего ПО, установленного в систему.  Поэтому сперва вбиваем команду apt-get update , а после завершения обновления пишем apt-get upgrade .

3) Теперь установим пару утилит, которые нам могут пригодится в процессе настройки сервера. Первая этот текстовый редактор nano вбиваем apt-get install nano , а вторым будет файловый менеджер Midnight Commaner пишем apt-get install mc , после ввода команды, скорее  всего нужно будет подтвердить установку вбив букву Y и нажав Enter.

004

4) Все подготовительный этап закончен, начинаем установку сервера. Вводим следующую команду:

apt-get install php5-fpm nginx mysql-server php5-mysql  php5-curl

Жмем Enter. И подтверждаем установку буквой Y.

Все подготовительный этап закончен, начинаем установку сервера. Вводим следующую команду:  apt-get install php5-fpm nginx mysql-server php5-mysql   Жмем Enter. И подтверждаем установку буквой Y.

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

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

Повторяем его же. Ждем завершения установки пакетов.

Повторяем его же.

6) После завершения установки нужно создать первую, тестовую базу данных, для тестового же сайта. Поэтому пишем следующую команду: mysql -u root -p И вводим пароль, созданный на прошлом этапе.

После завершения установки нужно создать первую, тестовую базу данных, для тестового же сайта. Поэтому пишем следующую команду:  mysql -u root -p  И вводим пароль, созданный на прошлом этапе.

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

create database blog;

Точка с запятой в конце обязательны!

Пишем команду на создание базы данных с именем blog (это бд, для тестового сайта, в будущем, когда вы будете переносить свой сайт, вы сможете работать с базами через панель phpmyadmin), команда выглядит следующим образом:  create database blog;  Точка с запятой в конце обязательны!   Выходим из меню mysql командой exit Выходим из меню mysql командой exit

7) Теперь займемся конфигами php машин. Для начала запретим apache2 слушать 80 порт, иначе не запустится nginx, а нам нужен именно он.Вбиваем команду:

nano /etc/apache2/ports.conf

Теперь займемся конфигами php машин. Для начала запретим apache2 слушать 80 порт, иначе не запустится nginx, а нам нужен именно он. Вбиваем команду:  nano /etc/apache2/ports.conf

Если у вас открылся пустой экран, значит на вашем сервере не установлен даже Apache, закрываем окно клавишами Ctrl+X и переходим к следующему пункту, если же у вас конфиг открылся, то меняем параметры NameVirtualHost и Listen на 81. И тоже жмем CTRL+X, вводим Y  и два раза жмем Enter не внося изменений в название файла.

Если у вас открылся пустой экран, значит на вашем сервере не установлен даже Apache, закрываем окно клавишами Ctrl+X и переходим к следующему пункту, если же у вас конфиг открылся, то меняем параметры NameVirtualHost и Listen на 81

8) Теперь настраиваем шаблон сайта сервера nginx, открываем его в текстовом редакторе:

nano /etc/nginx/sites-available/default

И здесь приводим все выделенные места как на скриншоте. После изменения сохраняем изменения через Ctrl+X , Y, Enter.

Теперь настраиваем шаблон сайта сервера nginx, открываем его в текстовом редакторе:  nano /etc/nginx/sites-available/default  И здесь приводим все выделенные места как на скриншоте. После изменения сохраняем изменения через Ctrl+X , Y, Enter.

 

Теперь чуть-чуть объясняю, так как мы планируем размещать несколько сайтов на своем VPS, то сразу же перенесем этот тестовый сайт в папку default. То есть он будет открывать просто по IP адресу, для того чтобы добавить сайт с определенным доменом нужно создать файл, подобный этому, только со следующими изменениями:

1) Называем файл нормальным именем вместо default, к примеру skesov.ru

2) Копируем в него содержимое данного конфига

3) В строке root меняем путь на путь до папке, в которой будет хранится сайт /usr/share/nginx/www/skesov.ru (как правильно создавать папки для сайта мы рассмотрим ниже)

4) В строке server_name необходимо заменить localhost на ваш домен (skesov.ru)

Теперь сразу же создаем символьную ссылку с этого файла в соседний каталог командой (для файлов к вашим сайтам символьные ссылки тоже нужно создавать):

ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default

Должно получиться примерно вот так, слева файлы, справа символьные ссылки на них. Чтобы открыть Midnight Commander введите mc в терминале, чтобы закрыть Alt+0.

Теперь сразу же создаем символьную ссылку с этого файла в соседний каталог командой (для файлов к вашим сайтам символьные ссылки тоже нужно создавать):  ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default  Должно получиться примерно вот так, слева файлы, справа символьные ссылки на них.

8) Теперь перезапускаем все, в чем вносили изменения и запускаем установленное. Для этого вводим следующие команды по очереди:

service apache2 restart

service nginx start

service mysql restart

Теперь перезапускаем все, в чем вносили изменения и запускаем установленное. Для этого вводим следующие команды по очереди:  service apache2 restart  service nginx start  service mysql restart

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

Переходим в папку www:

cd /usr/share/nginx/www

Создаем каталог default (имя должно быть такое же как в файле, который находится в sites-available):

mkdir default

Переходим в нее:

cd default/

Скачиваем последнюю версию WordPress:

wget http://ru.wordpress.org/latest-ru_RU.zip

Распаковываем архив: unzip latest-ru_RU.zip

Удаляем архив, он нам больше не нужен:

rm latest-ru_RU.zip

Перемещаем все файлы из папки wordpress в папку default (точка обязательна):

mv wordpress/* .

Удаляем папку wordpress: rmdir wordpress/

Возвращаемся на папку назад: cd ..

И меняем владельца папки default на www-data(такие же данные нужно назначать всем папкам, которые вы создадите для ваших сайтов):

chown www-data.www-data -R default/

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

017

10) Осталось установить PhpMyAdmin для удобства работы с базами данным MySQL. Вводим команду для установки пакета:

apt-get install phpmyadmin

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

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

На следующей странице я ответил утвердительно и меня за это не поругали, так что думаю жмем «Да».

На следующей странице я ответил утвердительно и меня за это не поругали, так что думаю жмем "Да".

Вводим пароль, которые мы задали при установке MySQL.

Вводим пароль, которые мы задали при установке MySQL.

И пароль для входа в phpmyadmin.

И пароль для входа в phpmyadmin.

Теперь осталось создать символьную ссылку для доступа к phpmyadmin по ссылке формата домен.ru/phpmyadmin:

ln -s /usr/share/phpmyadmin/ /usr/share/nginx/www/default

Default меняем на папку с вашим сайтом.

Надеюсь что вы не запутались нигде и все получилось.

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

Также подпишитесь на обновления сайта, введя свой e-mail в поле справа.

Спасибо за внимание :)

Материал сайта Skesov.ru


    Как настроить сервер TeamSpeak 3 на домашнем компьютере на Windows 8.1, 8, 7, Vista

    001

    Наверное, самое любимое средство геймеров для общения во время игры был и остается до сих пор TeamSpeak. Хотя и есть конкуренты в лице Skype и RaidCall, но тягаться по простоте и стабильности работы (особенно первому) просто невозможно. Но не все … [Прочитать статью]

    Что можно сделать если у не грузится рабочий стол? (Windows 8.1, 8, 7, Vista)

    001

    Добрый день. Данную инструкцию пишу по просьбе одного из читателей сайта, приславших мне на E-Mail материал. Итак, если у вас не загружается рабочий стол или вместо него загружается что-то другое, то в 80% случаев это может быть вредоносная … [Прочитать статью]

    Как отключить проверку подлинности Windows 7

    1

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

    Как отключить синхронизацию с OneDrive (SkyDrive) в Windows 8.1

    001

    Хоть я и большой поклонник облачных хранилищ, но не считаю правильным такое грубое навязывание своего хранилища компанией майкрософт (молчу уже об Internet Explorer). У меня есть Яндекс.Диск с 200Гб пространства и он меня полностью устраивает, … [Прочитать статью]

    Как добавить любую программу в автозагрузку средствами операционной системы Windows 8.1, 8, 7, Vista

    001

    Здравствуйте. Я тут немного в отпуске, поэтому решил написать несколько новых статей. И сегодня мы рассмотрим довольно интересную тему, а именно добавление сайтов в список для автоматического запуска при старте операционной системы. По-сути по … [Прочитать статью]

    Как правильно очистить папку WinSxS в Windows 8 и 8.1

    001

    Доброго времени суток. На этой недели сайт получил новый рекорд по посещаемости - 5407 уникальных посетителей за день, за что вам большое спасибо. Хоть я последнее время редко пишу, но сайт еще растет:) Теперь же поговорим о нашей проблемы. Что же … [Прочитать статью]

    Как сделать проверку системных файлов средствами самой системы на Windows 8.1, 8, 7, Vista

    001

    Добрый день. Еще раз напомню о своей просьбе писать в комментариях возможные темы, для новых статей. Как, например, проверка жесткого диска на ошибки. Иногда, мы можем заметить что операционная система начинает работать "как-то не так". В такое … [Прочитать статью]

    Как включить проверку диска на ошибки и поврежденные сектора через командную строку в Windows 8.1, 8, 7, Vista

    002

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

    Как установить CyanogenMod 11 F2FS на Nexus 4

    20140517-171424

    Добрый день. Для начала разберемся что есть F2FS  и для чего он нужен. F2FS (англ. Flash-Friendly File System) - это представленная в 2013 файловая система, оптимизированная для использования на флешносителях, в том числе и SSD, картах памяти и … [Прочитать статью]