lamp

源码安装lamp

首先把selinux禁用
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config //重启后永久生效
setenforce 0 //临时禁用selinux

安装必要的编译工具 gcc gcc-c++ make automake autoconf kernel-devel
安装php所需要的依赖包 libxml2-devel openssl-deve curl-devel libjpeg-devel libpng-devel

????yum-y install gcc gcc-c++  make automake autoconf kernel-develncurses-devel libxml2-devel openssl-devel curl-devel libjpeg-devellibpng-devel  pcre-devel libtool-libs freetype-devel gd zlib-devel

      file bison patch mlocate flex diffutils   readline-devel

      glibc-devel glib2-devel bzip2-devel gettext-devel libcap-devel

      libmcrypt-devel  ????

下载所需要的源码

http://mirrors.sohu.com/

apache:http://httpd.apache.org/

mysql:http://mysql.com/downloads/mysql/

php:http://php.net/downloads.php

phpmyadmin:http://www.phpmyadmin.net/home_page/downloads.php

1.MYSQL 安装

mysql从5.5版本开始,不再使用./configure编译,而是使用cmake编译器,具体的cmake编译参数可以参考mysql官网文档(※ 非常重要)
http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html

mysql-5.5.28.tar.gz源码包下载地址:
http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.28.tar.gz

重新编译时,需要清除旧的对象文件和缓存信息
  # make clean
  # rm -f  CMakeCache.txt

mysql目录配置如下:
安装路径:/usr/local/mysql
数据库路径:/data/mysql
源码包存放位置:/usr/software

准备工作:安装基本依赖包,先用yum安装cmake、automake 、autoconf ,另MySQL 5.5.x需要最少安装的包有:bison,gcc、gcc-c++、ncurses-devel

cmake
# yum -y install gcc gcc-c++ make ncurses-devel
# wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
# cd cmake-2.8.4
# ./configure && make && make install




tar xf mysql.tar -C /usr/local/mysql

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
        -DMYSQL_DATADIR=/usr/local/mysql/data \
        -DWITH_MYISAM_STORAGE_ENGINE=1 \
        -DWITH_INNOBASE_STORAGE_ENGINE=1 \
        -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
        -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
        -DENABLED_LOCAL_INFILE=1 \
        -DDEFAULT_CHARSET=utf8 \
        -DDEFAULT_COLLATION=utf8_general_ci \
        -DEXTRA_CHARSETS=all \
        -DMYSQL_TCP_PORT=3306 \
        -DMYSQL_USER=mysql

###参数说明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data //数据库存放目录
-DWITH_MYISAM_STORAGE_ENGINE=1 //安装myisam存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 //安装innodb存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 //安装archive存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 //安装blackhole存储引擎
-DENABLED_LOCAL_INFILE=1 //允许从本地导入数据
-DDEFAULT_CHARSET=utf8   //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校验字符
-DEXTRA_CHARSETS=all   //安装所有扩展字符集
-DMYSQL_TCP_PORT=3306 //MySQL监听端口
-DMYSQL_USER=mysql //MySQL用户名

其他参数:
-DWITH-EMBEDDED_SERVER=1 //编译成embedded MySQL library (libmysqld.a)
-DSYSCONFDIR=/etc //MySQL配辑文件
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock //Unix socket 文件路径
-DWITH_READLINE=1 //快捷键功能
-DWITH_SSL=yes //SSL
-DWITH_MEMORY_STORAGE_ENGINE=1 //安装memory存储引擎
-DWITH_FEDERATED_STORAGE_ENGINE=1 //安装frderated存储引擎
-DWITH_PARTITION_STORAGE_ENGINE=1 //安装数据库分区
-DINSTALL_PLUGINDIR=/usr/local/mysql/plugin //插件文件及配置路径

make && make install


groupadd -g mysql mysql
# useradd -u mysql -g mysql -M -s /sbin/nologin mysql
# chown -R mysql:mysql /usr/local/mysql
# cp support-files/my-large.cnf /etc/my.cnf
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# cp support-files/mysql.server /etc/init.d/mysqld
# chmod +x /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --level 2345 mysqld on
service mysqld restart
启动是失败
主要原因是第二次安装mysql,之前的没有stop就进行卸载。有残余进程在运行所以出现错误

