如何安装或升级 LAMP:使用 Yum 的 Linux、Apache、MySQL 和 PHP 堆栈
从源代码安装 LAMP 堆栈将使您完全控制配置不同的参数。
使用 yum安装 LAMP 堆栈非常简单,只需几分钟。对于不习惯从源代码安装的初学者来说,这是一个不错的选择。此外,如果您想保持简单并使用默认配置,使用 yum 安装 LAMP 堆栈是一个不错的选择。
1.使用yum安装Apache
# rpm -qa | grep httpd
[Note: If the above command did not return anything,
install apache as shown below]
# yum install httpd
验证 Apache 是否已成功安装
# rpm -qa | grep -i http
httpd-tools-2.2.9-1.fc9.i386
httpd-2.2.9-1.fc9.i386
使用 chkconfig 启用 httpd 服务在系统启动期间自动启动。启动Apache,如下所示。
# chkconfig httpd on
# service httpd start
Starting httpd: [ OK ]
2.使用yum升级Apache
如果您在 Linux 安装过程中选择了 Web 服务器包,则 Apache 已经安装在您的 Linux 上。在这种情况下,您可以将 Apache 升级到最新版本,如下所示。
检查Apache是否已经安装。
# rpm -qa | grep -i http
httpd-tools-2.2.8-3.i386
httpd-2.2.8-3.i386
[Note: This indicates that Apache 2.2.8 version is installed already]
使用 yum 检查是否有最新版本的 Apache 可供安装。
# yum check-update httpd
Loaded plugins: refresh-packagekit
httpd.i386 2.2.9-1.fc9 updates
[Note: This indicates that the latest Apache version 2.2.9
is available for upgrade]
使用 yum 将 Apache 升级到最新版本。
# yum update httpd
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
Updating : httpd-tools [1/4]
Updating : httpd [2/4]
Cleanup : httpd [3/4]
Cleanup : httpd-tools [4/4]
Updated: httpd.i386 0:2.2.9-1.fc9 httpd-tools.i386 0:2.2.9-1.fc9
Complete!
验证Apache是否升级成功。
# rpm -qa | grep -i http
httpd-tools-2.2.9-1.fc9.i386
httpd-2.2.9-1.fc9.i386
[Note: This indicates that Apache was upgraded to 2.2.9 successfully]
3. 使用 Yum 安装 MySQL
Yum 非常聪明地识别所有依赖项并自动安装它们。例如,在使用yum安装mysql-server时,它还会自动安装依赖的mysql-libs、perl-DBI、mysql、perl-DBD-MySQL包,如下所示。
# yum install mysql-server
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
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]
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
Complete!
验证 MySQL 是否已正确安装。
# rpm -qa | grep -i mysql
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
# mysql -V
mysql Ver 14.12 Distrib 5.0.51a, for redhat-linux-gnu (i386) using readline 5.0
配置 MySQL 在系统启动期间自动启动。
# chkconfig mysqld on
启动 MySQL 服务。
# service mysqld start
第一次启动 mysqld 时,它会给出附加信息消息,指示执行安装后配置,如下所示。
Initializing MySQL database:
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
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
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'
Alternatively you can run: /usr/bin/mysql_secure_installation
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
Starting MySQL: [ OK ]
4. 执行 MySQL 安装后运行
mysql安装完成后,无需提供任何密码即可登录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>
要解决此问题,您需要为 mysql root 帐户分配一个密码,如下所示。执行 mysql_secure_installation 脚本,该脚本执行以下活动:
- 分配root密码
- 删除匿名用户
- 禁止从远程机器进行 root 登录
- 删除默认示例测试数据库
# /usr/bin/mysql_secure_installation
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.
Set root password? [Y/n] Y
New password: [Note: Enter the mysql root password here]
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.
Remove anonymous users? [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.
Disallow root login remotely? [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.
Remove test database and access to it? [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.
Reload privilege tables now? [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!
验证 MySQL 安装后运行:
# 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)
[Note: test database is removed]
5. 使用 Yum 升级 MySQL
检查 MySQL 是否已经安装。
# rpm -qa | grep -i mysql
使用 yum 检查是否有最新版本的 MySQL 可供安装。
# yum check-update mysql-server
使用 yum 将 MySQL 升级到最新版本。
# yum update mysql-server
6. 使用 Yum 安装 PHP
# yum install php
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
Installing : php-common [1/3]
Installing : php-cli [2/3]
Installing : php [3/3]
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
Complete!
验证 php 是否已成功安装。
# rpm -qa | grep -i php
php-cli-5.2.6-2.fc9.i386
php-5.2.6-2.fc9.i386
php-common-5.2.6-2.fc9.i386
为 PHP 安装 MySQL 模块。
# 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-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
Installing : php-pdo [1/2]
Installing : php-mysql [2/2]
Installed: php-mysql.i386 0:5.2.6-2.fc9
Dependency Installed: php-pdo.i386 0:5.2.6-2.fc9
Complete!
如果您需要额外的 PHP 模块,请使用 yum 安装它们,如下所示。
# yum install php-common php-mbstring php-mcrypt php-devel php-xml php-gd
7.使用yum升级PHP
检查是否安装了PHP。
# rpm -qa | grep -i php
使用 yum 检查是否有最新版本的 PHP 可供安装。
# yum check-update php
使用 yum 将 PHP 升级到最新版本。
# yum update php
升级您使用 yum 安装的任何其他 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
通过创建如下所示的 test.php 文件来验证 PHP 安装。
# cat /var/www/html/test.php
<? phpinfo(); ?>
从浏览器 http://{lamp-server-ip}/test.php 调用 test.php ,它将显示所有 PHP 配置信息和已安装的模块。
- 点赞
- 收藏
- 关注作者
评论(0)