CentOS下安装Apache PHP MySql

前端之家收集整理的这篇文章主要介绍了CentOS下安装Apache PHP MySql前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文安装环境:CentOSrelease6.3(Final)_2.6.32-279.el6.i686 所需安装软件: Apache PHP MysqL-server-5.1.73-3.el6_5.i686 一、关闭SELINUX #vi/etc/selinux/config #SELINUX=enforcing#注释掉 #SELINUXTYPE=targeted#注释掉 SELINUX=disabled#增加 :wq!#保存退出 shutdown-rnow#重启系统 三、安装Apache 1.检查、删除 检查是否安装apache #rpm-qa|grephttpd 如果有显示任何软件包,则使用rpm–e删除 #rpm-e软件包名称--nodeps 如果删不了就只能升级了,暂时先不删除,在使用yum命令安装的时候检测盒自动升级 2.安装 根据提示,输入Y安装即可成功安装 #yuminstallhttpd 启动Apache #/etc/init.d/httpdstart 备注:Apache启动之后会提示错误: 正在启动httpd:httpd:Couldnotreliablydeterminetheserver'sfullyqualifdomainname,using::1forServerName 解决办法: #vim/etc/httpd/conf/httpd.conf#编辑 找到#ServerNamewww.example.com:80 修改为ServerNamewww.osyunwei.com:80#这里设置为你自己的域名,如果没有域名,可以设置为localhost :wq!#保存退出 设为开机启动 #chkconfighttpdon 重启Apache #/etc/init.d/httpdrestart 四、安装MysqL 3.检查、删除 检查是否安装MysqL #rpm-qa|grep-iMysqL 如果有显示任何软件包,则使用rpm–e删除 #rpm-e软件包名称--nodeps 如果删不了就只能升级了,暂时先不删除,在使用yum命令安装的时候检测盒自动升级 删除老版本MysqL的开发头文件和库 #rm-rf/usr/lib/MysqL #rm-rf/usr/include/MysqL 卸载后/var/lib/MysqL中的数据及/etc/my.cnf不会删除,若确定没用就手工删除 #rm-rf/etc/my.cnf #rm-rf/var/lib/MysqL 4.安装 询问是否要安装,输入Y即可自动安装,直到安装完成 #yuminstallMysqLMysqL-server 这里可能出现依赖关系的错误提示,如: perl-DBD-MysqLisneededbyMysqL-server-5.1.73-3.el6_5.i686,可参照一下解决: #yuminstallperl-DBD-MysqL 之后再执行第一条命令 启动MysqL #/etc/init.d/MysqLdstart 设为开机启动 #chkconfigMysqLdon 拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可) #cp-f/usr/share/MysqL/my-medium.cnf/etc/my.cnf 设置密码 #MysqL_secure_installation 回车,根据提示输入Y 输入2次密码,回车 根据提示一路输入Y 最后出现:ThanksforusingMysqL! MysqL密码设置完成,重新启动MysqL 修改用户Host,支持远程访问数据库 #MysqL-uroot-pcao123123 MysqL>useMysqL MysqL>selectHost,Userfromuser; MysqL>updateusersetHost='%'whereUser='root';#出现错误提醒不用理睬 MysqL>flushprivileges; MysqL>selectHost,Userfromuser;#再查看下效果 5.相关命令 1)启动、关闭、重启命令 重启 #/etc/init.d/MysqLdrestart或#serviceMysqLdrestart 停止 #/etc/init.d/MysqLdstop或#serviceMysqLdstop 启动 #/etc/init.d/MysqLdstart或#serviceMysqLdstart 启动出现错误:ERROR!MysqLserverPIDfilecouldnotbefound! 原因:有垃圾进程占用,查出将之杀掉,查看一下进程,命令: #psaux|grepmysq* #kill进程号 2)登录、查看命令 登录 #MysqL-uroot-proot 显示所有数据库MysqL>showdatabases; MysqL>useMysqL; MysqL>select*fromuser; 3)修改密码 #MysqLadmin-urootpassword'new-password' 4)撤销权限 #showgrants; #revokeallon*.*from'root'@'%'; 5)显示修改MysqL的字符集 显示 MysqL>showvariableslike'character%'; MysqL>showvariableslike'collation%'; 修改文件 #find/-iname'*.cnf'–print copy文件 #cp/usr/share/MysqL/my-medium.cnf/etc/my.cnf 编辑配置文件 #vi/etc/my.cnf 在[client]、[MysqLd]下面加入 #default-character-set=utf8 #注意:5.5版本的MysqL[MysqLd]下面加入改成character_set_server=utf8 6)查看用户信息 进入MysqL(数据库名称)数据库 MysqL>useMysqL 查看用户的权限情况 MysqL>selectuser,hostfromuser; MysqL授权 MysqL>grantallprivilegeson*.*toroot@'%'identifiedby'root'withgrantoption; 7)数据库备份与导入 只导出结构-表,视图 MysqLdump-d-hlocalhost-ulbg-plbgkingde>e:kingde-tv.sql 只导出结构-函数,过程 MysqLdump-d-hlocalhost-ulbg-plbg-ntd-Rkingde>e:kingde-fp.sql 只导出数据 MysqLdump-t-hlocalhost-ulbg-plbgkingde>e:kingde-data.sql 导出数据和表结构 MysqLdump-hlocalhost-ulbg-plbgkingde>e:kingde-fp.sql 导入 MysqL-hlocalhost-ulbg-plbgkingde<e:\kingde-tv.sql MysqL-hlocalhost-ulbg-plbgkingde<e:\kingde-fp.sql MysqL-hlocalhost-ulbg-plbgkingde<e:\kingde-data.sqlMysqL导入数据的时候出错 出错信息:ERROR1418(HY000):ThisfunctionhasnoneofDETERMINISTIC,NOsql,orREADS sqlDATAinitsdeclarationandbinaryloggingisenabled(you*might*wantto usethelesssafelog_bin_trust_function_creatorsvariable) 解决: 1.showvariableslike'%func%'; 2.setgloballog_bin_trust_function_creators=1; 3.showvariableslike'%func%'; 6.目录介绍 数据库目录 /var/lib/MysqL/ 配置文件 /usr/share/MysqLMysqL.server命令及配置文件) 相关命令 /usr/bin(MysqLadminMysqLdump等命令) 启动脚本 /etc/rc.d/init.d/(启动脚本文件MysqL的目录) 7.问题汇总 8)MysqL只有information_schema信息数据库 ?问题描述 用root用户登录MysqL,当showdatabases时,只有information_schema.其它的任何数据库都没有显示,如下图 blob.png ?原因描述 root用户的权限问题 ?解决方案 在命令提示符下,输入: #系统的环境变量要设置MysqL/bin的安装目录,否则命令提示符必须转到MysqL安装目录的/bin目录下 #serviceMysqLdstart--skip-grant-tables blob.png 再登录MysqL就可以发现所有的数据库 #查看MysqL数据库里面的user表 #useMysqL; #showtables; #select*fromuser; blob.png #由Host='localhost',User='root'后面的权限值,可以知道为什么用root登录时,只显示information_schema数#据库了,因此得修改这个用户的权限 #最后的权限如图4所示,修改后,退出登录就可以正常显示所有的数据库了 #更新用户的权限信息 updateusersetSelect_priv='Y',Insert_priv='Y',Update_priv='Y',Delete_priv='Y',Create_priv='Y',Drop_priv='Y',Reload_priv='Y',Shutdown_priv='Y',Process_priv='Y',File_priv='Y',Grant_priv='Y',References_priv='Y',Index_priv='Y',Alter_priv='Y',Show_db_priv='Y',Super_priv='Y',Create_tmp_table_priv='Y',Lock_tables_priv='Y',Execute_priv='Y',Repl_slave_priv='Y',Repl_client_priv='Y',Create_view_priv='Y' blob.png 五、安装PHP 安装PHP,根据提示输入Y直到安装完成 #yuminstallPHP 安装PHP组件,使PHP5支持MysqL #yuminstallPHP-MysqLPHP-gdlibjpeg*PHP-imapPHP-ldapPHP-odbcPHP-pearPHP-xmlPHP-xmlrpcPHP-mbstringPHP-mcryptPHP-bcmathPHP-mhashlibmcrypt 或(推荐,可以先使用yumsearchPHP搜索PHP相关的组件) #yum-yinstallPHP-MysqLPHP-gdPHP-imapPHP-ldapPHP-odbcPHP-pearPHP-xmlPHP-xmlrpc 重启MysqL #/etc/init.d/MysqLdrestart 重启Apche #/etc/init.d/httpdrestart 六、配置Apache 1.编辑httpd.conf文件 #vim/etc/httpd/conf/httpd.conf 2.ServerTokensOS在44行修改为:ServerTokensProd(在出现错误页的时候不显示服务器操作系统的名称) 3.KeepAliveOff#在76行修改为:KeepAliveOn(允许程序性联机) 4.MaxKeepAliveRequests100#在83行修改为:MaxKeepAliveRequests1000(增加同时连接数) 5.OptionsIndexesFollowSymLinks #在331行修改为:OptionsIncludesExecCGIFollowSymLinks(允许服务器执行CGI及SSI,禁止列出目录) 6.AllowOverrideNone #在338行修改为:AllowOverrideAll(允许.htaccess) 7.DirectoryIndexindex.htmlindex.html.var#在402行修改为:DirectoryIndexindex.htmlindex.htmDefault.htmlDefault.htmindex.PHPDefault.PHPindex.html.var(设置默认首页文件增加index.PHP) 8.ServerSignatureOn #在536行修改为:ServerSignatureOff(在错误页中不显示Apache的版本) 9.OptionsIndexesMultiViewsFollowSymLinks#在554行修改为OptionsMultiViewsFollowSymLinks(不在浏览器上显示树状目录结构) 10.AddDefaultCharsetUTF-8 #在759行修改为:AddDefaultCharsetGB2312 (添加GB2312为默认编码)(未修改) 11.#AddHandlercgi-script.cgi #在796行修改为:AddHandlercgi-script.cgi.pl(允许扩展名为.pl的CGI脚本运行):wq!#保存退出/etc/init.d/httpdrestart#重启 rm-f/etc/httpd/conf.d/welcome.conf/var/www/error/noindex.html#删除默认测试页 七、配置域名 第一种方案:主配置文件中配置 当只有一个IP的时 修改文件#vim/etc/httpd/conf/httpd.conf ServerNamelocalhost:80修改为ServerNamedomain1.com:80 第二种方案:虚拟主机配置 配置一个虚拟主机 IP:58.130.17.168域名:domain1.com NameVirtualHost58.130.17.168 <VirtualHost58.130.17.168> ServerNamedomain1.com DocumentRoot/var/www/domain1.com <Directory"/var/www/domain1.com"> OptionsIndexesFollowSymLinks AllowOverrideNone Orderallow,deny Allowfromall </Directory> </VirtualHost> 配置多个虚拟主机 IP:58.130.17.168域名:domain1.com,domain2.com NameVirtualHost58.130.17.168 <VirtualHost58.130.17.168> ServerNamedomain1.com DocumentRoot/var/www/domain1.com <Directory"/var/www/domain1.com"> OptionsIndexesFollowSymLinks AllowOverrideNone Orderallow,deny Allowfromall </Directory> </VirtualHost> NameVirtualHost58.130.17.168 <VirtualHost58.130.17.168> ServerNamedomain2.com DocumentRoot/var/www/domain2.com <Directory"/var/www/domain2.com"> OptionsIndexesFollowSymLinks AllowOverrideNone Orderallow,deny Allowfromall </Directory> </VirtualHost> 八、配置PHP #vim/etc/PHP.ini#编辑 short_open_tag=Off修改为short_open_tag=On#在229行支持PHP标签 #open_basedir=修改为open_basedir=.:/tmp/#在380行设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止PHP木马跨站,如果改了之后安装程序有问题,可以注销此行,或者直接写上程序的目录/data/www.osyunwei.com/:/tmp/ #disable_functions=修改为 disable_functions=disable_functions=passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname #在386行列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。 expose_PHP=On修改为expose_PHP=Off#在432行禁止显示PHP版本的信息 magic_quotes_gpc=Off修改为magic_quotes_gpc=On#在745行打开magic_quotes_gpc来防止sql注入 ;date.timezone=修改为date.timezone=PRC#在946行把前面的分号去掉 :wq!#保存退出 /etc/init.d/MysqLdrestart#重启MysqL /etc/init.d/httpdrestart#重启Apche 九、测试 测试代码一: 新建文件wimindex.PHP <?PHP PHPinfo(); ?> 测试代码二: 新建文件wimindex1.PHP <?PHP $link=MysqL_connect("127.0.0.1:3306","root","root"); if($link!=false) { echo"成功连接MysqL服务器"; } else { echo"与本地MysqL服务器连接失败"; } MysqL_close(); ?>

猜你在找的CentOS相关文章