찾다
백엔드 개발PHP 튜토리얼Linux下PHP+MYSQL+APACHE配置过程 (摘)第1/2页_PHP教程

Linux下PHP+MYSQL+APACHE配置过程 (摘)第1/2页_PHP教程

Jul 21, 2016 pm 03:58 PM
apachehttplinuxw아래에소프트웨어프로세스구성필요

需要软件如下: 
apache: http://www.apache.org 
mysql: http://www.mysql.com 
php: http://www.php.net/downloads.php 
gd: http://www.boutell.com/gd/#buildgd 
ZendOptimizer http://www.zend.org/products/zend_optimizer 
Gettext http://ftp.gnu.org/pub/gnu/gettext/ 
netpbm http://sourceforge.net/projects/netpbm/ 
所用的软件版本如下: 
Redhat Enterprise As 4 
(apache)httpd-2.0.50.tar.gz 
mysql-standard-5.0.18-linux-i686.tar.gz 
php-5.1.2.tar.gz 
gd-2.0.33.tar.gz 
ZendOptimizer-2.6.2-linux-glibc21-i386.tar.gz 
Imap 
Gettext 

一.安装MYSQL mysql-standard-5.0.18-linux-i686.tar.gz 
我把他全部下载到/usr/local/software目录下 
进入安装包目录:cd /usr/local/software 
1、[root@localhost software]# chmod 755 mysql-standard-5.0.18-linux-i686.tar.gz 
2、[root@localhost software]# tar xfz mysql-standard-5.0.18-linux-i686.tar.gz 
解压后生成mysql-standard-5.0.18-linux-i686目录,我们进入该目录: 
3、[root@localhost software]# cd mysql-standard-5.0.18-linux-i686 
进入后就开始配置mysql了,配置过程中我们要给mysql设置一个 
安装目录,我们设置在 /usr/local/mysql 下,以为把文件放到一个地方比较容易管理,如果你还想获得更多的配置信息,使用 ./configure --help: 
在这里我要特别强调在编译的时候要选择好MYSQL的默认编码,因为如果不选择按默认安装的时候在JSP中就不支持GBK编码了 
所以我这样编译 
访问mysql要一个专门的用户,而且必须给相应的访问权限,这里我们就设置root和mysql有权限访问. 
7、我们先建立一个mysql和mysql用户来访问mysql: 
[root@localhost mysql-standard-5.0.18-linux-i686]# groupadd mysql #建立mysql组 
8、[root@localhost mysql-standard-5.0.18-linux-i686]# useradd mysql -g mysql #建立mysql用户并且加入到mysql组中 
9、建立用户后我们就初始化表 (注意:必须先执行本步骤后才能进行以下步骤) 
[root@localhost mysql-standard-5.0.18-linux-i686]# ./scripts/mysql_install_db --user=mysql 
#初试化表并且规定用mysql用户来访问初始化表以后就开始给mysql和root用户设定访问权限,; 
10、[root@localhost mysql-standard-5.0.18-linux-i686]# mv mysql-standard-5.0.18-linux-i686 /usr/local/mysql 
然后设置权限 
cd /usr/local/mysql 

