Linux и Windows: помощь админам и пользователям

Администрируем и настраиваем Windows, Linux.



Как установить или обновить: Linux, Apache, MySQL и PHP с использованием Yum

Рубрика: RHEL, CentOS -> Apache
Метки: | |
Суббота, 31 января 2009 г.
Просмотров: 37689
Подписаться на комментарии по RSS

 

Установка LAMP с использованием  yum очень проста и занимает всего несколько минут. Это лучший выбор для новичков, кто не знает всех тонкостей обычной установки.

1. Установка Apache

# <strong>rpm -qa | grep httpd</strong>
<span style="color: red;">[Заметка: Если команда выше ничего не возвращает, установите apache как показано ниже]</span>
# <strong>yum install httpd</strong>

Убедитесь что Apache установлен успешно

# <strong>rpm -qa | grep -i http</strong>
httpd-tools-2.2.9-1.fc9.i386
httpd-2.2.9-1.fc9.i386

После этого поставим сервис httpd в автозагрузку используя chkconfig.[cut]

# <strong>chkconfig httpd on</strong>
# <strong>service httpd start</strong>
Starting httpd:                   [  OK  ]

2. Обновляем Apache

Если во время установки системы вы выбирали установку веб-сервера, Apache уже установлен. В этом случае вы можете обновиться на последнюю версию.

Проверьте какая версия Apache установлена.

# <strong>rpm -qa | grep -i http</strong>
httpd-tools-2.2.8-3.i386
httpd-2.2.8-3.i386
<span style="color: red;">[Заметка: У вас уже установлен Apache 2.2.8]</span>

Проверьте, какая последняя версия Apache доступна для установки.

# <strong>yum check-update httpd</strong>
Loaded plugins: refresh-packagekit
httpd.i386      2.2.9-1.fc9       updates
<span style="color: red;">[Заметка: Это означает что доступна обновленная версия 2.2.9]</span>

Обновите Apache до последней версии используя yum.

# <strong>yum update httpd</strong>

Результат команды yum update httpd:

Loaded plugins: refresh-packagekit
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package httpd.i386 0:2.2.9-1.fc9 set to be updated
--> Processing Dependency: httpd-tools = 2.2.9-1.fc9 for package: httpd
--> Running transaction check
---> Package httpd-tools.i386 0:2.2.9-1.fc9 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================
Package                 Arch       Version          Repository        Size
=============================================================================
Updating:
httpd                   i386       2.2.9-1.fc9      updates           975 k
httpd-tools             i386       2.2.9-1.fc9      updates            69 k
Transaction Summary
=============================================================================
Install      0 Package(s)
Update       2 Package(s)
Remove       0 Package(s)
Total download size: 1.0 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): httpd-tools-2.2.9-1.fc9.i386.rpm                  |  69 kB     00:00
(2/2): httpd-2.2.9-1.fc9.i386.rpm                        | 975 kB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
<strong>Updating       : httpd-tools                                       [1/4]
Updating       : httpd                                             [2/4]
Cleanup        : httpd                                             [3/4]
Cleanup        : httpd-tools                                       [4/4]
</strong>
Updated: httpd.i386 0:2.2.9-1.fc9 httpd-tools.i386 0:2.2.9-1.fc9
<strong>Complete!</strong>

Убедитесь что Apache успешно обновлен.

# <strong>rpm -qa | grep -i http</strong>
httpd-tools-2.2.9-1.fc9.i386
httpd-2.2.9-1.fc9.i386
<span style="color: red;">[Заметка: Это означает что вы успешно установили версию Apache 2.2.9]</span>

3. Установка MySQL

Yum очень хорошо определяет зависимости и устанавливает их автоматически. К примеру, когда вы устанавливаете пакет mysql-server используя yum, он автоматически ставит зависимые пакеты mysql-libs, perl-DBI, mysql, perl-DBD-MySQL.

# <strong>yum install mysql-server</strong>

Вывод команды yum install mysql-server:

