LAMP编译安装等


mysql安装
版本:mysql-5.0.56.tar.gz   
下载地址:http://download.chinaunix.net/download.php?id=25112&ResourceID=7159
源码路径:/usr/local/src
安装路径:/usr/local/gewei/mysql
#groupadd mysql
#useradd -g mysql mysql
#tar zxvf mysql-5.5.9.tar.gz
#cd mysql-5.5.9
编译参数设置
#./configure --prefix=/usr/local/gewei/mysql  \            指定mysql的安装路径
--enable-assembler \                                                     使用assemble(汇编)来优化性能
--enable-static \                                                              使用静态库
--enable-thread-safe-client \                                         使用线程安全的客户端
--localstatedir=/usr/local/gewei/mysql/data \               配置单机mysql数据库文件的存放路径 区别与--datadir,如果这里不指定数据库文件的存放路径,当初始化数据库后生成的数据库文件,默认存放路径是--prefix/var
--sysconfdir=/etc \                                                           mysql配置文件my.conf的存放路径
--with-comment=Source \
--with-server-suffix=-enterprise-gpl \                             任意的指定一个服务器名称前缀,加强数据库的安全
--with-mysqld-user=mysql \                                            使用mysql用户来管理运行mysqld服务
--without-debug \                                                             不显示调试信息
--with-charset=gbk \                                                        指定默认的字符集
--with-extra-charsets=all \                                               除去支持默认的字符集之外,对其它字符集的支持
--with-pthread \                                                                线程支持
--with-client-ldflags=-all-static \                                      静态库,优化性能
--with-mysqld-ldflags=-all-static \                                   静态库,优化性能
--with-big-tables \                                                            表支持
--with-ssl                                                                           安全
编译
编译过程中出现lb_config.h is unchanged
#make
安装
#make install
配置
#cp support-files/my-medium.cnf /etc/my.cnf
#./scripts/mysql_install_db --user=mysql
#cd /usr/local/gewei/mysql
#chown -R root.mysql .
#chown -R mysql data/
#./bin/mysqld_safe --user=mysql &
初始化数据库密码
#./bin/mysqladmin -u root password "123"
#./bin/mysql -u root -p
输入密码:123
mysql>show databases;
mysql> grant all privileges on *.* to "root"@"%" identified by "123";
mysql> flush privileges;
mysql> exit;
配置系统服务
# cp /usr/local/src/mysql-5.0.56/support-files/mysql.server /etc/init.d/
# mv /etc/init.d/mysql.server /etc/init.d/mysqld
# chmod a+x /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --level 35 mysqld on
# service mysqld status|start|restart|stop

apache安装
版本:httpd-2.2.13.tar.bz2
下载地址:http://download.chinaunix.net/download.php?id=26525&ResourceID=8
源码路径:/usr/local/src
安装路径:/usr/local/gewei/apache
# tar jxvf httpd-2.2.13.tar.bz2
# cd httpd-2.2.13
配置编译环境
# ./configure --prefix=/usr/local/gewei/apache \
--enable-so \
--enable-rewrite \
--sysconfdir=/etc/httpd \
--with-mpm=worker \
--enable-mods_shared=most
参数意义解释
--enable-so                  选项设置apache可以使用动态加载第三方模块功能 DSO。指明编译动态模块加载(DSO)支持到httpd二进制文件,此功能使得apache的各个功能模块可以与核心分开编译、运行时动态加载。有了DSO支持,升级和增加模块时只需要编译相关的模块即可,不必要重新编译整个系统。最新版本的apache缺省编译此模块到httpd二进制文件,如果在使用早期版本且需要DSO支持,需要明确的指出该选项。
--enable-rewrite           url地址重写支持,rewrite模块如果安装时未编译入apache,以后需要该功能模块,需重新编译apache才能支持rewrite功能
--sysconfdir=/etc/httpd \          指定httpd.conf配置文件的存放路径
--with-mpm=worker \             --with-mpm=<MPM>选择apache的多道处理模块,<MPM>={beos|event|worker|prefork|mpmt_os2}, prefork为unix下默认处理模块,它将运行一个非线程型的,预派生的Web服务器,适合于没有线程安全库,需要避免线程兼容性问题的系统,在要求将每个请求相互独立的情况下最好用MPM,这样如果一个请求出现问题就不会影响另一个请求。worker为支持混合的多线程多进程的多道处理模块, 由于使用线程来处理请求,所以可以处理海量请求,而系统资源的开销小于基于进程的MPM,同时它使用了多进程,每个进程又有多个线程,以获得基于进程的MPM的稳定性,如果系统是基于线程安全的,那么建议适用worker替代prefork,它将使系统得到实际的性能改善。
--enable-mods_shared=most             --enable-mods-shared=<MODULE-LIST>明确的指明要以DSO方式编译模块,<MODULE-LIST>为空格分隔的模块名列表all或者most,all表示包含所有的模块,most表示包含大部分模块,如--enable-mods-share="rewrite deflate",--enable-mods-share=most,效果等同于多个--enable-<FEATURE>=share
编译
# make
安装
# make install
启动
# /usr/local/gewei/apache/bin/apachectl -k start
配置
# vi /etc/httpd/httpd.conf
User admin
Group admin
上面两个配置是apache的安全认证,apache在打开端口之后,就将其本身设置为这两个选项设置的用户和组权限进行运行,这样就降低了服务器的危险性。这选项只用于Standalone模式,inetd模式在inetd.conf中指定运行apache的用户。由于服务器必须执行改变身份的setuid()操作,因此初始进程应该具有root权限,如果是使用非root用户来启动apache,这个配置就不会发生作用。

