Как установить или обновить: Linux, Apache, MySQL и PHP с использованием Yum
Метки: Apache | CentOS | MySQL
Суббота, 31 января 2009 г.
Просмотров: 36928
Подписаться на комментарии по 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 , которая отобразит всю конфигурацию и все установленные модули.
Постовой
Компания "Элросса" предлагает Вам проведение комплекса электромонтажных работ в различного типа помещениях с высоким качеством. Качественные электромонтажные работы расценки всем по карману.
ООО «ЮР-КЛУБ» оказывает полный комплекс услуг по юридическому сопровождению фирм и не только это. Бухгалтерское сопровождение, регистрация фирм в Москве и многое другое. Наши клиенты нами довольны!
Еще записи по теме
- Балансировка Exchange 2010 с помощью Centos 5 и Linux Virtual Server, часть 2
- iRedMail: Установка полноценного почтового сервера с LDAP, Postfix, RoundCube, Dovecot, ClamAV, DKIM, SPF в CentOS 5.x, часть 2
- Прячем версию Apache
- Работаем с Firewall Builder, часть 5
- Блокировка IP адресов и подсететей в Nginx
- Red Hat / CentOS: Просмотр списка запущенных сервисов
- Балансировка Exchange 2010 с помощью Centos 5 и Linux Virtual Server, часть 4
Комментариев: 10
Так же нашел хорошую статью для установки связки Linux, Apache, MySQL и PHP на Убунту http://www.linuxspace.org/archives/28
Странно, но у меня ставится PHP версии 5.1 может я что-то пропустил?
всё правильно, он так и будет 5.1, пока не поставишь новую версию дистрибутива.
это один из вопросов FAQ
политика такая
security патчи ставятся, код обновляется, а номера версий - нет
Fedora 9. PHP не может выполнить connect к MYSQL-серверу. В консоли вход осуществляется, указанные в статье php-модули стоят. Аналогичная связка на Fedora 7 работает. Склонен думать, что Fedora 9 больная на голову.
Спасибо за отличную статью!
очень помогла!
Отлично, грамотно написано.
Главное понятно)
Образец !!!.
Тоже поставил, все прошло успешно, но версия PHP Version 5.1.6 и MySQL 5.0.77
У меня 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) можно снести?
И из какого репозитория лучше всего его поставить?
А где этот FAQ то? И как обновить до более новой версии дистрибутива?
по команде yum list httpd показывает только версию 2.2.15 хотя уже доступна 2.2.4 и выше..