LAMP环境的搭建与配置
实验人员:Zuocheng Liu 实验日期:2011-7-29
环境:
1. 硬件:
VMware 6.5/7( 8G Disk 、1G RAM、 Core 1.6GHz、100Mps Ethernet )
2. 软件:
CentOS 6.0 i386
Apache httpd-2.2.19
mysql-5.5.14
php-5.3.6
phpMyAdmin-3.4.3.2-all-languages
一、 Linux(CentOS-6.0)的安装和配置
在CentOS的安装过程中,到了软件定制这一步时,要选择安装编译环境(包括cmake),不要安装关于mysql、httpd、php的rpm包。CentOS安装成功后,必须用rpm -qa|grep -i mysql(httpd,php)查找,并且用rpm -e 包名 -nodeps进行删除。
二、 mysql的安装和配置
1. mysql-5.5.14版本的安装方法
(1) 创建mysql用户和用户组
# groupadd mysql
# useradd -r -g mysql mysql
(2) 编译和安装mysql
# tar zxvf mysql-5.5.14.tar.gz
# cd mysql-VERSION
# cmake .
# make
# make install
(3) 修改文件夹权限
# cd /usr/local/mysql
# chown -R mysql .
# chgrp -R mysql .
(4) 使用脚本初始化数据库
# scripts/mysql_install_db --user=mysql
# chown -R root .
# chown -R mysql data
(5) 拷贝mysql配置文件
# cp support-files/my-medium.cnf /etc/my.cnf
(6) 以安全模式启动数据库
# bin/mysqld_safe --user=mysql &
2. mysql旧版本的安装方法
(1) 执行解压命令:
#tar -zxvf mysql5.1.37-linux-i686-glibc23.tar.gz。
再执行命令:#cd mysql5.1.37-linux-i686-glibc23
(2) 建立mysql的安装目录:
#mkdir -p /usr/local/mysql
(3) 将当前目录中的文件拷贝到/usr/local/mysql中
#cp -rf * /usr/local/mysql
(4) 改变当前目录为/usr/local/mysql
#cd /usr/local/mysql
(5) 添加mysql组和mysql用户
#groupadd mysql
#useradd -g mysql mysql
(6) 将当前目录(/usr/local/mysql)的属设为root,将目录data的属设为mysql
#chown -R root .
#chown -R mysql data
(7) 使用脚本进行安装
#./scripts/mysql_install_db --user=mysql
(8) 建立mysql的配置文件my.conf
#cp ./support-files/my-medium.cnf /etc/my.cnf
(9) 第一次启动mysql
#./bin/mysqld_safe --user=mysql&
(10) 使用命令mysql启动mysql客户端,连接MySQL服务器
#./bin/mysql
若失败:是因为文件夹的权限没有设置好
(11) 第一次连接服务器
密码默认为空,因此需要对mysql数据库中的user表进行修改。命令如下:
mysql>use mysql;
mysql> update user ser password=password(‘new password’) where user=’root’ and host=’localhost’;
mysql>grant all privileges on *.* to 新用户@localhost identified by ‘密码’ with
grant option;//添加一个新用户,并且拥有对所有数据库的操作权限。
mysql>delete form user where user=’’;
mysql>delete from user where password=’’;
mysql>quit;
(12) 设置开机时自动启动mysql服务器
#cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
(13) 设置用service mysql start命令来启动mysql服务器。
#chmod 700 /etc/rc.d/init.d/mysqld
#chkconfig --add mysqld(add 前面时两个“-”)
#chkconfig --list mysqld 查看mysqld在系统运行状态几启动
(14) 用#service mysqld restart 重启myslq服务器
(15) 用#./bin/mysql –u root -p重新连接mysqld服务器。
三、 Apache的安装和配置
1. Apache的安装
(1) 执行解压命令
#tar -zxvf httpd-2.2.19.tar.gz
(2) 改变当前目录为httpd-2.2.19
#cd httpd-2.2.19
(3) 使用“configure”命令生成安装配置文件
# ./configure --prefix=/usr/local/apache2 --enable-so --enable-track-vars --enable-rewrite
(4) 使用make编译并生成安装文件
#make
(5) 使用make install命令进行安装
#make install
2. Apache的配置和测试
(1) 启动apache并且测试
#/usr/local/apache2/bin/apachectl start
打开浏览器,在地址栏里面输入服务器的ip地址(可以使用命令#ifconfig 查看),或者如果页面显示“it works”则说明apache已经正常启动。若没有启动,关闭防火墙重新执行此步。
(2) 设置开机启动apache
#echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local
(3) 检查rc.local文件中是否已经写入
#cat /etc/rc.d/rc.local
3. 防火墙设置
CentOS防火墙在装好APACHE不能用,解决方法如下:
(1) 插入新的防火墙规则,开通80端口
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
(2) 保存规则:
/etc/rc.d/init.d/iptables save
(3) 重启防火墙服务
/etc/init.d/iptables restart
四、 php的安装和配置
1. 安装前准备
在安装php之前必须确定已经安装了libxml2,zlib,libpng,freetype,jpeg,autoconf,gd库。它们的安装顺序是:zlib,libpng,freetype,jpeg,autoconf,gd,libxml2。这些都是linux里的核心库,在安装linux的时候,已经安装了它们。若没有安装,则需要编译和安装。
(1) jpeg6
# mkdir -p /usr/local/jpeg6
# mkdir -p /usr/local/jpeg6/bin
# mkdir -p /usr/local/jpeg6/lib
# mkdir -p /usr/local/jpeg6/include
# mkdir -p /usr/local/jpeg6/man
# mkdir -p /usr/local/jpeg6/man1
# mkdir -p /usr/local/jpeg6/man/man1
# tar -xf jpegsrc.v6b.tar.gz
# cd jpeg6
# ./configure -prefix=/usr/local/jpeg6/ -enable-shared -enable-static
# make
# make install
(2) libpng
# tar -xf libpng.tar.gz
# cd libpng
# ./configure -prefix=/usr/local/libpng
# make
#make install
(3) freetype
# tar -xf freetype.tar.gz
# cd freetype
# mkdir /usr/local/freetype
# ./configure -prefix=/usr/local/freetype
# make
# make install
(4) zlib
# tar -zxvf zlib.tar.gz
# cd zlib
# mkdir /usr/local/zlib
# ./configure -prefix=/usr/local/zlib
# make
# make install
(5) GD
# tar -xf gd.tar.gz
# mkdir /usr/local/gd2
# cd gd
# ./configure -prefix=/usr/local/gd2 \
#--with-jpeg=/usr/local/jpeg6 \
#--with-zlib--dir=/usr/local/zlib \
#--with-png=/usr/local/libpng \
#--with-freetype=/usr/local/freetype
# make
# make install
(6) curl
# tar --zxf curl.tar.gz
# mkdir /usr/local/curl
# ./configure -prefix=/usr/local/curl
# make
# make install
(7) libxml2
# tar --xf libxml2.tar.gz
# cd libxml2
# mkdir /usr/local/libxml2
# ./configure --prefix=/usr/local/libxml2
# make
# make install
(8) libxslt
# tar -zxvf libxslt.tar.gz
# mkdir /usr/local/libxslt
# cd libxslt
# ./configure -prefix=/usr/local/libxslt -with--libxml--prefix=/usr/local/libxml2
# make
# make install
2. php的安装
(1) 将php-5.3.6.tar.bz2移动到/usr/local/src,并且执行解压命令
#tar -jxvf php--5.3.6.tar.bz2
(2) 改变当前目录为php-5.3.6
#cd php-5.3.6
(3) 建立php的安装目录
#mkdir -p /usr/local/php
(4) 使用“configure”命令生成安装配置文件
#./configure --prefix=/usr/local/php5 \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/local/mysql \
--enable--mbstring \
--with-config--file--path=/usr/local/php5
(5) 使用make命令编译并生成安装文件。
#make
等做完make以后,最好使用一下make test命令对编译结果进行测试,如果显示你的php有问题,则说明你的php包有问题,这是应该停止安装php
(6) 使用make install命令进行安装
#make install
3. Php和Apache的配置和测试
(1) 修改apache的配置文件http.conf,添加php支持
# vi /usr/local/apache2/conf/httpd.conf
找到#AddType application/x-gzip .gz .tgz 在其下方添加“AddType application/x-httpd-php .php”和“AddType application/x-httpd-php-source .phps”。
(2) 修改Apache的文件路径
找到DocumentRoot将其默认的路径/usr/local/apache2/htdocs 修改为/var/www/html/。在其下方不远处有一个<Dirctory “/usr/local/apache2/htdocs”>,同样的将其改成<Dirctory ”/var/www/html/”..。注意可能你的文件系统里面没有/var/www/html这个路径,因此你要创建它,并且给它755权限。命令如下:
#mkdir -p /var/www/html
#chmod 755 /var/www/html --R
(3) 修改Apache文件目录的访问属性
<Directory>
Options FollowSymLinks
Allowoverride none
Order deny,allow
Allow from all
</ Directory >
有的版本Allow from all 显示的是“deny from all”,此时应该将“deny from all” ,改成“Allow from all” 。
4. Php的安装测试
(1) 重启apache
# /usr/local/apache2/bin/apachectl restart
(2) 建立简单的测试文件,
在/var/www/html 中建立phpinfo.php文件,内容如下:
<?php
phpinfo();
?>
在浏览器里运行该文件,如果能正常显示内容,则说明php安装成功。若不能成功,继续进行selinux的配置。
5. Selinux的设置
启动Apache时,可能会提示错误:httpd: Syntax error on line 57 of /etc/httpd/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server:/usr/local/apache2/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
解决办法:
(1)关闭SELINUX(不推荐):
vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启
这个方法可能会对服务器带来风险。
(2)不关闭SELINUX的方法:
# setenforce 0
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache2/modules/libphp5.so
# service httpd restart
# setenforce 1
五、 phpMyAdmin的安装和配置
phpMyadmin是对mysql数据库界面操作的一个软件。
注意:要装此版本的phpMyadmin,php的版本要在5.3以上。
1. 安装
(1) 为了测试的方便,将phpMyAdmin-3.4.3.2-all-language.tar.gz和保存有md5校验码的文件一同拷贝到目录/var/www/html中,并且执行解压命令:
# tar -zxvf phpMyAdmin3.4.3.2-all-language.tar.gz
(2) 建立phpMyAdmin3.4.3.2-all-language的一个连接文件,名字为phpMyAdmin
#ln -s phpMyAdmin3.4.3.2-all-language phpMyAdmin
2. 配置
(1) 进入目录
#cd phpMyAdmin
(2) 修改配置文件
在/var/www/html/phpMyAdmin中可能没有config.inc.php这个配置文件,这时执行以下命令:
#cp config.sample.inc.php config.inc.php
# vi config.inc.php
找到$cfg[‘blowfish_secret’]=’’;这个选项,将md5校验码赋值给它$cfg[‘blowfish_secret’]='md5';。
(3) 保存退出。
#:wq
3. 安装测试
在浏览器里面输入http://IP地址//phpMyAdmin ,找到user_password.php ,点击它。则出现登陆界面。
在登陆界面输入root和密码,则能进入里面进行数据库的操作。