一、搭建环境: (事先可以先yumgroupinstall “Development Tools”) 1、CentOS6.0虚拟机(最小安装) 2、SecureCRT (yum install lrzsz)
二、准备工作:1、源码包
2、安装gcc、gcc-c++编译器(yum安装)
若虚拟机能联网,直接输入命令yum installgcc和yum install gcc-c++;若不能联网,将centos光盘镜像挂载上,修改yum的本地源,使机器从本地源yum方式安装
3、检查机器上是否已经安装了mysql、php、apache,使用命令rpm -qa mysql。若安装了,则使用命令rpm -e 包的全名--nodeps卸载 4、关闭selinux,清空防火墙规则
5、开放80、3306、22端口 因为默认情况下,防火墙的80、3306、22端口是关闭的,这样的话对于客户机访问虚拟机上的web,会出现访问不到的现象。所以要开启。 serviceiptables stop #/sbin/iptables-I INPUT -p tcp --dport 80 -j ACCEPT //那是大写的英文字母I,不是数字1
#/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
#/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT 然后保存:
#/etc/rc.d/init.d/iptables save 重启防火墙 serviceiptables restart
6、在linux下建立目录lamp,存放上传的源码
7.将源码包放到lamp下
8、解包 因为包很多,这里编写shell脚本/lamp/tar.sh进行解包 #vi tar.sh #!/bin/sh cd/lamp ls*.tar.gz>ls.list forTARin`catls.list` do tar-zxvf$TAR done
#chmod +x tar.sh 执行脚本tar.sh进行解包
9、将源码包*.tar.gz全都删除 三、安装过程:cd/lamp/libxml2-2.6.30 ./configure--prefix=/usr/local/libxml2/ make makeinstall
cd/lamp/libmcrypt-2.5.8 ./configure--prefix=/usr/local/libmcrypt/ make makeinstall
cd/lamp/libmcrypt-2.5.8/libltdl ./configure--enable-ltdl-install make makeinstall
cd/lamp/zlib-1.2.3 ./configure make makeinstall
cd/lamp/libpng-1.2.31 ./configure--prefix=/usr/local/libpng/ make makeinstall
mkdir/usr/local/jpeg6 mkdir/usr/local/jpeg6/bin mkdir/usr/local/jpeg6/lib mkdir/usr/local/jpeg6/include mkdir-p/usr/local/jpeg6/man/man1 cd/lamp/jpeg-6b ./configure--prefix=/usr/local/jpeg6/--enable-shared--enable-static make makeinstall
cd/lamp/freetype-2.3.5 ./configure--prefix=/usr/local/freetype/ make makeinstall
cd/lamp/autoconf-2.61 ./configure make makeinstall
cd/lamp/gd-2.0.35 ./configure--prefix=/usr/local/gd2/--with-jpeg=/usr/local/jpeg6/--with-freetype=/usr/local/freetype/ make makeinstall
cd/lamp/httpd-2.2.9 ./configure--prefix=/usr/local/apache2/--sysconfdir=/etc/httpd/--with-included-apr--disable-userdir--enable-so--enable-deflate=shared--enable-expires=shared--enable-rewrite=shared--enable-static-support make makeinstall
/usr/local/apache2/bin/apachectlstart echo"/usr/local/apache2/bin/apachectlstart">>/etc/rc.d/rc.sysinit
pache启动报错(98)Address already in use:make_sock: could not bind to... 解决方法:ps -aux | grep apache root 9696 0.0 0.0 3320 564 ? S Oct10 0:28 tail -f /var/log/apache2/error.log
www-data 10923 0.0 0.3 18964 2228 ? S 02:05 0:00 /usr/sbin/apache2 -k start
www-data 10924 0.0 0.3 18964 2228 ? S 02:05 0:00 /usr/sbin/apache2 -k start
www-data 10925 0.0 0.3 18964 2228 ? S 02:05 0:00 /usr/sbin/apache2 -k start
ehuuhui 11333 0.0 0.5 10328 3532 pts/1 T 03:04 0:00 vi 001-eaa-apache
#kill -9 10923
#kill -9 10924 #kill -9 10925
/usr/local/apache2/bin/apachectl restart ok了
httpd: Could not reliably determine the server'sfully qualified domain name, using 127.0.0.1 for ServerName
解决办法非常简单:
#vim /etc/httpd/httpd.conf
cd/lamp/ncurses-5.6 ./configure--with-shared--without-debug--without-ada--enable-overwrite make makeinstall
groupaddmysql useradd-gmysqlmysql cd/lamp/mysql-5.0.41 ./configure--prefix=/usr/local/mysql/--with-extra-charsets=all make makeinstall
cpsupport-files/my-medium.cnf/etc/my.cnf /usr/local/mysql/bin/mysql_install_db--user=mysql chown-Rroot/usr/local/mysql chown-Rmysql/usr/local/mysql/var chgrp-Rmysql/usr/local/mysql
/usr/local/mysql/bin/mysqld_safe--user=mysql&
cp/lamp/mysql-5.0.41/support-files/mysql.server/etc/rc.d/init.d/mysqld chownroot.root/etc/rc.d/init.d/mysqld chmod755/etc/rc.d/init.d/mysqld chkconfig--addmysqld chkconfig--listmysqld chkconfig--levels245mysqldoff
cd/lamp/php-5.2.6 ./configure--prefix=/usr/local/php/--with-config-file-path=/usr/local/php/etc/--with-apxs2=/usr/local/apache2/bin/apxs--with-mysql=/usr/local/mysql/--with-libxml-dir=/usr/local/libxml2/--with-jpeg-dir=/usr/local/jpeg6/--with-freetype-dir=/usr/local/freetype/--with-gd=/usr/local/gd2/--with-mcrypt=/usr/local/libmcrypt/--with-mysqli=/usr/local/mysql/bin/mysql_config--enable-soap--enable-mbstring=all--enable-sockets make makeinstall
出现libltdl.so.3:cannotopen shared object file:No such file or directory 执行ln -s /usr/local/lib/libltdl.so.3/usr/lib/libltdl.so.3即可
cpphp.ini-dist/usr/local/php/etc/php.ini echo"Addtypeapplication/x-httpd-php.php.phtml">>/etc/httpd/httpd.conf /usr/local/apache2/bin/apachectlrestart
2、配置mysql cd /usr/local/mysql bin/mysqladmin version//简单的测试 bin/mysqladmin varibles//查看所有mysql参数 bin/mysql -u root//没有密码可以直接登录本机服务器 mysql> DELETE FROM mysql.userWHERE Host='localhost' AND User=''; mysql> FLUSH PRIVILEGES; mysql> SET PASSWORD FOR'root'@'localhost' = PASSWORD('123456');
3、安装zend加速器
mkdir /usr/local/php/etc
cp php.ini-dist /usr/local/php/etc/php.ini //更改之前设定的php.ini的配置文件位置,安装zend要用
进入Zend包的目录
./install-tty
4、phpmyadmin的安装与配置
cd /lamp
cp -a phpMyAdmin-3.0.0-rc1-all-languages/usr/local/apache2/htdocs/phpMyAdmin //拷贝目录到指定位置(网站主目录/usr/local/apache2/htdocs/phpMyAdmin下) cd /usr/local/apache2/htdocs/phpMyAdmin cp config.sample.inc.phpconfig.inc.php
进入/usr/local/apache2/htdocs/phpMyAdmin 修改配置文件config.inc.php,将$cfg['blowfish_secret'] = '' 空格处填上登录phpmyadmin的密码,例如:$cfg['blowfish_secret'] ='123456'
测试
登入名称:root 密码:123456
测试成功
php测试脚本cd /usr/local/apache2/htdocs/ vi index.html It works!
mv index.html index.php
整合apache和php
vi /etc/httpd/httpd.conf 修改apache的配置文件,添加:
AddType application/x-httpd-php.php
AddTypeapplication/x-httpd-php-source .phps
注意将这两行添加在其它AddType后面,确保文件中有下面一段,如果没有的话就添加在所有LoadModule之后
LoadModule php5_module modules/libphp5.so
找到DirectoryIndex index.html 这一行,在其后面写上index.php
保存退出
apachectl restart 重启apache现在可以测试一下了
测试显示apache和php运行正常 完成搭建lamp
|