Готовим сервер к работе - Debian

Статус
В этой теме нельзя размещать новые ответы.

feskocheats

Изучающий
Пользователь
Регистрация
29 Май 2012
Сообщения
112
Лучшие ответы
0
Репутация
10
Первые шаги (apt-get)



Первым делом стоит сделать apt-get update - пояснение ниже.

В Debian/Ubuntu система портов устроена на основе apt-get.

Простейшие команды apt-get - это:
Код:
apt-get update - обновляет список доступных для установки файлов с удаленного сервера.
apt-get upgrade - обновляет всё установленое програмное обеспечение, если обновления наличны. 
apt-get install что-либо - устанавливает заданную программу
apt-get remove что-либо - удаляет заданную программу.
man apt-get - помощь по системе портов apt-get (на англ.)
Может возникнуть такая ошибка при выводе команды apt-get update:
Код:
W: GPG error: http://ftp2.de.debian.org lenny Release: 
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9AA38DCD55BE302B
W: There is no public key available for the following key IDs: 9AA38DCD55BE302B
W: You may want to run apt-get update to correct these problems
Лечится так: apt-get install debian-archive-keyring
После команды выше делаем: apt-get update
Ошибки пропали.


Установка важного пакета (build-essential)

Следующим шагом является обязательная установка build-essential: apt-get install build-essential - Данное установит такие пакеты как: gcc, g++, make, perl, patch и иные программы нужные для компиляции и программирования.

Ставим FTP сервер

Начнем с установки легкого FTP сервера на ваш VDS. Все быстро легко и просто. Установим такой FTP сервис, который не будет приносить нам головной боли в будущем - vsftpd. Его преимущество в том, что логин и пароль к SSH (root и др) идентичными логину и паролю на FTP. Установка описана здесь: http://pawno-info.ru/threads/167102-Установка-vsftpd?p=1122928#post1122928
Дополнительные установки

Установим некоторые необходимые пакеты, если таковые уже не установлены:
Код:
apt-get install mc
apt-get install tcl8.5 tcl8.5-dev
apt-get install openssl libssl-dev
apt-get install libncurses5-dev
apt-get install ftp
apt-get install telnet
apt-get install traceroute
apt-get install nmap
apt-get install nano
apt-get install htop
Далее можете установить любые пакеты по желанию. если знакомы с данной процедурой.
Устанавливаем временную зону на сервере

Некоторым людям для использования того или иного софта необходимо работать не только с точным временем, но и с определенными временными зонами. Например Москва, Европа или MSK и MSD. По дефолту время на сервере устновлено в UTC. Чтобы сменить его на желаемое или необходимое, следуйте данным инструкциям: Установка временной зоны
Добавляем нового пользователя

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

