LAMP环境的搭建与配置

时间:2021-10-07 12:59:16
 

LAMP环境的搭建与配置

实验人员:Zuocheng Liu                        实验日期:2011-7-29

环境:

1. 硬件:

VMware 6.5/7( 8G Disk 1G RAM、 Core 1.6GHz100Mps 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. PhpApache的配置和测试

(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和密码,则能进入里面进行数据库的操作。

参考资料:

http://blog.renren.com/blog/225184512/411056300

附录: