lamp环境搭建.doc_第1页
lamp环境搭建.doc_第2页
lamp环境搭建.doc_第3页
lamp环境搭建.doc_第4页
lamp环境搭建.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【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/cdrecorder/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、mysqldservice 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因尚未做防火墙讲解,直接简单的关闭所有防火墙设置:iptables -F * 如果没有禁用防火墙,默认80端口禁止访问service iptables save 防火墙策略写到/etc/sysconfig/iptables,以后计算机重启再加载这个文件时,防火墙策略就会永久清空.4、关闭不必要自启动服务ntsysv以下列出服务可自启动,未列出的服务都可以关闭:atdcrondirqbalancemicrocode_ctlnetworksendmail (如果不用邮件服务也可以关闭)sshdsyslog5、拷贝源码包,解包解压缩 拷贝可使用SSH Secure File Transfer Client、vsftpd、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+编译器,未安装会报错 # 安装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 ./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 /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参数分别为建立共享库和静态库使用的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.35 ./configure -prefix=/usr/local/gd2/ -with-jpeg=/usr/local/jpeg6/ -with-freetype=/usr/local/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-static-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.so无权限,可关闭SELinux或者执行命令chcon -t texrel_shlib_t /usr/local/apache2/modules/mod_deflate.so ,类似此类.so文件不能载入或没有权限的问题,都是SELinux问题,使用命令:“chcon -t texrel_shlib_t 文件名”即可解决,MySQL和Apache也可能有类似问题。通过浏览器输入地址访问: 20服务器地址,若显示“It works”即表明Apache正常工作4)设置Apache系统引导时启动:echo /usr/local/apache2/bin/apachectl 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下而不是/tools/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-ldflags=-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,这样去试一下,默认是不支持innodb存储引擎的.其中-with-plugins=all可以把innodb加载进来.3)* 生成MySQL配置文件cp /usr/local/mysql/share/mysql/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_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 = 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 mysqldchkconfig 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/mysql/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) 编译前确保系统已经安装了libtool和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-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* 若前面配置zlib时没有指定安装目录,PHP配置时不要添加-with-zlib-dir=/usr/local/zlib/参数make make install * 若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_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;extension=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: Permission denied错误,为SELinux问题,可关闭SELinux或者执行命令chcon -t texrel_shlib_t /usr/local/apache2/modules/libphp5.so 测试:vi /usr/local/apache2/htdocs/test.php 网站的存储地址 通过浏览器输入地址访问:20服务器地址/test.php * 有时第一次浏览器测试会失败,关闭浏览器重启再尝试即可,非编译错误# 安装Zend加速器cd ZendOptimizer-3.2.6-linux-glibc21-i386./install.sh* 注意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:/Apache服务器地址/phpmyadmin/index.php用户名为root ,密码为MySQL设置时指定的root密码(Amri31n)#安装memcache源代码/files/memcached-1.4.10.tar.gz首先安装依赖包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#因为系统不能用root运行memcache软件/usr/local/memcache/bin/memcached -umemcache & #后台运行netstat tunpl|grep :11211telnet 11211stats#如何杀掉后台进程,用kill %1,查看进程用jobs注意:如果出问题,查看进程里面是否会有另外的httpd启动#安装brocms源码主要是为了测试lamp环境编译是否成功,主要测试以下几个地方:1. pdo2. pdo-mysql3. memcache#要注意memcache,因为它有两个源代码包,一个是php驱动库包(memcache-2.2.5.tgz),另一个是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】源代码安装【a】 配置文件:/etc/httpd/httpd.conf网站根目录/usr/local/apache2/htdpcs/index.html(php 配置文件/usr/local/php/etc/php.ini)(mysql的配置文件/etc/f)【b】网站目录权限问题*(五星级重要问题)A1. setfacl -m u:apache:rwx -R htdocs/#当前的目前和其下已有的权限修改A2 setfacl -m d:u:apache:rwx -R htdocs/#对以后在这个目录创建的文件和目录具有的权限A3 setfacl -m m:rwx -R htdocs/从别的地方拷贝到这个目录下的时候,因为权限掩码不够,所以要进行的一步,如果是直接上床到这目录或者在这个目录下创建的文件就不会出现问题#这三个步骤基本就可以解决网站根目录权限的问题!【b】 具体参数修改【b1】修改主配置文件httpd.conf 设置站【b2】添加apache用户 【c】启动服务:/user/local/apache2/bin/apachectl restart开机启动vi /etc/rc.local /usr/local/apapch2/bin/apachectl start【3】httpd.conf配置文件【a】apache配置文件 【a1】 常用的全局配置参数ServerRoot: 服务目录ServerAdmin: 管理员邮箱User: 运行服务的用户身份Group: 运行服务的组身份ServerName: 网站服务器的域名DocumentRoot 网页文档的根目录Listen: 监听的IP地址、端口号PidFile: 保存httpd进程PID号的文件DirectoryIndex:默认的索引页文件ErrorLog:错误日志文件的位置CustomLog:访问日志文件的位置LogLevel:记录日志的级别,默认为warnTimeout:网络连接超时,默认为300秒KeepAlive:是否保持连接,可选On或OffMaxKeepAliveRequests:每次连接最多请求文件数KeepAliveTimeout:保持连接状态时的超时时间Include:需要包含进来的其他配置文件StartServers 8 http启动进程的数目两类日志文件访问日志:/usr/local/apache2/logs/access_log 错误日志:/usr/local/apache2/logs/error_loghttpd.conf中对日志的设置【a2】LoadModuleLoadModule指令用于动态载入模块,即将模块外挂在Apache服务器上。语法:LoadModule 模块名称 模块文件路径全名实例:LoadModule status_module modules/mod_status.so【b】apache虚拟目录 作用:应对空间无法进行扩展的问题【b1】mkdir /web 在根目录创建/web文件夹 【b2】修改配置文件#虚拟目录#Alias /web /web Options Indexes MultiViews AllowOverride None Order deny,allow Allow from all【c】 apache虚拟主机(虚拟主机必须只用虚拟主机) 前提是有dns 服务器 或者hosts文件 虚拟主机种类:【c1】基于IP地址的虚拟主机【c2】基于端口的虚拟主机【c3】基于域名的虚拟主机(最常用)1)新建文件夹 baidu 和sina 作为虚拟主机存放文件的地方(并设置文件的本地权限)用setfacl或者chmod设置2)进入/etc/httpd/extra 进入vi httpd-vhosts.conf 拷贝到/etc/httpd/httpd.confNameVirtualHost 20:80 ServerAdmin DocumentRoot /usr/local/apache2/docs/ ServerName ServerAlias ErrorLog logs/-error_log CustomLog

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论