Home  >  Article  >  php教程  >  Linux 下安装 LAmp及配置 - xingzhukang

Linux 下安装 LAmp及配置 - xingzhukang

WBOY
WBOYOriginal
2016-05-20 11:39:331200browse

第一步:配置防火墙(默认情况下,端口80和3306是拒绝访问的,在防火墙上进行配置):

  1. vi /etc/sysconfig/iptables(在"COMMIT"的上一行加上如下两句) 
  2. -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(允许80端口通过防火墙) 
  3. -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(允许3306端口通过防火墙) 

接着重启防火墙使得配置生效:

  1. /etc/init.d/iptables restart 

 

 

第二步:安装Apache

 

 

 

使用以下命令安装Apache:

 

  1. yum install httpd 

 

如果出下下面所示的语句,说明已经安装了Apache了,不需要重新安装:

 

 

 

 

安装完之后,重新启动Apache:/etc/init.d/httpd restart

 

接着将Apache设置为开机启动:chkconfig httpd on.(这一步使得服务器不需要在每次重启的时候都要手动启动httpd服务)

 

要查看httpd服务的启动状态,可以使用命令:chkconfig --list httpd(会显示httpd在各个级别(level)下的启动状态)

第三步:安装MySQL

1、使用以下命令安装MySQL:

  1. yum install mysql mysql-server 

同样,如果出现提示已安装的话,就说明系统安装了MySQL了,可以跳过这一步,否则,系统接下来会自动安装MySQL。

 

安装完成了之后,启动MySQL:/etc/init.d/mysql start

将MySQL设置为开机启动:chkconfig mysqld on
最后,拷贝配置文件:cp /usr/share/mysql/my-medium.cnf  /etc/my.cnf (在/etc下有个my.cnf文件,直接覆盖就行了)

2、用以下命令给root账户设置密码     

  1. mysql_secure_installation 

根据提示输入2次密码,就设置成功了。注意,在设置过程中,会提示删除是否anonymous用户,是否拒绝root的远程访问,是否删除测试用的数据库等,这些都需要根据自己的实际情况进行选择。最后出现:Thanks for using MySQL!,设置密码成功了。

 

重新启动MySQL:/etc/init.d/mysqld restart

 

第四步:安装PHP

 

1、使用以下命令安装PHP:

 

  1. yum install php 

 

 

 

根据提示往下安装就行了。安装完之后重新启动Apache:/etc/init.d/httpd restart
2、安装PHP组件,是PHP支持MySQL

 

可以使用命令:yum search php来查看PHP的组件,选择需要的模块进行安装:

 

 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

 

安装完之后,重启Apache:/etc/init.d/httpd restart 

 

重启MySQL:/etc/init.d/mysqld restart

 

 

 

到了这一步,LAMP中的AMP都已经安装完毕了,但是web服务器此时并不能被访问,因为要访问服务器,还需要对Apache和PHP进行相应的配置。

 

 

配置篇

 

第一步:配置Apache

 

修改Apache配置文件:vi /etc/httpd/conf/httpd.conf,并在文件中查找下面所在行,进行修改(查找可以在vi的一般模式下输入“/要查找的字符”进行查找):

 

ServerTokens OS           修改为:     ServerTokens Prod                       (在出现错误页的时候不显示服务器操作系统的名称)
ServerSignature On        修改为:     ServerSignature Off                      (在错误页中不显示Apache的版本)
Options Indexes FollowSymLinks     修改为:     Options Includes ExecCGI FollowSymLinks             (允许服务器执行CGI及SSI,禁止列出目录)
#AddHandler cgi-script .cgi           修改为:     AddHandler cgi-script .cgi .pl                                       (允许扩展名为.pl的CGI脚本运行)
AllowOverride None                      修改为:     AllowOverride All                                 (允许.htaccess)
AddDefaultCharset UTF-8            修改为:     AddDefaultCharset GB2312                                     (添加GB2312为默认编码)

 

Options Indexes MultiViews FollowSymLinks      修改为      Options MultiViews FollowSymLinks        (不在浏览器上显示树状目录结构)
DirectoryIndex index.html index.html.var             修改为:  DirectoryIndex index.html index.htm Default.html Default.htm index.php Default.php index.html.var  (设置默认首页文件,增加index.php)
KeepAlive Off                                  修改为:     KeepAlive On                                (允许程序性联机)
MaxKeepAliveRequests 100           修改为:     MaxKeepAliveRequests 1000   (增加同时连接数)

 

 

 

修改好之后保存配置,重新启动Apache:/etc/init.d/httpd restart

 

建议删除默认的测试页面:rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html 

 

第二步:配置PHP

 

修改PHP配置文件:vi /etc/php.ini,以下需要修改的行的位置可以通过vi的查找命令来查找:

 

date.timezone = PRC                    #把前面的分号去掉,改为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

 

#列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。

 

expose_php = Off                                     #禁止显示php版本的信息

 

display_errors = OFF                               #关闭错误提示
register_globals = OFF                           #关闭注册全局变量
magic_quotes_gpc = On                        #打开magic_quotes_gpc来防止SQL注入
log_errors = On                                         #记录错误日志
error_log = /var/log/php/error_log.log   #设置错误日志存放目录,文件必须允许apache用户的和组具有写的权限(注意,在修改之前,要先创建文件/var/log/php/error_log.log,然后在修改其属性,使其属于apache用户和用户组。chown apache /var/log/php/error_log.log和chgrp apache /var/log/php/error_log.log)

 

open_basedir = .:/tmp/                             #设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站

 

 

 

经过安装和配置之后,web服务器基本上已经搭建起来了,可以对其进行访问。

 

以上配置可根据自己的需求来进行配置以及修改

 

测试篇

 

在目录/var/www/html下:cd /var/www/html

 

创建php文件:vi index.php

 

phpinfo();
?>

 

那么,在浏览器中输入本机地址的时候,就可以访问到刚才创建的index.php网页文件了。

 

注意:apache的默认程序目录是:/var/www/html,网页文件放在这里就可以被访问到。需要保证这个目录是属于用户apache和用户组apache的。

 

             MySQL的数据库目录是:/var/lib/mysql

 

 

 

写到这里,LAMP就安装配置完毕了,浏览器只要输入服务器的IP地址或者是域名的话,就能够访问到服务器上的网页文件了。

 

有错漏的地方,欢迎大家随时指出修改意见,谢谢大家的支持。

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn