tomcat下,怎么安装配置php ?(linux系统)
一、安装和系统环境变量设置
1、我使用的PHP为php-5431,不用55以上版本的原因是,因为他们都是使用VC11编译的,需要一个DLL,win7及一下都不支持。下载VC9编译的PHP 54(5431) for X86的已编译版本。我的安装目录是D:\Application\php-5431,
将安装后的路径设置到系统环境变量path中。
2、perl直接下载安装即可(会自动配置环境变量,不用操心)。
3、Tomcat用的是7041版本。很多文档要求将server/lib下servlets-cgi改名为servlets-cgijar。从6版本以后,好像就没有server目录,内部已经自动支持cgi,只需要进行配置即可。
Tomcat需要JDK 16以上,所以JDK需要先安装好。
二、配置步骤:
1、到D:\Application\php-5431目录下
将phpini-development复制一份同一目录下,命名为phpini
<1>设置extension_dir参数:
extension_dir="D:\Application\php-5431\ext"
<1>设置cgiforce_redirect参数:
cgiforce_redirect = 0
2、打开Tomcat的conf下的contextxml文件
给Context增加属性privileged="true",修改后的Context元素属性如下所示:
<Context privileged="true">
3、打开Tomcat的conf下的webxml文件
在servlet和servlet-mapping之间增加如下的内容:(注意,注释不能放到配置项里面,否则启动报错)
<!—Add to support PHP & Perl -->
<servlet>
<servlet-name>cgi</servlet-name>
<servlet-class>orgapachecatalinaservletsCGIServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/cgi-bin</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet>
<servlet-name>php</servlet-name>
<servlet-class>orgapachecatalinaservletsCGIServlet</servlet-class>
<init-param>
<param-name>clientInputTimeout</param-name>
<param-value>200</wwwgzlijcom param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>executable</param-name>
<param-value>D:\Application\php-5431\php-cgiexe</param-value>
</init-param>
<init-param>
<param-name>passShellEnvironment</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/php-bin</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>php</servlet-name>
<url-pattern>/php-bin/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/</url-pattern>
</servlet-mapping>
备注:
1、我们配制了两个servlet,分别是php、CGI
2、在servlet参数中
<param-name>executable</param-name>
<param-value>D:\Application\php-5431\php-cgiexe</param-value>
指向CGI程序执行器,其实就一可被调用的可执行程序。(这里带全路径,好像不带路径也可以,因为path环境变量里已经配置了),记住不要用phpexe。
如果没有配置,缺省就是调用perl执行程序。
3、脚本存放路径
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/cgi-bin</param-value>
这里将perl脚本配置的是指向webapps/web-inf/cgi-bin目录下。
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/php-bin</param-value>
PHP的脚本指向的是webapps/web-inf/php-bin目录下。
4、资源URL路径映射。
这里如果请求的资源是/php-bin/则,指向php服务程序,如果是/cgi-bin/则指向cgi服务程序。
<servlet-mapping>
<servlet-name>php</servlet-name>
<url-pattern>/php-bin/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/</url-pattern>
</servlet-mapping>
三、测试
1、分别将如下的testphp和testcgi测试程序放到webapps\ROOT\WEB-INF\php-bin和webapps\ROOT\WEB-INF\cgi-bin目录下。
其中testphp内容如下:
<php phpinfo();>
Testcgi内容如下:
# filename: test1cgi
print "Content-type: text/html\n\n";
print "Hello, world!\n"
2、重新启动tomcat。
浏览器地址栏输入:http://127001:8080/php-bin/testphp
如果显示如下,则说明PHP设置正确。
<php
echo "hello World!\n\n";
echo "hello World!\n\n";
echo "hello World!\n\n";
>
针对上面的程序,如果配置中使用的是PHPexe,则只能现实两行“hello world!”, 第一行总是莫名其妙地丢失。而且对php-info()函数,第一行也会丢失。
(很多文档中都提到这个问题,其实就是因为用错了程序。)
浏览器地址栏输入:http://127001:8080/cgi-bin/testcgi
如果显示“hello world!”,则说明cgi设置正确。
linux 大部分都自带了。装的时候选择 web 服务器和 mysql 数据库服务器就行了。
PS:有可能web 服务器里面要详细设置里面或者别的地方再选上 php 才行。
下次说清楚你的 Red hat 是什么版本。
1、MySQL的安装
在MySQL官网下载MySQL的安装文件MySQL-server-4020-0i386rpm,执行下面的命令完成MySQL的安装。
rpm -ivh MySQL-server-4020-0i386rpm
在没有设置MySQL密码的情况下,通过以下命令测试MySQL是否安装成功。
mysql -u root
出现类似welcome to the mysql mointor commands end with;or \g的字样,说明安装成功。
2、Apache的安装
从Apache的官网下载UNIX版本的压缩包,以httpd-2052targz为例,假设资源包放在/usr/local/src下,进入这个目录后解压缩,命令如下:
cd /usr/local/src
tar -zxvf httpd-2052targz
解压缩后,进入目录httpd-2052,执行以下命令:
/configure --prefix=/usr/local/apache2 --enable--module=so
其中--prefix=/usr/local/apache2用来指定Apache的安装目录。接下来进行编译,执行一下命令完成安装。
make
mae install
3、配置PHP开发环境的安装
1)从PHP官网下载php514targz的压缩包,解压缩该文件包,命令如下:
tar -zxf php514targz
2)转到解压缩后的目录,执行以下命令完成PHP安装目录等相关配置:
/configure --prefix=/usr/local/php -with-mysql=/var/lib/mysql
3)接着编译PHP,命令如下:
make
make install
4)复制当前目录下的文件PHP大安装目录的lib目录下,并改名为phpini,命令如下:
cp phpini-dist /usr/local/php/lib/phpini
首先应该是你把你的服务器配置好了 包括php apache mysql 的安装 等这些都安装好了。那么就是配置你的apache了。在这个过程中有什么疑问可以随时找我 QQ 530162466
LAMP配置与应用 LAMP(Linux+Apache+Mysql+Php)配置:
Fedora 5已默认安装了php,可以使用rmp -q php查看其版本号
安装mysql客户端mysql(与perl-DBI包有依赖关系,要先安装)
安装mysql服务端mysql-server(与perl-DBD包有依赖关系,要先安装)
安装php支持mysql的模块php-mysql(与php-pdo包有依赖关系,要先安装)
Mysql的web管理工具phpMyAdmin
安装
下载并解压phpMyAdmin的包到某个web目录(或为phpMyadmin建立虚拟主机,将该包解压到虚拟主机目录)
#tar -xzvfphpMyAdmin-21002-all-languagestargz
执行下列命令:
#cd phpMyAdmin
#mkdir config #建立一个用来保存配置的目录
#chmod o+rw config #更改该目录的权限为属主可读写
#cp configsampleincphp config/ #将当前目录下的configsampleincphp复制到config
#chmod o+w config/configincphp # 使该文件的属主具有写权限
运行安装向导页面
在浏览器中打开scripts/setupphp,按照向导页面添入相关信息,最后单击“保存”,则所做的配置保存在config/configincphp中。(注:如果config子目录没有建立,或没有对该文件的写权限的话,则会出现"Cannot load or save configuration"的提示,这种情况下应选择“DownLoad”下载到本地,再上传到phpMyAdmin的主目录下 ),主要有以下样目需要添写:
User for config auth__________________
Password for config auth__________________
phpMyAdmin control user____________________
phpMyAdmin control user password______________________
phpMyAdmin database for advanced features__________________
配置成功保存的话,执行下面命令
#mv config/configincphp #将配置文件移动到phpMyAdmin的主目录
#chmod o-r configincphp #为安全起见,移去该文件的读写权限
在浏览器中打开phpMyAdmin对应的站点
phpbb应用
注:以下头3步有关mysql的操作也可以在webmin中完成.
mysql的账号管理
1) 要设置root用户的密码为123456,则在系统提示符下执行下面的命令:
#mysqladmin -u root -p password "123456"
2) 要在mysql命令行客户端,设置root用户的密码为123456,则需执行以下命令:
mysql> use mysql;
mysql> update user set Password=password('123456') where User='root';
mysql> flush privileges;
3) 如果要新增用户u1,给他授予对数据库bb中所有表()的所有权限(all),密码设为888888,则在mysql提示符下:
mysql> grant all on bb to 'u1'@'localhost' identified by '888888';
如果root用户有密码,则进入mysql客户端需用下面的命令:#mysql -u root -p
新建phpbb论坛所要用到的数据库:mysql>create database XXX;
为phpbb所在目录新建虚拟主机
在浏览器中访问该虚拟主机,以安装phpbb
注意:在安装结尾,选择下载配置文件,自行上传.然后删除install,contrib两个目录
php配置实例
1使用Apache配置基本的web站点,使客户端浏览简体中文网页能正常显示、新增支持的主页文件indexhtm indexphp defaulthtm defaulthtml。最后要能在其它计算机上通过域名访问,比如wwwyyynet03org。
2在web站点下实现虚拟目录,即web站点的子目录,该子目录与主目录不一定是上下目录关系同时,允许该目录有目录列表功能(即在没有找到主文件件的时候,显示当前目录下的列表)
3实现Linux用户个人站点
4配置多个基于名称的虚拟主机,比如www1yyynet03org,www2yyynet03org。最后要能在其它计算机上通过域名访问。
5配置多个基于IP的虚拟主机,比如lityyynet03org,milyyynet03org。最后要能在其它计算机上通过域名访问。
6配置LAMP环境
7配置phpbb论坛,并使该论坛可以通过形如bbsyyynet03org的形式访问。
()8 删除系统原有Apache、php、Mysql项目,使用源文件安装最新版本的Apache、php、Mysql
利用源代码安装LAMP
首先要在相关网站获取Apache、Mysql、Php的源码包,一般扩展名为xxxtargz
删除系统原有Apache、php、Mysql项目,可能要用到下面的命令
# rpm -e xxx
# rpm -e xxx nodeps #不考虑依赖关系而删除xxx包
# rpm -e xxx yyy zzz #删除xxx,yyy,zzz包
如果无法删除一个RPM包,可以使用以下两步:
#rpm -f /var/lib/rpm
#rpm --rebuilddb
或:
#rpm -ivh --justdb xxx
#rpm -e xxx
1 安装Apache(httpd-228)
# /configure --enable-so
# make
# make install
# /usr/local/apache2/bin/apachectl start
2 安装Mysql(Mysql-5022)
1) 建立用户及组,如果在/etc/passwd中已有该用户,则下列操作可以省略
shell> groupadd mysql
shell> useradd -g mysql mysql
2) 解压、配置编译安装
shell> gunzip < mysql-VERSIONtargz | tar -xvf -
shell> cd mysql-VERSION
shell> /configure --prefix=/usr/local/mysql #配置(指定mysql安装路径)
shell> make #编译
shell> make install #安装
3) 配置mysql
shell> cp support-files/my-mediumcnf /etc/mycnf #建立mysql配置文件
shell> cp support-files/mysqlserver /etc/initd/ #建立mysql控制脚本
shell> cd /usr/local/mysql
shell> bin/mysql_install_db --user=mysql #建立mysql系统数据库
shell> chown -R root #更改当前目录及子目录所有者
shell> chown -R mysql var #更改var目录及子目录所有者
shell> chgrp -R mysql #更改当前目录及子目录所属组
4) 启动mysql
shell> bin/mysqld_safe --user=mysql & #以后台模式运行mysqld服务
shell> chkconfig --list | less #查看服务列表
shell> chkconfig --add mysqlserver #将mysqlserver添加到服务列表
shell> chkconfig --list | less #查看服务列表
shell> service mysqlserver restart
shell> /usr/local/mysql/bin/mysqladmin -u root -p password '888888' #更改mysql管理用户root的密码
3 安装php(php5 on Apache 2 Shared Module Version)
1) tar -zxvf php-NNtar
2) cd php-NN
3) /configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql
4) make
5) make install
6) 建立php配置文件phpini
# cp phpini-dist /usr/local/lib/phpini
7) 编辑http配置文件 httpdconf 使之加载PHP模块
对于 PHP 4,添加下句:
LoadModule php4_module modules/libphp4so
对于 PHP 5,添加下句:
LoadModule php5_module modules/libphp5so
8) 编辑http配置文件 httpdconf,使之能解析扩展名为php的文件
AddType application/x-httpd-php php phtml
9) 编辑http配置文件 httpdconf,修改主页文件
DirectoryIndex indexphp indexhtm indexhtml
10) 重启httpd服务
# /usr/local/apache2/bin/apachectl start
或
# /usr/local/apache/bin/apachectl -k start
11) 编辑indexphp文件,并在浏览器中访问该站点,如果出现关于php的当前配置信息(其中有mysql的配置项),表示LAMP安装成功。
$vi indexphp
<php
phpinfo()
>
0条评论