11、[root@localhost mysql]# chown -R root . #设定root能访问/usr/local/mysql 
12、[root@localhost mysql]# chown -R mysql data #设定mysql用户能访问/usr/local/mysql/data ,里面存的是mysql的数据库文件 
13、[root@localhost mysql]# chgrp -R mysql . #设定mysql组能够访问/usr/local/mysql 
14、设置完成后,基本上就装好了,好了,我们运行一下我们的mysql: 
[root@localhost mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql & 
如果没有问题的话,应该会出现类似这样的提示: 
[1] 42264 
# Starting mysqld daemon with databases from /usr/local/mysql/var 

这就证明你安装成功了 
用如下命令修改root密码,默认安装密码为空,为了安全你必须马上修改 
15、/usr/local/mysql/bin/mysqladmin -uroot password xksoft321 
现在修改的密码为:xksoft321 
16.设置开机自动启动 
cp support-files/mysql.server /etc/init.d/ 



二、安装apache 
进入安装包目录:cd /usr/local/software 
1、# chmod 755 httpd-2.0.50.tar.gz 
2、# tar xfz httpd-2.0.50.tar.gz 
3、# cd httpd-2.0.50 
开始配置APACHE 
4、#./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-mods-shared=most 
# ./configure --prefix=/usr/local/apache2 --enable-so --enable-module=most --enable-shared=max --enable-rewrite 
# ./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-access 
#./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=all –-enable-rewrite=shared 

5、# make 
6、# make install 
7、察看编译进apache的模块: 
# /usr/local/apache2/bin/httpd -l 
compiled-in modules: 
http_core.c 
mod_so.c 
看到以上的信息表明apache支持dso方式了。这样就可以用dso的方式把php和resin的模块加进来。 

三、安装GD 
进入安装包目录:cd /usr/local/software 
1、tar -zxvf gd-2.0.33.tar.gz 
2、cd gd-2.0.33 
3、./configure --prefix=/usr/local/gd2 
4、make 
5、make install 

Gettext 
1 .tar xfz 
2 cd 
3 ./configure –with-prefix=/usr/local/gettext 
4 make 
5 make install 

四、安装php 
进入安装包目录:cd /usr/local/software 
1、# tar xfz php-5.1.2.tar.gz 
2、解压后进入目录: 
# cd php-5.1.2 
3、进行配置,这一步比较关键,一定要设置好,特别是要考虑到你要支持什么,比如GD库,xml,mysql等等,如果想知道详细的配置,执行 ./configure --help来获得: 
# ./configure --enable-mbstring=LANG --with-mysql=/usr/local/mysql --with-gd=/usr/local/gd2 --with-apxs2=/usr/local/apache2/bin/apxs –with-gettext=/usr/local/gettext 
――enable-mbstring=LANG(解决php extension:mbstring的问题) 
如果上面的配置没有错误的话,那么应该最后会显示感谢使用PHP等字样,那么证明配置成功,如果上面的配置选项不支持的话,会提示错误. 
比如你没有安装mysql,那么--with-mysql就无法使用,所以一定要注意对应选项系统是否能够支持,如果出现错误,那么就先安装对应的程序,或者去掉相关选项,配置之后就进行编译: 
4、# make 
编译成功后出现"Build complete."字样,那么就可以进行安装了: 
5、# make install 
6、安装完成后把php.ini-dist复制到/usr/local/lib/,并重命名为php.ini 
# cp php.ini-dist /usr/local/lib/php.ini 
基本到这里PHP就安装成功了,如果中间出现错误,除了在配置的时候没有选对选项之后一般都不出现错误. 
7、为了让Apache能够直接解析php,我们还要进行一些配置. 
# vi /usr/local/apache2/conf/httpd.conf 
在httpd.conf文件中,添加(应该将以下两句添加在其他AddType之后) 
AddType application/x-httpd-php .php .phtml 
AddType application/x-httpd-php-source .phps 
确保文件中有以下一句话,没有就自己添加在所有LoadModule之后: 
LoadModule php5_module modules/libphp5.so 
把index.php加入以下DirectoryIndex后面 
DirectoryIndex index.php index.html index.html.var 
好了,在vi中使用":wq"保存httpd.conf文件,退出vi。 
8、启动apache server: 
# /usr/local/apache2/bin/apachectl restart 
现在apache就能够运行php了,写个文件测试一下,在/usr/local/apache2/htdocs目录下,新建一个phpinfo.php文件, 
文件中只有一行代码: 
 phpinfo(); ?> 
保存此文件, 在你的浏览器中输入http://localhost/phpinfo.php,你应该看到PHP的系统信息。 
如果出现错误,比如提示你下载phpinfo.php,那么apache就是还无法解析php文件,那么请仔细检查以上的操作是否正确. 

五、ZendOptimizer 
进入安装包目录:cd /usr/local/software 
1、# tar xfz ZendOptimizer-2.6.2-linux-glibc21-i386.tar.gz 
2、# cd ZendOptimizer-2.6.2-linux-glibc21-i386 
3、# ./install.sh 
4、问Confirm the location of your php.ini file的时候打入/usr/local/lib/ 
问Are you using Apache web server?的时候选YES 

六、 
1、./configure --prefix=/usr 
2、make 
3、make check 
4、make install 



随系统启动服务配置 
如果要在计算机启动的时候就运行httpd服务,可以在/etc/rc.d/rc.local文件中加入这几行: 
#start apache 
/usr/local/apache2/bin/apachectl start 

如果启动不了,请给相应的启动脚本可执行权限 
比如apache启动不了 chmod a=x apachectl 


为了以后操作不要输入类似/usr/local/apache2/bin的路径,在/etc/profile文件中添加$PATH变量 
把apache、tomcat和mysql的路径都加上 


附: 
一、建立resin和apache的虚拟主机 
例如建立的是tes1.jsp.com test2.jsp.com 两个虚拟主机 

vi /usr/java/httpd2/conf/httpd.conf 
复制如下内容到httpd.conf里 
NameVirtualHost 192.168.0.* 虚拟主机建立所在的IP 
 
DocumentRoot /home/jsp1/ 文件所在目录 
ServerName tes1.jsp.com 访问的域名 
 
VirtualHost 192.168.1.*> 
DocumentRoot /home/jsp2/ 
ServerName test2.jsp.com 
 
vi /usr/java/resin/conf/resin.conf 
查找如下代码并修改: 

 
 
 
 
 
 
 
 
 
 
保存从启apache和resin 
tes1.jsp.com 和tes2.jsp.com 虚拟主机可以运行了 
可以做如下测试http://localhost/caucho-status/ 
可以看到测试面上有 
Virtual Host: tes1.jsp.com:80 
Virtual Host: tes2.jsp.com:80 
证明JSP虚拟主机工作很正常 
二、linux软件安装 
从网站或者是光盘上找到的Linux软件包,常见的格式包括有rpm,deb,tar,gz,tgz,zip,bz2等等。我们平时用的最多的恐怕是rpm和tgz了,据统计,在网上最流行的版本应改是redhat和mandrake了,而这两个版本都是用rpm封装 
的,tar是最通用的软件包格式,几乎每个linux软件都会提供tar的格式的软件包,因为这种格式的软件包任何版本的linux都支持,所以大家至少要了解tar和rpm的使用方法。至于deb可用alien工具转换成tgz或rpm方式。bz2可用bunzip2解包即可。 
1、RPM文件的安装 
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux,mandrake及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。 
RPM文件在Linux系统中的安装最为简便。以著名的图像处理软件XV为例: 
在Terminal中,基本的安装指令如下: 
rpm -i xv-3.10a-13.i386.rpm 
如果你的连网速度足够快,也可以直接从网络上安装应用软件,只需要在软件的文件名前加上适当的URL路径: 
rpm -i ftp://ftp.trilon.com/pub/xv/xv-3.10a-13.i386.rpm 
作为一个软件包管理工具,RPM管理着系统已安装的所有RPM程序组件的资料。我们也可以使用RPM来卸载相关的应用程序。 
rpm -e xv 
RPM的常用参数还包括: 
-vh:显示安装进度; 
-U:升级软件包; 
-qpl:列出RPM软件包内的文件信息; 
-qpi:列出RPM软件包的描述信息; 
-qf:查找指定文件属于哪个RPM软件包; 
-Va:校验所有的RPM软件包,查找丢失的文件; 
更为详尽的参数及其用法可以查看RPM的帮助文档。 
在X-Window中,RPM文件的图形化安装及管理方式对用户来说,显得更为友好。在kde上先安装好kpackage后,安装rpm仅仅是按一下鼠标就可以了,比windows 98更方便。但是这必须先安装kde. 
我还是介绍更常用的方法吧,仍以XV软件为例,在Linux的文件管理器中找到xv-3.10a-13.i386.rpm文件之后,用鼠标右击它,在弹出菜单中就可以找到专为RPM软件包准备的三个指令:Show Info、Upgrade、Install。 
选择“Show Info”之后,我们将可以看到如图所示的软件包信息窗口。窗口分为三个部分,顶端显示的是软件名、大小、创建及安装日期以及开发者网站等相关信息;在中间的方框内,是关于软件的概述;而下面显示的则是软件包内包含的所有文件及其路径信息,它会告诉你软件包内的各个文件将被安装到系统的哪些目录中, 
留意这些信息的好处是,你可以很容易地找到启动程序的路径。 
此时点击底部的“Install”或者“Upgrade”按钮之后,将开始进行软件的安装或者升级,此时还会弹出一个提示安装进度的窗口。 
RPM软件包较之于其他类型的软件包,有着许多优势,但是并不是说RPM软件的安装都是一帆风顺的。常见的错误包括***图安装一个已经安装好了的软件、所要安装的软件需要其他软件或者系统库文件的支持(此时应该先行安装这些相关软件或者系统库文件)等,情形都和Windows类似。 

2、tar的安装 
tar.gz、tar.Z、tgz、bz2等文件格式要先解压为tar后再用tar解包安装。解压缩及解包指令举例简述如下: 
1.解xv.tar.gz:tar zxf xv.tar.gz 
2.解xv.tar.Z:tar zxf xv.tar.Z 
3.解xv.tgz:tar zxf xv.tgz 
4.解xv.bz2:bunzip2 xv.bz2 
5. 解xv.tar:tar xf xv.tar 
解包后得到的一堆文件,通常都会存放在一个目录里面。视软件作者的不同,有些会是已经编译好的程序,更多的则是需要自己再行编译的源代码。进入相应目录后,使用“ls -F -color”指令,可执行程序将会以带“*”标记的亮绿色显示,对于已编译好的程序,直接键入带路径的指令行即可运行程序。 
建议解压后先阅读说明文件,应该先用vi等文书编辑器阅读一下软件目录中的Readme、Install等重要的相关文档,在这里你会找到软件详尽的编译步骤及注意事项,可以了解安装有哪些需求,有必要时还需改动编译配置。 
有些软件包的源代码在编译安装后可以用make install命令来进行卸载,如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用“rm -rf 软件目录名”命令来进行干净彻底的卸载。与其它安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者使用。 
通常的编译步骤会是这样: 
./configure 
make 
make install(需要取得root身份才能执行此指令) 
卸载可用:make uninstall 或 手动删除 
编译完成之后,在当前目录或者是名为src的子目录下,可以很容易地发现软件的可执行程序。至此,软件的安装便告一段落。 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/317435.htmlTechArticle需要软件如下: apache:http://www.apache.org mysql:http://www.mysql.com php:http://www.php.net/downloads.php gd:http://www.boutell.com/gd/#buildgd ZendOptimizerhttp://...
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
PHP의 초록 클래스 또는 인터페이스에 대한 특성과 언제 특성을 사용 하시겠습니까?PHP의 초록 클래스 또는 인터페이스에 대한 특성과 언제 특성을 사용 하시겠습니까?Apr 10, 2025 am 09:39 AM

PHP에서, 특성은 방법 재사용이 필요하지만 상속에 적합하지 않은 상황에 적합합니다. 1) 특성은 클래스에서 다중 상속의 복잡성을 피할 수 있도록 수많은 방법을 허용합니다. 2) 특성을 사용할 때는 대안과 키워드를 통해 해결할 수있는 방법 충돌에주의를 기울여야합니다. 3) 성능을 최적화하고 코드 유지 보수성을 향상시키기 위해 특성을 과도하게 사용해야하며 단일 책임을 유지해야합니다.

