(事先可以先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
找到#ServerName www.example.com:80 把#去掉,再重启apache即可没事了。
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
cd /usr/local/apache2/htdocs/
vi index.html
<html><body><h1>It works!</h1></body></html>
<?php
phpinfo();
?>
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