Loaded plugins: refresh-packagekit
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package mysql-server.i386 0:5.0.51a-1.fc9 set to be updated
--> Processing Dependency: libmysqlclient_r.so.15 for mysql-server
--> Processing Dependency: libmysqlclient.so.15 for mysql-server
--> Processing Dependency: perl-DBI for package: mysql-server
--> Processing Dependency: mysql = 5.0.51a-1.fc9 for package: mysql-server
--> Processing Dependency: libmysqlclient.so.15 for package: mysql-server
--> Processing Dependency: perl(DBI) for package: mysql-server
--> Processing Dependency: perl-DBD-MySQL for package: mysql-server
--> Processing Dependency: libmysqlclient_r.so.15 for package: mysql-server
--> Running transaction check
---> Package mysql.i386 0:5.0.51a-1.fc9 set to be updated
---> Package mysql-libs.i386 0:5.0.51a-1.fc9 set to be updated
---> Package perl-DBD-MySQL.i386 0:4.005-8.fc9 set to be updated
---> Package perl-DBI.i386 0:1.607-1.fc9 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================
Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
mysql-server            i386       5.0.51a-1.fc9    fedora            9.8 M
Installing for dependencies:
mysql                   i386       5.0.51a-1.fc9    fedora            2.9 M
mysql-libs              i386       5.0.51a-1.fc9    fedora            1.5 M
perl-DBD-MySQL          i386       4.005-8.fc9      fedora            165 k
perl-DBI                i386       1.607-1.fc9      updates           776 k
Transaction Summary
=============================================================================
Install      5 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 15 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): perl-DBD-MySQL-4.005-8.fc9.i386.rpm           | 165 kB     00:00
(2/5): perl-DBI-1.607-1.fc9.i386.rpm                 | 776 kB     00:00
(3/5): mysql-libs-5.0.51a-1.fc9.i386.rpm             | 1.5 MB     00:00
(4/5): mysql-5.0.51a-1.fc9.i386.rpm                  | 2.9 MB     00:00
(5/5): mysql-server-5.0.51a-1.fc9.i386.rpm           | 9.8 MB     00:01
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
<strong>Installing     : mysql-libs                                        [1/5]
Installing     : perl-DBI                                          [2/5]
Installing     : mysql                                             [3/5]
Installing     : perl-DBD-MySQL                                    [4/5]
Installing     : mysql-server                                      [5/5]
</strong>
Installed: mysql-server.i386 0:5.0.51a-1.fc9
Dependency Installed:
  mysql.i386 0:5.0.51a-1.fc9 mysql-libs.i386 0:5.0.51a-1.fc9
  perl-DBD-MySQL.i386 0:4.005-8.fc9 perl-DBI.i386 0:1.607-1.fc9
<strong>Complete!</strong>

Убедитесь что MySQL успешно установлен.

# <strong>rpm -qa | grep -i mysql</strong>
php-mysql-5.2.6-2.fc9.i386
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
# <strong>mysql -V</strong>
mysql  Ver 14.12 Distrib 5.0.51a, for redhat-linux-gnu (i386) using readline 5.0

Настроим MySQL на автоматический запуск во время загрузки системы.

# <strong>chkconfig mysqld on</strong>

Запускаем MySQL.

# <strong>service mysqld start</strong>

В первый раз когда вы запустите mysqld, вы увидите дополнительное информационное сообщение.

<strong>Initializing MySQL database:</strong>
Installing MySQL system tables… OK
Filling help tables… OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
<strong>
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !</strong>
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password ‘new-password’
/usr/bin/mysqladmin -u root -h dev-db password ‘new-password’
<strong>Alternatively you can run: /usr/bin/mysql_secure_installation
</strong>which will also give you the option of removing the test
databases and anonymous user created by default.  This is
highly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/bin/mysqlbug script!
The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
<strong>Starting MySQL:                                            [  OK  ]</strong>

4. Выполняем послеинсталляционную настройку MySQL

После установки mysql вы можете залогиниться под рутом без ввода пароля.

# <strong>mysql -u root</strong>
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>

Для решения этой проблемы, вам необходимо назначить пароль руту. Выполните скрипт mysql_secure_installation, который выполняет следующие действия:

  • Устанавливаем пароль root
  • Удаляет пользователя anonymous
  • Запрещает логинистья рутом с удаленных машин
  • Удаляет тестовую базу
# <strong>/usr/bin/mysql_secure_installation</strong>

Вывод результата работы скрипта mysql_secure_installation:

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
<strong>Set root password?</strong> [Y/n] Y
<strong>New password: </strong><span style="color: red;">[Note: Enter the mysql root password here]</span>
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
… Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
<strong>Remove anonymous users?</strong> [Y/n] Y
… Success!
Normally, root should only be allowed to connect from ‘localhost’.  This
ensures that someone cannot guess at the root password from the network.
<strong>Disallow root login remotely?</strong> [Y/n] Y
… Success!
By default, MySQL comes with a database named ‘test’ that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
<strong>Remove test database and access to it?</strong> [Y/n] Y
- Dropping test database…
… Success!
- Removing privileges on test database…
… Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
<strong>Reload privilege tables now?</strong> [Y/n] Y
… Success!
Cleaning up…
All done!  If you’ve completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!

Проверяем результат работы скрипта:

# <strong>mysql -u root</strong>
ERROR 1045 (28000):Access denied for user ‘root’@'localhost’(using password:NO)
<span style="color: red;">[Note: root access without password is denied]</span>
# <strong>mysql -u root -p</strong>
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> <strong>show databases;</strong>
+——————–+
| Database           |
+——————–+
| information_schema |
| mysql              |
+——————–+
2 rows in set (0.00 sec)<span style="color: red;">
</span>

5. Обновление MySQL

Проверяем какая версия MySQL установлена.

# <strong>rpm -qa | grep -i mysql</strong>

Проверяем какая последняя версия MySQL доступна для установки.

# <strong>yum check-update mysql-server</strong>

Обновляем MySQL.

# <strong>yum update mysql-server</strong>

6. Устанавливаем PHP

# <strong>yum install php</strong>

Вывод результата команды yum install php:

Loaded plugins: refresh-packagekit
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package php.i386 0:5.2.6-2.fc9 set to be updated
--> Processing Dependency: php-common = 5.2.6-2.fc9 for package: php
--> Processing Dependency: php-cli = 5.2.6-2.fc9 for package: php
--> Running transaction check
---> Package php-common.i386 0:5.2.6-2.fc9 set to be updated
---> Package php-cli.i386 0:5.2.6-2.fc9 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================
Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
php                     i386       5.2.6-2.fc9      updates           1.2 M
Installing for dependencies:
php-cli                 i386       5.2.6-2.fc9      updates           2.3 M
php-common              i386       5.2.6-2.fc9      updates           228 k
Transaction Summary
=============================================================================
Install      3 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 3.8 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): php-common-5.2.6-2.fc9.i386.rpm  | 228 kB     00:00
(2/3): php-5.2.6-2.fc9.i386.rpm         | 1.2 MB     00:00
(3/3): php-cli-5.2.6-2.fc9.i386.rpm     | 2.3 MB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
<strong>Installing     : php-common     [1/3]
Installing     : php-cli        [2/3]
Installing     : php            [3/3]
</strong>
Installed: php.i386 0:5.2.6-2.fc9
Dependency Installed: php-cli.i386 0:5.2.6-2.fc9 php-common.i386 0:5.2.6-2.fc9
<strong>Complete!</strong>

Проверяем успешность установки php.

# <strong>rpm -qa | grep -i php</strong>
php-cli-5.2.6-2.fc9.i386
php-5.2.6-2.fc9.i386
php-common-5.2.6-2.fc9.i386

Устанавливаем MySQL модуль для PHP.

# <strong>yum search php-mysql</strong>
Loaded plugins: refresh-packagekit
=========== Matched: php-mysql =============
php-mysql.i386 : A module for PHP applications that use MySQL databases
# <strong>yum install php-mysql</strong>

Вывод результаты команды yum install php-mysql:

Loaded plugins: refresh-packagekit
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package php-mysql.i386 0:5.2.6-2.fc9 set to be updated
--> Processing Dependency: php-pdo for package: php-mysql
--> Running transaction check
---> Package php-pdo.i386 0:5.2.6-2.fc9 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================
Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
php-mysql               i386       5.2.6-2.fc9      updates            81 k
Installing for dependencies:
php-pdo                 i386       5.2.6-2.fc9      updates            62 k
Transaction Summary
=============================================================================
Install      2 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 143 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): php-pdo-5.2.6-2.fc9.i386.rpm     |  62 kB     00:00
(2/2): php-mysql-5.2.6-2.fc9.i386.rpm   |  81 kB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
<strong>Installing     : php-pdo                [1/2]
Installing     : php-mysql              [2/2]
</strong>
Installed: php-mysql.i386 0:5.2.6-2.fc9
Dependency Installed: php-pdo.i386 0:5.2.6-2.fc9
<strong>Complete!</strong>

Если вам необходимы дополнительные модули PHP, установите их используя yum.

# <strong>yum install php-common php-mbstring php-mcrypt php-devel php-xml php-gd</strong>

7. Обновление PHP

Проверяем установленную версию php.

# <strong>rpm -qa | grep -i php</strong>

Проверяем последнюю доступную в резозитарии версию php.

# <strong>yum check-update php</strong>

Обновляем PHP.

# <strong>yum update php</strong>

Обновляем также любые дополнительные php модули:

# <strong>yum check-update php-common php-mbstring php-mcrypt php-devel php-xml php-gd</strong>
# <strong>yum update php-common php-mbstring php-mcrypt php-devel php-xml php-gd</strong>

Проверяем успешность установки PHP созданием файла test.php.

# <strong>cat /var/www/html/test.php</strong>
<? phpinfo(); ?>

Откройте в браузере http://{lamp-server-ip}/test.php , которая отобразит всю конфигурацию и все установленные модули.

Постовой

Компания "Элросса" предлагает Вам проведение комплекса электромонтажных работ в различного типа помещениях с высоким качеством. Качественные электромонтажные работы расценки всем по карману.

ООО «ЮР-КЛУБ» оказывает полный комплекс услуг по юридическому сопровождению фирм и не только это. Бухгалтерское сопровождение, регистрация фирм в Москве и многое другое. Наши клиенты нами довольны!

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

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

  1. Так же нашел хорошую статью для установки связки Linux, Apache, MySQL и PHP на Убунту http://www.linuxspace.org/archives/28

  2. Странно, но у меня ставится PHP версии 5.1 может я что-то пропустил?

  3. Илья Сергеевич | 2009-03-13 в 00:41:42

    всё правильно, он так и будет 5.1, пока не поставишь новую версию дистрибутива.

    это один из вопросов FAQ

    политика такая

    security патчи ставятся, код обновляется, а номера версий - нет

  4. Пётр Сергеевич | 2009-05-29 в 11:57:46

    Fedora 9. PHP не может выполнить connect к MYSQL-серверу. В консоли вход осуществляется, указанные в статье php-модули стоят. Аналогичная связка на Fedora 7 работает. Склонен думать, что Fedora 9 больная на голову.

  5. Дмитрий | 2009-09-07 в 23:47:23

    Спасибо за отличную статью!

    очень помогла!

  6. Отлично, грамотно написано.

    Главное понятно)

  7. Алексей | 2009-10-24 в 14:04:20

    Образец !!!.

  8. Тоже поставил, все прошло успешно, но версия PHP Version 5.1.6 и MySQL 5.0.77

  9. У меня Centos 5.4. Поставил MySQL из репы Atomic, теперь не могу запустиь/перезапустить.

    Версия мне не нравится, точнее под какую архитектуру она заточена:

    # mysql -V

    mysql Ver 14.14 Distrib 5.1.48, for redhat-linux-gnu (x86_64) using readline 5.1

    Скажите какой командой его(mysql) можно снести?

    И из какого репозитория лучше всего его поставить?

  10. А где этот FAQ то? И как обновить до более новой версии дистрибутива?

    по команде yum list httpd показывает только версию 2.2.15 хотя уже доступна 2.2.4 и выше..

Оставьте комментарий!

Используйте нормальные имена.

Имя и сайт используются только при регистрации

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

(обязательно)