二,编译安装PHP
二,编译安装PHP
二,编译安装PHP 1,freeTDS(解决PHP与MSSQL连接的问题) 2,编译安装PHP并支持GD 具体安装如下: 1. freeTDS的安装 #tar –zxvf freetds-stable.tgz #cd freetds-0.63 #./configure --prefix=/usr/local/freetds --with-tdsver=8.0 注:--with-tdsver指定的freetds支持的数据库版本号,其中8.0对应的是sqlservr2000. #make #make install #vi /etc/ld.so.conf 设置系统动态库配置文件,加入以下: /usr/local/freetds/lib 保存退出。 #ldconfig 重新加载动态库列表ld.so.conf
1。安装PHP 安装 jpeg6 建立目录 # mkdir /usr/local/jpeg6 # mkdir /usr/local/jpeg6/bin # mkdir /usr/local/jpeg6/lib # mkdir /usr/local/jpeg6/include # mkdir /usr/local/jpeg6/man # mkdir /usr/local/jpeg6/man/man1 # cd /root/soft # tar -zxf jpegsrc.v6b.tar.gz # cd jpeg-6b # ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static #echo $? # make; make install
安装libpng # cd /root/soft # tar -zxf libpng-1.2.8.tar.gz # cd libpng-1.2.8 # cp scripts/makefile.std makefile # make; make install
安装 freetype # cd /root/soft # tar -zxf freetype-2.1.10.tar.gz # cd freetype-2.1.10 # ./configure --prefix=/usr/local/freetype #echo $? # make;make install
安装最新的GD库 # cd /root/soft # tar -zxf gd-2.0.33.tar.gz # cd gd-2.0.33 # ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ --with-png --with-zlib --with-freetype=/usr/local/freetype/ #echo $? # make; make install
安装最新的Curl库 # cd /root/soft # tar -zxf curl-7.15.0.tar.gz # ./configure --prefix=/usr/local/curl #echo $? # make; make install
安装PHP
由于php5需libxml2的支持, 所以先安装libxml2 # cd /root/soft # tar -zxf libxml2-2.6.19.tar.gz # cd libxml2-2.6.19 # ./configure --prefix=/usr/local/libxml2 #echo $? # make; make install
安装 libxslt # cd /root/soft # tar -zxf libxslt-1.1.15.tar.gz # cd libxslt-1.1.15 # ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2 #echo $? # make; make install
# tar -zxf php-5.0.5.tar.gz # cd php-5.05 # ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-curl=/usr/local/curl --enable-ftp --with-libxml-dir=/usr/local/libxml2 --with-expat-dir=/usr/lib --enable-soap --with-xsl=/usr/local/libxslt --enable-xslt --with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-zlib-dir=/usr/lib --with-png --with-freetype-dir=/usr/local/freetype #echo $? # make # make install
其中./configure 后的 --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2 是必要的选项
--with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-png --with-zlib-dir=/usr/lib --with-freetype-dir=/usr/local/freetype 这是让PHP支持GD库的配置选项
--with-curl=/usr/local/curl 支持CURL库 --enable-ftp 打开FTP库函数支持
--enable-soap --with-xsl=/usr/local/libxslt --enable-xslt 让PHP支持SOAP, 上面这些一般用得少, 可以去掉
如果在MAKE的时候出错,那么就是你以上相关的软件没有安装好,这是最全的,出错的方法都是没有装相应的软件包,你可以查看一下。
#cp php.ini-dist /usr/local/lib/php.ini #vi /usr/local/lib/php.ini 将register_globals = Off改为register_globals = On #vi /usr/local/httpd/httpd.conf 些模块简单的修改 将Listen 80 改为: Listen 192.168.0.230:80 在配置文件中添加如下: AddType application/x-httpd-php .php .php3 .php4 .php5 #AddHandler cgi-script .cgi,去掉#打开CGI脚本服务 #/usr/local/httpd/bin/apachectl restart 重启一下apahce服务 apache服务器的PHP配置完成。 设置启动文件: #vi /etc/rc.d/rc.local 增加一行: /usr/local/httpd/bin/apachectl start 配置重新导入 /etc/rc.d/init.d/xinetd restart 测试PHP 进入Apache默认主目录/usr/local/httpd/htdocs,在该目录下建一个phpinfo.php文件 #vi phpinfo.php 写入以一内容 <?phpinfo();?> http://IP地址/phpinfo.php 就可以看到相关的服务信息啦。
三,mysql的安装
三,mysql的安装
# tar zxvf mysql-4.0.14.tar.gz –C /setup # cd /setup/mysql-4.0.14 # groupadd mysql # useradd mysql -g mysql -M -s /bin/false #./configure --prefix=/usr/local/mysql/ --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler #echo $? # make # make install # scripts/mysql_install_db 生成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 /web # chmod 750 mysql -R # chgrp mysql mysql -R # chown mysql mysql/var -R # cd /web/mysql/libexec # cp mysqld mysqld.old # strip mysqld # chkconfig --add mysqld # chkconfig --level 345 mysqld on # service mysqld start # netstat -atln 看看有没有3306的端口打开,如果mysqld不能启动,看看/web/mysql/var下的出错日志,一般都是目录权限没有设置好的问题 # ln -s /web/mysql/bin/mysql /sbin/mysql # ln -s /web/mysql/bin/mysqladmin /sbin/mysqladmin # mysqladmin -uroot password "youpassword" #设置root帐户的密码 # mysql -uroot -p # 输入你设置的密码 mysql>;use mysql; mysql>;delete from user where password=""; #删除用于本机匿名连接的空密码帐号 mysql>;flush privileges; mysql>;quit
错误: 看到: [1] 5134 [root@shunzi mysql]# Starting mysqld daemon with databases from /usr/local/mysql/data STOPPING server from pid file /usr/local/mysql/data/shunzi.pid 030102 21:00:46 mysqld ended 提示启动失败了,这是由于权限的问题,执行下列命令: chown -R root /usr/local/mysql chgrp -R mysql /usr/local/mysql 执行: [root@shunzi mysql]# bin/mysqld_safe --user=root & 可以看到类似的内容: [1] 5846 5846 pts/1 S 0:00 /bin/sh bin/mysqld_safe --user=root 5864 pts/1 S 0:00 /usr/local/mysql/bin/mysqld --defaults-extra-file=/usr/local/mysql/data/my.cnf --ba 这说明mysql服务已经启动了。mysql服务器安装成功了。如还不行,就再检查mysql文件的权限。 总之MYSQL的错误问题都出在权限上。细心点就没事。
2。安装PHPMYADMIN ex:/usr/local/apache/htdocs/ (这是我网页存放的位置) a. # mv phpMyAdmin_2.0.5.tar.gz /usr/local/apache/htdocs/ 移到文件的根目录 b. # tar zxvf phpMyAdmin_2.0.5.tar.gz 解压缩phpMyAdmin_2.0.5.tar.gz c. 路径 /usr/local/apache/htdocs/phpMyAdmin d. 修改设定档 # vi config.inc.php3 找到下面的部分 $cfgServers[1]['host'] = 'localhost'; // MySQL 的hostname $cfgServers[1]['port'] = ''; // MySQL 的port 空白表示预设3306 $cfgServers[1]['adv_auth'] = true; // 是否采用进阶功能 $cfgServers[1]['stduser'] = 'root'; // MySQL的管理者 $cfgServers[1]['stdpass'] = '123456'; // MySQL管理者的密码 //我采用root为管理者,密码为123456 你可以采用自己喜欢的 4.测试 开启浏览器,输入http://的网址/phpMyAdmin/...
四,JDK的安装
四,JDK的安装 1,JDK的安装 2,Tomcat的安装 3.JDBC(JSP与,MSYQL,MSSQL连接) 4,JK2(是APACHE组织指定的连接apceh和tomcat的工具) 5. 启动TOMCAT(jsvc.tar.gz,tomcat启动工具) 具体操作如下: 1. JDK的安装 [root@linuxhero root]# ls j2sdk-1_4_2_08-linux-i586.bin j2sdk-1_4_2_08-linux-i586-rpm.bin 有两个包. j2sdk-1_4_2_08-linux-i586-rpm.bin的安装方法 #chmod 755 j2sdk-1_4_2_08-linux-i586-rpm.bin #./j2sdk-1_4_2_08-linux-i586-rpm.bin (运行JDK自解包) 运行过程中会出现一个用户协议,选择yes即可,会释放出一个rpm包j2sdk-1_4_2_08-linux-i586.rpm. #rpm –Uvh j2sdk-1_4_2_08-linux-i586.rpm 完成后会在/usr/目录下生成一个/usr/java/j2sdk1.4.2_08目录文件 另一个软件包运行后会直接释放成j2sdk1.4.2_08目录移动合适的位置,如/usr/local/ #chmod 755 j2sdk-1_4_2_08-linux-i586.bin #./j2sdk-1_4_2_08-linux-i586.bin # mv j2sdk1.4.2_08 /usr/local/ 到此JDK已经安装完成 到/usr/bin目录下,把原用的java,javac文件删除: #rm -rf java #rm –rf javac 在/usr/bin 下建立 软连接 java # ln -s /usr/local/j2sdk1.4.2_08/bin/java /usr/bin/java # ln -s /usr/local/j2sdk1.4.2_08/bin/javac /usr/bin/javac # java –version # javac -version java version "1.4.2_08" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_08-b03) Java HotSpot(TM) Client VM (build 1.4.2_08-b03, mixed mode)
为了方便下在的工作建立两个软链接: ln -s /usr/local/j2sdk1.4.2_08 /usr/local/jdk ln -s /usr/local/j2sdk1.4.2_08/jre /usr/local/jre
2.Tomcat的安装 #tar -zxvf jakarta-tomcat-5.0.28.tar.gz # mv jakarta-tomcat-5.0.28 /usr/local/tomcat 设置环境变量: #Set Environment by NetSeek JAVA_HOME=/usr/local/jdk export JAVA_HOME JRE_HOME=/usr/local/jre export JRE_HOME CLASSPATH=/usr=/usr/local/tomcat/common/lib/:/usr/local/jdk/lib:/usr/local/jre/lib export CLASSPATH PATH=$PATH:/usr/local/tomcat/bin/:/usr/local/apache/bin:/usr/local/jdk/bin:/usr/local/jre/bin export PATH TOMCAT_HOME=/usr/local/tomcat export TOMCAT_HOME 启动tomcat以检查是否存在错误: #cd /usr/local/tomcat/bin #./startup.sh http://IP地址:8080 可以看到猫头:)成功了。
3.JDBC的安装 #tar -zxvf mysql-connector-java-3.2.0-alpha.tar.gz #cd mysql-connector-java-3.2.0-alpha #cp mysql-connector-java-3.2.0-alpha-bin.jar /usr/local/tomcat/common/lib #tar xfv mssqlserver.tar #tar xfv msjdbc.tar #cd lib # cp *.jar /usr/local/tomcat/common/lib
4.编译安装JK2(整合Tomcat与Apache) # tar zxvf jakarta-tomcat-connectors-jk2-src-current.tar.gz # cd jjakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/ #./configure --with-apxs2=/usr/local/httpd/bin/apxs / --with-java-home=/usr/local/jdk / --with-tomcat41=/usr/local/tomcat / --with-apr-lib=/usr/local/httpd/lib #echo $?
报错: no apxs given need to check for Perl first, apxs depends on it... checking for perl... /usr/bin/perl configure: error: can't locate libapr 解决办法: 安装:apr-1.1.1.tar.gz apr-util-1.1.1.tar.gz libtool-1.5.22.tar 解压缩安装libapr # chmod +x * # tar xfz apr-1.1.1.tar.gz # cd apr-1.1.1 # ./configure # make # make install 回到......./tomcat目录 #cd .. 解压缩安装libaprutil # tar xfz apr-util-1.1.1.tar.gz # cd apr-util-1.1.1 # ./configure --with-apr=../apr-1.1.1 # make # make install 建立libapr和libaprutil 的软连接到/usr/local/httpd2/lib/目录下 # ln -s /usr/local/apr/lib/libapr-1.so.0.1.1 /usr/local/httpd2/lib/libapr-1.so # ln -s /usr/local/apr/lib/libapr-1.so.0.1.1 /usr/local/httpd2/lib/libapr-1.so.0 # ln -s /usr/local/apr/lib/libaprutil-1.so.0.1.1 /usr/local/httpd2/lib/libaprutil-1.so # ln -s /usr/local/apr/lib/libaprutil-1.so.0.1.1 /usr/local/httpd2/lib/libaprutil-1.so.0
再次编译jakarta-tomcat 如果make通不过,/path/to/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache2目录下并无mod_jk2.so产生,则需安装新版libtool. # libtool --version ltmain.sh (GNU libtool) 1.4.3 (1.922.2.111 2002/10/23 02:54:36) [root@linux native2]# 这个版本的libtool编译最新的 jakarta-tomcat-connectors-jk2-2.0.4-src 是不会成功的。 返回到....../tomcat 安装libtool-1.5.22 # chmod +x * # tar xfz libtool-1.5.22.tar.gz # cd libtool-1.5.22 # ./configure # make # make install 删除原来的/usr/local/httpd2/build/libtool # rm –rf /usr/local/httpd2/build/libtool 建立新的libtool 软连接 # ln -s /usr/local/bin/libtool /usr/local/httpd2/build/libtool 再次编译jakarta-tomcat 现在就OK了
./configure --with-apxs2=/usr/local/apache/bin/apxs --with-java-home=/opt/j2sdk1.4.2_10 --with-apr-lib=/usr/local/apache/lib 注:--with-tomcat41参数指定Tomcat主目录,编译器没有直接对最新的Tomcat提供特定的编译参数,所以使用tomcat41的参数代替,用—with-java-home参数指定Java的安装路径. #make 将在/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache目录下,生成的mod_jk2.so复制到Apache的扩展模块目录/usr/local/httpd/modules下, #cp mod_jk2.so /usr/local/httpd/modules 再将/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/conf目录下的workers2.properties复制到Apache的配置文件目录/usr/local/httpd/conf下: #cp workers2.properties /usr/local/httpd/conf
再编辑httpd.conf vi /usr/local/apache/conf/httpd.conf LoadModule jk2_module modules/mod_jk2.so
之前我的问题是:在已有的WEB服务器上重新安装一套,所以tomcat 老启不来,得KILL掉进程再启动就OK了。
错误: Syntax error on line 1038 of /etc/httpd/conf/httpd.conf: Invalid virtual host name 则修改httpd.conf文件,找到#ServerName所在的行,并在其下面加入如下内容即可 ServerName localhost:8008 # 制定服务器的名称和端口,注意端口是8008,而不是8080
检查$CATALINA_HOME/conf/server.xml文件中相关的配置,默认情况下的 相关的信息是被注释掉了,搜索8008,找到<Service name="Tomcat-Apache">那段,把前面的"<!--"和</Service>后面的"-->"都删掉
5. 启动TOMCAT(jsvc.tar.gz,tomcat启动工具) Apache和Tomcat安装后需要设置自动启动,如果让Tomcat用root身份启动,Tomcat将会拥用root权限,这将可能给系统带来安全隐患,黑客可能利用这个来攻击我们的系统,所以我们得添加一个独立运行此服务的用户: #useradd -d /usr/local/tomcat -s /usr/sbin/nologin tomcat #chown -R tomcat:tomcat /usr/local/tomcat #cd /usr/local/tomcat/bin/ #tar zxvf jsvc.tar.gz #cd jsvc-src #sh support/buildconf.sh (只能在些目录里执行,在别处执行会出错) 会显示support/buildconf.sh: configure script generated successfully #chmod 755 configure #./configure #make #cp native/Tomcat5.sh /usr/sbin/tomcat #cd /usr/sbin #chmod 755 tomcat #vi tomcat 可以看到: JAVA_HOME=/usr/java/j2sdk1.4.2_03 指定java安装的目录 CATALINA_HOME=/home/tomcat5/jakarta-tomcat-5/build 指定了tomat的安装目录 DAEMON_HOME=/home/tomcat5/jakarta-commons/daemon 指定了tomcat命令所在的目录 TOMCAT_USER=tomcat5 指定tomcat运行后使用的账号 将上面的配置修改如下: JAVA_HOME=/usr/local/jdk CATALINA_HOME=/usr/local/tomcat/ DAEMON_HOME=/usr/local/tomcat/bin/ TOMCAT_USER=tomcat 找到$DAEMON_HOME/src/native/unix/jsvc / 将其更改成:$DAEMON_HOME/jsvc-src/jsvc / 修改完保存退出 vi /etc/rc.d/rc.local 在里面添加如下设置: /usr/sbin/tomcat start
然后重启所有服务器
五,企业虚拟主机配置实战方案
五,企业虚拟主机配置实战方案 要求: 1,DNS的简设置 2,虚拟域名:www.XXXXXX.com,虚拟用户XXXXXX_com 3,允许FTP维护,禁止远程登陆(具体的FTP维护参照二) 4,为虚拟主机添加用户和使用目录
1, DNS的简单设置, 在这里我们使用XXXXXX.com这个虚拟域名,实际域名首先要确定域名已经在域名提供商或DNS上设置正常,在这里我们简的的讲一下DNS服务器在RedHat9。0上的简单的配置,假定服务器使用192.168.0.230和192.168.0.231这两个IP 绑定多个IP: 在/etc/sysconfig/network-scripts,在该目录下新建一个ifcfg-etho0:0的文件内容如下: DEVICE=eth0:0 IPADDR=192.168.0.231 NETMASK=255.255.255.0 ONBOOT=yes #service network restart 重启一下网络服务就OK啦 DNS的简单配置 在这里关于DNS的详细介绍和配置我就不说啦,其实配置也不是难事,都是利用模板,关键是在配置的时候要细心,不要马虎,否则会现错, 1.基本配置文件:: /etc/named.conf /var/named/ 编写xxxx.com.zone /etc/resolv.conf 2.#vi /etc/named.conf zone "xxxxx.com" IN { type master; file "xxxxx.com.zone"; allow-update { none; }; };
zone "0.168.192.in-addr.arpa" IN { type master; file "192.168.0.local"; allow-update { none; }; }; 3.#vi /var/named/xxxxx.com.zone 编写一个xxxxx.com.zone文件 $TTL 86400 @ 1D IN SOA @ root ( 20050505 3H 15M 1W 1D )
1D IN NS @ 1D IN MX 10 mail.xxxxx.com ns 1D IN A 127.0.0.1 www 1D IN A 192.168.0.20 firebird 1D IN A 192.168.0.20 mail 1D IN A 192.168.0.20 pop3 1D IN A 192.168.0.20 smtp 1D IN A 192.168.0.20 ftp 1D IN A 192.168.0.21
4.#vi /etc/resolv.conf 把DNS服务器设置成为本机 nameserver 192.168.0.230 5.重新启动加载DNS服务: #/etc/init.d/named start #chkconfig named on 让named守护进程在每次系统引导时启动 #/etc/init.d/named restart 重启DNS服务 #rndc reload 重新加载配置文件,这是在修改配置文件后,使配置文件生效。 测试DNS服务是否工作正常 #host www.xxxxxxx.com #nslookup 192.168.0.230
二. 配置虚拟主机 1. 为虚拟主机添加用户和使用目录 #useradd xxxxxxx_com -s /sbin/nologin 添加虚拟用户,不允许登陆 #passwd xxxxxx_com (Do not Hack me 3ks) DnHm3ks 这是我设置的密码:) #chmod 755 /home/xxxxxx_com #cd /home/xxxxx_com #mkdir sites 建立网站存放根目录 #chown xxxxxxx_com:xxxxxx_com sites 改变sites所属组为xxxxx_com #mkdir logs 站点的日志目录 #chown xxxxxx_com:linuxhero_com logs #mkdir cgi-bin 目录用来运行CGI程序 #chown xxxxx_com:xxxxxx_com cgi-bin #mkdir sites/WEB-INF 用来存放Tomcat发布的程序 #chown xxxxx_com:xxxxx_com sites/WEB-INF 2.设置Apache的虚拟主机 #vi /usr/local/httpd/conf/httpd.conf 找到DirectoryIndex 在文件表中加上index.jsp,然后在文件尾添加虚拟主机配置信息: NameVirtualHost 192.168.0.230:80 #www.xxxxx.com <VirtualHost 192.168.0.230:80> ServerAdmin webmaster@xxxxx.com DocumentRoot /home/xxxxx_com/sites ServerName www.xxxxx.com ServerAlias linuxhero.com ErrorLog /home/xxxxx_com/logs/error_log CustomLog /home/xxxxx_com/logs/access_log common alias /cgi-bin /home/xxxxx_com/cgi-bin <Location /cgi-bin> Options ExecCGI </Location> <Location ~ "/*.jsp"> JkUriSet worker ajp13:localhost:8009 </Location> <Location ~ "/WEB-INF/*"> JkUriSet worker ajp13:localhost:8009 </Location> <Location ~ "servlet/*"> JkUriSet worker ajp13:localhost:8009 </Location> </VirtualHost 1. 设置Tomcat的虚拟主机: vi /usr/local/tomcat/conf/server.xml 在</Engine></Service></Server>上面加入如下: ------------------------------------------------------------------------------ <Host name="www.xxxxx.com" debug="0" appBase="/home/xxxxx_com/sites/" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Alias>xxxxx.com</Alias> <Context path="" docBase="." debug="0" reloadable="ture"/> <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="xxxxx_com_log." suffix=".txt" timestamp="true"/> </Host> </Engine>
</Service>
</Server> 到此xxxxxxx_com这目录就可以同时支持PHP+JSP+mysql+mssql,啦,相当于LINUX下的WEB全能服务器.
| | | |