CentOS, я сделаю из тебя человека! nginx + php на CentOS через yum

· На чтение уйдёт 2 минуты · (420 слов)

Вниманию читателя предлагается небольшая статья по настройке виртуального сервера на CentOS. Сервер, правда, довольно-таки вменяемой конфигурации (2GB оперативки), что позволяет развернуть на нем, например, связку nginx в качестве фронтэнда + apache. Однако, на сервер надо еще будет поставить Glassfish (да-да, это такой Application Server для Java), поэтому двух веб-серверов вполне хватит. Будем подключать php прямо к nginx через fpm.

На просторах интернетов полно инструкций, как собирать nginx из исходников и как собирать php из исходников. Но мы ж в корпоративном линуксе, мы так делать не будем. Помимо стандартных пакетов, будем использовать пакеты из репозитариев EPEL и CENTALT.

Для начала, подключим удаленные репозитарии. Ну не те, которые кто-то удалил, а именно репозитарии EPEL и CENTALT:

[root@s1 etc]# rpm -ihv http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
Retrieving http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
warning: /var/tmp/rpm-xfer.CXnte4: Header V3 DSA signature: NOKEY, key ID 217521f6
Preparing...                ########################################### [100%]
   1:epel-release           ########################################### [100%]
[root@s1 etc]# rpm -ihv http://centos.alt.ru/repository/centos/5/i386/centalt-release-5-3.noarch.rpm
Retrieving http://centos.alt.ru/repository/centos/5/i386/centalt-release-5-3.noarch.rpm
Preparing...                ########################################### [100%]
   1:centalt-release        ########################################### [100%]

Отлично! Теперь у нас все еще нихрена нет, кроме самих репозитариев. Начнем стройку:

[root@s1 ~]# yes | yum -y install php-fpm nginx php-mysqli php-pgsql postgresql-server mongodb
php-mbstring php-eaccelerator
...
Running Transaction
  Installing     : php-common                                      [ 1/20] 
  Installing     : php-pdo                                         [ 2/20] 
  Installing     : libicu                                          [ 3/20] 
  Installing     : boost                                           [ 4/20] 
  Installing     : postgresql                                      [ 5/20] 
  Installing     : js                                              [ 6/20] 
  Installing     : gmp                                             [ 7/20] 
  Installing     : libpcap                                         [ 8/20] 
  Installing     : GeoIP                                           [ 9/20] 
  Installing     : perl-DBI                                        [10/20] 
  Installing     : mysql                                           [11/20] 
  Installing     : libevent                                        [12/20] 
  Installing     : mongodb                                         [13/20] 
  Installing     : postgresql-server                               [14/20] 
  Installing     : php-fpm                                         [15/20] 
  Installing     : php-mysql                                       [16/20] 
  Installing     : php-mbstring                                    [17/20] 
  Installing     : nginx                                           [18/20] 
  Installing     : php-pgsql                                       [19/20] 
  Installing     : php-eaccelerator                                [20/20] 
Installed: mongodb.i386 0:1.6.4-1.el5 nginx.i386 0:0.9.4-1.el5 php-eaccelerator.i386 2:0.9.6.1-1.el5
php-fpm.i386 0:5.2.17-1.el5 php-mbstring.i386 0:5.2.17-1.el5 php-mysql.i386 0:5.2.17-1.el5
php-pgsql.i386 0:5.2.17-1.el5 postgresql-server.i386 0:8.1.22-1.el5_5.1
Dependency Installed: GeoIP.i386 0:1.4.7-0.1.20090931cvs.el5 boost.i386 0:1.33.1-10.el5
gmp.i386 0:4.1.4-10.el5 js.i386 0:1.70-8.el5 libevent.i386 0:1.4.13-1 libicu.i386 0:3.6-5.11.4
libpcap.i386 14:0.9.4-15.el5 mysql.i386 0:5.0.77-4.el5_5.4 perl-DBI.i386 0:1.52-2.el5
php-common.i386 0:5.2.17-1.el5 php-pdo.i386 0:5.2.17-1.el5 postgresql.i386 0:8.1.22-1.el5_5.1
Complete!

А Node.js просто скачаем в виде .rpm, вот отсюда: http://download.opensuse.org/repositories/home:/SannisDev/CentOS_CentOS-5/i386/

[root@s1 ~]# wget http://download.opensuse.org/repositories/home:/SannisDev/CentOS_CentOS-5/
i386/nodejs3-0.3.4-1.1.i386.rpm
--01:36:35--  http://download.opensuse.org/repositories/home:/SannisDev/CentOS_CentOS-5/i386/nodejs3-0.3.4-1.1.i386.rpm
Resolving download.opensuse.org... 195.135.221.134
Connecting to download.opensuse.org|195.135.221.134|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://ftp.halifax.rwth-aachen.de/opensuse/repositories/home:/SannisDev/CentOS_CentOS-5/i386/
nodejs3-0.3.4-1.1.i386.rpm [following]
--01:36:35--  http://ftp.halifax.rwth-aachen.de/opensuse/repositories/home:/SannisDev/CentOS_CentOS-5/i386/
nodejs3-0.3.4-1.1.i386.rpm
Resolving ftp.halifax.rwth-aachen.de... 137.226.34.42
Connecting to ftp.halifax.rwth-aachen.de|137.226.34.42|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1994592 (1.9M) [application/x-redhat-package-manager]
Saving to: `nodejs3-0.3.4-1.1.i386.rpm'
100%[=======================================================================================>] 1,994,592   8.35M/s   in 0.2s   
01:36:35 (8.35 MB/s) - `nodejs3-0.3.4-1.1.i386.rpm' saved [1994592/1994592]
[root@s1 ~]# rpm -ivh nodejs3-0.3.4-1.1.i386.rpm 
warning: nodejs3-0.3.4-1.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID dfef6298
Preparing...                ########################################### [100%]
   1:nodejs3                ########################################### [100%]

Отлично! В системе установлено все, что нужно. И все пакеты можно нормально цивилизованно обновлять!

Полезное