DIC (Dependency Injection Container) 란 무엇이며 PHP에서 사용하는 이유는 무엇입니까?DIC (Dependency Injection Container) 란 무엇이며 PHP에서 사용하는 이유는 무엇입니까?Apr 10, 2025 am 09:38 AM

의존성 주입 컨테이너 (DIC)는 PHP 프로젝트에 사용하기위한 객체 종속성을 관리하고 제공하는 도구입니다. DIC의 주요 이점에는 다음이 포함됩니다. 1. 디커플링, 구성 요소 독립적 인 코드는 유지 관리 및 테스트가 쉽습니다. 2. 유연성, 의존성을 교체 또는 수정하기 쉽습니다. 3. 테스트 가능성, 단위 테스트를 위해 모의 객체를 주입하기에 편리합니다.

SPL SplfixedArray 및 일반 PHP 어레이에 비해 성능 특성을 설명하십시오.SPL SplfixedArray 및 일반 PHP 어레이에 비해 성능 특성을 설명하십시오.Apr 10, 2025 am 09:37 AM

SplfixedArray는 PHP의 고정 크기 배열로, 고성능 및 메모리 사용이 필요한 시나리오에 적합합니다. 1) 동적 조정으로 인한 오버 헤드를 피하기 위해 생성 할 때 크기를 지정해야합니다. 2) C 언어 배열을 기반으로 메모리 및 빠른 액세스 속도를 직접 작동합니다. 3) 대규모 데이터 처리 및 메모리에 민감한 환경에 적합하지만 크기가 고정되어 있으므로주의해서 사용해야합니다.