gd2图片处理库安装支持
png
jpeg
freetype
fontconfig
xpm
这些包可以通过iso镜像中相应的rpm包来安装
先安装xxx
再安装xxx-dev
注意安装php的时候需要libxml2的支持
gd2安装
版本:gd-2.0.33.tar.gz
下载地址:http://download.chinaunix.net/download.php?id=6665&ResourceID=3479
源码路径:/usr/local/src
安装路径:/usr/local/gewei/gd2
# tar zxvf gd-2.0.33.tar.gz
# cd gd-2.0.33
编译配置
# ./configure --prefix=/usr/local/gewei/gd2 \
--with-jpeg \
--with-png \
--with-fonttype \
--enable-static \
--enable-shared
# make && make install
安装时系统查找的默认路径是/usr/lib/libpng

php安装
版本:php-5.2.17.tar.gz
下载地址:http://cn.php.net/get/php-5.2.17.tar.gz/from/a/mirror
源码路径:/usr/local/src
安装路径:/usr/local/gewei/php
# tar jxvf php-5.2.17.tar.gz
# cd php-5.2.17
编译配置
# ./configure --prefix=/usr/local/gewei/php \
--with-apxs2=/usr/local/gewei/apache/bin/apxs \
--with-mysql=/usr/local/gewei/mysql \
--with-config-file-path=/etc \
--with-libxml-dir \
--with-png-dir \
--with-jpeg-dir \
--with-freetype-dir \
--with-gd=/usr/local/gewei/gd2 \
--enable-mbstring
配置参数解释
--with-apxs2 \                             告诉apache进程加载php的动态共享对象
--with-mysql  \                            mysql的安装路径
--with-config-file \                       php的配置存放路径
--with-libxml-dir \                        xml支持,这里需要libxml2的支持,如果源码包安装并且指定了安装的位置,就需设置为    --with-libxml-dir=xml2的安装(--prefixe)的路径
--with-png-dir \                           png支持,这里需要libxml2的支持,如果源码包安装并且指定了安装的位置,就需设置为    --with-png-dir=png的安装(--prefixe)的路径
--with-jpeg-dir \                          jpg支持,这里需要libxml2的支持,如果源码包安装并且指定了安装的位置,就需设置为    --with-jpeg-dir=jpeg的安装(--prefixe)的路径
--with-freetype-dir \                    freetype支持,这里需要libxml2的支持,如果源码包安装并且指定了安装的位置,就需设置为 --with-freetype-dir=freetype的安装(--prefixe)的路径
--with-gd=/usr/local/gewei/gd2 \      gd2支持
--enable-mbstring                       字符串处理的支持
编译
# make
安装
# make install
配置
# cp /usr/local/gewei/php/php.ini-dist /etc/php.ini
编辑apache的配置文件
# vi /etc/httpd/httpd.cnf
添加
AddType application/x-httpd-php .php
DirectoryIndex index.php
重启
# /usr/local/gewei/apache/bin/apachectl -k restart
出现错误
httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
问题是SELinux保护模式引起的
1、关闭SELINUX的方法:
# vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启
2、不关闭SELINUX的方法:
# setenforce 0
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so
# service httpd restart
# setenforce 1
实验,确实apapche启动正常,php正常显示。测试
#  echo "<?php phpinfo(); ?>" > /usr/local/gewei/apache/htdoc/phpinfo.php

curl安装
版本:curl-7.21.4.tar.gz
下载地址:http://curl.haxx.se/download.html
源码路径:/usr/local/src
安装路径:/usr/local/gewei/curl
# tar zxvf curl-7.21.4.tar.gz
# cd curl-7.21.4
编译配置安装
# ./configure --prefix=/usr/local/gewei/curl
# make && make install
安装php扩展
# cd /usr/local/src/php-5.2.17/ext/curl/
# /usr/local/gewei/php/bin/phpize
# ./configure --with-curl=/usr/local/gewei/curl --with-php-config=/usr/local/gewei/php/bin/php-config
# make && make install
生成curl.so
Installing shared extensions: /usr/local/gewei/php/lib/php/extensions/no-debug-zts-20060613/
更改php.ini
extension_dir="/usr/local/gewei/php/lib/php/extensions/no-debug-zts-20060613/"
extension=curl.so
重启服务器,测试生效

memcached安装
需libevent库的支持,下载地址:http://www.monkey.org/~provos/libevent/
版本:memcached-1.4.5.tar.gz
下载地址:http://memcached.org/
http://code.google.com/p/memcached/downloads/detail?name=memcached-1.4.5.tar.gz&can=2&q=
源码路径:/usr/local/src
安装路径:/usr/local/gewei/memcached
# tar memcached-1.4.5.tar.gz
# cd memcached-1.4.5
编译配置安装
# ./configure --prefix=/usr/local/gewei/memcached
# make && make install
安装php扩展
版本:memcache-3.0.5.tgz
下载地址:http://pecl.php.net/package/memcache
源码路径:/usr/local/src
安装路径:
# tar vxzf memcache-3.0.5.tgz
# cd memcache-2.2.1
# /usr/local/gewei/php/bin/phpize
#./configure -–enable-memcache –with-php-config=/usr/local/gewei/php/bin/php-config -–with-zlib-dir
# make
# make install
生成memcache.so
Installing shared extensions: /usr/local/gewei/php/lib/php/extensions/no-debug-zts-20060613/
更改php.ini
extension_dir="/usr/local/gewei/php/lib/php/extensions/no-debug-zts-20060613/"
extension=memcache.so
memcached基本设置
1、启动Memcache的服务器端:
# /usr/local/gewei/memecached/bin/memcached -d -m 10 -u root -l 192.168.30.128 -p 12000 -c 256 -P /tmp/memcached.pid
参数解释
-d选项是启动一个守护进程daemon
-m是分配给Memcache使用的内存数量,单位是MB,这里是10MB
-u是运行Memcache的用户,是root
-l是监听的服务器IP地址,允许有多个地址的话,指定了服务器的IP地址192.168.0.200,如果是本机的话,通常可以不设置此参数
-P是设置Memcache监听端口,设置12000,最好是1024以上的端口,设置监听的端口,默认为 11211,所以也可以不设置此参数
-c选项是最大运行的并发连接数,默认是1024,设置为256,按照你服务器的负载量来设定
-P是设置保存Memcache的pid文件,保存在 /tmp/memcached.pid
-n 设置初始chunk的大小
-f chunk size factor的增长因子,默认是1.25
-M 设置memcached 不LRU 内存耗尽时返回错误,而不是删除项
2、如果要结束memcached进程,执行:
# kill `cat /tmp/memcached.pid`        也可以启动多个守护进程,不过端口不能重复。
3、重启apache
4、测试
   < ?php
   $mem = new Memcache;
   $mem->connect("127.0.0.1", 12000);
   $mem->set("key", "This is a memcache test!", 0, 60);
   $val = $mem->get("key");
   echo $val;
   ?>

猜你喜欢

转载自omyyal.iteye.com/blog/1577573