1、lamp环境搭建【 LAMP 服务的安装 - rpm包安装和 源码包安装】一、准备工作vi /usr/local/apache2/htdocs/test.php1、安装编译工具gcc、gcc-c+、make注意解决依赖关系,推荐使用yum安装,若不能联网可使用安装光盘做为yum源1)编辑yum配置文件:vi /etc/yum.repos.d/CentOS-Media.repo c5-media name=CentOS-$releasever - Mediabaseurl=file:/mnt/cdrom * 修改为光盘挂载点 file:/media/cdrom/ file:/media/cdre
2、corder/gpgcheck=1enabled=1 * 改为1意为启用gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-52)将网络yum源配置文件移至其他位置:mv /etc/yum.repos.d/CentOS-Base.repo /backup/CentOS-Base.repo_$(date +%F)3)依次安装gcc、gcc-c+yum install gccyum install gcc-c+* 安装前需先确认安装光盘已挂载2、卸载系统Apache、MySQL和PHP的RPM安装包下载前需关闭启动的服务,如httpd、mysqldser
3、vice httpd stopservice mysqld stop卸载RPM包的Apache、MySQL、PHPyum remove httpdyum remove mysql建议使用rpm e http-1.2.3.rpm nodeps (截断这个rpm包的依赖性)3、关闭SELinux,允许防火墙80端口访问1)关闭SELinuxvi /etc/selinux/configSELINUX=disabled * 若安装时没有禁用SELinux ,将enforcing改为disabled修改后需重新启动Linux方可生效!2)关闭防火墙Netfilter/iptables因尚未做防火墙讲解,
4、直接简单的关闭所有防火墙设置:iptables -F * 如果没有禁用防火墙,默认80端口禁止访问service iptables save 防火墙策略写到/etc/sysconfig/iptables,以后计算机重启再加载这个文件时,防火墙策略就会永久清空.4、关闭不必要自启动服务ntsysv以下列出服务可自启动,未列出的服务都可以关闭:atdcrondirqbalancemicrocode_ctlnetworksendmail (如果不用邮件服务也可以关闭)sshdsyslog5、拷贝源码包,解包解压缩 拷贝可使用SSH Secure File Transfer Client、vsftpd
5、、Samba等应用皆可 建议将LAMP环境安装源码包统一存放在一 个目录下,如/lamp 可编写个批量处理脚本,一次性把所有.tar.gz的安装包解包解压缩 vi tar.sh cd /lamp/bin/ls *.tar.gz ls.list for TAR in cat ls.list do /bin/tar -zxf $TAR done/bin/rm ls.list6、查看确认磁盘空间未满df h /df h 查看列表 * 若/分区已满,可以移动安装包到其他分区或删除其他无用文件二、编译安装 * 每个源码包配置编译安装完成后,确认安装目录下是否生成安装文件 * 需调用gcc-c+编译器,未
6、安装会报错 # 安装libxml2tar zxf libxml2-2.6.30 cd /lamp/libxml2-2.6.30 ./configure -prefix=/usr/local/libxml2/ #最后的这个斜杠最好带着! make make install # 安装libmcrypt cd /lamp/libmcrypt-2.5.8 ./configure -prefix=/usr/local/libmcrypt/ make make install# 安装libltdl,也在libmcrypt源码目录中,非新软件 cd /lamp/libmcrypt-2.5.8/libltdl
7、 ./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 # 安装jpeg6mkdir /
8、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 make install * -enable-shared与-enable-static参数分别为建立共享库和静态库使用的libto
9、ol # 安装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.35 ./configure -prefix=/usr/local/gd2/ -with-jpeg=/usr/local/jpeg6/ -with-freetype=/usr/lo
10、cal/freetype/ make make install * 若前面配置zlib时没有指定安装目录,gd配置时不要添加-with-zlib=/usr/local/zlib/参数 # 安装Apache 1)cd /lamp/httpd-2.2.9 ./configure -prefix=/usr/local/apache2/ -sysconfdir=/etc/httpd -with-included-apr -enable-so -enable-deflate=shared -enable-expires=shared -enable-rewrite=shared -enable-stat
11、ic-support -enable-cache-enable-disk-cache-enable-mem-cache后三个是缓存设置#取掉:-disable-userdir =个人主页. make make install * 若前面配置zlib时没有指定安装目录,Apache配置时不要添加-with-z=/usr/local/zlib/参数 2)启动Apache测试:/usr/local/apache2/bin/apachectl (这里是L)start3)ps -le | grep httpd* 若启动时提示/usr/local/apache2/modules/mod_deflate.s
12、o无权限,可关闭SELinux或者执行命令chcon -t texrel_shlib_t /usr/local/apache2/modules/mod_deflate.so ,类似此类.so文件不能载入或没有权限的问题,都是SELinux问题,使用命令:“chcon -t texrel_shlib_t 文件名”即可解决,MySQL和Apache也可能有类似问题。通过浏览器输入地址访问: http:/192.168.60.120服务器地址,若显示“It works”即表明Apache正常工作4)设置Apache系统引导时启动:echo /usr/local/apache2/bin/apachec
13、tl start /etc/rc.d/rc.local# 安装ncurses1.yum y install ncurses*2.源代码编译: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下而不是/to
14、ols/include/ncurses目录 # 安装MySQL (配置文件:/etc/f)1) useradd mysql* 添加用户组mysql ,将mysql用户默认组设置为mysql用户组2)cd /lamp/mysql-5.0.41./configure -prefix=/usr/local/mysql -without-debug -enable-thread-safe-client -with-pthread -enable-assembler -enable-profiling -with-mysqld-ldflags=-all-static -with-client-ldfla
15、gs=-all-static -with-charset=utf8 -with-extra-charsets=all -with-plugins=all -with-mysqld-user=mysql -without-embedded-server -with-server-suffix=-community -with-unix-socket-path=/tmp/mysql.sock make make install * -with-extra-charsets=all参数为安装所有字符集#如果不行的话,make clean 后再make ;make install,这样去试一下,默认是
16、不支持innodb存储引擎的.其中-with-plugins=all可以把innodb加载进来.3)* 生成MySQL配置文件cp /usr/local/mysql/share/mysql/my-f /etc/f修改mysql配置文件 存放数据:/usr/local/mysql/var1.clientdefault-character-set=utf82. mysqldcharacter-set-server = utf8collation-server = utf8_general_cidefault-storage-engine=innodb3.打开innodb配置innodb_data_
17、home_dir = /usr/local/mysql/varinnodb_data_file_path = ibdata1:10M:autoextendinnodb_log_group_home_dir = /usr/local/mysql/varinnodb_buffer_pool_size = 16Minnodb_additional_mem_pool_size = 2Minnodb_log_file_size = 5Minnodb_log_buffer_size = 8Minnodb_flush_log_at_trx_commit = 1innodb_lock_wait_timeout
18、 = 504)用acl来让mysql用户对/usr/local/mysql有所有权限setfacl -m u:mysql:rwx -R /usr/local/mysqlsetfacl -m d:u:mysql:rwx -R /usr/local/mysql5) 创建数据库授权表/usr/local/mysql/bin/mysql_install_db -user=mysql6)启动MySQL服务1.用rpm包来使用和启动mysqlcd /usr/local/mysql/share/mysqlcp mysql.server /etc/init.d/mysqldchkconfig -add mys
19、qldchkconfig mysqld onservice mysqld restartnetstat tunpl |grep :33062.用原本源代码的方式去使用和启动mysql/usr/local/mysql/bin/mysqld_safe -user=mysql &3.重启以后还要生效:Vi /etc/rc.local/usr/local/mysql/bin/mysqld_safe -user=mysql &7./usr/local/mysql/bin/mysqladmin uroot password kkk #给mysql用户root加密码.密码为kkk /usr/local/my
20、sql/bin/mysql uroot -pkkk test #登录mysql = /usr/local/mysql/bin/mysql uroot -pkkk mysql SET PASSWORD FOR rootlocalhost=PASSWORD(Amri31n);mysqlshow databases;mysqluse testmysqlshow tables;#进入mysql以后用set来改密码. mysql exit * 登录MySQL客户端控制台设置指定root密码 # 安装PHP(配置文件/usr/local/php/etc/php.ini)1) 编译前确保系统已经安装了lib
21、tool和libtool-ltdl软件包,若没有安装使用yum或rpm安装下:yum install libtool*yum install libtool-ltdl*2) 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-jpe
22、g-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* 若前面配置zlib时没有指定安装目录,PHP配置时不要添加-with-zlib-dir=/usr/local/zlib/参数make make instal
23、l * 若make后提示执行make test则执行make test后再运行make install即可。3)生成php.ini(php的配置文件)cp php.ini-dist /usr/local/php/etc/php.ini4)编译安装memcachetarzxvf memcache-2.2.5.tgzcdmemcache-2.2.5/usr/local/php/bin/phpize./configure -with-php-config=/usr/local/php/bin/php-configmake&makeinstall5)编译安装 PDO_MYSQLtarzxvf PDO_
24、MYSQL-1.0.2.tgzcdPDO_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&makeinstallvi 6)修改php.iniextension_dir = /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/extension=memcache.so;extension=pdo.so;extensi
25、on=pdo_mysql.so;extension=pdo_sqlite.so;extension=sqlite.so;7)* 生成PHP配置文件 vi /etc/httpd/httpd.conf AddType application/x-httpd-php .php .phtml .phps (注意T的大小写) * .phtml为将.phps做为PHP源文件进行语法高亮显示 重启Apache服务:/usr/local/apache2/bin/apachectl restart* Apache无法启动,提示cannot restore segment prot after reloc: Pe
26、rmission denied错误,为SELinux问题,可关闭SELinux或者执行命令chcon -t texrel_shlib_t /usr/local/apache2/modules/libphp5.so 测试:vi /usr/local/apache2/htdocs/test.php 网站的存储地址 通过浏览器输入地址访问:http:/192.168.60.120服务器地址/test.php * 有时第一次浏览器测试会失败,关闭浏览器重启再尝试即可,非编译错误# 安装Zend加速器cd ZendOptimizer-3.2.6-linux-glibc21-i386./install.s
27、h* 注意PHP配置文件和Apache启动脚本所在目录指定正确即可# 安装phpMyAdmincp -a phpMyAdmin-3.0.0-rc1-all-languages /usr/local/apache2/htdocs/phpmyadmincd /usr/local/apache2/htdocs/phpmyadmincp config.sample.inc.php config.inc.phpvi config.inc.php$cfgServers$iauth_type = http;* 设置auth_type为http ,即设置为HTTP身份认证模式通过浏览器输入地址访问:http:
28、/Apache服务器地址/phpmyadmin/index.php用户名为root ,密码为MySQL设置时指定的root密码(Amri31n)#安装memcache源代码首先安装依赖包libeventyum -y install libevent*#主包已经安装,别忘记安装libevent-devel*,不然./configure过不去Tar xzf memcached-1.4.10.tar.gzCd memcached-1.4.10./configure -prefix=/usr/local/memcachUseradd memcachePasswd memcache#因为系统不能用roo
29、t运行memcache软件/usr/local/memcache/bin/memcached -umemcache & #后台运行netstat tunpl|grep :11211telnet 192.168.10.1 11211stats#如何杀掉后台进程,用kill %1,查看进程用jobs注意:如果出问题,查看进程里面是否会有另外的httpd启动#安装brocms源码主要是为了测试lamp环境编译是否成功,主要测试以下几个地方:1. pdo2. pdo-mysql3. memcache#要注意memcache,因为它有两个源代码包,一个是php驱动库包(memcache-2.2.5.tg
30、z),另一个是memcache主程序源代码包(memcached-1.4.10.tar.gz);【Apacahe 配置】【基础知识】服务目录:/usr/local/apache2/主配置文件:/usr/local/apache2/conf/httpd.conf网页目录:/usr/local/apache2/htdocs/服务脚本:/usr/local/apache2/bin/apachectl执行程序:/usr/local/apache2/bin/httpd访问日志: /usr/local/apache2/log/access_log错误日志: /usr/local/apache2/log/error_log让默认主页是index.html 和 index.php【1】yum 路径/etc/httpd/conf/httpd.conf跟目录/var/www/html【2】
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1