adduser test - добавит пользователя test с домашней папкой в /home/test
Код:
root@moscow-cityrp:~# adduser test
Adding user `test' ...
Adding new group `test' (1000) ...
Adding new user `test' (1000) with group `test' ...
Creating home directory `/home/test' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: --- необходимо ввести пароль и нажать Enter и затем повторить пароль еще раз.
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for test
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
Пользователь добавлен.
Теперь на сервер Вы можете заходить под этим пользователем, а в любой момент, когда захотите войти под root/суперпользователем, наберите команду su. Вас попросят ввести пароль и Вы уже root. Пример ниже:
Код:
test@moscow-cityrp:~$ su
Password:
Код:
root@moscow-cityrp:~#
Дополнительно:
Изменение пользователя происходит также просто:
Код:
usermod [параметры] username
Примеры
Код:
usermod -d /home/documents/test test #изменит пользователю test домашнюю папку
usermod -l joe test # изменит имя пользователя test на joe (а не наоборот)
Изменение пароля:
Код:
passwd username
Например:
passwd test


Меняем локализацию сервера с английского на русский (по желанию)

По необходимости меняем локализацию сервера с английского на русский. Сразу заметим, что найти решение любых проблем вашей системы с русифицированным сервером намного сложнее, так как это блокирует разносторонность ответов в поисковых системах. Мы настоятельно рекомендуем Вам не менять локаль на русский, но если совсем туго с английским, это Ваш выход.
Код:
apt-get install locales - на все вопросы вносим Y. 
vi /etc/environment - открываем файл на редактирование и удаляем из него любые записи и вносим одну: LANG="ru_RU.UTF-8" 
Помощь по использованию vi находится здесь: Vi или откройте файл через WinSCP
Редактируем файл /etc/locale.gen тем же vi: vi /etc/locale.gen - В списке находим ru_RU.UTF-8 UTF-8 и удаляем 
значек # перед записью. Сохраняем файл.
locale-gen - запускаем команду для генерации локали. Пример ниже:
  root@moscow-cityrp:~# locale-gen
Generating locales (this might take a while)...
ru_RU.UTF-8... done
Generation complete.
Перезаходим на сервер. В клиенте, который Вы используете для связи с сервером делаем следующее (большинство людей 
использует Putty: SSH):
После того как Вы вошли на сервер, кликните на верхнюю часть окна Putty правой кнопкой мыши, выше черного. Выберите 
Change Settings -> Window - Translation -> из списка выберите UTF-8 и нажмите Apply внизу. 
Теперь Вы сможете видеть русский язык в окне связи с сервером при выполнении различных команд.
Важное замечание по безопасности

Почти всегда сразу после установки сервера начинается подбор паролей по стандартному порту(22) протокола ssh к вашему серверу. Если не дай Бог Вы поставите стандартный, известный "подборщикам" пароль, ваш сервер захватят и удалят все важные файлы.
Самый простой способ - заставить работать SSH на нестандартном порту.
Приведем самую важную часть:
Код:
nano /etc/ssh/sshd_config
Надите строку (почти в самом начале):
Код:
Port 22
Смените число 22 на любое которое вам нравится до бесконечности (желательно, не более 65535). Перезапустите ssh:
Код:
/etc/init.d/ssh restart
Установка сервера баз данных MySQL
Установка на настройка mysql для использования минимального количества памяти.
Если у вас маломощный сервер (до 64мб оперативной памяти) рекомендуется уменьшить расход памяти mysql за счет производительности.
Иными словами 1. Сделать так, чтобы mysql не съело всю память на сервере при старте. 2. Уменьшить потребление памяти на будущее.
Чтобы mysql cразу после установки не зарезервировал всю свободную память, создаем папку и затем файл (действия совершаем под root/суперпользователем):
Код:
mkdir /etc/mysql/ - создаем папку
touch /etc/mysql/my.cnf - создаем файл
nano /etc/mysql/my.cnf - открываем файл на редактирование
Вносим в файл текст, представленный ниже и сохраняем:
[client]
Код:
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0 
# Basic Settings
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer = 16M
max_allowed_packet = 2M
thread_stack = 64K
thread_cache_size = 4
###
myisam-recover = BACKUP
query_cache_limit = 2M
query_cache_size = 32M
max_binlog_size = 100M
[mysqld]
skip-bdb
[mysqldump]
quick
quote-names
!includedir /etc/mysql/conf.d/
Ставим сам mysql:
Код:
apt-get install mysql-server-5.5 mysql-client-5.5 libmysqlclient15-dev
Во время установки появится окно установки mysql пароля. Введите необходимый пароль. Tab - Enter. Подтвердите и снова Tab + Enter.

Во время установки у Вас спросят что делать с /etc/mysql/my.cnf. Вам необходимо указать, чтобы использовался тот, что уже есть на сервере. Иначе конфиг будет перезаписан, и сервер с количеством оперативной памяти меньше 140Mb зависнет. Это связано с конфигурацией mysql. которая устанавливается по дефолту при установке mysql сервера.

Далее:
Обезопасим mysql стандартный утилитой mysql_secure_installation
mysql_secure_installation

Примерные вопросы, которые будут задаваться пользователю:
root@moscow-cityrp:~# mysql_secure_installation
Код:
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
.............
Enter current password for root (enter for none): # введите mysql пароль, установленный вами выше.
Set new root password? [Y/n] # задать новый парооль суперпользователя? Жмем Y (да) и 
New password: # вводим пароль
Re-enter new password: # и его проверку
Remove anonymous users? [Y/n] # Удалить анонимных пользователей? Да.
Disallow root login remotely? [Y/n] # запретить удаленных вход под суперпользователем? Да (обязательно!)
Remove test database and access to it? [Y/n] # удалить тестовую БД? Да.
Reload privilege tables now? [Y/n] # перезагрузить привилегии? Да.
Перезапускаем mysql:
Код:
/etc/init.d/mysql restart
Теперь MySQL использует не больше 40-45Mb оперативной памяти, по сравнению с 140Mb, указанными выше мы спасли вам 90Mb оперативки.
Установка вебсервера Apache2 и PHP 5

Ставим сам Apache 2:
Для сохранения памяти на сервере apache ставится именно с apache2-mpm-prefork, а не с apache2-mpm-worker.
Код:
apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert
А также php5 и самые необходимые для начала работы с сервером модулей php5:
Код:
apt-get install libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-mysql php5-gd php5-mcrypt php5-xmlrpc
Сократим нагрузку, соответственно уменьшим потребление памяти (применимо к серверам с малым объемом оперативной памяти ).
Код:
nano /etc/apache2/apache2.conf
Привожу измененный кусок. Находим похожий в /etc/apache2/apache2.conf и изменяем.
Код:
StartServers 1
MinSpareServers 1
  MaxSpareServers 3 # можно поставить и больше, с соответственно большим расходом памяти.
  MaxClients  400 # максимальное кол-во людей которые могут находиться на сайтах
MaxRequestsPerChild 4000
</IfModule>
Перезапускаем Апаче:
Код:
service apache2 restart
Настройка Apache

Условные обозначения: ip-адрес 123.123.123.123.
Доменное имя, на которое отзывается данный IP: test.test.ru
Обнуляем дефолтный файл.
Код:
rm -f /etc/apache2/sites-enabled/*
Рекомендуем придерживаться вложеной структуры и размещать сайты в папке /home/<имяПользователя>/<домен>
Код:
mkdir /home/test/123.123.123.123
mkdir /home/test/test.test.ru 
mkdir /home/test/~logs/
Пишем в конфиг
Код:
nano /etc/apache2/httpd.conf
следущие директивы
Код:
NameVirtualHost *:80
ErrorLog /home/web/site/error.log
CustomLog /home/web/site/access.log combined
ServerAdmin vdsadmin@lazutov.ru
<VirtualHost *:80>
DocumentRoot "/home/test/123.123.123.123"
ServerName "123.123.123.123"
ServerAlias "123.123.123.123"
php_admin_value memory_limit 32M
CustomLog /home/test/~logs/123.123.123.123.log combined
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/home/test/test.test.ru"
ServerName "test.test.ru"
ServerAlias "test.test" "www.test.test.ru"
php_admin_value memory_limit 64M
CustomLog /home/test/~logs/test.test.ru.log combined
</VirtualHost>
Аналогично можно добавлять домены и поддомены. Не забывайте перезапускать вебсервер после внесения изменений
Код:
service apache2 restart
Установка phpMyAdmin

Для, тех, кто хочет закончить настройку побыстрее: вы можете выполнить все действия ниже в одно действие.
Код:
apt-get install phpmyadmin
Вас спросят:
Выберите веб-сервер, который будет автоматически настроен для запуска phpMyAdmin.
Веб-сервер для автоматической перенастройки:
Код:
[ ] apache2 - Выбираем именно apache2!
Жмем пробел чтобы поставить галочку и Tab + Enter.
phpMyAdmin доступен по адресу:
Или
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу