Размер: 4933
Комментарий:
|
Размер: 7155
Комментарий:
|
Удаления помечены так. | Добавления помечены так. |
Строка 7: | Строка 7: |
Итак у вас есть ip сервера и пароль root-пользователя. У меня это будет IP и PASS соответственно. | Итак у вас есть ip сервера и пароль root-пользователя. У меня это будет IP и PASS соответственно. |
Строка 12: | Строка 12: |
Для linux`a достаточно набрать в терминале {{{ssh root@IP}}} а затем на просьбу ввести пароль PASS. На этом можно и ограничится и перейти к следующему пункту. |
Для linux`a достаточно набрать в терминале {{{ssh root@IP}}} а затем на просьбу ввести пароль PASS. На этом можно и ограничится и перейти к следующему пункту. |
Строка 15: | Строка 14: |
Но если Вы не хотите вводить пароль каждый раз можно воспользоватся специальным скриптом который скопирует Ваш публичный ssh-ключ на сервер {{{ssh-сopy-id root@IP}}} после этого можно логинится просто по {{{ssh root@IP}}}. Конечно если у Вас ssh-ключ(это файл ~/.ssh/id_rsa.pub),, если нет то https://help.github.com/articles/generating-ssh-keys |
Но если Вы не хотите вводить пароль каждый раз можно воспользоватся специальным скриптом который скопирует Ваш публичный ssh-ключ на сервер {{{ssh-сopy-id root@IP}}} после этого можно логинится просто по {{{ssh root@IP}}}. Конечно если у Вас ssh-ключ(это файл ~/.ssh/id_rsa.pub),, если нет то https://help.github.com/articles/generating-ssh-keys |
Строка 19: | Строка 17: |
Строка 21: | Строка 20: |
hostname IP | hostname IP |
Строка 31: | Строка 30: |
Строка 42: | Строка 42: |
и выполнить команды | |
Строка 43: | Строка 44: |
и выполнить команды | |
Строка 48: | Строка 48: |
Строка 50: | Строка 49: |
Это на случай если у вас как это было у меня будут ошибки ... Просто команда которую можно просто скопировать |
Это на случай если у вас как это было у меня будут ошибки ... Просто команда которую можно просто скопировать |
Строка 54: | Строка 52: |
apt-get install locales | apt-get install locales |
Строка 65: | Строка 63: |
Строка 67: | Строка 64: |
Строка 70: | Строка 66: |
apt-get install -y python-pip git-core mercurial bash-completion apt dpkg | apt-get install -y python-pip git-core mercurial bash-completion apt dpkg |
Строка 73: | Строка 69: |
Строка 74: | Строка 71: |
К сожалению у меня предустановлен Apache2, а мне хотелось бы nginx по этому я сначала снесу apache {{{ sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common }} удалю все что после него осталось {{{apt-get autoremove }}} а затем установлю nginx |
К сожалению у меня предустановлен Apache2, а мне хотелось бы nginx по этому я сначала снесу apache {{{ sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common }} удалю все что после него осталось {{{apt-get autoremove }}} а затем установлю nginx |
Строка 87: | Строка 78: |
В репозитории очень старая версия nginx 0.7.67 хотя актуальная версия 1.5.6 !!! Можно поставить более свежую |
В репозитории очень старая версия nginx 0.7.67 хотя актуальная версия 1.5.6 !!! Можно поставить более свежую |
Строка 93: | Строка 84: |
а в конец {{{/etc/apt/sources.list }}} добавить | а в конец {{{/etc/apt/sources.list }}} добавить |
Строка 98: | Строка 90: |
а затем выполнив {{{#!highlight bash |
а затем выполнив {{{#!highlight bash |
Строка 103: | Строка 96: |
= Установка postgres = Это делается примерно так |
|
Строка 104: | Строка 99: |
= Установка postgres = Это делается примерно так {{{#!highlight bash |
{{{#!highlight bash |
Строка 117: | Строка 109: |
= Добавляем еще одного пользователя = Добавляем еще одного пользователя web ибо держать удаленный доступ к серверу из под рута не красиво(ну и не безопасно). У меня это будет web вы можете сменить его на что угодно |
|
Строка 118: | Строка 112: |
{{{#!highlight bash useradd -m web -s /bin/bash }}} Ставим пароль для свежосозданого пользователя {{{passwd web}}} который лучше где-то записать. |
|
Строка 119: | Строка 117: |
== Убираем запрос пароля для команды sudo == Это не очень безопасно так что это лучше не делать :) В конец {{{/etc/sudoers}}} добавить {{{%web ALL=(ALL) ALL}}} где web это имя пользователя. |
|
Строка 120: | Строка 120: |
== Вход по ssh == {{{#!highlight bash su web - cd ~ mkdir ~/.ssh sudo cp /root/.ssh/authorized_keys /home/web/.ssh sudo chown -R web: /home/web/.ssh sudo chmod -R go-w /home/web exit }}} это для того что бы подключатся к серверу без пароля {{{ssh web@IP}}} так же можно добавить в {{{~/.ssh/config}}} еще одну запись. |
|
Строка 121: | Строка 132: |
== Немного безопасности == {{{sudo nano /etc/ssh/sshd_config}}} меняем там {{{PermitRootLogin no}}} -- запрещает логин рутом {{{Port 2200}}} -- смена порта с 22 что-нибудь не стандартное {{{Protocol 2}}} -- выставим более защищенную версию протокола SSH Сохраняем и выходим. {{{ctrl+o ctrl+x}}} Теперь надо что-бы настройки применились |
|
Строка 122: | Строка 135: |
{{{#!highlight bash sudo /etc/init.d/ssh restart }}} {{{#!highlight bash }}} = Установка питон пакетов = {{{#!highlight bash pip install virtualenvwrapper supervisor }}} Настройка virtualenvwrapper |
|
Строка 123: | Строка 146: |
{{{#!highlight bash | |
Строка 124: | Строка 148: |
{{{#!highlight bash |
cat >> ~/.bashrc << EOF export WORKON_HOME=$HOME/venvs export PROJECT_HOME=$HOME/Devel source /usr/local/bin/virtualenvwrapper.sh EOF |
Строка 129: | Строка 154: |
{{{#!highlight bash }}} {{{#!highlight bash }}} |
Базовая настройка VDS для Django
Содержание
Этот мануал рассказывает как настроить сервер для django c нуля. Ну или для другого python приложения. Я проверял команды на Debian6-32bit хотя должно работать на любом debian-based дистрибутиве.
Итак у вас есть ip сервера и пароль root-пользователя. У меня это будет IP и PASS соответственно.
Как зайти на сервер?
Для windows пользователей надо пользоваться надо использовать putty или что-то в этом духе.
Для linux`a достаточно набрать в терминале ssh root@IP а затем на просьбу ввести пароль PASS. На этом можно и ограничится и перейти к следующему пункту.
Но если Вы не хотите вводить пароль каждый раз можно воспользоватся специальным скриптом который скопирует Ваш публичный ssh-ключ на сервер ssh-сopy-id root@IP после этого можно логинится просто по ssh root@IP. Конечно если у Вас ssh-ключ(это файл ~/.ssh/id_rsa.pub),, если нет то https://help.github.com/articles/generating-ssh-keys
Для совсем ленивых есть вариант добавить в файл ~/.ssh/config
он для того что бы логинится просто командой ssh servername.
Обновления Debiana до 7 версии
Если у вас другой дистрибутив это не обязательно.
В файле /etc/apt/sources.list надо все удалить и добавить следующее:
1 deb http://ftp.us.debian.org/debian/ wheezy main
2 deb-src http://ftp.us.debian.org/debian/ wheezy main
3
4 deb http://security.debian.org/ wheezy/updates main
5 deb-src http://security.debian.org/ wheezy/updates main
6
7 # wheezy-updates, previously known as 'volatile'
8 deb http://ftp.us.debian.org/debian/ wheezy-updates main
9 deb-src http://ftp.us.debian.org/debian/ wheezy-updates main
и выполнить команды
Установка локалей
Это на случай если у вас как это было у меня будут ошибки ... Просто команда которую можно просто скопировать
Установка базовых пакетов
скорей всего вам может понадобится еще python-dev
Установка веб-сервера
К сожалению у меня предустановлен Apache2, а мне хотелось бы nginx по этому я сначала снесу apache sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common }} удалю все что после него осталось {{{apt-get autoremove а затем установлю nginx
Nginx c официально репозитория
В репозитории очень старая версия nginx 0.7.67 хотя актуальная версия 1.5.6 !!! Можно поставить более свежую
а в конец /etc/apt/sources.list добавить
а затем выполнив
Установка postgres
Это делается примерно так
Добавляем еще одного пользователя
Добавляем еще одного пользователя web ибо держать удаленный доступ к серверу из под рута не красиво(ну и не безопасно). У меня это будет web вы можете сменить его на что угодно
1 useradd -m web -s /bin/bash
Ставим пароль для свежосозданого пользователя passwd web который лучше где-то записать.
Убираем запрос пароля для команды sudo
Это не очень безопасно так что это лучше не делать В конец /etc/sudoers добавить %web ALL=(ALL) ALL где web это имя пользователя.
Вход по ssh
это для того что бы подключатся к серверу без пароля ssh web@IP так же можно добавить в ~/.ssh/config еще одну запись.
Немного безопасности
sudo nano /etc/ssh/sshd_config меняем там PermitRootLogin no -- запрещает логин рутом Port 2200 -- смена порта с 22 что-нибудь не стандартное Protocol 2 -- выставим более защищенную версию протокола SSH Сохраняем и выходим. ctrl+o ctrl+x Теперь надо что-бы настройки применились
1 sudo /etc/init.d/ssh restart
Установка питон пакетов
1 pip install virtualenvwrapper supervisor
Настройка virtualenvwrapper