【php精品源码栏目提醒】:本文主要为网学会员提供“lamp环境搭建_自己整理完整版 - 其它资料”,希望对需要lamp环境搭建_自己整理完整版 - 其它资料网友有所帮助,学习一下!
一、准备工作在 lamp 环境中搭载网站1. 用 winsp 将网站目录 copy 到 linux 的 php 系统文件目录下 /usr/local/apache2/htdocs 给 runtime 文件夹可写权限 chmod 777 -R runtime2. 修改 apache 配置文件,修改网站首页 /usr/local/apache2/etc/http.conf 修改 DirectoryIndex index.php index.html 重启 apache:/usr/local/apache2/bin/apachectl restart3. 用小海豚(SQLyog) 文件/新建连接 将网页中的 sql 脚本导入到 linux 下的 mysql 数据库中 启动 mysql: 启动 MySQL 服务 1.用原本源代码的方式去使用和启动 mysql /usr/local/mysql/bin/mysqld_safe --usermysql 2.重启以后还要生效: Vi /etc/rc.local /usr/local/mysql/bin/mysqld_safe --usermysql 进入 mysql 命令行 /usr/local/mysql/bin/mysql -u root -p5501204.在 windows 下用浏览器访问 192.168.1.1/网站目录 注意: 先创建/lamp 文件夹 使用 WinSCP 把要安装的压缩文件放到/lamp 文件夹下 ./configure 执行的时候要注意不能有换行 Appche 安装的时候一定要确认之前的安装已经卸载http://192.168.255.1/index.html 这个地址要改成 192.168.80.8/usr/local/apache2/bin/apachectl start 有时候要用 start 有时候要用 restart/usr/local/memcache/bin/memcached -umemcache 中的-可能会有问题,要注意 1、安装编译工具 gcc、gcc-c、make 注意解决依赖关系,推荐使用 yum 安装,若不能联网可使用安装光盘做为 yum 源—— 1编辑 yum 配置文件: Mount /dev/cdrom /media vi /etc/yum.repos.d/CentOS-Media.repo c5-media nameCentOS-releasever - Media baseurlfile:///media 修改为光盘挂载点 enabled1 改为 1 意为启用 gpgcheck0 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 2设置 alias 值: Vi /etc/bashrc alias yumyum --disablerepo --enablerepoc5-media 3依次安装 gcc、gcc-c Yum -y install gcc 2、卸载系统 Apache、MySQL 和 PHP 的 RPM 安装包 下载前需关闭启动的服务,如 httpd、mysqld service httpd stop service mysqld stop 卸载 RPM 包的 Apache、MySQL、PHP yum remove httpd yum remove mysql建议使用 rpm –e http-1.2.3.rpm --nodeps 截断这个 rpm 包的依赖性 3、关闭 SELinux,允许防火墙 80 端口访问 1)关闭 SELinux vi /etc/selinux/config SELINUXdisabled 若安装时没有禁用 SELinux ,将 enforcing 改为 disabled 修改后需重新启动 Linux 方可生效! 2)关闭防火墙 Netfilter/iptables 因尚未做防火墙讲解,直接简单的关闭所有防火墙设置: iptables -F 如果没有禁用防火墙,默认 80 端口禁止访问 service iptables save 防火墙策略写到/etc/sysconfig/iptables以后计算机重启再加载这个文件时,防火墙策略就会永久清空.二、编译安装 每个源码包配置编译安装完成后,确认安装目录下是否生成安装文件 安装 libxml2tar xzf libxml2-2.6.30.tar.gz cd /lamp/libxml2-2.6.30 ./configure --prefix/usr/local/libxml2/ make make install 安装 libmcrypttar xzf libmcrypt-2.5.8.tar.gz cd /lamp/libmcrypt-2.5.8 ./configure --prefix/usr/local/libmcrypt/ make make install 需调用 gcc-c编译器,未安装会报错 安装 libltdl,也在 libmcrypt 源码目录中,非新软件 cd /lamp/libmcrypt-2.5.8/libltdl ./configure --enable-ltdl-install make make install 安装 zlib cd /lamp/zlib-1.2.3 ./configure make make install zlib 指定安装目录可能造成 libpng 安装失败,故不指定,为卸载方便,建议 make install 执行结果输出到安装日志文件,便于日后卸载 安装 libpng cd /lamp/libpng-1.2.31 ./configure --prefix/usr/local/libpng/ make make install 安装 jpeg6 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/man1tar xzf jpegsrc.v6b.tar.gz cd /lamp/jpeg-6b ./configure --prefix/usr/local/jpeg6/ --enable-shared --enable-static make make install --enable-shared 与--enable-static 参数分别为建立共享库和静态库使用的 libtool 安装 freetype cd /lamp/freetype-2.3.5 ./configure --prefix/usr/local/freetype/ make make install 安装 autoconf cd /lamp/autoconf-2.61 ./configure make make install 安装 GD 库mkdir /usr/local/gd2 cd /lamp/gd-2.0.35png 错误,修改方法:vi gd_png.c把include “png.h”替换include /usr/local/libpng/include/png.h ./configure --prefix/usr/local/gd2/ --with-jpeg/usr/local/jpeg6/ --with-freetype/usr/local/freetype/--with-png/usr/local/libpng/make make install make如果出现错误,把上面的两步重新执行一次.make install 若前面配置 zlib 时没有指定安装目录,gd 配置时不要添加--with-zlib/usr/local/zlib/参数安装到这里了!!! 安装 Apache cd /lamp/httpd-2.2.9 ./configure --prefix/usr/local/apache2/ --sysconfdir/usr/local/apache2/etc/ --with-included-apr --enable-so --enable-deflateshared --enable-expiresshared --enable-rewriteshared make make install 启动 Apache 测试: /usr/local/apache2/bin/apachectl restart 查看进程: ps -le grep httpd 查看 apache 模块: /usr/local/apache2/bin/apachectl –h share 动态模块或动态库文件 Php5 rewrite static 静态模块或表态库文件 Server-status Userdir Virtual host 测试: http://192.168.255.1/index.html “it works” 设置 Apache 随机启动 Vi /etc/rc.local /usr/local/apache2/bin/apachectl restart//我配置的 la0913 环境到这里 安装 ncurses1.yum -y install ncurses2.源代码编译:cd /lamp/ncurses-5.6./configure --with-shared --without-debug --without-ada --enable-overwritemake make install 若不安装 ncurses 编译 MySQL 时会报错 --without-ada 参数为设定不编译为 ada 绑定,因进入 chroot 环境不能使用 ada ;--enable-overwrite 参数为定义把头文件安装到/tools/include 下而不是/tools/include/ncurses 目录 安装 MySQL useradd mysql 添加用户组 mysql ,将 mysql 用户默认组设置为 mysql 用户组 tar xzf mysql-5.1.59.tar.gz cd /lamp/mysql-5.1.59./configure --without-debug --enable-thread-safe-client --with-pthread --enable-assembler--enable-profiling --with-mysqld-ldflags-all-static --with-client-ldflags-all-static--with-extra-charsetsall --with-pluginsall --with-postgres-user postgres--without-embedded-server --with-server-suffix-community --with-unix-socket-path/tmp/postgres.sock make make install --with-extra-charsetsall 参数为安装所有字符集如果不行的话make clean 后再 make make install这样去试一下默认是不支持 innodb 存储引擎的.其中--with-pluginsall 可以把 innodb 加载进来.cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf修改 mysql 配置文件vi /etc/my.cnf1.clientdefault-character-setutf8客户端字符集连接字符集2. mysqldcharacter-set-server utf8服务器字符集数据库字符集collation-server utf8_general_ci服务器,库,表的校验字符集default-storage-engineinnodb 这句话要注释掉 不然 mysql 登录不上把默认的表引擎改为 innodb 生成 MySQL 配置文件 setfacl -m u:mysql:rwx -R /usr/local/mysql setfacl -m d:u:mysql:rwx -R /usr/local/mysql 用 acl 来让 mysql 用户对/usr/local/mysql 有所有权限/usr/local/mysql/bin/mysql_install_db --usermysql 创建数据库授权表 启动 MySQL 服务 1.用原本源代码的方式去使用和启动 mysql /usr/local/mysql/bin/mysqld_safe --usermysql 2.重启以后还要生效: Vi /etc/rc.local /usr/local/mysql/bin/mysqld_safe --usermysql 4./usr/local/mysql/bin/mysqladmin -uroot password 550120给 mysql 用户 root 加密码.密码为 550120 /usr/local/mysql/bin/mysql -u root -p550120 test mysqlshow databases mysqluse test mysqlshow tables进入 mysql 以后用 set 来改密码. mysql exit 登录 MySQL 客户端控制台设置指定 root 密码 安装 PHP 编译前确保系统已经安装了 libtool 和 libtool-ltdl 软件包,若没有安装使用 yum 或 rpm 安装下: yum install libtool yum install libtool-ltdl 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-png-dir/usr/local/libpng/ --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-mbstringall --enable-sockets 若前面配置 zlib 时没有指定安装目录,PHP 配置时不要添加--with-zlib-dir/usr/local/zlib/参数 make make install生成 php.iniphp 的配置文件cp /lamp/php-5.2.6/php.ini-dist /usr/local/php/etc/php.ini测试 apache 与 php 的连通性看 apache 是否能解析 php 文件让 apache 支持 php 代码 :vi /usr/local/apache2/etc/httpd.confAddType application/x-httpd-php .php .phps重启 Apache 服务:/usr/local/apache2/bin/apachectl start测试:vi /usr/local/apache2/htdocs/test.php通过浏览器测试:http://192.168.255.1/test.php编译安装 memcachetar zxvf memcache-2.2.5.tgzcd memcache-2.2.5/usr/local/php/bin/phpize./configure --with-php-config/usr/local/php/bin/php-configmake make install编译安装 PDO_MYSQLtar zxvf /lamp/PDO_MYSQL-1.0.2.tgztar xzf /lamp/PDO_MYSQL-1.0.2.tgzcd /lamp/PDO_MYSQL-1.0.2//usr/local/php/bin/phpize./configure --with-php-config/usr/local/php/bin/php-config --with-pdo-mysql/usr/local/mysqlmake make install修改 php.inivi /usr/local/php/etc/php.iniextension_dir /usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/extensionmemcache.soextensionpdo_mysql.so修改 php 文件生效:/usr/local/apache2/bin/apachectl start安装 Zend 加速器cd /lamp/ZendOptimizer-3.2.6-linux-glibc21-i386./install.sh安装 memcache 源代码http://memcached.googlecode.com/files/memcached-1.4.10.tar.gz首先安装依赖包 libeventyum -y install libevent主包已经安装别忘记安装 libevent-devel不然./configure 过不去tar xzf /lamp/memcached-1.4.10.tar.gzcd /lamp/memcached-1.4.10./configure --prefix/usr/local/memcachemake make installuseradd memcache因为系统不能用 root 运行 memcache 软件/usr/local/memcache/bin/memcached -umemcache 后台运行netstat –tunplgrep :11211telnet 192.168.255.1 11211stats写入自启动:vi /etc/rc.local/usr/local/memcache/bin/memcache -umemcache 如何杀掉后台进程,用 kill 1查看进程用 jobs安装 brocms 源码主要是为了测试 lamp 环境编译是否成功主要测试以下几个地方:1. pdo2. pdo-mysql3. memcache要注意 memcache因为它有两个源代码包,一个是 php 驱动库包memcache-2.2.5.tgz另一个是memcache 主程序源代码包memcached-1.4.10.tar.gz/usr/local/apache2/bin/apachectl start