PHP는 파일 업로드를 어떻게 단단히 처리합니까?PHP는 파일 업로드를 어떻게 단단히 처리합니까?Apr 10, 2025 am 09:37 AM

PHP는 $ \ _ 파일 변수를 통해 파일 업로드를 처리합니다. 보안을 보장하는 방법에는 다음이 포함됩니다. 1. 오류 확인 확인, 2. 파일 유형 및 크기 확인, 3 파일 덮어 쓰기 방지, 4. 파일을 영구 저장소 위치로 이동하십시오.

Null Coalescing 연산자 (??) 및 Null Coalescing 할당 연산자 (?? =)은 무엇입니까?Null Coalescing 연산자 (??) 및 Null Coalescing 할당 연산자 (?? =)은 무엇입니까?Apr 10, 2025 am 09:33 AM

JavaScript에서는 NullCoalescingOperator (??) 및 NullCoalescingAssignmentOperator (?? =)를 사용할 수 있습니다. 1. 2. ??= 변수를 오른쪽 피연산자의 값에 할당하지만 변수가 무효 또는 정의되지 않은 경우에만. 이 연산자는 코드 로직을 단순화하고 가독성과 성능을 향상시킵니다.

CSP (Content Security Policy) 헤더 란 무엇이며 왜 중요한가요?CSP (Content Security Policy) 헤더 란 무엇이며 왜 중요한가요?Apr 09, 2025 am 12:10 AM

