Linux下安装PHP.docx
- 文档编号:4959814
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:13
- 大小:24.02KB
Linux下安装PHP.docx
《Linux下安装PHP.docx》由会员分享,可在线阅读,更多相关《Linux下安装PHP.docx(13页珍藏版)》请在冰豆网上搜索。
Linux下安装PHP
操作环境:
(Redhatlinux9.0)
主要讲如何用源码包安装,这些版本
其中我建议初学者安装最好用源码包编译这样相对比较稳定。
目前你可以去mysql,php,apache网站下载最新最稳定的版本;我讲的是最简单的安装操作;也就是说让一个新手,能建一个支持由apache来运行的简单的网站,并支持php和mysql和各种语言;
假如你对apache熟悉的情况下,可以更多的关心扩展功能,比如对asp,jsp的支持等。
可以去apache官方网站看下手册
一、如果你原来是采用rpm包安装的apache和php以及mysql,现在可以完全卸掉它。
我们要用rpm-qa这个命令,查询我们安装过的相应的php、mysql以及apache的RPM,然后把这些包一个一个的卸掉
1. 卸载mysql;
[root@bugkillroot]#rpm-qa|grepmysql
libdbi-dbd-mysql-
php-mysql-
mysql-
mysql-bench-
mysql-server-
mysql-devel-
上面是我系统里有的,呵呵安装的时候看你需要什么服务了,反正各种系统上是不一样的
[root@bugkillroot]#
卸载过程建议:
最好从最下面的一个包开始,因为有些东西是有顺序的。
所以这是要注意的。
在这里,我们应该先应该把mysql-devel-,然后才是mysql-server-,要一个一个的来;
方法是:
[root@bugkillroot]#rpm-emysql-devel
再举一例:
比如我们想卸载php-mysql-,应该用下面的办法
[root@bugkillroot]#rpm-ephp-mysql
如果有卸不掉的,就是有顺序,比如和php相关的,当然要先卸php的了;
2.卸载apache,和卸载mysql的方法是一样的。
[root@bugkillroot]#rpm-qa|grephttpd
redhat-config-httpd-
httpd-devel-
httpd-manual-
httpd-
3.卸载php,和mysql的方法是一样的;
[root@bugkillroot]#rpm-qa|grepphp
php-mysql-
php-
php-xmlrpc-
php-imap-
php-pgsql-
php-devel-
php-ldap-
php-snmp-
注意:
如果有卸不掉的包,应该加参数来卸载,比如我们卸载php-snmp-,有困难,就要用找出相依赖的包,先卸掉那个包,然后再来卸这个包。
可能有实在也卸不掉的。
应该用--nodeps这个参数。
但是如果实在卸载不掉,那也没必要非得卸载。
编译是可以的
[root@bugkillroot]#rpm-ephp-snmp-–nodeps
二、通过源码包安装mysql
========================================================
1.下载:
当前版本是mysql-4.1.9,比如我们在/usr/local目录下建一个临时的安装目录mysql,把下载下来的mysql-,放到/usr/local/mysql/目录中;
[root@bugkillroot]#mkdir/usr/local/mysql
/Downloads/
2.解压、编译和安装:
1]解压
[root@bugkillroot]#cd/usr
[root@bugkillusr]#cd/local/mysql
[root@bugkillmysql]#ls
mysql-
[root@bugkillmysql]#tarzxvfmysql-
2]编译和安装:
这个地方注意的是,我们要把mysql-,为了系统和安全和优化,建议把自己用源码包安装的服务器类软件都放在/usr/local目录里。
[root@bugkillmysql]#cdmysql-4.1.9
[root@bugkillmysql-
./configure--prefix=/usr/local/mysql--with-mysqld-user=bugkill--with-extra-charsets=all--with-unix-socket-path=/usr/local/mysql/var/mysql.sock
[注]关于configure的选项的一点说明:
--prefix=/opt/mysql把mysql-;
--with-extra-charsets=all对多语言的支持;
--with-unix-socket-path=/usr/local/mysql/var/mysql.sock这个是指定mysql服务器启动后,联机套接字文件所处的位置和文件名,也就是说,如果mysql服务器成功启动后,就能在/usr/local/mysql/var目录中看到mysql.sock文件。
如果看不到,肯定是mysql启动不了。
--with-mysqld-user=bugkill这个是让mysql服务器也能让系统中普通用户bugkill也能启动mysql服务器。
你也可以把bugkill换成你的系统中已经存在的普通用户,比如您的系统中已经存在hancs这个用户,那就把bugkill替换成hancs就行了。
用普通用户来启动mysql的好处是:
mysql的进程会自己死掉自动退出。
当然root用户也可以,不过有时mysql有些进程死了,但不会自动退出,root自己也杀不掉。
所以用普通用户就有这样的好处,大多不会出现mysql进程已死,但不会退出的情况;
[root@bugkillmysql-make
[root@bugkillmysql-makeinstall
这样就安装完了
3]配制mysql:
安装只是第一步,我们还要对mysql进行相应的配制;
一般的情况下mysql要找配制文件f,位置在/etc目录下,所以我们得把文件f文件放到/etc/目录下。
让mysql服务器启动时能找到它。
我们安装好mysql后,配制文件应该在/usr/local/mysql/share/mysql目录中,配制文件有几个,比如my-fmy-fmy-fmy-f
,不同的流量的网站和不同配制的服务器环境,当然需要有不同的配制文件了。
一般的情况下,my-f这个配制文件就可以了;
进入/usr/local/mysql这个目录,看一下是不是已经安装好了?
[root@bugkillmysql-cd/usr/local/mysql/
[root@bugkillmysql]#ls
binincludeinfoliblibexecmanmysql-testsharesql-bench
我们把/usr/local/mysql/share/mysql这个目录下的my-f,复制为f到/etc目录下。
[root@bugkillmysql-cp/usr/local/mysql/share/mysql/my-f/etc/f
还得创造MySQL授权表,否则数据库也是启动不了。
mysql_install_db,这个命令的用途就是做这个的。
mysql的命令都安装到了/usr/local/mysql/bin这个目录中。
[root@bugkillmysql-/usr/local/mysql/bin/mysql_install_db
运行mysql_install_db命令过后,我们查看/usr/local/mysql就会发现,有个var的目录。
这个目录,就是用来装所有数据库的位置,比如我们创建了bugkill的数据库后,就会在/usr/local/mysql/var目录中有bugkill的目录。
4]启动mysql服务器,看下好了没,有时会出现权限方面的错误。
mysql服务器启动,应该是/usr/local/mysql/share/mysql目录中的mysql.server
启动方法是:
[root@bugkillmysql-/usr/local/mysql/share/mysql/mysql.serverstart
启动过后,我们要查看mysql是否启动了,应该用下面的命令;
[root@bugkillmysql-ps-aux|grepmysqld
如果出现的仅仅是如下的一行,那mysql是没有启动成功。
root33450.00.15812648pts/2S17:
410:
00grepmysqld
我们如何查看错误信息呢?
在哪里查看呢?
应该到/usr/local/mysql/var目录中去找一个带有.err后缀的文件;
[root@bugkillvar]#cd/usr/local/myql/var
[root@bugkillvar]#more*.err
可能会出现存在下面的错误信息:
03120314:
49:
10mysqldstarted
03120314:
49:
10Can'tstartserver:
Bindonunixsocket:
Permissiondenied
03120314:
49:
10Doyoualreadyhaveanothermysqldserverrunningonsocket:
/tmp/mysql.sock?
03120314:
49:
10Aborting
03120314:
49:
10/usr/local/mysql/libexec/mysqld:
ShutdownComplete
03120314:
49:
10mysqldended
其实这是权限方面的事,我们把权限设置一下就OK了。
我们要设置的权限是/usr/local/mysql/var的目录。
要设置为777。
方法是:
[root@bugkillmysql-chmod755/usr/local/mysql/var
另外我们要用beinan这个用户来启动mysqld服务器,当然也得改变一下/usr/local/mysql/var的属性
[root@bugkillmysql-chown-Rbugkill:
bugkill/usr/local/mysql/var
[root@bugkillmysql-subugkill
然后再重启mysql服务器。
[root@bugkillmysql-
/usr/local/mysql/share/mysql/mysql.serverstart
[root@bugkillmysql-ps-aux|grepmysql
5]为了让mysql也能让我们刚才编译是指定的普通用户bugkill也能启动mysql服务器。
所以我们还要把/usr/local/mysql目录归属到bugkill这个用户手下,在这里,我们要用到chown命令。
[root@bugkillmysql-chown-Rbugkill:
bugkill/usr/local/mysql/
如果您编译时,比如用的是系统中已经存在的hancs用户,应该是下面的办法,
[root@bugkillmysql-chown–Rhancs:
hancs/usr/local/mysql/
至此mysql已经编译安装完成,下面我们要介绍一点mysql的基本管理,以及最基本的用法。
如果您想学的更多的,应该找一下mysql的手册.
3.mysql的一点用法,最基础的的基础
1]如何创建mysqld数据库的管理用户?
?
数据库安装好后,我们应该为mysql数据库创建一个管理帐号。
要把root用户设置为管理员,我们应该运行下面的命令;
[root@bugkillmysql-
/usr/local/mysql/bin/mysqladmin-urootpassword198009
[root@bugkillmysql-
通过上面的命令,我们可以知道,mysql数据库的管理员是root,密码是198009。
2]如何进入mysql数据库?
以mysql数据库管理员root,密码为198009为例;
[root@bugkillmysql-/usr/local/mysql/bin/mysql-uroot-p198009
输出上面的命令后,出现的是如下的提示;
WelcometotheMySQLmonitor.Commandsendwith;or\g.
YourMySQLconnectionidis6toserverversion:
Type'help;'or'\h'forhelp.Type'\c'toclearthebuffer.
mysql>;
注意:
操作这些命令的时候,应该把mysqld服务器打开。
这些新手兄弟早就知道了吧:
)
3]如何在数据库中操作命令呢,我想这是mysql手册都有的,我主要说几个要注意的地方。
其实我也会不了几个命令。
如果自己想学的弟兄,也不是什么难事;在windows中操作过mysql的,其实在这里也是一样的,mysql是跨平台的数据库,用法都是相同的。
1]查看mysql中都有哪些数据库?
代码:
mysql>;showdatabases;
+----------+
|Database|
+----------+
|mysql |
|test |
+----------+
2rowsinset(0.00sec)
mysql>;
在mysql安装好,设置好管理员后,第一次进入系统,我们用showdatabases;命令查看数据库的列表,发现有两个数据库,mysql和test,这是系统自建的.
三、安装apache-
1.下载:
版本是httpd-,比如我们在/usr/local目录下建一个临时的安装目录apache,把下载下来的httpd-,放到/usr/local/apache/目录中;
也可以wget后面是你要下载的网址
2.解压:
[root@bugkilllocal]#cd/usr/local/apache
[root@bugkillapache]#ls
mysql-4.1.9httpd-mysql-
[root@bugkillapache]#tarzxvfhttpd-
3.编译:
[root@bugkillapache]#cdhttpd-
[root@bugkillhttpd-./configure--prefix=/usr/local/apache--enable-track-vars--enable-cgi--with-config-file-path=/usr/local/apache/conf
解释:
--prefix=/opt/apache指定把apahce安装到/usr/local/apache目录中;
--enable-cgi支持CGI;
--with-config-file-path=/usr/local/apache/conf指定把apache的配制文件放在/usr/local/apache/conf中;比如httpd.conf配制文件就在这个目录中;
--enable-track-vars为启动cookie的get/post等追踪功能
如果需要更多的选项,可能通过下面的命令来查看;
[root@bugkillhttpd-./configure--help
下一步就是make和makeinstall
[root@bugkillhttpd-make
[root@bugkillhttpd-makeinstall
安装完成后,会在/usr/local目录下生成/usr/local/apache
4.启动apache;如果编译成功后,我们首先想到的是如何启动apache,在这里,我们要明白apache的守护进程是/opt/apache/bin目录中apachectl;
启动apache守护进程;
[root@bugkillhttpd-/usr/local/apache/bin/apachectlstart
打开浏览器,输入就能看到一个apache的欢迎页面了,这表示我们已经成功解决了apache的安装。
5.配制apache,我只做简单的说明,一个网站能简单运行起来就OK
1]配制文件是/usr/local/apache/conf/httpd.conf,如果是用rpm包安装的,应该在/etc/httpd/conf中,如果是其它方法安装的,用locatehttpd.conf或find来查找。
2]编译安装的apache默认存放主页的位置应该是/usr/local/apache/htdocs
3]改配制文件时,我们要对原文件进行备份.
[root@bugkillhttpd-cp/usr/local/apache/conf/httpd.conf/usr/local/apache/conf/httpd.confBAK
3.一些重要配制选项的说明:
ServerRoot"/usr/local/apache"
[注]这是ServerRoot指定apache程序所在的的目录,比如日志文件、配制文件等目录,这个不要改动。
Listen80[注]apache默认端口80,如果您想改在别的端口访问,就改一下。
最好还是不要改了。
比如我要改为8080,那访问网址时,应该用如下的格式
.30:
8080
ServerAdminroot@localhost注:
在这里,把管理员的信箱放上去,比如我的管理信箱是bugkill@那就改这句为
ServerAdminbugkill@
#ServerName注:
前面有#号就是注销掉了,我们要在下面加一行。
比如我没有域名,我就用自己本地机的IP设置为,所以我在这里就设置了相同的;应该是:
当然,这个得与自己机器所设置的IP地址一致,在这里,我的网卡的IP地址,我已经设置成了
ServerName
DocumentRoot"/usr/local/apache/htdocs"这个是存放网页的目录,也就是说,我们应该把网页的目录指定到哪里,这样当访问网址时,就调用这个目录的文件。
比如我把存放网页的目录指定到了/usr/local/apache/htdocs,那应该这样写
DocumentRoot"/usr/local/apache/htdocs"
这句应该和DocumentRoot的目录保持一致。
比如我在上面设置的是/usr/local/apache/htdocs,那在这句中,也应该用这/usr/local/apache/htdocs
也就是:
#
#PossiblevaluesfortheOptionsdirectiveare"None","All",
#oranycombinationof:
#IndexesIncludesFollowSymLinksSymLinksifOwnerMatchExecCGIMultiViews
#
#Notethat"MultiViews"mustbenamed*explicitly*---"OptionsAll"
#doesn'tgiveittoyou.
#
#TheOptionsdirectiveisbothcomplicatedandimportant.Pleasesee
#-2.0/mod/core.html#options
#formoreinformation.
#
OptionsIndexesFollowSymLinks
#
#AllowOverridecontrolswhatdirectivesmaybeplacedin.htaccessfiles.
#Itcanbe"All","None",oranycombinationofthekeywords:
#OptionsFileInfoAuthConfigLimit
#
AllowOverrideNone
#
#Controlswhocangetstufffromthisserver.
#
Orderallow,deny
Allowfromall
;
AddDefaultCharsetISO-8859-1
注:
这句是指定网页的默认语言的,如果网页出乱中文乱码,应该改AddDefaultCharset后面的值为GB2312。
也就是改成下面这样的。
AddDefaultCharsetGB2312
找到下面的一行在后面加上index.php,让网站的默认页是index.php也行;
DirectoryIndexindex.htmlindex.php
其它的都默认就好了,这是最简单的了。
其它的也不要改动什么,可以研究下。
比如设置请求时间,进程数,这些都比较简单,改一下数字就行了。
还有就是设置log存放位置,里面也有选项,其实看一下就明白了,如果我们以实践为基础的话,想把LOG文件放在哪,就放在哪。
还有cgi的存放位置等,也可以自己定义;
配制好后,我们就重启apache后,我们就进行相应的处事处事阶段,比如我们要设置存放主页的目录等。
比如我们上面已经把主页目前设置为/usr/local/apache/htdocs,那我们就应该建一个目录到/usr/local/apache/htdocs中
[root@bugkillhtodcs]#mkdirgrouphome
[root@bugkillhtodcs]#chmod755grouphome
然后我们把index.html的文件放入到/usr/local/apache/htdocs/grouphome目录中的时候,可能访问不到的情况,这时不要忘记设置权限。
[root@bugkillhtodcs]# chmod-R7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 安装 PHP
