Различия между версиями 1 и 2
Версия 1 от 2013-11-16 20:26:19
Размер: 48
Редактор: Singularity
Комментарий:
Версия 2 от 2013-11-16 21:38:13
Размер: 4933
Редактор: Singularity
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 1: Строка 1:
Содержимое страницы «VDS». '''Базовая настройка VDS для Django'''

<<TableOfContents()>>

Этот мануал рассказывает как настроить сервер для 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}}}
{{{#!highlight bash
host servername
    hostname IP
    port 22
    user root
}}}
он для того что бы логинится просто командой {{{ssh servername}}}.

= Обновления Debiana до 7 версии =
Если у вас другой дистрибутив это не обязательно.

В файле {{{ /etc/apt/sources.list }}} надо все удалить и добавить следующее:
{{{#!highlight bash
deb http://ftp.us.debian.org/debian/ wheezy main
deb-src http://ftp.us.debian.org/debian/ wheezy main

deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main

# wheezy-updates, previously known as 'volatile'
deb http://ftp.us.debian.org/debian/ wheezy-updates main
deb-src http://ftp.us.debian.org/debian/ wheezy-updates main
}}}

и выполнить команды
{{{#!highlight bash
apt-get update
apt-get dist-upgrade
}}}

= Установка локалей =
Это на случай если у вас как это было у меня будут ошибки ...
Просто команда которую можно просто скопировать

{{{#!highlight bash
apt-get install locales

echo "LANG=en_US.UTF-8" > /etc/default/locale
cat > /etc/locale.gen << EOF
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
uk_UA.UTF-8 UTF-8
EOF

locale-gen
}}}

= Установка базовых пакетов =

{{{#!highlight bash
apt-get update
apt-get install -y python-pip git-core mercurial bash-completion apt dpkg
}}}
скорей всего вам может понадобится еще {{{python-dev}}}
= Установка веб-сервера =
К сожалению у меня предустановлен Apache2, а мне хотелось бы nginx
по этому я сначала снесу apache
{{{ sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common
}}
удалю все что после него осталось {{{apt-get autoremove
}}}
а затем установлю nginx

{{{#!highlight bash
apt-get install -y nginx
service nginx restart
}}}
== Nginx c официально репозитория ==
В репозитории очень старая версия nginx 0.7.67 хотя актуальная версия 1.5.6 !!!
Можно поставить более свежую
{{{#!highlight bash
wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
}}}
а в конец {{{/etc/apt/sources.list }}} добавить
{{{#!highlight bash
deb http://nginx.org/packages/ubuntu/ codename nginx
deb-src http://nginx.org/packages/ubuntu/ codename nginx
}}}
а затем выполнив
{{{#!highlight bash
apt-get update
apt-get install -y nginx
}}}

= Установка postgres =
Это делается примерно так

{{{#!highlight bash
apt-get install postgresql libpq-dev postgresql-contrib python-psycopg2
passwd postgres
su - postgres
createdb djangodb
createuser djangouser
psql djangodb
#dropdb djangodb
GRANT ALL ON DATABASE djangodb TO djangouser;
}}}










{{{#!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

Переключить отображение номеров строк
   1 host servername
   2     hostname IP 
   3     port 22
   4     user root

он для того что бы логинится просто командой 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

и выполнить команды

Переключить отображение номеров строк
   1 apt-get update
   2 apt-get dist-upgrade

Установка локалей

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

Переключить отображение номеров строк
   1 apt-get install locales 
   2 
   3 echo "LANG=en_US.UTF-8" > /etc/default/locale
   4 cat > /etc/locale.gen << EOF
   5 en_US.UTF-8 UTF-8
   6 ru_RU.UTF-8 UTF-8
   7 uk_UA.UTF-8 UTF-8
   8 EOF
   9 
  10 locale-gen

Установка базовых пакетов

Переключить отображение номеров строк
   1 apt-get update
   2 apt-get install -y python-pip git-core mercurial bash-completion apt dpkg 

скорей всего вам может понадобится еще python-dev

Установка веб-сервера

К сожалению у меня предустановлен Apache2, а мне хотелось бы nginx по этому я сначала снесу apache {{{ sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common }} удалю все что после него осталось {{{apt-get autoremove }}} а затем установлю nginx

Переключить отображение номеров строк
   1 apt-get install -y nginx
   2 service nginx restart

Nginx c официально репозитория

В репозитории очень старая версия nginx 0.7.67 хотя актуальная версия 1.5.6 !!! Можно поставить более свежую

Переключить отображение номеров строк
   1 wget http://nginx.org/keys/nginx_signing.key
   2 apt-key add nginx_signing.key

а в конец /etc/apt/sources.list  добавить

Переключить отображение номеров строк
   1 deb http://nginx.org/packages/ubuntu/ codename nginx
   2 deb-src http://nginx.org/packages/ubuntu/ codename nginx

а затем выполнив

Переключить отображение номеров строк
   1 apt-get update
   2 apt-get install -y nginx

Установка postgres

Это делается примерно так

Переключить отображение номеров строк
   1 apt-get install postgresql libpq-dev postgresql-contrib python-psycopg2
   2 passwd postgres
   3 su - postgres
   4 createdb djangodb
   5 createuser djangouser
   6 psql djangodb
   7 #dropdb djangodb
   8 GRANT ALL ON DATABASE djangodb TO djangouser;

Переключить отображение номеров строк
   1 

VDS (последним исправлял пользователь Singularity 2013-11-16 22:19:21)