Настройка VPS c CentOS. Часть первая.

Решился наконец купить VPS. Сказано — сделано. Заранее оговорюсь — сервер покупался под проекты двух типов — RoR и PHP MVC, поэтому, говоря о настройке, буду расставлять акценты именно вокруг окружения, необходимого для работы веб-приложений.

В качестве ОС выбрал CentOS 5, не потому что 6-ки нету, а потому что у хостера в конфигурации minimal install 6-я версия идет сильно порезаная — нет ни yum, ни rpm, ни компиляторов, согласитесь — несколько гемморно. После активации сервера собственно приступил к настройке.

I. Репозитории

Для установки необходимого и относительно свежего нам понадобятся следующие репозитории:

Добавим репозитории:

su -c 'rpm -Uvh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm'
su -c 'rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm'
su -c 'rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm'

Теперь можно приступать к установке софта.

II. Софт

Итак, MySQL, MongoDB, Apache, Nginx, PHP и Ruby будут ставиться из репозиториев, gem’ы — c помощью gem install. Помимо этого поставим gcc, git и несколько devel пакетов, ибо надо 🙂

su -c 'yum install mysql mysql-server mysql-devel mongodb mongodb-server mongodb-devel httpd nginx gcc git ruby ruby-devel rubygems vsftpd php php-pear php-gd php-intl php-mcrypt php-mbstring php-mhash php-mysql php-pdo php-process php-xml phpMyAdmin'

Теперь gem’ы (вариант без rvm)

su -c 'gem update'
su -c 'gem install rails --include-dependencies mysql2 mongo css3buttons unicorn capistrano devise bson_ext bcrypt-ruby'

Этого для начала хватит, остальное можно доустановить по мере необходимости.

III. Немного о безопасности

1. Закройте доступ по ssh для root’а, мелочь, но не помешает:

su -c 'vim /etc/ssh/sshd_config'
PermitRootLogin no
StrictModes yes
MaxAuthTries 5

2. Если есть возможность, вообще не настраивайте почту, благо, сейчас и Яндекс и Google предоставляют почту для домена, и ресурсы сервера не будут тратиться, и одной потенциальной дыркой меньше.

3. Для каждой базы данных не ленитесь заводить отдельного пользователя, желательно с уникальным паролем.

4. Разберитесь c iptables, реально полезная штука

5. Погуглите 🙂

Продолжение следует…

Настройка VPS c CentOS. Часть первая.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *