• centOs5.3 安装apache+tomcat+php+mysql


    --------------下载须要的文件--------------------------

    以下文件都下载到了 /mnt/目录下.

    1 下载JDK,到sun的网站上下载 jdk-6u16-linux-i586-rpm.bin, 到本地Windows机器上,再用FileZilla上传到服务器.

    2 远程ssh登录linux, #cd  /mnt ,下载apache : 命令如下: wget -c http://apache.etoak.com/httpd/httpd-2.2.13.tar.gz

    3 下载 mysql-5.0.84.tar.gz  方法同上

    4 下载 apache-tomcat-6.0.20.tar.gz 方法同上

    5 下载 php-5.3.0.tar.gz

    6 下载apr-1.3.3.tar.gz 与 apr-util-1.3.4.tar.gz   从http://apr.apache.org/下载

    -----------------开始安装JDK-----------------

    # cp jdk-6u16-linux-i586-rpm.bin /usr/local     ,拷贝到/usr/local  下
    # cd /usr/local
    # chmod +x jdk-6u16-linux-i586-rpm.bin    添加可执行权限

    # ./jdk-6u16-linux-i586-rpm.bin  就执行了

    出现相关的安装协议,按"q",略过, 再安"y", 就开始安装jdk了.过一会按回车.就完成了

    默认安装在 /usr/java 目录下,我们做一个软连接

    # ln -s /usr/java/jdk1.6.0_16/   /usr/local/java
    设置环境变量

    # vi /etc/profile

    安"i"进入编辑模式

    在最后加入:

    JAVA_HOME=/usr/java/jdk1.6.0_16
    CLASSPATH=/usr/java/jdk1.6.0_16/lib/dt.jar:/usr/java/jdk1.6.0_16/lib/tools.jar
    PATH=/usr/java/jdk1.6.0_16/bin:$PATH
    export PATH JAVA_HOME CLASSPATH
    Shift+: wq!  保存退出

    使生效: # source /etc/profile

    #java -version  查看版本信息,说明安装成功

    ---------------安装mysql (源码三步安装)-------------------------

    # cd /mnt/
    # tar zxvf mysql-5.0.84.tar.gz

    # cd mysql-5.0.84

    # ./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-extra-charset=all --enable-thread-safe-client --enable-local-infile --with-low-memory
    说明:安装到=/usr/local/mysql 下,语言用utf8

    通到错误 :configure: error: no acceptable C compiler found in $PATH

    说明没安gcc,  现在安:

    查看系统是否安装了gcc和安装程序的版本号:
    gcc -v
    c++ -v
    g++ -v
    如果没有就用 以下命令安装
    #yum install  gcc
    #yum install  gcc-c++
    #yum install  gcc-gfortran

    再次:

    # ./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-extra-charset=all --enable-thread-safe-client --enable-local-infile --with-low-memory

    还是出错:

    checking for termcap functions library... configure: error: No curses/termcap library found
    说明要安ncurses

    #yum install ncurses-devel

    提示安装N个软件,略, 按"y",  完成

    再次:

    # ./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-extra-charset=all --enable-thread-safe-client --enable-local-infile --with-low-memory

    出现:Thank you for choosing MySQL!  说明mysql安装的第一步成功

    ------------
      # make && make install

      如果 你的gcc-c++是在configure后安装的,再重新configure一下,可以会以下错误:

      error: redeclaration of C++ built-in type ‘bool’

      慢长的等待,安好了

    -------------

    建用户,用户组 

    # groupadd mysql
    # adduser -g mysql mysql

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

    本例中my-medium.cnf文件在这里: /mnt/mysql-5.0.84/support-files/my-medium.cnf

    我们的mysql安装在 /usr/local/mysql/ 里

    # chown -R mysql.mysql /usr/local/mysql/

    # /usr/local/mysql/bin/mysql_install_db --user=mysql

    # chown -R root.root /usr/local/mysql/
    # chown -R mysql.mysql /usr/local/mysql/var/

    启动一下  ,后面加一个&表示后台运行

    # /usr/local/mysql/bin/mysqld_safe --user=mysql &

    # netstat -ant  看到3306端品号,说明已启动

    加入到开机启动中

    # cp support-files/mysql.server /etc/rc.d/init.d/mysqld

    给权限
    # chmod 755 /etc/rc.d/init.d/mysqld

    把mysqld服务加入启动中

    # chkconfig --add mysqld
    运行级别

    # chkconfig --level 345 mysqld on
    设置密码

    # /usr/local/mysql/bin/mysqladmin -u root password "****"
    进入mysql

    # /usr/local/mysql/bin/mysql -uroot -p
    输入密码,就进入了

    看有哪些库 :show databases;

    退出:quit

    配置mysql 库文件的搜索路径:

    # echo "/usr/local/mysql/lib/mysql/" >>/etc.ld.so.conf

    # ldconfig    生效
    # ldconfig -v  输出一下

    添加mysql到系统的环境变量中

    # echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile

    # source /etc/profile  生效

    完成

    ------------------------ 安装 apr -----------------

    # cd /mnt

    # tar zxvf apr-1.3.3.tar.gz

    # cd apr-1.3.3

    # ./configure --prefix=/usr/local/apr

    # make

    # make install

    # tar zxvf apr-util-1.3.4.tar.gz

    # cd apr-util-1.3.4
    # ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
    # make && make install

    ---------------------------安装apache  -------------

    # cd /mnt

    # tar zxvf httpd-2.2.13.tar.gz

    # cd httpd-2.2.13
    # ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-proxy --enable-proxy-ajp --enable-proxy-balancer --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

        开了rewrite ,proxy模块

    # make && make install

    启动apache

    # /usr/local/apache/bin/apachectl start

    看一下端口, 有没有80端口

    # netstat -ant
    也可以看一下进程

    # ps -ef | grep httpd

    下一步,把apache加入开机自启动
    # cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd
    # vi /etc/rc.d/init.d/httpd
    在第二行新加两行,内容如下:
    # chkconfig: 2345 10 90
    # description: Activates/Deactiates Apache Web Server

    保存退出.

    # chkconfig --add httpd   加入自启动
    # chkconfig --level 345 httpd on   设置运行级别

    重启apache:

    # /usr/local/apache/bin/apachectl restart

    ---------------------- 安装tomcat ---------------------

    只以解压就可以了, 不用安装

    # cp apache-tomcat-6.0.20.tar.gz /usr/local/
    # cd /usr/local/
    # tar zxvf apache-tomcat-6.0.20.tar.gz
    # cd apache-tomcat-6.0.20

    # rm -fr apache-tomcat-6.0.20.tar.gz

    # mv apache-tomcat-6.0.20/ tomcat

    # vi /usr/local/tomcat/bin/catalina.sh

    在最后加入一行 JAVA_HOME=/usr/java/jdk1.6.0_16
    保存退出

    启动:

    # /usr/local/tomcat/bin/startup.sh

    加入开机自启动

    # vi /etc/rc.d/rc.local

    在最后加入

    export JDK_HOME=/usr/java/jdk1.6.0_16
    export JAVA_HOME=/usr/java/jdk1.6.0_16
    /usr/local/tomcat/bin/startup.sh

    ----------------- 安装php----------------------

    # cd /mnt/
    # tar zxvf php-5.3.0.tar.gz
    # cd php-5.3.0
    # ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-config-file-path=/usr/local/php

    出错 :

    configure: error: xml2-config not found. Please check your libxml2 installation.

    要安装下面两个东东:

    # yum install libxml2
    # yum install  libxml2-devel

    再次 ./configure ..............  成功

    #make && make install

    # cp php.ini-dist /usr/local/php/php.ini

    增加apache对 php的支持,修改apache的配置文件

    # vi /usr/local/apache/conf/httpd.conf

    搜索如下内容,

    LoadModule php5_module        modules/libphp5.so

    插入一行:

    AddType application/x-httpd-php .php

    再搜索
    DirectoryIndex

    原来是:

    <IfModule dir_module>
        DirectoryIndex index.html </IfModule>

    改为:

    <IfModule dir_module>
        DirectoryIndex index.html index.php index.jsp
    </IfModule>
    保存退出

    在/usr/local/apache/htdocs/下建一个php文件,准备测试.

    测试前要先重启apache:

    # service httpd 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

    原因:是Linux有一个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

    ok, php页面可以访问了

    ------------------------------------------------------

    apache ,默认会把文件夹下的文件结构显示出来, 我们禁止这个功能

    # vi /usr/local/apache/conf/httpd.conf

    找到:

    Options Indexes FollowSymLinks

    一行, 并在前面加#, 注释他

    ----------------------------------------------------

    ------------------ 整合apache与 tomcat---------------------------------

    # vi /usr/local/apache/conf/httpd.conf

    在最后加入下面两行:

    ProxyPass / ajp://127.0.0.1:8009/    注意最后有一个"/",千万不能少
    ProxyPassReverse / ajp://127.0.0.1:8009/     注意最后有一个"/",千万不能少

    浏览器的地址栏中输入IP , 就可看见tomcat的默认页面了.

    ------------------- 配置php程序--------------------------------------

    我们在/usr/local/apache/htdocs/下建一个phpbbs文件夹,里面放php程序.
    # chmod -R 777 phpbbs/

    # vi /usr/local/apache/conf/httpd.conf

    注释掉前面刚加的:

    #ProxyPass / ajp://127.0.0.1:8009/               注意最后有一个"/",千万不能少
    #ProxyPassReverse / ajp://127.0.0.1:8009/

    打开(去掉前面的#)下面的 子配置文件:

    # Virtual hosts
    Include conf/extra/httpd-vhosts.conf

    保存退出

    # vi /usr/local/apache/conf/extra/httpd-vhosts.conf
    修改为如下:

    <VirtualHost *:80>
        DocumentRoot "/usr/local/apache/htdocs/phpbbs"
        ServerName bbs.tgjia.com
        ErrorLog "/usr/local/apache/logs/phpbbs-error_log"
        CustomLog "/usr/local/apache/logs/phpbbs-access_log" common
    </VirtualHost>

    重启apache.

    php程序要安装在"/usr/local/apache/htdocs/phpbbs"下面.略.....

    用bbs.tgjia.com域名就可能访问了

    ---------------------配置JSP程序-------------------------------------

    我们在/usr/local/apache/htdocs/下建一个jspbbs文件夹,里面放jsp程序.

    # chmod -R 777 jspbbs/

    # vi /usr/local/apache/conf/extra/httpd-vhosts.conf

    加入如下虚拟主机的配置
    <VirtualHost *:80>
        DocumentRoot "/usr/local/apache/htdocs/jspbbs"
        ServerName www.aaa.com
        ErrorLog "/usr/local/apache/logs/jspbbs-error_log"
        CustomLog "/usr/local/apache/logs/jspbbs-access_log" common
        ProxyPass / ajp://127.0.0.1:8009/
        ProxyPassReverse / ajp://127.0.0.1:8009/   注意最后有一个"/",千万不能少
    </VirtualHost>
    保存退出,重启apache

    ------------------------------- php程序换目录----------------------------------------------------

    在/下建立 php,并开相应权限

    # mkdir /php

    # chmod -R 777 /php

    # vi /usr/local/apache/conf/extra/httpd-vhosts.conf
    修改为如下:

    <VirtualHost *:80>
        DocumentRoot "/php"  修改为新位置
        ServerName bbs.tgjia.com
        ErrorLog "/php/logs/phpbbs-error_log"
        CustomLog "/phplogs/phpbbs-access_log" common
    </VirtualHost>

    建立/php/logs  ,并拷贝以下两个原有的日志文件过来.

    /usr/local/apache/logs/jspbbs-error_log

    /usr/local/apache/logs/jspbbs-access_log"

    # vi httpd.conf
    <Directory />
        Options FollowSymLinks
        AllowOverride None
        Order deny,allow
        Allow from all     这样就可以访问"/usr/local/apache/htdocs/"以外的位置了
    </Directory>

    重启apache.

  • 相关阅读:
    eclipse里面自动添加get和set方法
    初探内联方式的 onload="doSomething()"为何要加"()"?而js代码的 onload="doSomething" 和 addEventListener 为何不加"()"?
    ubuntu下安装git,sublime,nodejs
    ajax学习计划
    ajax学习笔记
    滑动窗口思路精髓总结
    Java给定一个字符串,分割字符串使得每个子字符串都是回文串,求最少分割次数
    顺时针打印
    戳气球最少需要几下一样的题
    ip覆盖算法
  • 原文地址:https://www.cnblogs.com/steven_oyj/p/1742585.html
Copyright © 2020-2023  润新知