设为首页 收藏本站
查看: 580|回复: 0

[经验分享] How To Install Or Upgrade LAMP: Linux, Apache, MySQL and PHP Stack Using Yum

[复制链接]

尚未签到

发表于 2015-8-3 10:41:06 | 显示全部楼层 |阅读模式
  Previously we discussed about how to install Apacheand PHP from source. Installing LAMP stack from source will give you full control to configure different parameters.
  Installing LAMP stack using yum is very easy and takes only minutes. This is a good option for beginners who don’t feel comfortable installing from source. Also, Installing LAMP stack using yum is a good choice, if you want to keep things simple and just use the default configuration.

1. Install Apache using Yum


DSC0000.gif


# rpm -qa | grep httpd
[Note: If the above command did not return anything,
          install apache as shown below]
# yum install httpd


  Verify that Apache got installed successfully



# rpm -qa | grep -i http
httpd-tools-2.2.9-1.fc9.i386
httpd-2.2.9-1.fc9.i386


  Enable httpd service to start automatically during system startup using chkconfig.  Start the Apache as shown below.



# chkconfig httpd on
# service httpd start
Starting httpd:                   [  OK  ]


2. Upgrade Apache using Yum
  If you’ve selected web server package during Linux installation, Apache is already installed on your Linux. In which case, you can upgrade Apache to the latest version as shown below.
  Check whether Apache is already installed.



# 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]


  Check whether latest version of Apache is available for installation using yum.



# 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]


  Upgrade Apache to latest version using yum.



# yum update httpd


  Output of the yum update httpd command:



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!


  Verify whether the Apache got upgraded successfully.



# 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. Install MySQL using Yum


DSC0001.jpg   Yum is very smart to identify all the dependencies and install those automatically. For example, while installing mysql-server using yum, it also automatically installs the depended mysql-libs, perl-DBI, mysql, perl-DBD-MySQL packages as shown below.



# yum install mysql-server


  Output of yum install mysql-server command:



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!


  Verify whether MySQL got installed properly.



# 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


  Configure MySQL to start automatically during system startup.



# chkconfig mysqld on


  Start MySQL service.



# service mysqld start


  The first time when you start mysqld, it will give additional information message indicating to perform post-install configuration as shown below.



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. Perform MySQL post-installation activities
  After the mysql installation, you can login to mysql root account without providing any password as shown below.



# 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>


  To fix this problem, you need to assign a password to mysql root account as shown below. Execute mysql_secure_installation script, which performs the following activities:


  • Assign the root password
  • Remove the anonymous user
  • Disallow root login from remote machines
  • Remove the default sample test database



# /usr/bin/mysql_secure_installation


  Output of mysql_secure_installation script:



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!


  Verify the MySQL post-install activities:



# 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. Upgrade MySQL using Yum
  Check whether MySQL is already installed.



# rpm -qa | grep -i mysql


  Check whether a latest version of MySQL is available for installation using yum.



# yum check-update mysql-server


  Upgrade MySQL to latest version using yum.



# yum update mysql-server


6. Install PHP using Yum


DSC0002.png


# yum install php


  Output of 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!


  Verify that php got installed successfully.



# 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


  Install MySQL module for 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


  Output of 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!


  If you need additional PHP modules, install them using yum as shown below.



# yum install php-common php-mbstring php-mcrypt php-devel php-xml php-gd


7. Upgrade PHP using Yum
  Check whether PHP is installed.



# rpm -qa | grep -i php


  Check whether a latest version of PHP is available for installation using yum.



# yum check-update php


  Upgrade PHP to the latest version using yum.



# yum update php


  Upgrade any additional PHP modules that you’ve installed using yum.



# 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


  Verify the PHP installation by creating a test.php file as shown below.



# cat /var/www/html/test.php




DSC0003.jpg   Invoke the test.php from the browser http://{lamp-server-ip}/test.php , which will display all PHP configuration information and the installed modules.

If you liked this article, please bookmark it on del.icio.us and Stumble it.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-93612-1-1.html 上篇帖子: mac os x & apache & python & flask 配置攻略 下篇帖子: ab apache小巧测试工具
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表