zoukankan      html  css  js  c++  java
  • LAMP编译安装(详细教程)

    LAMP安装

    一、安装一些下来要用到的包!
    1
    、安装OpenSSL
    tar zxvf openssl-0.9.8e.tar.gz
    cd openssl-0.9.8e
    ./config --prefix=/usr/local/openssl shared
    make
    make install
    修改(此步骤非常重要,至少对于现有的软件版本)
    vi /etc/ld.so.conf
    添加一行/usr/local/openssl/lib/
    /sbin/ldconfig

    2
    、安装Curl
       # tar -zxf curl-7.15.0.tar.gz
         
    进入解压后的目录
       # ./configure --prefix=/usr/local/curl
       # make; make install

    3
    、安装expat
    cd /usr/local/src
    tar -zxvf expat-2.0.0.tar.gz
    cd expat-2.0.0
    ./configure --prefix=/usr/local/expat
    make;make install


    4
    、安装libxml2
    #
    解压,并进入解压后的目录
    #./configure --prefix=/usr/local/libxml2
    #make;make install

    5
    、安装zlib(默认安装,请勿自作主张修改)
    #
    解压
    #
    进入解压后的目录,./configure
    #make;make install

    6
    、安装jpeg
    # tar zxvf jpegsrc.v6b.tar.gz
    # cd jpeg-6b
    # mkdir /usr/local/jpeg
    # mkdir /usr/local/jpeg/bin
    # mkdir /usr/local/jpeg/lib
    # mkdir /usr/local/jpeg/include
    # mkdir /usr/local/jpeg/man
    # mkdir /usr/local/jpeg/man/man1
    # ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
    # make;make install

    7
    、安装libpng

    #解压

    #进入解压后的目录,./configure
    #make;make install


    8
    、安装freetype
    #
    解压
    #
    进入解压后的目录 ./configure --prefix=/usr/local/freetype
    #make;make install

    9
    、安装gd
    # tar zxvf gd-2.0.33.tar.gz
    # cd gd-2.0.33
    # ./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg --with-freetype=/usr/local/freetype --with-png --with-zlib  
    //
    编译过程中会看到如下信息
    ** Configuration summary for gd 2.0.33:
       Support for PNG library:          yes
       Support for JPEG library:         yes
       Support for Freetype 2.x library: yes
       Support for Fontconfig library:   no
       Support for Xpm library:          no
       Support for pthreads:             yes
    //
    可以看到png jpeg freetype都已经安装上了
    # make
    # make install

    10
    、安装 libxslt
       # tar -zxf libxslt-1.1.15.tar.gz
       # cd libxslt-1.1.15
       # ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
       # make; make install

    11
    、安装libmcrypt(不然登录phpmyadmin时提示缺少mcrypt*
    #
    解压,并进入解压后的目录
    #mkdir /usr/local/libmcrypt
    #./configure --prefix=/usr/local/libmcrypt
    #make;make install

    一、mysql安装(mysql-standard-5.0.27-linux-i686-glibc23.tar.gz)
    安装文件放到了/usr/local/src目录
    1
    tar zxvf mysql-standard-5.0.27-linux-i686-glibc23.tar.gz
    2
    mv mysql-standard-5.0.27-linux-i686-glibc23.tar.gz /usr/local/mysql
    3
    groupadd mysql mysql
    4
    useradd -g mysql mysql 新增mysql用户,并添加到mysql
    5
    cd /usr/local/mysql
    6
    scripts/mysql/mysql_install_db --user=mysql 创建mysql授权表,如果是mysql用户登录可省--user=mysql
    7
    chown -R root .     当前目录下的文件的所有属性改为root用户
    8
    chown -R mysql data  data数据目录的所有属性改为mysql用户
    9
    chgrp -R mysql .     将组属性改为mysql
    10
    bin/mysqld_safe --user=mysql &
    11
    bin/mysqladmin -u root password '1qaz2wsx'  设置密码
    12
    cp support-files/my-medium.cnf /etc/my.cnf
    数据库目录默认(/usr/local/var)
    13
    vi /etc/rc.d/rc.local 添加 /usr/local/mysql/bin/mysqld_safe --user=mysql &

    附:mysql.servermysqld_safe脚本和Mac OS X Startup Item可以用来手动启动服务器,或自动启动系统。mysql.serverStartup Item还可以用来停止服务器。
    mysql.server
    脚本可以被用来启动或停止服务器,通过用startstop参数调用它:
    shell> mysql.server start
    shell> mysql.server stop
    mysql.server stop
    通过向服务器发出一个信号停止它。你可手动执行mysqladmin shutdown关闭服务器。
    要想在服务器上自动启动和停止MySQL,应在“/etc/rc * 文件中适当的地方增加启动、停止命令。
    要想手动安装mysql.server(/usr/local/mysql/support-files),用名称mysql将它复制到/etc/init.d目录,然后将它变为可执行文件。只需要将位置更改为mysql.serveris所在并执行这些命令的相应目录:
    shell> cp mysql.server /etc/init.d/mysql
    shell> chmod +x /etc/init.d/mysql
    shell> chkconfig --level 345MySQL on
    也可以在一个全局“/etc/my.cnf”文件中增加mysql.server的选项。一个典型的“/etc/my.cnf”文件可能看起来像这样:
    [mysql.server]
    basedir=/usr/local/mysql

     

    源代码编译安装mysql

    MySQL5.0.18的安装

    Yum install ncurses-devel(不安装的话后面编译mysql的时候会报错!!!)

     

    # cp mysql-5.0.18.tar.gz /home/mysql

    # tar zxvf  mysql-5.0.18.tar.gz

    # cd /home/mysql/mysql-5.0.18

    # groupadd mysql

    # useradd mysql -g mysql

     

    # ./configure --prefix=/usr/local/mysql   //*指定安装目录

    --without-debug    //*去除debug模式

    --with-charset=gb2312   //*添加gb2312中文字符支持

    --enable-assembler    //*使用一些字符函数的汇编版本

    --without-isam    //*去掉isam表类型支持 现在很少用了 isam表是一种依赖平台的表

    --without-innodb  //*去掉innodb表支持 innodb是一种支持事务处理的表,适合企业级应用

    --with-pthread    //*强制使用pthread(posix线程库)

    --enable-thread-safe-client   //*以线程方式编译客户端

    --with-client-ldflags=-all-static

    --with-mysqld-ldflags=-all-static   //*以纯静态方式编译服务端和客户端

     

    #    

     

    //*可以通过./configure help 查看关于此命令的一些参数

    # make

    # make install

    # scripts/mysql_install_db --user=mysql   //*生成mysql用户数据库和表文件

    # cp support-files/my-medium.cnf /etc/my.cnf 

    //*copy配置文件,large,medium,small三个环境下的,根据机器性能选择,如果负荷比较大,可修改里面的一些变量的内存使用值

    # cp support-files/mysql.server /etc/init.d/mysqld   //*copy启动的mysqld文件

    # chmod 700 /etc/init.d/mysqld

    # cd /usr/local

    # chmod –R 750 mysql

    # chgrp -R mysql mysql

    # chown –R mysql mysql/var

    # cd /usr/local/mysql/libexec

    # cp mysqld mysqld.old

    # strip mysqld

    # chkconfig --add mysqld

    # chkconfig --level 234 mysqld on

    # service mysqld start

    # netstat -atln

    看看有没有3306的端口打开,如果mysqld不能启动,看看/usr/local/mysql5/var下的出错日志,一般都是目录权限没有设置好的问题

    # mysqladmin -uroot password "youpassword" #设置root帐户的密码

    # mysql –u root -p

    # 输入你设置的密码

    mysql>use mysql;

    mysql>delete from user where password=""; #删除用于本机匿名连接的空密码帐号

    mysql>flush privileges;

    mysql>quit


    14
    Apache安装
    1
    、解压,mkdir /usr/local/apache2
    2
    、进入解压后的目录(菜鸟请严格按下面的参考)
    ./configure --prefix=/usr/local/apache2 --with-mysql=/usr/local/mysql  --enable-cgi --enable-ssl --with-ssl=/usr/local/openssl --enable-so --enable-rewrite --enable-modules=all --enable-mods-shared=all --enable-cache --enable-disk-cache" --enable-mem-cache --enable-deflate=shared
    make
    make install
    设置成开机自启动
    /etc/rc.d/rc.local文件中加入一行
    /usr/local/apache/bin/apachectl start
    这样每次重新启动系统以后,apache也会随系统一起启动.
    (
    注解:
    ./configure //
    配置源代码树
    --prefix=/usr/local/apache2 //Apache
    的安装目录。
    --enable-module=so //
    打开 so 模块,so 模块是用来提 DSO 支持的 apache 核心模块
    --enable-deflate=shared //
    支持网页压缩
    --enable-expires=shared //
    支持 HTTP 控制
    --enable-rewrite=shared //
    支持 URL 重写
    --enable-cache //
    支持缓存
    --enable-file-cache //
    支持文件缓存
    --enable-mem-cache //
    支持记忆缓存
    --enable-disk-cache //
    支持磁盘缓存
    --enable-static-support //
    支持静态连接(默认为动态连接)
    --enable-static-htpasswd //
    使用静态连接编译 htpasswd - 管理用于基本认证的用户文件
    --enable-static-htdigest //
    使用静态连接编译 htdigest - 管理用于摘要认证的用户文件
    --enable-static-rotatelogs //
    使用静态连接编译 rotatelogs - 滚动 Apache 日志的管道日志程序
    --enable-static-logresolve //
    使用静态连接编译 logresolve - 解析 Apache 日志中的IP地址为主机名
    --enable-static-htdbm //
    使用静态连接编译 htdbm - 操作 DBM 密码数据库
    --enable-static-ab //
    使用静态连接编译 ab - Apache HTTP 服务器性能测试工具
    --enable-static-checkgid //
    使用静态连接编译 checkgid
    --disable-cgid //
    禁止用一个外部 CGI 守护进程执行CGI脚本
    --disable-cgi //
    禁止编译 CGI 版本的 PHP
    --disable-userdir //
    禁止用户从自己的主目录中提供页面
    --with-mpm=worker //
    apacheworker方式运行
    --enable-authn-dbm=shared //
    对动态数据库进行操作。Rewrite时需要。
    )

    15
    、安装php
    # tar zxvf php-5.2.6.tar.gz
    # cd php-5.2.6
    mkdir /usr/local/php
    # ./configure --prefix=/usr/local/php  --with-apxs2=/usr/local/apache/bin/apxs --with-freetype-dir=/usr/local/freetype --with-mysql=/usr/local/mysql --with-zlib-dir=/usr/lib --with-libxml-dir=/usr/local/libxml2 --enable-shared --with-curl=/usr/local/curl --with-iconv --enable-mbstring --with-gd=/usr/local/gd --enable-gd-native-ttf --enable-gd-jis-conv --with-jpeg-dir=/usr/local/jpeg  --with-png-dir=/usr/lib --enable-ftp  --enable-soap --with-mcrypt=/usr/local/libmcrypt  --enable-sockets  --enable-force-cgi-redirect --enable-inline-optimization --disable-debug --with-libexpat-dir=/usr/local/expat --with-xsl=/usr/local/libxslt --with-openssl=/usr/local/openssl --enable-calendar --with-config-file-path=/usr/local/php/etc  --disable-ipv6  --enable-fastcgi
    make;make install
    cp php.ini-dist  /usr/local/php/etc/php.ini
    vi /usr/local/php/etc/php.ini
    查找safe_mode=Off,更改为safe_mode=On
    1
    )查找max_execution_time = 30,更改为max_execution_time = 600   
    2)查找max_input_time = 60,更改为max_input_time = 600
    3)查找memory_limit = 8M ,更改为memory_limit = 20M
    4)查找display_errors = On,更改为display_errors = Off
    5)查找register_globals = Off,更改为register_globals = On
    6)查找post_max_size = 8M,更改为post_max_size = 20M
    7)查找upload_max_filesize = 2M,更改为upload_max_filesize = 20M
    8)查找session.auto_start = 0,更改为session.auto_start = 1
    执行:wq!命令保存后退出,从而完成了php.ini文件的配置工作。
    更改apache的配制文件:得加几行,目的是让apache能解释php程序。
    查找AddType application/x-tar .tgz  行,在下面添加
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php .php3
    AddType application/x-httpd-php .phtml
    AddType application/x-httpd-php-source .phps
    找到下面一行在后面加上index.php,这表示网站的默认页也能够为index.php
    DirectoryIndex index.html index.html.var index.php
    现在apache就能够运行php,写个文件测试一下,/usr/local/apache/htdocs目录下,新建一个phpinfo.php文件,
    文件中只有一行代码:
    <? phpinfo(); ?>
    保存此文件, 在你的浏览器中输入http://localhost/phpinfo.php,你应该看到PHP的系统信息。
    如果出现错误,比如提示你下载phpinfo.php,那么apache就是还无法解析php文件,那么请仔细检查以上的操作是否正确.

     

     

    16、安装ZendOptimizer   
    # tar zxvf ZendOptimizer*-i386.tar.gz
    # cd ZendOptimizer*-i386
    # ./install.sh
    安装操作: [ok] -> [EXIT] -> [YES] -> [/httpd/zend] -> [/httpd/apache/conf] -> [yes] -> [OK] -> [OK] -> [NO]



    17
    、安装phpmyadmin
    1
    、解压
    2
    mv phpmyadmin* /usr/local/apache2/htdocs/phpmyadmin
    3
    、进入phpmyadmin目录,cp ./libraries/config.default.php ./config.inc.php
    4
    # vi config.inc.php   //修改成如下:
    查找 $cfg['PmaAbsoluteUri'] 修改为你将上传到空间的phpMyAdmin的网址 如:$cfg['PmaAbsoluteUri'] = 'http://192.168.1.11/onlyyouknow/';

    查找 $cfg['Servers'][$i]['auth_type'] = 'config';
    在自己的机子里调试用config;如果在网络上的空间用cookie,这里我们既然在前面已经添加了网址,就修改成cookie ,这里建议使用cookie.

    查找 $cfg['Servers'][$i]['user'] = 'root';root去掉 // MySQL usermysql用户名,自己机里用root;)
    查找 $cfg['Servers'][$i]['password'] = ''; // MySQL password (mysql用户的密码,自己的服务器一般都是mysql用户root的密码)
    查找 $cfg['Servers'][$i]['only_db'] = ''; // If set to a db-name, only(你只有一个数据就设置一下;如果你在本机或想架设服务器,那么建议留空)
    查找 $cfg['DefaultLang'] = 'zh'; (这里是选择语言,zh代表简体中文的意思,这里不知道填gbk对否)
    设置完毕后保存
    果出现配置文件现在需要绝密的短语密码(blowfish_secret)”那么请在$cfg['blowfish_secret'] = ' ';的等号里面设置你网站的cookie,例如:$cfg['blowfish_secret'] = '任意字符';这是因为你的“$cfg['Servers'][$i]['auth_type'] = 'cookie'的原因。



    18
    、安装webmin
    1
    、解压并进入解压目录
    2
    ./setup.sh /usr/local/webmin



    19
    、安装eAccelerator
    #tar -jxvf ./eaccelerator-0.9.5-beta2.tar.bz2
    #cd eaccelerator-0.9.5-beta2
    #export PHP_PREFIX="/usr/local"
    (把PHP安装目录导入到环境变量,FreeBSD默认是/usr/local
    #$PHP_PREFIX/bin/phpize
    #./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
    #make
    #make install

    /usr/local/php5/etc/php.ini文件的[Zend]下添加
    先查找extension_dir,改路径为"/usr/local/php5/lib/php/extensions/"

    extension="eaccelerator.so"

    eaccelerator.shm_size="32"   
    解释:eaccelerator可使用的共享内存大小(单位为MB)

    eaccelerator.cache_dir="/tmp/eaccelerator"  
    解释:缓存路径

    eaccelerator.enable="1"  
    解释:打开或者关闭eaccelerator"1"指打开,"0"指关闭。默认值为"1"

    eaccelerator.optimizer="1"  
    解释:打开或者关闭代码优化,开启可以加快代码的执行速度。"1"指打开,"0"指关闭。默认值为"1"

    eaccelerator.check_mtime="1"
    解释:当打开此项时,eaccelerator会在每次请求时检查php文件的修改时间,看其是否被修改过,这会耗费一点时间,如果php文件被修改 过,eaccelerator会重新编译缓存该php文件。当关闭此项时,如果php文件被修改,则需要手工删eaccelerator缓存,才能显示被 修改的php文件。"1"指打开,"0"指关闭。默认值为"1"

    eaccelerator.debug="0"  
    解释:打开或者关闭 调试记录。当打开时,eaccelerator会将对一个缓存文件的每次请求都写进 log。打开此项只对调试eaccelerator是否有BUG时有益处。"1"指打开,"0"指关闭。默认值为"0"

    eaccelerator.log_file="/usr/local/apache2/logs/eaccelerator_log"  
    日志文件

    eaccelerator.filter=""     
    解释:决定哪些PHP文件应该被缓存。可以指定一个范围(比如"*.php *.phtml"),这样被指定的文件就会被缓存。如果该范围以!开头,被指定的文件就不会被缓存。默认值为"",表示缓存所有的PHP文件。

    eaccelerator.shm_max="0"   
    解释:一个用户使用例如eaccelerator_put之类的函数能够往共享内存中加载的最大数据。默认值为"0",表示不限制。(单位为字节)

    eaccelerator.shm_ttl="0"   
    解释:当没有足够的空闲共享内存去尝试缓冲一个新脚本时,将删除至少在shm_ttl秒之前没有被访问过的文件。默认值为"0",表示不尝试从共享内存中删除任何旧的脚本。(单位为秒)

    eaccelerator.shm_prune_period="0"  
    释:当没有足够的空闲共享内存去尝试缓冲一个新脚本时,将删所有旧脚本,前提是这个尝试在超过shm_prune_period秒之前被执行过。默认值 "0",表示不尝试从共享内存中删除任何旧的脚本。(单位为秒)

    eaccelerator.shm_only="0"  
    解释:打开或者关闭在磁盘上缓存编译过的脚本。这个参数对会话数据和内容缓存没有效果。默认值为"0",表示使用磁盘和共享内存来缓存。
      

    eaccelerator.compress="1"  
    解释:打开或者关闭缓存内容压缩。"1"指打开,"0"指关闭。默认值为"1"

    eaccelerator.compress_level="9"  
    解释:内存压缩的级别。默认值为"9",表示最大压缩。


    mkdir /tmp/eaccelerator
    chmod 0777 /tmp/eaccelerator

     

     

     

     

     

    #####################   安装过程遇到的错误   ##############################

     

    1checking for termcap functions library… configure: error: No curses/termcap library found

    网上大都说是缺少ncurses,我rpm -qa |grep ncurses了一下发现已经安装了ncurses

    后来发现原来少的是:ncurses-devel

    到光盘里找到

    rpm -ivh ncurses-devel-5.5-24.20060715.i386.rpm

    发现不在提示上述错误了

    2/root/lamp/php-5.2.6/sapi/cli/php: error while loading shared libraries: /usr/local/lib/libpng12.so.0: cannot restore segment prot after reloc: Permission denied

    /root/lamp/php-5.2.6/sapi/cli/php: error while loading shared libraries: /usr/local/lib/libpng12.so.0: cannot restore segment prot after reloc: Permission denied

    make: [test] Error 127 (ignored)

     

    上网查找原因,说是selinux的原因,服务器确实开着selinux的,更改selinux的配置文件将其设为disabled,可我不想重启服务器,有以下解决办法:

    执行命令:setenforce 0

    就可以不重启关闭selinux了!


     

  • 相关阅读:
    被标记为事务的方法互相调用的坑(上)
    几种实现延时任务的方式(三)
    几种实现延时任务的方式(二)
    几种实现延时任务的方式(一)
    Windows AD日志分析平台WatchAD安装教程
    Django单元测试中Fixtures用法
    威联通(NAS)搭建个人图床
    centOS极简安装并启动ngnix
    【JS档案揭秘】第一集 内存泄漏与垃圾回收
    【JS简洁之道小技巧】第一期 扁平化数组
  • 原文地址:https://www.cnblogs.com/feihongwuhen/p/7171055.html
Copyright © 2011-2022 走看看