CSP는 XSS 공격을 방지하고 리소스로드를 제한하여 웹 사이트 보안을 향상시킬 수 있기 때문에 중요합니다. 1.CSP는 HTTP 응답 헤더의 일부이며 엄격한 정책을 통해 악의적 인 행동을 제한합니다. 2. 기본 사용법은 동일한 원점에서 자원을로드 할 수있는 것입니다. 3. 고급 사용량은 특정 도메인 이름을 스크립트와 스타일로드 할 수 있도록하는 것과 같은보다 세밀한 전략을 설정할 수 있습니다. 4. Content-Security Policy 보고서 전용 헤더를 사용하여 CSP 정책을 디버그하고 최적화하십시오.

HTTP 요청 방법 (Get, Post, Put, Delete 등)이란 무엇이며 언제 각각을 사용해야합니까?HTTP 요청 방법 (Get, Post, Put, Delete 등)이란 무엇이며 언제 각각을 사용해야합니까?Apr 09, 2025 am 12:09 AM

HTTP 요청 방법에는 각각 리소스를 확보, 제출, 업데이트 및 삭제하는 데 사용되는 Get, Post, Put and Delete가 포함됩니다. 1. GET 방법은 리소스를 얻는 데 사용되며 읽기 작업에 적합합니다. 2. 게시물은 데이터를 제출하는 데 사용되며 종종 새로운 리소스를 만드는 데 사용됩니다. 3. PUT 방법은 리소스를 업데이트하는 데 사용되며 완전한 업데이트에 적합합니다. 4. 삭제 방법은 자원을 삭제하는 데 사용되며 삭제 작업에 적합합니다.

HTTPS 란 무엇이며 웹 애플리케이션에 중요한 이유는 무엇입니까?HTTPS 란 무엇이며 웹 애플리케이션에 중요한 이유는 무엇입니까?Apr 09, 2025 am 12:08 AM

HTTPS는 HTTP를 기반으로 보안 계층을 추가하는 프로토콜로, 주로 암호화 된 데이터를 통해 사용자 개인 정보 및 데이터 보안을 보호합니다. 작업 원칙에는 TLS 핸드 셰이크, 인증서 확인 및 암호화 된 커뮤니케이션이 포함됩니다. HTTP를 구현할 때는 인증서 관리, 성능 영향 및 혼합 콘텐츠 문제에주의를 기울여야합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.