LAMP搭建 转
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.
1) 重新安装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]#