动mysql数据库,会输出一系列有用的信息,告诉你接下去如何初始化mysql

按照上述英文,我们来初始化管理员root的密码
[root@localhost ~]# /usr/bin/mysqladmin -u root password 'yourpassword'

众所周知,mysql有两种帐号类型,即localhost和%,前者限本机连接mysql,后者可用于其它机器远程连接mysql
最后,处理帐号登录问题,让root帐号密码可以本地和远程连接使用
[root@localhost ~]# mysql -u root -p                                       #敲入该命令后,屏幕会提示输入密码,输入上一步设置的yourpassword
    删除root密码为空的记录
    mysql> use mysql;
    mysql> delete from user where password='';
    mysql> flush privileges;
    配置mysql允许root远程登录           

本地登录mysql一定要绝对路径才可以使用mysql命令

2 .安装apache

 ./configure --prefix=/usr/local/apache --with-included-apr --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=so --enable-rewrite --enable-ssl

安装编译出现错误     apr 和apr-util没有安装上,http源码报里面自带,编译安装上就可以了

   1. cp build/rpm/httpd.init /etc/init.d/httpd //使用init脚本管理httpd
   2. chmod 755 /etc/init.d/httpd //增加执行权限
   3. chkconfig –add httpd  //添加httpd到服务项
   4. chkconfig  httpd on   //设置开机启动
   5. ln -fs /usr/local/apache/ /etc/httpd
   6. ln -fs /usr/local/apache/bin/httpd /usr/sbin/httpd
   7. ln -fs /usr/local/apache/bin/apachectl /usr/sbin/apachectl
   8. ln -fs /usr/local/apache/logs /var/log/httpd //设置软链接以适应init脚本

重启有问题,可能是以前进程残余问题,没有解决
netstat -lnp |grep 80

3 . 安装php

1、centos 6官方源已经没有libmcrypt的rpm包,我们这里选择编译安装,当然你也可以导入第三方源安装(centos 5略过此步)。

下载源码:

   1. cd /tmp
   2. wget http://superb-dca2.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
   3. wget http://superb-dca2.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
   4. wget http://superb-sea2.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
   5. tar xzf libmcrypt-2.5.8.tar.gz
   6. tar xzf mhash-0.9.9.9.tar.gz
   7. tar xzf mcrypt-2.6.8.tar.gz
   8. //安装libmcrypt
   9. cd /tmp/libmcrypt-2.5.8
  10. ./configure –prefix=/usr
  11. make && make install
  12. //安装libmcrypt
  13. cd /tmp/mhash-0.9.9.9
  14. ./configure –prefix=/usr
  15. make && make install
  16. //安装mcrypt
  17. /sbin/ldconfig //搜索出可共享的动态链接库
  18. cd /tmp/mcrypt-2.6.8
  19. ./configure
  20. make && make install

2、解决可能出现的libiconv错误。

   1. cd /tmp
   2. wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
   3. tar xzf libiconv-1.14.tar.gz
   4. cd libiconv-1.14
   5. ./configure –prefix=/usr/local/libiconv
   6. make && make install

./configure –prefix=/usr/local/php–with-apxs2=/usr/local/apache/bin/apxs –with-config-file-path=/etc–with-config-file-scan-dir=/etc/php.d –with-openssl –with-zlib–enable-bcmath –with-bz2 –with-curl –enable-ftp –with-gd –enable-gd-native-ttf –with-gettext –with-mhash –enable-mbstring –with-mcrypt –enable-soap –enable-zip –with-iconv=/usr/local/libiconv –with-mysql=/usr/local/mysql –without-pear

   1. cp php.ini-dist /usr/local/php/etc/php.ini //复制配置文件php.ini

在/etc/httpd/conf/httpd.conf文件中加入php文件类型解析:

   1. Addtype application/x-httpd-php .php

重启httpd:

   1. service httpd restart
参考
http://www.2cto.com/os/201110/106849.html

http://hi.baidu.com/dalyblog/item/b57cf72f5024e2cdef10f1e3
 

你可能感兴趣的:(lamp)