Веб-сервер за полчаса
Вам приходилось настраивать VPS или же выделенный сервер для вашего сайта? В связи с переходом на новую работу мне пришлось делать это. Для человека, который постоянно работает в системе Windows это довольно нетривиальная задача. Если же вы прожжённый линуксоид, то вы и так все это знаете и можете легко справится с такой задачей. За основу берется сервер с системой Debian. Система сама устанавливается довольно просто, никаких проблем возникнуть во время установки не должно: вставляете диск с системой в компьютер и устанавливаете, выбрав нужные для вас настройки. Скачать ее можно с сайта debian.org. Для остальных Unix-сиcтем инструкция будет аналогичной с небольшими поправками, к примеру в Ubuntu что бы запустить приложение с правами root нужно добавить к команде ‘sudo’.
Система установлена вами или же просто доступна вам по SSH (аналог удаленного рабочего стола для *nix), если вы приобрели виртуальный сервер vds или VPS у компании предоставляющей хостинг. В 1-м случае вам нужно зайти под пользователем root и установить ssh. Установка программ происходит с помощью apt-get.
Прописываете apt-get install ssh – в shell (аналог командной строки). Установка прошла успешно? Тогда пересаживайтесь за ваш рабочий компьютер и качайте Putty – бесплатная программа для ssh и других полезных протоколов. Если же у вас не установилось ssh попробуйте прописать для начала apt-get update, вам все равно стоит это сделать для получения самых новых пакетов. Если ваш dedicated сервер подключен к Интернету, то начнется скачивание пакетов, если нет - обновление произойдет с установочного диска (вставьте его). Если же установилось и вы зашли под root удаленно, все равно пропишите, вам же нужны последние версии программных пакетов.
Небольшая тонкость – по умолчанию размер стека установлен в 10 мегабайт, если ваш проект не является огромной динамически создаваемой системой с веб-интерфейсом, то вам вполне должно хватить и 1-го мегабайта. При это уменьшив размер стека вы освободите довольно большой объём оперативной памяти. free –m – просмотр занятой памяти в мегабайтах. Теперь установите текстовый редактор nano, он довольно удобен.
apt-get nanoТеперь уменьшаем размер стека ulimit -s 1024 и перезагружаем систему – прописываем reboot
Снова смотрим размер занятой памяти free –m и радуемся.
Теперь собственно приступаем к установке Apache,MySQL,PHP.
apt-get install apache2
apt-get install mysql-client mysql-server
apt-get install php5 php5-mysql php5-xmlrpc php5-cli php5-gd php5-curl php5-xsl
a2enmod rewriteПоследняя строка – Mod Rewrite для Apache, требуется для некоторых проектов.
Так же стоит установить FTP и что-нибудь наподобие Far.
apt-get install proftpd
apt-get install mc Как вы заметили никаких особых настроек не нужно, все устанавливается и работает со стандартными настройками. Сейчас приступим к дополнительным настройкам. У меня сеть раздавалась в офисе автоматически, а для сервера хотелось выделить постоянный адрес.
Для этого отредактируем конфигурационный файл настройки сети nano /etc/network/interfaces нужно заменить
iface eth0 inet dhcpна
iface eth0 inet static
address 128.1.1.2
netmask 255.255.255.0
gateway 128.1.1.1 Соответственно вместо написанных здесь адресов подставьте свои.
Нужно прописать виртуальные хосты в файле настроек Apache. Файл называется default, открываем в nano:
nano etc/apache2/sites-availible/defaultВ конце файла добавляем такие структуры:
<VirtualHost *:80>
ServerName site.ru
ServerAlias <a href="http://www.site.ru" title="www.site.ru">www.site.ru</a>
DocumentRoot /var/www/site
</VirtualHost> Соответственно вместо site подставляем своё. DocumentRoot – место где хранится ваш проект. Удобно хранить его именно по адресу /var/www. Заходите по FTP (можно использовать Far, Total Comander, FileZilla и т.д.) и заливаете ваш проект.

Теперь нужно перезапустить Apache:
/etc/init.d/apache2 restartЕсли у вас уже есть база MySQL просто делаете экспорт в sql файл и заливаете по FTP на сервер.
Восстановить можно стандартными средствами Mysql.
Теперь просто открываете в браузере нужную вам ссылку и видите ваш проект в работе.