linux centos 安装PHP Web环境详细步骤及常见问题解决

linux centos 安装PHP Web环境详细步骤及常见问题解决

一、安装Apache
二、安装MySQL
三、安装PHP
四、配置
五、开启启动设置
六、常见问题解决方法


一、安装Apache
命令列              备注:
yum install httpd   #根据提示,输入Y安装即可成功安装
service httpd start #启动Apache
异常错误问题1: httpd: Could not reliably determine the server's fully qualif domain name, using ::1 for ServerName


二、安装MySQL
yum install mysql mysql-server   #询问是否要安装,输入Y即可自动安装,直到安装完成
service mysqld start             #启动MySQL
mysql_secure_installation        #设置数据库密码,回车,根据提示输入Y,输入2次新密码和重复密码,回车。最后出现:Thanks for using MySQL!    MySql密码设置完成。
service mysqld restart           #重启数据库服务


三、安装PHP
yum install php #根据提示输入Y直到安装完成
yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt #这里选择以上安装包进行安装,根据提示输入Y回车
service httpd restart   #重启mysql
service mysqld restart  #重启apache   


四、配置
1.Apaceh配置
vim /etc/httpd/conf/httpd.conf    #编辑apache配置文件  
ServerTokens OS  #在44行 修改为:ServerTokens Prod (在出现错误页的时候不显示服务器操作系统的名称)
ServerSignature On  #在536行 修改为:ServerSignature Off (在错误页中不显示Apache的版本)
Options Indexes FollowSymLinks  #在331行 修改为:Options Includes ExecCGI FollowSymLinks(允许服务器执行CGI及SSI,禁止列出目录)
#AddHandler cgi-script .cgi #在796行 修改为:AddHandler cgi-script .cgi .pl (允许扩展名为.pl的CGI脚本运行)
AllowOverride None  #在338行 修改为:AllowOverride All (允许.htaccess)
AddDefaultCharset UTF-8 #在759行 修改为:AddDefaultCharset GB2312 (添加GB2312为默认编码)
  Options Indexes MultiViews FollowSymLinks #在554行 修改为 Options MultiViews FollowSymLinks(不在浏览器上显示树状目录结构)
DirectoryIndex index.html index.html.var #在402行 修改为:DirectoryIndex index.html index.htm index.php 
KeepAlive Off #在76行 修改为:KeepAlive On (允许程序性联机)
MaxKeepAliveRequests 100 #在83行 修改为:MaxKeepAliveRequests 1000 (增加同时连接数)
:wq! #保存退出
service httpd restart #重启


rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #删除默认测试页


2.PHP配置
vim /etc/php.ini #编辑
date.timezone = PRC #在946行 把前面的分号去掉,改为date.timezone = PRC   中国人民共和国时区
disable_functions = 


passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr


,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 = Off #在432行 禁止显示php版本的信息
magic_quotes_gpc = On #在745行 打开magic_quotes_gpc来防止SQL注入
short_open_tag = ON #在229行支持php短标签
open_basedir = .:/tmp/ #在380行 设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站,如果改了之后安装程序有问题,可以注销此行,或者直接写上程序的目录/data/m.3lxw.cowww/:/tmp/
:wq! #保存退出
service mysqld restart #重启MySql
service httpd restart #重启Apche


3.测试index.php
cd /var/www/html
vim index.php #编辑输入下面内容
<?php
phpinfo();
?>
:wq! #保存退出
输出浏览器地址栏,即可看到服务器环境相关信息


五、开启启动设置
chkconfig httpd on #设apache为开机启动
chkconfig mysqld on #设mysql为开机启动




六、常见问题解决方法和其他问题解决
异常问题1:解决方案
备注:Apache启动之后会提示错误:
正在启动 httpd:httpd: Could not reliably determine the server's fully qualif domain name, using ::1 for ServerName
解决办法:
vim /etc/httpd/conf/httpd.conf       #编辑
找到 #ServerName www.example.com:80
修改为 ServerName www.jbaobao.net:80 #这里设置为你自己的域名,如果没有域名,即出错了。可以设置为localhost    
:wq! #保存退出
service httpd restart #重启Apache




其他问题1:
mysql_secure_installation
Enter current password for root (enter for none):    ----》默认为空密码直接回车
Set root password? [Y/n] y                                          ----》设置root密码
New password:
Re-enter new password: 
Remove anonymous users? [Y/n] y                             ----》禁止匿名访问
Disallow root login remotely? [Y/n] y                         ----》不允许root远程访问
Remove test database and access to it? [Y/n] y          ----》删除测试数据库test
Reload privilege tables now? [Y/n] y                           ----》重新加载授权信息




其他问题2:  远程数据库访问权限
mysql -u root -p
Enter Password: <your new password>
mysql>GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;

猜你喜欢

转载自blog.csdn.net/test18580/article/details/74345511