红帽6下用rpm搭建lamp 需要用到哪些包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了红帽6下用rpm搭建lamp 需要用到哪些包相关的知识,希望对你有一定的参考价值。

参考技术A 楼主:本人以前用红帽搭建过LAMP,并将搭建经验分享在个人博客上,现在转载过来和大家共同分享一下:在Linux 下搭建与配置lamp ,看似命令多,很复杂,但实际上并不难,下面我就为你介绍如何在Linux 下成功搭建与配置好php(lamp)的运行环境。有不足之处还望指正。
另外,本文与我另一篇博文“散装包搭建wamp”的结构有所不同,这是由于Linux 的特点所决定。
下面的结构是:
第一部分:环境介绍与软件下载
第二部分:MySQL 的安装与简单配置
第三部分:Apache 的安装与配置
第四部分:php 的安装与配置
第五部分:phpmyadmin 的简单介绍
第六部分:web 测试
第七部分:一些提示

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第一部分:环境介绍与软件下载
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
操作系统:
rhel as4(即RedHat as4,红帽高级企业版)
软件:
mysql-5.0.67-linux-i686.tar.gz( http://dev.mysql.com/downloads/ )
httpd-2.2.13.tar.bz2( http://httpd.apache.org/download.cgi )
php-5.2.11.tar.bz2( http://www.php.net/downloads.php )
phpMyAdmin-3.2.0.1-all-languages.tar.gz( http://www.phpmyadmin.net/home_page/downloads.php )
说明:你可以到所附的网站下载最新的稳定版本,当然请下载适用于Linux 的版本,而不是windows的。安装与配置方法依然可以参照本文。这里,由于我选择的测试平台是RedHat,所以你可以下载RPM 版本的各种组件。RPM的安装方式比较傻瓜化,这里就不做介绍了。本文介绍的是非RPM 包的安装与配置。这里,httpd 和php 的包都采用的是源码编译方式的安装,请安装之前保证系统已经安装好了gcc 编译器和make工具。

在进行下面的步骤之前,首先给几点约定:
1.要以 root 身份登录Linux 系统。(这是为了下面敲入命令的方便,与避免程序安装时不必要的权限问题)如果,你是以其他非 root 身份登录,那么就在终端中输入 su 命令,再输入root 账号的密码(若root账号还没有密码,就请用 passwd 命令为其添加密码。如果不知道怎么做,就请你自己用man 命令查帮助吧)。之后就可以用root 权限来进行下面的操作了。
2.请注意,Linux 的世界里,区分大小写。
3.所有安装包暂放在我的个人文件夹中。即 /home/xfall (xfall是我的用户名。当然你自己放在其它文件夹也行)。
4.所有lamp 组件都安装在 /usr/local 路径下。
5.下面所有的加粗粉色字体为你在终端下需要敲入的命令。提示符shell 不要输入。它会根据当前的路径实时变化。
最重要的一点:每一大部分中输入的命令都是一气呵成的,所以请特别注意命令中路径的不断跳转,即 cd 命令。
6.在有些地方我会添加注释,但由于篇幅限制,能省略的我就尽量省略,有问题欢迎交流。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第二部分:MySQL 的安装与简单配置
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.MySQL的安装
必须执行以便安装并使用MySQL 二进制分发版的基本命令是:shell> groupadd mysql
shell> useradd -g mysql mysqlshell> cd /usr/localshell> gunzip < /home/xfall/mysql-5.0.67-linux-i686.tar.gz | tar xvf -shell> ln -s /home/xfall/mysql-5.0.67-linux-i686 mysqlshell> cd mysqlshell> scripts/mysql_install_db --user=mysqlshell> chown -R root .shell> chown -R mysql datashell> chgrp -R mysql .shell> bin/mysqld_safe --user=mysql &注释:该过程未设置MySQL账户的密码。另外,命令中的“/home/xfall/mysql-5.0.67-linux-i686.tar.gz ” 请你安装自己暂存安装包的路径自己改。
敲完这些命令后,MySQL 就已经基本安装好了。

2.MySQL 测试
shell> bin/mysqladmin --version 如果能成功得到信息,那么就成功了。

3.MySQL 自启动配置
若你不想每次开机后都得自己敲命令来启动MySQL,那么就按下面做就能实现MySQL 的服务功能。
shell> cp ./support-files/mysql.server /etc/init.d/mysql
shell> chmod +x /etc/init.d/mysql
shell> chkconfig --add mysql 现在,你再打开RedHat 菜单中的系统设置->服务,在里面就可以看到新添加的MySQL服务了,默认为自启动。

4.MySQL 设置账号的密码
MySQL 安装好后,在其授权表中就已经创建了5行记录了,如root@localhost 等等。
你可以为其中某个账号设置,也可以为所有用户同时设置同一个密码。
shell> bin/mysql
mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')
-> WHERE User = 'root';
mysql> FLUSH PRIVILEGES;
注释:
1.MySQL 提示符是支持换行续写代码的。所以上面的WHERE 语句可以换行,但注意,最后一定要加分号。另外,若你不要WHERE 语句,那么就实现了对所有用户设置同一个密码。
2.语句中的PASSWORD() 函数是用于对密码加密。建议使用。

密码设置好后,下次登录MySQL 时就得用密码登录了。如:
shell> ./mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 8
Server version: 5.0.67 MySQL Community Server (GPL)
注意:在输入密码时不会回显到屏幕上,自己是看不到的。你只要输入完密码后回车就可以了。

登录MySQL 后,你可以使用帮助命令查看更多有用命令。
特别提示一点:操作MySQL 还可以用其自带的mysqladmin 工具,很不错的工具。命令如下
shell> ./mysqladmin -u root -p
另外后面会介绍的phpmyadmin ,也是很优秀的。

关闭这个终端。
至此,MySQL的基本配置完毕。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第三部分:Apache 的安装与配置
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
安装前,请再次确认系统中已经安装有gcc编译器。没有就请你到“添加或删除程序”中去找到并安装。
1.Apache 安装
重新打开一个终端
shell> cd /home/xfall
shell> bzip2 -d httpd-2.2.13.tar.bz2
shell> tar -xvf httpd-2.2.13.tar
shell> cd httpd-2.2.13
shell> ./configure --prefix=/usr/local/apache --with-mysql=/usr/local/mysql --enable-module=so --enable-shared=max
shell> make
shell> make install
由于是采用编译安装的方式,整个过程会花上好几分钟。
若无意外,Apache就安装好了。

2.Apache 配置(添加php 支持)
下面编辑Apache 的配置文件,这和windows 下的Apache 的配置文件是一样的。
shell> gedit /usr/local/apache/conf/httpd.conf
打开后,
找到"AddType application/x-gzip .gz .tgz",在它的下面添加
"AddType application/x-httpd-php .php"和"AddType application/x-httpd-php-source .phps"
找到"DirectoryIndex index.html" 在index.html 前添加 index.php
在本文件中,你还可以修改其它参数。请参考Apache 的文档。

3.Apache 自启动配置
shell> cd /usr/local/apache
shell> cp bin/apachectl /etc/init.d/httpd
shell> gedit /etc/init.d/httpd
打开文本,在第一行与第二行之间加入以下两行:
# chkconfig: 2345 10 90
# description: Activates/Deactivates Apache Web Server
保存后关闭文本。
再到终端中继续输入:
shell> chkconfig --add httpd
至此,你再打开RedHat 菜单中的系统设置->服务,在里面就可以看到新添加的 Apache服务了,默认为自启动。

4.Apache 测试
在浏览器的地址栏中输入“localhost”,出现成功界面“It works!”即可。

关闭终端,Apache配置完毕。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第四部分:php 的安装与配置
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.php 的安装
重新打开一个新的终端
shell> cd /home/xfall
shell> bzip2 -d php-5.2.11.tar.bz2
shell> tar -xvf php-5.2.11.tar
shell> cd php-5.2.11
shell> ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs
shell> make
shell> make install
shell> cp php.ini-dist /usr/local/php/lib/php.ini

2.php 的配置
在“1.php的安装”中的configure的参数中自动激活了mysql的扩展,但是若我们想在php 安装好后还想添加扩展又怎么办呢?如mcrypt扩展:以前的方法是重新编译php,并且在configure的参数中带上--with-mcrypt=PATH,这种方式会花费很多时间,下面就对 php 载入各种扩展模块的方法(不重新编译php而添加扩展)进行详细讲解。
下面以 mcrypt.so 扩展为例来介绍:
这个扩展比较特殊,在安装这个扩展之前还得先安装libmcrypt
否则会出现如下错误php安装出错:configure: error: mcrypt.h not found. Please reinstall libmcrypt.,意思是,没有查找到mcrytp.h,需要安装libmcrypt,在下面的地址下载libmcrypt:
ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz
安装:
shell> tar -zxvf libmcrypt-2.5.7.tar.gz
shell> cd libmcrypt-2.5.7
shell> ./configure prefix=/usr/local/libmcrytp/
shell> make
shell> make install
完后就开始添加 mcrypt 扩展了
shell> cd /home/xfall/php-5.2.11/ext/mcrypt
shell> /usr/local/php/bin/phpize
shell> ./configure --with-php-config=/usr/local/php/bin/php-config
shell> make;make install
执行完后,会出现扩展存放的位置,接着输入下面这行,则会显示该组件mcrypt.so
shell> ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
下面打开php.ini 文本进行编辑
shell> gedit /usr/local/php/lib/php.ini
找到“Dynamic Extensions”板块,将你所需的附加模块激活
……
;extension=php_mcrypt.dll
……
在这行的下一行添加下面的语句:
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/mcrypt.so
保存文件并关闭。
重启apache
shell> /usr/local/apache/bin/apachectl -k restart
接着就可以用“3.php 测试”中的方式看到mcrypt 扩展的信息成功显示在页面中。

至于其他很多有用扩展,如mysqli,mstring等的加载方式与 mcrypt 一样,只是少了libmcrypt 的依赖安装罢了。方法一样。
另外,在php.ini 中还可以配置更多有用的参数。

3.php 测试
在终端中继续输入:
shell> gedit /usr/local/apache/htdocs/phpinfo.php
创建一个php 文件,并进行编辑,添加以下内容:
<?php
phpinfo();
?>
若前面配置后没有重启httpd服务,那么下面先重启httpd
shell> /usr/local/apache/bin/apachectl -k restart
若没有报错,现在就可以关闭终端。
打开浏览器,在地址栏中输入“http://localhost/phpinfo.php”,将显示

往下面翻页,可以看到MySQL 等组件也已经成功加载了

至此,lamp 架构就已经成型了。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第五部分:phpmyadmin 的简单介绍
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
这里对phpmyadmin 只是做简单的介绍。
phpmyadmin 不需要怎么安装,首先直接解压到存放网页的路径下:
打开一个新的终端,输入:
shell> cd /usr/local
shell> gunzip < /home/xfall/phpMyAdmin-3.2.0.1-all-languages.tar.gz | tar xvf
然后将文件夹重命名为 phpmyadmin:
shell> mv phpMyAdmin-3.2.0.1-all-languages phpMyAdmin
由于在“第四部分”中已经介绍了php中载入mcrypt 扩展(phpmyadmin所需的),那么现在在浏览器中输入地址“http://localhost/phpMyAdmin”就可以用了。(不会出现缺少mcrypt扩展的报错)
以root 账号登陆后,可以看到:phpmyadmin 增强了图形化界面来操作 MySQL 的功能,比起在终端中敲命令来的更简单。
建议使用。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第六部分:web 测试
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
其实,在前面Apache,MySQL,php 安装与配置的各个部分都是单独进行测试了的。
特别是第四部分:php的安装与配置中的截图就已经说明lamp 搭建的web 服务器是可以正确运行了的。
详细的测试方法请见前面各大部分的测试部分。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第七部分:一些提示
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
像前一篇介绍wamp安装与配置的文章的结尾一样,最后再罗嗦一下。
首先,建议用lamp 架构,它比wamp架构更优秀与通用。
第二,在Linux 下安装与配置lamp 架构,需要用到一些Linux 下的常用命令,并且在终端中敲入,如“解压缩”等命令。所以一些基本的Linux 知识是学习lamp 的前提。
第三,本文只是提供一种lamp 的架构方法。至于 Apache、MySQL等更高级的配置,请你按照自己的需要查询手册进行配置。这里同样给出中文手册的列表:
Apache HTTP Server Version 2.2 文档
MySQL 5.1参考手册
PHP 手册
建议到它们的官网去查找手册,那里更新更快。
第四,这篇文章是我在虚拟机中的 rhel as4 中测试的,正确无误。当然若你发现有瑕疵的地方,还望指正。</SPAN> </p>
第五,若是你的Linux 版本的软件包中附带有lamp平台所需的软件包,那么建议你就用它自带的。虽然版本不一定新,但是稳定性有保障,不要一味求新。另外像红帽提供了RPM管理机制,方便于自动搭建web平台,那么就用不着自己一步步手工敲命令来搭建了。

2-24-源码编译搭建LAMP环境-作业 ( By 小甘丶 )

 

安装上课的内容要求:

实验环境:

VMware Virtual Machine :

System Version: CentOS6.8 ( Gan35 )

IP Address : 192.168.31.35 ( Birdege )

1、用rpm包安装方式搭建一个LAMP环境,并测试是否能够解析PHP页面

安装LAMP环境

检查安装包是否已安装

rpm -qa | grep httpd

rpm -qa | grep mysql*

rpm -qa | grep php*

wpsAAA0.tmp

yum -y install httpd mysql-server mysql php php-mysql

# httpd 软件包是apache服务

# mysql-server 是mysql数据库程序

# mysql 是mysql数据库的客户端程序

# php 是php程序,安装后,httpd可利用其生成的libphp5.so解析php网页

# php-mysql 是 php连接数据库的程序

wpsAAA1.tmp

安装完成后,直接启动 httpd 和 mysqld 服务,并进行mysql初始化

service httpd start # 启动httpd服务

chkconfig httpd on # 添加httpd开机启动

chkconfig mysqld on # 添加mysql开机启动 mysqld是mysql-server服务程序

service mysqld start # 启动mysql服务

mysql_secure_installation # 对MySQL安全初始化,并设置root密码

Enter current password for root (enter for none): # 直接回车即可

Set root password? [Y/n] y  # 重设密码

New password: # 输入新的密码

Re-enter new password: # 再次输入

Remove anonymous users? [Y/n] y # 删除匿名用户

Disallow root login remotely? [Y/n] y # 禁止root用户远程登录

Remove test database and access to it? [Y/n] y # 移除测试数据

Reload privilege tables now? [Y/n] y # 加载授权表

wpsAAA2.tmp

在宿主机浏览器中访问虚拟机IP地址

wpsAAA3.tmp

修改ServerName 如下;

vim /etc/httpd/conf/httpd.conf

wpsAAA4.tmp

切换到/var/www/html目录,创建php测试页面

# /var/www/html是httpd服务默认发布网页的根目录,在httpd.conf文件中指定

cd /var/www/html

vim index.php # 安装后,httpd服务默认支持php网页解析不许在修改配置文件

输入如下内容:

<?php phpinfo() ?>

:wq  # 保存退出.

重新启动httpd服务

service httpd restart

在windows宿主机浏览器中访问安装了LAMP环境的虚拟机IP地址,查看效果

wpsAAA5.tmp

wpsAAA6.tmp

Ok! LAMP环境已搭建完成

2、搭建一个虚拟主机,并且演示三种不同情况的浏览效果

Apache有三种方式搭建虚拟主机:

1. IP  2. 域名  3. 端口

首先: 备份apache配置文件

cd /etc/httpd/conf

cp httpd.conf httpd.conf.bak

2.1 开启虚拟主机,并实现通过不同IP访问不同的网站

配置网络IP地址,添加第二个IP地址192.168.31.66,

ifconfig eth0:1 192.168.31.66

如图:

wpsAAB7.tmp

准备测试文件

rm -rf /var/www/html/index.php

mkdir /var/www/html/test35

mkdir /var/www/html/test66

cd /var/www/html

echo " the IP address 192.168.31.35 " >> test35/index.html

echo " the IP address 192.168.31.66 " >> test66/index.html

编辑配置文件

vim /etc/httpd/conf/httpd.conf

NameVirtualHost *:80 # 开启 Apache虚拟主机

<VirtualHost 192.168.31.35:80>

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot /var/www/html/test35

    ServerName dummy-host.example.com

    ErrorLog logs/dummy-host.example.com-error_log

    CustomLog logs/dummy-host.example.com-access_log common

</VirtualHost>

<VirtualHost 192.168.31.66:80>

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot /var/www/html/test66

    ServerName dummy-host.example.com

    ErrorLog logs/dummy-host.example.com-error_log

    CustomLog logs/dummy-host.example.com-access_log common

</VirtualHost>

wpsAAB8.tmp

重启apache服务

service httpd restart

在宿主机浏览器中访问如下地址:

192.168.31.35

192.168.31.66

wpsAAB9.tmp

2.2 开启虚拟主机,并实现通过不同端口访问不同的网站

修改配置文件如下:

vim /etc/httpd/conf/httpd.con

添加如下行:

Listen 81 # 添加服务监听端口81

修改<VirtualHost >如下

<VirtualHost *:80>

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot /var/www/html/test35

    ServerName dummy-host.example.com

    ErrorLog logs/dummy-host.example.com-error_log

    CustomLog logs/dummy-host.example.com-access_log common

</VirtualHost>

<VirtualHost *:81>

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot /var/www/html/test66

    ServerName dummy-host.example.com

    ErrorLog logs/dummy-host.example.com-error_log

    CustomLog logs/dummy-host.example.com-access_log common

</VirtualHost>

wpsAABA.tmp

wpsAABB.tmp

重启apache服务

service httpd restart

通过宿主机浏览器访问情况如下:

192.168.31.35:80

192.168.31.35:81

wpsAABC.tmp

2.3 开启虚拟主机,并实现通过不同域名访问不同的网站

在windows宿主机中,修改hosts文件,添加域名解析信息,让宿主机可以通过域名访问到虚拟机

编辑文件 C:\\Windows\\System32\\drivers\\etc\\hosts

添加如下行:

192.168.31.35 www.test1.com

192.168.31.35 www.test2.com

wpsAABD.tmp

在cmd.exe中测试如下:

ping www.test1.com

ping www.test2.com

wpsAABE.tmp

修改配置文件如下:

vim /etc/httpd/conf/httpd.con

删除上面添加的Listen 81 行 # 这一行在这里没啥用了!

修改如下行:

<VirtualHost *:80>

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot /var/www/html/test35

    ServerName www.test1.com

    ErrorLog logs/dummy-host.example.com-error_log

    CustomLog logs/dummy-host.example.com-access_log common

</VirtualHost>

<VirtualHost *:80>

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot /var/www/html/test66

    ServerName www.test2.com

    ErrorLog logs/dummy-host.example.com-error_log

    CustomLog logs/dummy-host.example.com-access_log common

</VirtualHost>

wpsAACE.tmp

在宿主机浏览器中访问如下:

www.test1.com

www.test2.com

wpsAACF.tmp

以上是关于红帽6下用rpm搭建lamp 需要用到哪些包的主要内容,如果未能解决你的问题,请参考以下文章

第17章 LAMP环境搭建

Lamp环境搭建

Mac下用brew搭建LNMP和LAMP开发环境

搭建LAMP架构

LAMP 环境搭建

LAMP基于RPM包搭建