9 февр. 2012 г.

Apache, php, mysql на CentOS

Задача:
Есть сервер CentOS с доступом по ssh. Необходимо установить apache, php, mysql со всеми обновлениями.
Для решения задачи используется только putty для подключения через ssh.

Вступление и подготовка
Для проверки работы apache и php установим консольный браузер lynx
# yum install lynx Если в системе нету файла hosts:
добавить его в /etc со следующим содержимым:
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
Здесь выполним обновление установленных пакетов. Думаю, что это разумно поскольку еще не подключено ни одного стороннего репозитория, поэтому новым версиям, из базовых репов, можно доверять. Для обновления используем:
# yum update
1. Установка Apache
Авторизуемся как root.
Проверяем, что не установлен Apache:
# rpm -qa | grep httpd Если команда ниже ничего не вернула — значит нет Apache, тогда ставим его:
# yum install httpd Проверяем, что теперь он установлен:
# rpm -qa | grep -i http
httpd-2.2.3-43.el5.centos.3
При помощи следующей команды, можно добавить Apache в автозагрузку:
# chkconfig httpd on
Удовлетворимся версией из репозитория.

2. Устанавливаем MySQL # yum install mysql-server Проверим, что он установлен:
# rpm -qa | grep -i mysql
mysql-libs-5.0.51a-1.fc9.i386
mysql-server-5.0.51a-1.fc9.i386
perl-DBD-MySQL-4.005-8.fc9.i386
mysql-5.0.51a-1.fc9.i386
Настроим MySQL на автоматический запуск во время загрузки системы и запустим его уже сейчас. Аналогично Apache:
# chkconfig mysqld on
# service mysqld start
После установки MySQL пользователь root для него не имеет пароля и можно авторизоваться без пароля:
# mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.51a Source distribution
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>
Очевидно, это является небезопасным, поэтому назначим пароль для root. Лучше всего для этого выполнить скрипт
# /usr/bin/mysql_secure_installation Он позволит сделать следующее:
Установить пароль root;
Удалит пользователя anonymous;
Запретит авторизоваться для root с удаленных машин;
Удалит тестовую базу;
и еще несколько операций, режим интерактивный у него — читайте внимательно.

Теперь можно проверить успешность установки пароля:
# mysql -u root
ERROR 1045 (28000):Access denied for user ‘root’@'localhost’(using password:NO)
[Note: root access without password is denied]
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 5.0.51a Source distribution
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql> show databases;
+--------------------+
|      Database      |
+-------------------–+
| information_schema |
|       mysql        |
+-------------------–+
2 rows in set (0.00 sec)

Обновляем MySQL
В репозиториях CentOS достаточно старый MySQL, подключим репозиторий Remi и выполним обновление.
Предварительно создадим директорию в home, например. Чем лучше tmp?:
# cd ~
# mkdir remi
# cd remi
Нижеследующие команды позиционируются для RHEL 5, но естественно, прекрасно работают на CentOS
Непосредственно загрузим и установим Remi:
# wget download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
# wget rpms.famillecollet.com/enterprise/remi-release-5.rpm
# rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm
Нужно включить репозиторий Remi, т.к. по умолчанию он выключен.
Для этого поправим файл /etc/yum.repos.d/remi.repo дабы у [remi] стало enabled=1
Проверяем какая версия MySQL установлена:
# rpm -qa | grep -i mysql Проверяем какая последняя версия MySQL доступна для установки:
# yum check-update mysql-server Если нужно, теперь можно обновить:
# yum update mysql-server


3. Установка PHP
# yum install php Проверяем, был ли установлен PHP:
# rpm -qa | grep -i php Устанавливаем MySQL модуль для PHP:
# yum search php-mysql
Loaded plugins: refresh-packagekit
=========== Matched: php-mysql =============
php-mysql.i386 : A module for PHP applications that use MySQL databases
# yum install php-mysql
Дополнительные модули можно установить при помощи команды:
# yum install php-common php-mbstring php-mcrypt php-devel php-xml php-gd Аналогично MySQL, обновляем PHP (из Remi).
Проверяем установленную версию PHP.
# rpm -qa | grep -i php Проверяем последнюю доступную в резозитории версию PHP.
# yum check-update php Обновляем PHP.
# yum update php

Обновляем также любые дополнительные php модули, если они были установлены ранее:
# yum check-update php-common php-mbstring php-mcrypt php-devel php-xml php-gd
# yum update php-common php-mbstring php-mcrypt php-devel php-xml php-gd

Комментариев нет: