LAMP安装教程

来源:互联网 发布:淘宝怎么申请退款退货 编辑:程序博客网 时间:2024/06/06 05:41

LAMP环境配置安装注意安装步骤及说明事项。

(一) 安装gcc

gcc

glibc-devel

glibc-headers

kernel-headers

libgomp

gcc-c++

libstdc++-devel

 

(二) 安装zlib压缩库

zlib-1.2.5.tar.gz

shell> cd /home/shuhua/tar

shell> tar –zxvf zlib-1.2.5.tar.gz

shell> cd zlib-1.2.5

shell> ./configure //这个配置编译命令不要加目录参数

shell> make && make install

 

(三) 安装apache

shell> cd /home/shuhua/tar

shell> tar -jxvf httpd-2.2.19.tar.bz2

shell> cd httpd-2.2.19

 shell>./configure --prefix=/usr/local/http2  \

--enable-modules=all \

--enable-rewrite \

--enable-mods-shared=all \

--enable-so

shell> make && make install

 

#启动Apache

shell> /usr/local/http2/bin/apachectl start

 

#测试apache

浏览器打开: http://虚拟机IP 

看到 "it works!",即为成功

 

配置虚拟主机

1)配置host文件

打开C:/windows/system32/drivers/etc/hosts 文件

增加域名记录

如:

192.168.1.246 www.ec1.com

192.168.1.246 www.ec2.com

 

2) 增加虚拟主机

vi /usr/local/http2/conf/httpd.conf

取消#Include conf/extra/httpd-vhosts.conf

这一行前面的#

保存退出

 

vi /usr/local/http2/conf/extra/httpd-vhosts.conf

增加虚拟主机记录

 

<VirtualHost *:80>

     ServerAdmin webmaster@dummy-host.example.com

     DocumentRoot "/usr/local/http2/htdocs/ec1"

     ServerName www.ec1.com

     ServerAlias www.dummy-host.example.com

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

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

</VirtualHost>

 

<VirtualHost *:80>

     ServerAdmin webmaster@dummy-host2.example.com

    DocumentRoot "/usr/local/http2/htdocs/ec2"

     ServerName www.ec2.com

     ErrorLog "logs/dummy-host2.example.com-error_log"

     CustomLog "logs/dummy-host2.example.com-access_log" common

</VirtualHost>

 

 

3)

   shell> cd /usr/local/http2/htdocs

  shell> mkdir ec1 ec2

   shell> echo this is ec1.com > ec1/index.html

   shell> echo this is ec2.com > ec2/index.html

 

4)重启apache

/usr/local/http2/bin/apachectl restart

 

 

5)浏览器打开www.ec1.com,www.ec2.com

看到不同的网站内容,虚拟主机创建完毕!

 

安装图形库,为编译PHP做准备

libxml2-2.7.2.tar.gz

jpegsrc.v8b.tar.gz 

libpng-1.4.3.tar.gz      

freetype-2.4.1.tar.gz

gd-2.0.35.tar.gz

 

(四) 安装libxml2

shell> cd /home/shuhua/tar

shell> tar zxvf libxml2-2.7.2.tar.gz 

shell> cd libxml2-2.7.2

shell>./configure --prefix=/usr/local/libxml2 

shell> make && make install

 

(五) 安装jpeg8

shell> cd /home/shuhua/tar

shell> tar -zxvf jpegsrc.v8b.tar.gz 

shell> cd jpeg-8b 

shell>./configure --prefix=/usr/local/jpeg \

--enable-shared --enable-static 

shell> make && make install

 

(六) 安装libpng

shell> cd /home/shuhua/tar

shell> tar zxvf libpng-1.4.3.tar.gz 

shell> cd libpng-1.4.3 

shell>./configure  #和zlib一样不要带参数,让它默认安装到相应目录

shell> make && make install

 

(七) 安装freetype

shell> cd /home/shuhua/tar

shell> tar zxvf freetype-2.4.1.tar.gz 

shell> cd freetype-2.4.1

shell>./configure --prefix=/usr/local/freetype 

shell> make && make install

 

(八) 安装GD

shell> cd /home/shuhua/tar

shell> tar -zvxf gd-2.0.35.tar.gz 

shell> mkdir -p /usr/local/gd 

shell> cd gd-2.0.35 

shell>./configure --prefix=/usr/local/gd  \

--with-jpeg=/usr/local/jpeg/ \

--with-png --with-zlib \

--with-freetype=/usr/local/freetype

shell> make && make install

 

(九) 安装 php5

shell> cd /home/shuhua/tar

shell> tar -jxvf php-5.3.6.tar.bz

shell> cd php-5.3.6

shell>./configure --prefix=/usr/local/php \

--with-apxs2=/usr/local/http2/bin/apxs \

--with-mysql=mysqlnd \

--with-pdo-mysql=mysqlnd \

--with-mysqli=mysqlnd \

--with-freetype-dir=/usr/local/freetype \

--with-gd=/usr/local/gd \

--with-zlib --with-libxml-dir=/usr/local/libxml2 \

--with-jpeg-dir=/usr/local/jpeg \

--with-png-dir \

--enable-mbstring=all \

--enable-mbregex \

--enable-shared 

shell> make && make install 

shell> cp php.ini-development /usr/local/php/lib/php.ini

 

配置Apache使其支持php

vi /usr/local/http2/conf/httpd.conf

1) 在httpd.conf(Apache主配置文件)中增加:

AddType application/x-httpd-php .php

 

2) 找到下面这段话:

<IfModule dir_module>

    DirectoryIndex index.html

</IfModule>

index.html 前面添加index.php

 

3) 建立php测试网页

vi /usr/local/apache2/htdocs/index.php  

输入如下内容:

<?php

phpinfo();

?>

 

4) 重启apache

shell> /usr/local/http2/bin/apachectl restart

 

5) 再次浏览器查看http://虚拟机IP

如果看到php信息,工作就完成了!

 

(十) 安装MySQL

1) 编译安装MySQL

shell> cd /home/shuhua/tar

shell> tar -xzvf mysql-5.1.58.tar.gz

shell> cd mysql-5.1.58

shell> ./configure --prefix=/usr/local/mysql \

--with-charset=utf8 \ 

--with-extra-charsets=gbk,gb2312,binary

shell> mount .....挂载光盘
shell> rpm -ivh libtermcap-devel-2.0.8-46....

shell> make && make install

 

2) 配置并初始化MySQL

shell> groupadd mysql

shell> useradd  -g mysql mysql

shell> cp support-files/my-medium.cnf /etc/my.cnf

shell> cd /usr/local/mysql

shell> chown -R mysql.mysql .

shell> bin/mysql_install_db --user=mysql \

--datadir=/usr/local/mysql/var

创建mysql测试数据库和系统的数据库

shell> chown -R root .

把当前目录文件的主人都改为root,避免数据库恢复为出厂设置。

shell> chown -R mysql var

shell> bin/mysqld_safe --user=mysql &

启动mysql后台运行mysql服务

 

3) 测试数据库

shell> bin/mysql –uroot

mysql> show databases;

 

4) 接上步,修改mysql密码(可不做此步,默认无密码)

mysql>UPDATE user SET

password=PASSWORD('new_password')

WHERE user='root';

mysql>flush privileges;

1) 
php模块安装完毕后重启apache如果提示如下信息(apache重启失败)

 

[root@localhost php-5.3.6]# /usr/local/http2/bin/apachectl restart

httpd: Syntax error on line 105 of /usr/local/http2/conf/httpd.conf: Cannot load /usr/local/http2/modules/libphp5.so into server: /usr/local/libxml2/lib/libxml2.so.2: symbol gzopen64, version ZLIB_1.2.3.3 not defined in file libz.so.1 with link time reference

 

解决办法:

 

 

 

[root@localhost sbin]# echo "/usr/local/lib" >> /etc/ld.so.conf 

[root@localhost sbin]# ldconfig

 

http://lipengyu2006.iteye.com/blog/1780042

 

 

2) 重新安装apache启动失败

[root@localhost httpd-2.2.19]# /usr/local/htt2/bin/apachectl restart

httpd not running, trying to start

(98)Address already in use: make_sock: could not bind to address [::]:80

(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80

no listening sockets available, shutting down

Unable to open logs

 

原因是80端口被占用

解决:

 

查看80端口使用情况

[root@localhost httpd-2.2.19]# netstat -lnp|grep 80

tcp        0      0 :::80                       :::*                        LISTEN      28195/httpd         

unix  2      [ ACC ]     STREAM     LISTENING     6580   1957/gpm            /dev/gpmctl

unix  2      [ ACC ]     STREAM     LISTENING     5422   1800/pcscd          /var/run/pcscd.comm

 

查看80的使用者是谁端口

[root@localhost httpd-2.2.19]# ps 28195

  PID TTY      STAT   TIME COMMAND

28195 ?        Ss     0:00 /usr/local/http2/bin/httpd -k restart

 

经过分析知道了80端口被系统的一个进程占用,这个进程是旧的apache服务

 

将这个进程杀之

[root@localhost httpd-2.2.19]# kill -9 28195

[root@localhost httpd-2.2.19]#

 

 

 

 

0 0